Created
March 31, 2021 11:28
-
-
Save laurensdewaele/07b74bee67f77b51f50c04cb5f06c997 to your computer and use it in GitHub Desktop.
Paden bespreking
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## 1) We lezen de excel file in met de excel package. | |
## 2) We bepalen hoeveel rows er omgezet moeten worden (6 t.e.m. 85) | |
- Kijk of het makkelijk gaat om programmatisch in te lezen tot waar het stopt (85) | |
- Testen? Checken of er geen rare input is. E.g typos of iets anders dan `x`. | |
## 3) We converteren elke rij naar een pad. | |
Het gemakkelijkste lijkt me om een pad om te zetten naar de reeds bestaande frontend state structuur. | |
Dus: | |
```Javascript | |
roofType: { | |
type: RoofTypeTypes; | |
climateClass: RoofTypeClimateClasses; | |
}; | |
roofFloor: { | |
type: RoofFloorTypes; | |
}; | |
waterproofing: { | |
type: WaterproofingTypes; | |
}; | |
securingMethods: { | |
topLayer: TopLayerSecuringMethodTypes; | |
bottomLayer: BottomLayerSecuringMethodTypes; | |
insulation: InsulationSecuringMethodTypes; | |
vaporShield: VaporShieldSecuringMethodTypes; | |
}; | |
roofStructure: { | |
topLayerMaterial: Material; | |
bottomLayerMaterial: Material; | |
insulationMaterial: Material; | |
vaporShieldMaterial: Material; | |
roofFloorMaterial: Material; | |
}; | |
``` | |
We lezen elke kolom in (A t.e.m. AA) en mappen het naar onze structuur: | |
- A -> `roofType: {type: "${uit te lezen value}"}` | |
- D -> `{waterproofing: {type: "${uit te lezen value}"}}` | |
- E -> enkel indien er een `x` staat -> `{securingMethods: {vaporShield: "Vlamlassen"}, roofStructure: {vaporShieldMaterial: BASE_P3_TF_WELDING}}` | |
## 4 We krijgen uiteindelijk een array die we in een JSON proppen | |
## 5 Bij het builden van de frontend, builden we ook de `excel-parser` software en steken we de JSON in onze assets folder | |
## 6 In de frontend filteren we op welke paden beschikbaar zijn op welke stap. | |
E.g.: | |
We bevinden ons in Stap4 waar we de bevestigingsmethodes moeten kiezen. | |
Voorgaande stappen: | |
1: Leefdak met klimaatklass 3 | |
2: Beton | |
3: Bitumen | |
Wat zijn onze mogelijkheden? | |
```Javascript | |
const validPaths = paths.filter(path => path.roofType.type === "Leefdak" && path.roofType.climateClass === "III" && path.roofFloor.type === "Beton"); | |
of | |
const validPaths = paths.filter(path => path.roofType.type === state.roofType.path && path.roofType.climateClass === state.roofType.climateClass && path.roofFloor.type === sttae.roofFloor.type); | |
``` | |
Toplaag mogelijkheden: | |
```Javascript | |
validPaths.map(path => path.securingMethods.topLayer).unique() | |
``` | |
Zo krijgen we alle mogelijke toplaag mogelijkheden. | |
Hetzelfde voor de andere lagen. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment