Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save laurensdewaele/07b74bee67f77b51f50c04cb5f06c997 to your computer and use it in GitHub Desktop.
Save laurensdewaele/07b74bee67f77b51f50c04cb5f06c997 to your computer and use it in GitHub Desktop.
Paden bespreking
## 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