@rws-aoa/react-library 9.2.0 → 9.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/dist/chunks/{FieldError.B4HiPjPm.js → FieldError.Uxuk6F4l.js} +2 -2
  2. package/dist/chunks/{FieldError.B4HiPjPm.js.map → FieldError.Uxuk6F4l.js.map} +1 -1
  3. package/dist/chunks/{createTheme.edEUUU41.js → createTheme.DcLTlIky.js} +2 -2
  4. package/dist/chunks/{createTheme.edEUUU41.js.map → createTheme.DcLTlIky.js.map} +1 -1
  5. package/dist/chunks/{lodash.CdkV4gpV.js → lodash.9n5aMaxx.js} +121 -119
  6. package/dist/chunks/{lodash.CdkV4gpV.js.map → lodash.9n5aMaxx.js.map} +1 -1
  7. package/dist/components-domain/ivon-project-planning/IvonProjectPlanning.d.ts.map +1 -1
  8. package/dist/components-domain/ivon-project-planning/IvonProjectPlanning.js +118 -61
  9. package/dist/components-domain/ivon-project-planning/IvonProjectPlanning.js.map +1 -1
  10. package/dist/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.d.ts +3 -1
  11. package/dist/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.d.ts.map +1 -1
  12. package/dist/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.js +64 -58
  13. package/dist/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.js.map +1 -1
  14. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonPopupRenderer.d.ts +10 -0
  15. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonPopupRenderer.d.ts.map +1 -0
  16. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonPopupRenderer.js +233 -0
  17. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonPopupRenderer.js.map +1 -0
  18. package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.d.ts +5 -3
  19. package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.d.ts.map +1 -1
  20. package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.js +66 -63
  21. package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.js.map +1 -1
  22. package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.d.ts +2 -1
  23. package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.d.ts.map +1 -1
  24. package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.js +39 -38
  25. package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.js.map +1 -1
  26. package/dist/components-domain/ivon-project-planning/_backend/backend.d.ts +2 -0
  27. package/dist/components-domain/ivon-project-planning/_backend/backend.d.ts.map +1 -1
  28. package/dist/components-domain/ivon-project-planning/_backend/backend.js +5 -1
  29. package/dist/components-domain/ivon-project-planning/_backend/backend.js.map +1 -1
  30. package/dist/components-domain/ivon-project-planning/_dummy-data/ivon3-dynamic-popup.json.d.ts +143 -0
  31. package/dist/components-domain/ivon-project-planning/_dummy-data/ivon3-test-data.json.d.ts +100 -19
  32. package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.d.ts +3 -3
  33. package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.d.ts.map +1 -1
  34. package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.js +28 -12
  35. package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.js.map +1 -1
  36. package/dist/components-domain/ivon-project-planning/_helpers/IvonPopupDataBridge.d.ts +7 -0
  37. package/dist/components-domain/ivon-project-planning/_helpers/IvonPopupDataBridge.d.ts.map +1 -0
  38. package/dist/components-domain/ivon-project-planning/_helpers/IvonPopupDataBridge.js +16 -0
  39. package/dist/components-domain/ivon-project-planning/_helpers/IvonPopupDataBridge.js.map +1 -0
  40. package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.d.ts +1 -0
  41. package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.d.ts.map +1 -1
  42. package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.js +9 -6
  43. package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.js.map +1 -1
  44. package/dist/components-domain/ivon-project-planning/_types/ivon-types.d.ts +16 -1
  45. package/dist/components-domain/ivon-project-planning/_types/ivon-types.d.ts.map +1 -1
  46. package/dist/components-domain/ivon-project-planning/_types/popup-types.d.ts +28 -0
  47. package/dist/components-domain/ivon-project-planning/_types/popup-types.d.ts.map +1 -0
  48. package/dist/components-domain/ivon-project-planning/_types/popup-types.js +2 -0
  49. package/dist/components-domain/ivon-project-planning/_types/popup-types.js.map +1 -0
  50. package/dist/components-generic/atoms/_menu/menu-item/MenuItem.js +1 -1
  51. package/dist/components-generic/atoms/_menu/user-menu/UserMenu.js +1 -1
  52. package/dist/components-generic/atoms/button/Button.js +1 -1
  53. package/dist/components-generic/atoms/icon-button/IconButton.js +1 -1
  54. package/dist/components-generic/atoms/input/Input.js +1 -1
  55. package/dist/components-generic/atoms/list/List.js +1 -1
  56. package/dist/components-generic/atoms/no-permission/PermissionWrapper.js +1 -1
  57. package/dist/components-generic/atoms/notification/Notification.js +1 -1
  58. package/dist/components-generic/atoms/progress-bar/Progressbar.d.ts +21 -0
  59. package/dist/components-generic/atoms/progress-bar/Progressbar.d.ts.map +1 -0
  60. package/dist/components-generic/atoms/progress-bar/Progressbar.js +44 -0
  61. package/dist/components-generic/atoms/progress-bar/Progressbar.js.map +1 -0
  62. package/dist/components-generic/atoms/section-header/SectionHeader.js +1 -1
  63. package/dist/components-generic/atoms/selection-buttons/checkbox/Checkbox.js +1 -1
  64. package/dist/components-generic/atoms/selection-buttons/radio-button/RadioButton.js +1 -1
  65. package/dist/components-generic/atoms/table/Table.d.ts +5 -5
  66. package/dist/components-generic/atoms/table/Table.d.ts.map +1 -1
  67. package/dist/components-generic/atoms/table/Table.js +1 -1
  68. package/dist/components-generic/atoms/table/Table.js.map +1 -1
  69. package/dist/components-generic/atoms/table/_QuickSearchToolbar.js +1 -1
  70. package/dist/components-generic/atoms/tooltip/Tooltip.js +1 -1
  71. package/dist/components-generic/molecules/field-error/FieldError.js +1 -1
  72. package/dist/components-generic/molecules/form-error/FormError.js +1 -1
  73. package/dist/components-generic/molecules/form-modal/FormModal.js +2 -2
  74. package/dist/components-generic/molecules/modal/Modal.js +1 -1
  75. package/dist/components-generic/molecules/navigation-bar/NavigationBar.js +1 -1
  76. package/dist/components-generic/molecules/no-label-number-field/NoLabelNumberField.js +2 -2
  77. package/dist/components-generic/molecules/upload-button/UploadButton.js +1 -1
  78. package/dist/contexts/TanstackFormContext.js +1 -1
  79. package/dist/index.d.ts +1 -0
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +33 -31
  82. package/dist/index.js.map +1 -1
  83. package/package.json +5 -1
  84. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonDeklaagPopup.d.ts +0 -9
  85. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonDeklaagPopup.d.ts.map +0 -1
  86. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonDeklaagPopup.js +0 -231
  87. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonDeklaagPopup.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"IvonSchematicView.js","sources":["../../../../src/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.tsx"],"sourcesContent":["import React from 'react';\nimport { IvonDataGrid } from '../_IvonDataGrid/IvonDataGrid';\nimport type { IvonDataBridge } from '../_helpers/IvonDataBridge';\nimport { ivonUtility } from '../_helpers/IvonUtility';\n\ninterface SchematicViewProps {\n readonly dataBridge: IvonDataBridge;\n itemClickHandler(this: void, segmentIndex: number, row: number): void;\n readonly maxHeight: number;\n}\n\nexport function SchematicView({ maxHeight, dataBridge, itemClickHandler }: SchematicViewProps) {\n const gridWidth = ivonUtility.widthBasedOnTrackLength(dataBridge.getTrackLength());\n\n const renderGrids = () => {\n const grids: React.ReactNode[] = [];\n\n const boundaries = dataBridge.getBorders().map((border, _index) => {\n return {\n startPosition: border.hectometer + border.distanceToHectometer,\n color: border.color,\n width: 4\n };\n });\n\n for (const [index, segment] of dataBridge.getLaneSegments().entries()) {\n const startPosition = segment.kmFrom;\n const endPosition = segment.kmTo;\n const columns = Math.abs(ivonUtility.convertUnit(endPosition) - ivonUtility.convertUnit(startPosition));\n const rows = segment.pavements.length;\n\n grids.push(\n <IvonDataGrid\n blockClickHandler={(row) => itemClickHandler(index, row)}\n blocks={segment.pavements.map((pavement, index) => {\n return {\n startPosition: 0,\n endPosition: columns,\n row: index,\n value: pavement.pavementType,\n color: 'rijks-skyblue'\n };\n })}\n boundaries={boundaries\n .filter((boundary) => {\n if (dataBridge.isDirectionFlipped()) return boundary.startPosition >= endPosition && boundary.startPosition < startPosition;\n else return boundary.startPosition >= startPosition && boundary.startPosition < endPosition;\n })\n .map((boundary) => {\n return {\n startPosition: Math.abs(ivonUtility.convertUnit(boundary.startPosition - startPosition)),\n color: boundary.color,\n width: boundary.width\n };\n })}\n cells={[]}\n columns={columns}\n height={maxHeight}\n key={index}\n rows={rows}\n width={`${ivonUtility.laneSegmentWidth() * columns}px`}\n />\n );\n }\n\n return grids;\n };\n\n const flowDirection = () => {\n if (dataBridge.isDirectionFlipped()) return 'row-reverse';\n return 'row';\n };\n\n return (\n <div id='ivon-schematic-view' style={{ display: 'flex', flexDirection: flowDirection(), width: `${gridWidth}px` }}>\n {renderGrids()}\n </div>\n );\n}\n"],"names":["SchematicView","t0","$","_c","maxHeight","dataBridge","itemClickHandler","t1","ivonUtility","widthBasedOnTrackLength","getTrackLength","gridWidth","t2","grids","boundaries","getBorders","map","_temp","index","segment","getLaneSegments","entries","startPosition","kmFrom","endPosition","kmTo","columns","Math","abs","convertUnit","rows","pavements","length","push","jsx","IvonDataGrid","row","pavement","index_0","value","pavementType","color","filter","boundary","isDirectionFlipped","boundary_0","width","laneSegmentWidth","renderGrids","t3","t4","flowDirection","t5","t6","display","flexDirection","t7","t8","border","_index","hectometer","distanceToHectometer"],"mappings":"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"}
1
+ {"version":3,"file":"IvonSchematicView.js","sources":["../../../../src/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.tsx"],"sourcesContent":["import React from 'react';\nimport { IvonDataGrid } from '../_IvonDataGrid/IvonDataGrid';\nimport type { IvonDataBridge } from '../_helpers/IvonDataBridge';\nimport { ivonUtility } from '../_helpers/IvonUtility';\nimport type { Pavement } from '../_types/ivon-types';\n\ninterface SchematicViewProps {\n readonly dataBridge: IvonDataBridge;\n itemClickHandler(this: void, pavement: Pavement): void;\n readonly maxHeight: number;\n}\n\nexport function SchematicView({ maxHeight, dataBridge, itemClickHandler }: SchematicViewProps) {\n const gridWidth = ivonUtility.widthBasedOnTrackLength(dataBridge.getTrackLength());\n\n const renderGrids = () => {\n const grids: React.ReactNode[] = [];\n\n const boundaries = dataBridge.getBorders().map((border, _index) => {\n return {\n startPosition: border.hectometer + border.distanceToHectometer,\n color: border.color,\n width: 4\n };\n });\n\n for (const [index, schematic] of dataBridge.getSchematics().entries()) {\n const startPosition = schematic.kmFrom;\n const endPosition = schematic.kmTo;\n const columns = Math.abs(ivonUtility.convertUnit(endPosition) - ivonUtility.convertUnit(startPosition));\n const rows = schematic.laneSchematics.length;\n\n grids.push(\n <IvonDataGrid\n blockClickHandler={(data) => itemClickHandler(schematic.laneSchematics[data.row].pavements[0])}\n blocks={schematic.laneSchematics.map((laneScehematic, index) => {\n return {\n startPosition: 0,\n endPosition: columns,\n scale: 1,\n row: index,\n value: laneScehematic.pavements[0].pavementType,\n color: 'rijks-skyblue'\n };\n })}\n boundaries={boundaries\n .filter((boundary) => {\n if (dataBridge.isDirectionFlipped()) return boundary.startPosition >= endPosition && boundary.startPosition < startPosition;\n else return boundary.startPosition >= startPosition && boundary.startPosition < endPosition;\n })\n .map((boundary) => {\n return {\n startPosition: Math.abs(ivonUtility.convertUnit(boundary.startPosition - startPosition)),\n color: boundary.color,\n width: boundary.width\n };\n })}\n cells={[]}\n columns={columns}\n height={maxHeight}\n key={index}\n rows={rows}\n width={`${ivonUtility.laneSegmentWidth() * columns}px`}\n />\n );\n }\n\n return grids;\n };\n\n const flowDirection = () => {\n if (dataBridge.isDirectionFlipped()) return 'row-reverse';\n return 'row';\n };\n\n return (\n <div id='ivon-schematic-view' style={{ display: 'flex', flexDirection: flowDirection(), width: `${gridWidth}px` }}>\n {renderGrids()}\n </div>\n );\n}\n"],"names":["SchematicView","t0","$","_c","maxHeight","dataBridge","itemClickHandler","t1","ivonUtility","widthBasedOnTrackLength","getTrackLength","gridWidth","t2","grids","boundaries","getBorders","map","_temp","index_0","schematic","getSchematics","entries","startPosition","kmFrom","endPosition","kmTo","columns","Math","abs","convertUnit","rows","laneSchematics","length","push","IvonDataGrid","data","row","pavements","laneScehematic","index","scale","value","pavementType","color","filter","boundary","isDirectionFlipped","boundary_0","width","laneSegmentWidth","renderGrids","t3","t4","flowDirection","t5","t6","display","flexDirection","t7","t8","border","_index","hectometer","distanceToHectometer"],"mappings":";;;;;AAYO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,EAAA,GAAuB;AAAA,IAAAC,WAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,kBAAAA;AAAAA,EAAAA,IAAAL;AAA+D,MAAAM;AAAA,EAAAL,SAAAG,KACzEE,IAAAC,EAAWC,wBAAyBJ,EAAUK,eAAAA,CAAiB,GAACR,OAAAG,GAAAH,OAAAK,KAAAA,IAAAL,EAAA,CAAA;AAAlF,QAAAS,IAAkBJ;AAAiE,MAAAK;AAAA,EAAAV,EAAA,CAAA,MAAAG,KAAAH,SAAAI,KAAAJ,EAAA,CAAA,MAAAE,KAE/DQ,IAAAA,MAAA;AAClB,UAAAC,IAAiC,CAAA,GAEjCC,IAAmBT,EAAUU,WAAAA,EAAaC,IAAKC,CAM9C;AAED,eAAK,CAAAC,GAAAC,CAAA,KAA4Bd,EAAUe,cAAAA,EAAgBC,WAAU;AACnE,YAAAC,IAAsBH,EAASI,QAC/BC,IAAoBL,EAASM,MAC7BC,IAAgBC,KAAIC,IAAKpB,EAAWqB,YAAaL,CAAW,IAAIhB,EAAWqB,YAAaP,CAAa,CAAC,GACtGQ,IAAaX,EAASY,eAAeC;AAErCnB,MAAAA,EAAKoB,uBACFC,GAAA,EACoB,mBAAAC,OAAU7B,EAAiBa,EAASY,eAAgBI,EAAIC,GAAI,EAACC,UAAU,CAAA,CAAG,GACrF,QAAAlB,EAASY,eAAef,IAAK,CAAAsB,GAAAC,OAC5B;AAAA,QAAAjB,eACU;AAAA,QAACE,aACHE;AAAAA,QAAOc,OACb;AAAA,QAACJ,KACHG;AAAAA,QAAKE,OACHH,EAAcD,UAAU,CAAA,EAAGK;AAAAA,QAAaC,OACxC;AAAA,MAAA,EAEV,GACW,YAAA7B,EAAU8B,OACZC,CAAAA,MACFxC,EAAUyC,uBAA8BD,EAAQvB,iBAAkBE,KAAeqB,EAAQvB,gBAAiBA,IAClGuB,EAAQvB,iBAAkBA,KAAiBuB,EAAQvB,gBAAiBE,CACjF,EAACR,IACG+B,CAAAA,OACI;AAAA,QAAAzB,eACUK,KAAIC,IAAKpB,EAAWqB,YAAagB,EAAQvB,gBAAiBA,CAAa,CAAC;AAAA,QAACqB,OACjFE,EAAQF;AAAAA,QAAMK,OACdH,EAAQG;AAAAA,MAAAA,EAElB,GACI,OAAA,CAAA,GACEtB,SAAAA,GACDtB,QAAAA,GAEF0B,MAAAA,GACC,OAAA,GAAGtB,EAAWyC,qBAAsBvB,CAAO,KAAA,GAF7Ca,EAIT;AAAA,IAAC;AACF,WAEM1B;AAAAA,EAAK,GACbX,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAE,GAAAF,OAAAU,KAAAA,IAAAV,EAAA,CAAA;AArDD,QAAAgD,IAAoBtC;AAqDlB,MAAAuC;AAAA,EAAAjD,SAAAG,KAEoB8C,IAAAA,MAChB9C,EAAUyC,uBAA8B,gBACrC,OACR5C,OAAAG,GAAAH,OAAAiD,KAAAA,IAAAjD,EAAA,CAAA;AAGwE,QAAAkD,IANnDD,EAMmDE,GAAwBC,IAAA,GAAG3C,CAAS;AAAI,MAAA4C;AAAA,EAAArD,EAAA,CAAA,MAAAkD,KAAAlD,SAAAoD,KAA1EC,IAAA;AAAA,IAAAC,SAAW;AAAA,IAAMC,eAAiBL;AAAAA,IAAeJ,OAASM;AAAAA,EAAAA,GAAkBpD,OAAAkD,GAAAlD,OAAAoD,GAAApD,QAAAqD,KAAAA,IAAArD,EAAA,EAAA;AAAA,MAAAwD;AAAA,EAAAxD,UAAAgD,KAC9GQ,IAAAR,EAAAA,GAAahD,QAAAgD,GAAAhD,QAAAwD,KAAAA,IAAAxD,EAAA,EAAA;AAAA,MAAAyD;AAAA,SAAAzD,EAAA,EAAA,MAAAqD,KAAArD,UAAAwD,KADhBC,+BAAQ,IAAA,uBAA6B,OAAAJ,GAClCG,UAAAA,GACH,GAAMxD,QAAAqD,GAAArD,QAAAwD,GAAAxD,QAAAyD,KAAAA,IAAAzD,EAAA,EAAA,GAFNyD;AAEM;AAlEH,SAAA1C,EAAA2C,GAAAC,GAAA;AAAA,SAOM;AAAA,IAAAvC,eACUsC,EAAME,aAAcF,EAAMG;AAAAA,IAAqBpB,OACvDiB,EAAMjB;AAAAA,IAAMK,OACZ;AAAA,EAAA;AACR;"}
@@ -1,3 +1,5 @@
1
1
  import { IvonData } from '../_types/ivon-types';
2
+ import { IvonPopupData } from '../_types/popup-types';
2
3
  export declare function loadData(json: string): IvonData;
4
+ export declare function loadPopupData(json: string): IvonPopupData;
3
5
  //# sourceMappingURL=backend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../../src/components-domain/ivon-project-planning/_backend/backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAE/C"}
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../../src/components-domain/ivon-project-planning/_backend/backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAE/C;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAEzD"}
@@ -1,7 +1,11 @@
1
1
  function r(a) {
2
2
  return JSON.parse(a);
3
3
  }
4
+ function t(a) {
5
+ return JSON.parse(a);
6
+ }
4
7
  export {
5
- r as loadData
8
+ r as loadData,
9
+ t as loadPopupData
6
10
  };
7
11
  //# sourceMappingURL=backend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sources":["../../../../src/components-domain/ivon-project-planning/_backend/backend.ts"],"sourcesContent":["import type { IvonData } from '../_types/ivon-types';\n\nexport function loadData(json: string): IvonData {\n return JSON.parse(json) as IvonData;\n}\n"],"names":["loadData","json","JSON","parse"],"mappings":"AAEO,SAASA,EAASC,GAAwB;AAC/C,SAAOC,KAAKC,MAAMF,CAAI;AACxB;"}
1
+ {"version":3,"file":"backend.js","sources":["../../../../src/components-domain/ivon-project-planning/_backend/backend.ts"],"sourcesContent":["import type { IvonData } from '../_types/ivon-types';\nimport type { IvonPopupData } from '../_types/popup-types';\n\nexport function loadData(json: string): IvonData {\n return JSON.parse(json) as IvonData;\n}\n\nexport function loadPopupData(json: string): IvonPopupData {\n return JSON.parse(json) as IvonPopupData;\n}\n"],"names":["loadData","json","JSON","parse","loadPopupData"],"mappings":"AAGO,SAASA,EAASC,GAAwB;AAC/C,SAAOC,KAAKC,MAAMF,CAAI;AACxB;AAEO,SAASG,EAAcH,GAA6B;AACzD,SAAOC,KAAKC,MAAMF,CAAI;AACxB;"}
@@ -0,0 +1,143 @@
1
+ declare const _default: {
2
+ "popupDefinitions": [
3
+ {
4
+ "type": "generic",
5
+ "popupTemplate": {
6
+ "title": "Generieke eigenschappen",
7
+ "tabs": [
8
+ {
9
+ "label": "Basis",
10
+ "fields": [
11
+ {
12
+ "key": "year",
13
+ "label": "Year",
14
+ "editable": true,
15
+ "type": "numberInput"
16
+ },
17
+ {
18
+ "key": "description",
19
+ "label": "Description",
20
+ "editable": true,
21
+ "type": "textInput"
22
+ }
23
+ ]
24
+ }
25
+ ]
26
+ }
27
+ },
28
+ {
29
+ "type": "detailed",
30
+ "popupTemplate": {
31
+ "title": "Gedetailleerde eigenschappen",
32
+ "tabs": [
33
+ {
34
+ "label": "Basis",
35
+ "fields": [
36
+ {
37
+ "key": "year",
38
+ "label": "Year",
39
+ "editable": false,
40
+ "type": "numberInput"
41
+ },
42
+ {
43
+ "key": "description",
44
+ "label": "Description",
45
+ "editable": false,
46
+ "type": "textInput"
47
+ }
48
+ ]
49
+ }
50
+ ]
51
+ }
52
+ },
53
+ {
54
+ "type": "detailed2",
55
+ "popupTemplate": {
56
+ "title": "Gedetailleerde eigenschappen",
57
+ "tabs": [
58
+ {
59
+ "label": "Basis",
60
+ "fields": [
61
+ {
62
+ "key": "year",
63
+ "label": "Year",
64
+ "editable": true,
65
+ "type": "numberInput"
66
+ }
67
+ ]
68
+ },
69
+ {
70
+ "label": "Basis",
71
+ "fields": [
72
+ {
73
+ "key": "description",
74
+ "label": "Description",
75
+ "editable": true,
76
+ "type": "textInput"
77
+ }
78
+ ]
79
+ }
80
+ ]
81
+ }
82
+ },
83
+ {
84
+ "type": "pavement",
85
+ "popupTemplate": {
86
+ "title": "Gedetailleerde eigenschappen",
87
+ "tabs": [
88
+ {
89
+ "label": "Basis",
90
+ "fields": [
91
+ {
92
+ "key": "pavementType",
93
+ "label": "Pavement Type",
94
+ "editable": false,
95
+ "type": "numberInput"
96
+ },
97
+ {
98
+ "key": "qualityIndex",
99
+ "label": "Quality Index",
100
+ "editable": false,
101
+ "type": "textInput"
102
+ },
103
+ {
104
+ "key": "constructionDate",
105
+ "label": "Construction Date",
106
+ "editable": false,
107
+ "type": "textInput"
108
+ }
109
+ ]
110
+ }
111
+ ]
112
+ }
113
+ },
114
+ {
115
+ "type": "createItem",
116
+ "popupTemplate": {
117
+ "title": "Creëer nieuw plan",
118
+ "tabs": [
119
+ {
120
+ "label": "Basis",
121
+ "fields": [
122
+ {
123
+ "key": "year",
124
+ "label": "Year",
125
+ "editable": true,
126
+ "type": "numberInput"
127
+ },
128
+ {
129
+ "key": "type",
130
+ "label": "Type",
131
+ "editable": true,
132
+ "type": "textInput"
133
+ }
134
+ ]
135
+ }
136
+ ]
137
+ }
138
+ }
139
+ ]
140
+ }
141
+ ;
142
+
143
+ export default _default;
@@ -10,41 +10,96 @@ declare const _default: {
10
10
  "laneSerialNumber": 1,
11
11
  "laneType": "R",
12
12
  "kmFrom": 10.0,
13
- "kmTo": 11.0,
13
+ "kmTo": 11.5,
14
14
  "bps": "RW001 10,0 +0 1 HR L",
15
15
  "pavements": [
16
16
  {
17
17
  "pavementId": 1,
18
18
  "pavementType": "laag-1.1",
19
19
  "constructionDate": "2020-05-15",
20
- "qualityIndex": 4,
21
- "roadSide": "Links"
20
+ "qualityIndex": 4
21
+ }
22
+ ],
23
+ "plans": [
24
+ {
25
+ "type": "generic",
26
+ "year": 2026,
27
+ "description": "Plan description A",
28
+ "color": "rijks-yellow-light"
22
29
  },
30
+ {
31
+ "type": "generic",
32
+ "year": 2025,
33
+ "description": "Plan description C",
34
+ "color": "rijks-yellow-light"
35
+ }
36
+ ]
37
+ },
38
+ {
39
+ "laneSerialNumber": 1,
40
+ "laneType": "R",
41
+ "kmFrom": 10.2,
42
+ "kmTo": 10.8,
43
+ "bps": "RW001 10,5 +0 1 HR L",
44
+ "pavements": [],
45
+ "plans": [
46
+ {
47
+ "type": "generic",
48
+ "year": 2026,
49
+ "description": "schade 1",
50
+ "color": "rijks-notification-red"
51
+ }
52
+ ]
53
+ },
54
+ {
55
+ "laneSerialNumber": 1,
56
+ "laneType": "R",
57
+ "kmFrom": 11.0,
58
+ "kmTo": 11.3,
59
+ "bps": "RW001 11,0 +0 1 HR L",
60
+ "pavements": [],
61
+ "plans": [
62
+ {
63
+ "type": "generic",
64
+ "year": 2025,
65
+ "description": "schade 2",
66
+ "color": "rijks-notification-red"
67
+ }
68
+ ]
69
+ },
70
+ {
71
+ "laneSerialNumber": 2,
72
+ "laneType": "R",
73
+ "kmFrom": 10.0,
74
+ "kmTo": 11.5,
75
+ "bps": "RW001 10,0 +0 1 HR L",
76
+ "pavements": [
23
77
  {
24
78
  "pavementId": 2,
25
79
  "pavementType": "laag-2.1",
26
80
  "constructionDate": "2021-03-20",
27
- "qualityIndex": 5,
28
- "roadSide": "Links"
81
+ "qualityIndex": 5
29
82
  }
30
83
  ],
31
84
  "plans": [
32
85
  {
86
+ "type": "generic",
33
87
  "year": 2026,
34
88
  "description": "Plan description A",
35
89
  "color": "rijks-yellow-light"
36
90
  },
37
91
  {
92
+ "type": "generic",
38
93
  "year": 2025,
39
94
  "description": "Plan description C",
40
95
  "color": "rijks-yellow-light"
41
96
  }
42
97
  ]
43
- },
98
+ },
44
99
  {
45
100
  "laneSerialNumber": 1,
46
101
  "laneType": "R",
47
- "kmFrom": 11.0,
102
+ "kmFrom": 11.5,
48
103
  "kmTo": 12.0,
49
104
  "bps": "RW001 11,0 +0 1 HR L",
50
105
  "pavements": [
@@ -52,12 +107,12 @@ declare const _default: {
52
107
  "pavementId": 3,
53
108
  "pavementType": "laag-1.2",
54
109
  "constructionDate": "2019-08-10",
55
- "qualityIndex": 6,
56
- "roadSide": "Links"
110
+ "qualityIndex": 6
57
111
  }
58
112
  ],
59
113
  "plans": [
60
114
  {
115
+ "type": "generic",
61
116
  "year": 2026,
62
117
  "description": "Plan description B",
63
118
  "color": "rijks-yellow-light"
@@ -71,29 +126,45 @@ declare const _default: {
71
126
  "kmTo": 16.0,
72
127
  "bps": "RW001 12,0 +0 1 HR L",
73
128
  "pavements": [
74
- {
75
- "pavementId": 4,
76
- "pavementType": "laag-1.3",
77
- "constructionDate": "2022-01-15",
78
- "qualityIndex": 7,
79
- "roadSide": "Links"
80
- },
81
129
  {
82
130
  "pavementId": 5,
83
131
  "pavementType": "laag-2.3",
84
132
  "constructionDate": "2022-06-30",
85
- "qualityIndex": 8,
86
- "roadSide": "Links"
133
+ "qualityIndex": 8
87
134
  }
88
135
  ],
89
136
  "plans": [
90
137
  {
138
+ "type": "generic",
91
139
  "year": 2026,
92
140
  "description": "Plan description D",
93
141
  "color": "rijks-yellow-light"
94
142
  }
95
143
  ]
96
- }
144
+ },
145
+ {
146
+ "laneSerialNumber": 2,
147
+ "laneType": "R",
148
+ "kmFrom": 12.0,
149
+ "kmTo": 16.0,
150
+ "bps": "RW001 12,0 +0 1 HR L",
151
+ "pavements": [
152
+ {
153
+ "pavementId": 5,
154
+ "pavementType": "laag-2.4",
155
+ "constructionDate": "2022-06-30",
156
+ "qualityIndex": 8
157
+ }
158
+ ],
159
+ "plans": [
160
+ {
161
+ "type": "generic",
162
+ "year": 2026,
163
+ "description": "Plan description D",
164
+ "color": "rijks-yellow-light"
165
+ }
166
+ ]
167
+ }
97
168
  ],
98
169
  "borders": [
99
170
  {
@@ -108,6 +179,16 @@ declare const _default: {
108
179
  "distanceToHectometer": 0.0,
109
180
  "color": "text-link-visited"
110
181
  }
182
+ ],
183
+ "lanes": [
184
+ {
185
+ "bps": "RW001 10,0-16 HR L",
186
+ "laneSerialNumber": 1
187
+ },
188
+ {
189
+ "bps": "RW001 10,0-16 HR R",
190
+ "laneSerialNumber": 2
191
+ }
111
192
  ]
112
193
  }
113
194
  }
@@ -1,15 +1,15 @@
1
- import { IvonData, Border, LaneSegment, Pavement } from '../_types/ivon-types';
1
+ import { IvonData, Border, LaneSegment, Schematic, Lane } from '../_types/ivon-types';
2
2
  export declare class IvonDataBridge {
3
3
  private readonly data;
4
4
  constructor(data: IvonData);
5
5
  getYears(): number[];
6
6
  getTrackLength(): number;
7
+ getLanes(): Lane[];
7
8
  getLaneSegments(): LaneSegment[];
9
+ getSchematics(): Schematic[];
8
10
  getTrackStart(): number;
9
11
  getTrackEnd(): number;
10
12
  getBorders(): Border[];
11
- getLaneSegmentByIndex(index: number): LaneSegment | null;
12
- getPavementByLaneSegmentAndRow(laneSegmentIndex: number, rowIndex: number): Pavement | null;
13
13
  isDirectionFlipped(): boolean;
14
14
  }
15
15
  //# sourceMappingURL=IvonDataBridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IvonDataBridge.d.ts","sourceRoot":"","sources":["../../../../src/components-domain/ivon-project-planning/_helpers/IvonDataBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGpF,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;gBAEb,IAAI,EAAE,QAAQ;IAI1B,QAAQ,IAAI,MAAM,EAAE;IAKpB,cAAc,IAAI,MAAM;IAIxB,eAAe,IAAI,WAAW,EAAE;IAIhC,aAAa,IAAI,MAAM;IAIvB,WAAW,IAAI,MAAM;IAIrB,UAAU,IAAI,MAAM,EAAE;IAItB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAIxD,8BAA8B,CAAC,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAK3F,kBAAkB,IAAI,OAAO;CAGrC"}
1
+ {"version":3,"file":"IvonDataBridge.d.ts","sourceRoot":"","sources":["../../../../src/components-domain/ivon-project-planning/_helpers/IvonDataBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG3F,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;gBAEb,IAAI,EAAE,QAAQ;IAI1B,QAAQ,IAAI,MAAM,EAAE;IAKpB,cAAc,IAAI,MAAM;IAIxB,QAAQ,IAAI,IAAI,EAAE;IAIlB,eAAe,IAAI,WAAW,EAAE;IAIhC,aAAa,IAAI,SAAS,EAAE;IAiC5B,aAAa,IAAI,MAAM;IAIvB,WAAW,IAAI,MAAM;IAIrB,UAAU,IAAI,MAAM,EAAE;IAItB,kBAAkB,IAAI,OAAO;CAGrC"}
@@ -1,19 +1,41 @@
1
- import { ivonUtility as r } from "./IvonUtility.js";
1
+ import { ivonUtility as n } from "./IvonUtility.js";
2
2
  class i {
3
3
  data;
4
- constructor(t) {
5
- this.data = t;
4
+ constructor(e) {
5
+ this.data = e;
6
6
  }
7
7
  getYears() {
8
- const t = this.data.track.laneSegments.flatMap((e) => e.plans.flatMap((a) => a.year));
9
- return Array.from(new Set(t));
8
+ const e = this.data.track.laneSegments.flatMap((t) => t.plans.flatMap((a) => a.year));
9
+ return Array.from(new Set(e));
10
10
  }
11
11
  getTrackLength() {
12
- return Math.abs(r.convertUnit(this.data.track.kmTo) - r.convertUnit(this.data.track.kmFrom));
12
+ return Math.abs(n.convertUnit(this.data.track.kmTo) - n.convertUnit(this.data.track.kmFrom));
13
+ }
14
+ getLanes() {
15
+ return this.data.track.lanes;
13
16
  }
14
17
  getLaneSegments() {
15
18
  return this.data.track.laneSegments;
16
19
  }
20
+ getSchematics() {
21
+ const e = [];
22
+ for (const t of this.data.track.laneSegments) {
23
+ const a = e.find((r) => r.kmFrom === t.kmFrom && r.kmTo === t.kmTo);
24
+ t.pavements.length !== 0 && (a === void 0 ? e.push({
25
+ kmFrom: t.kmFrom,
26
+ kmTo: t.kmTo,
27
+ laneSerialNumbers: [t.laneSerialNumber],
28
+ laneSchematics: [{
29
+ laneSerialNumber: t.laneSerialNumber,
30
+ pavements: t.pavements
31
+ }]
32
+ }) : (a.laneSerialNumbers.push(t.laneSerialNumber), a.laneSchematics.push({
33
+ laneSerialNumber: t.laneSerialNumber,
34
+ pavements: t.pavements
35
+ })));
36
+ }
37
+ return e.sort((t, a) => t.kmFrom - a.kmFrom), e;
38
+ }
17
39
  getTrackStart() {
18
40
  return this.data.track.kmFrom;
19
41
  }
@@ -23,12 +45,6 @@ class i {
23
45
  getBorders() {
24
46
  return this.data.track.borders;
25
47
  }
26
- getLaneSegmentByIndex(t) {
27
- return this.data.track.laneSegments[t] ?? null;
28
- }
29
- getPavementByLaneSegmentAndRow(t, e) {
30
- return this.getLaneSegmentByIndex(t)?.pavements[e] ?? null;
31
- }
32
48
  isDirectionFlipped() {
33
49
  return this.data.track.kmFrom > this.data.track.kmTo;
34
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IvonDataBridge.js","sources":["../../../../src/components-domain/ivon-project-planning/_helpers/IvonDataBridge.ts"],"sourcesContent":["import type { IvonData, Border, LaneSegment, Pavement } from '../_types/ivon-types';\nimport { ivonUtility } from './IvonUtility';\n\nexport class IvonDataBridge {\n private readonly data: IvonData;\n\n public constructor(data: IvonData) {\n this.data = data;\n }\n\n public getYears(): number[] {\n const years = this.data.track.laneSegments.flatMap((segment) => segment.plans.flatMap((plan) => plan.year));\n return Array.from(new Set(years));\n }\n\n public getTrackLength(): number {\n return Math.abs(ivonUtility.convertUnit(this.data.track.kmTo) - ivonUtility.convertUnit(this.data.track.kmFrom));\n }\n\n public getLaneSegments(): LaneSegment[] {\n return this.data.track.laneSegments;\n }\n\n public getTrackStart(): number {\n return this.data.track.kmFrom;\n }\n\n public getTrackEnd(): number {\n return this.data.track.kmTo;\n }\n\n public getBorders(): Border[] {\n return this.data.track.borders;\n }\n\n public getLaneSegmentByIndex(index: number): LaneSegment | null {\n return this.data.track.laneSegments[index] ?? null;\n }\n\n public getPavementByLaneSegmentAndRow(laneSegmentIndex: number, rowIndex: number): Pavement | null {\n const laneSegment = this.getLaneSegmentByIndex(laneSegmentIndex);\n return laneSegment?.pavements[rowIndex] ?? null;\n }\n\n public isDirectionFlipped(): boolean {\n return this.data.track.kmFrom > this.data.track.kmTo;\n }\n}\n"],"names":["IvonDataBridge","data","constructor","getYears","years","track","laneSegments","flatMap","segment","plans","plan","year","Array","from","Set","getTrackLength","Math","abs","ivonUtility","convertUnit","kmTo","kmFrom","getLaneSegments","getTrackStart","getTrackEnd","getBorders","borders","getLaneSegmentByIndex","index","getPavementByLaneSegmentAndRow","laneSegmentIndex","rowIndex","pavements","isDirectionFlipped"],"mappings":";AAGO,MAAMA,EAAe;AAAA,EACTC;AAAAA,EAEVC,YAAYD,GAAgB;AACjC,SAAKA,OAAOA;AAAAA,EACd;AAAA,EAEOE,WAAqB;AAC1B,UAAMC,IAAQ,KAAKH,KAAKI,MAAMC,aAAaC,QAASC,CAAAA,MAAYA,EAAQC,MAAMF,QAASG,CAAAA,MAASA,EAAKC,IAAI,CAAC;AAC1G,WAAOC,MAAMC,KAAK,IAAIC,IAAIV,CAAK,CAAC;AAAA,EAClC;AAAA,EAEOW,iBAAyB;AAC9B,WAAOC,KAAKC,IAAIC,EAAYC,YAAY,KAAKlB,KAAKI,MAAMe,IAAI,IAAIF,EAAYC,YAAY,KAAKlB,KAAKI,MAAMgB,MAAM,CAAC;AAAA,EACjH;AAAA,EAEOC,kBAAiC;AACtC,WAAO,KAAKrB,KAAKI,MAAMC;AAAAA,EACzB;AAAA,EAEOiB,gBAAwB;AAC7B,WAAO,KAAKtB,KAAKI,MAAMgB;AAAAA,EACzB;AAAA,EAEOG,cAAsB;AAC3B,WAAO,KAAKvB,KAAKI,MAAMe;AAAAA,EACzB;AAAA,EAEOK,aAAuB;AAC5B,WAAO,KAAKxB,KAAKI,MAAMqB;AAAAA,EACzB;AAAA,EAEOC,sBAAsBC,GAAmC;AAC9D,WAAO,KAAK3B,KAAKI,MAAMC,aAAasB,CAAK,KAAK;AAAA,EAChD;AAAA,EAEOC,+BAA+BC,GAA0BC,GAAmC;AAEjG,WADoB,KAAKJ,sBAAsBG,CAAgB,GAC3CE,UAAUD,CAAQ,KAAK;AAAA,EAC7C;AAAA,EAEOE,qBAA8B;AACnC,WAAO,KAAKhC,KAAKI,MAAMgB,SAAS,KAAKpB,KAAKI,MAAMe;AAAAA,EAClD;AACF;"}
1
+ {"version":3,"file":"IvonDataBridge.js","sources":["../../../../src/components-domain/ivon-project-planning/_helpers/IvonDataBridge.ts"],"sourcesContent":["import type { IvonData, Border, LaneSegment, Schematic, Lane } from '../_types/ivon-types';\nimport { ivonUtility } from './IvonUtility';\n\nexport class IvonDataBridge {\n private readonly data: IvonData;\n\n public constructor(data: IvonData) {\n this.data = data;\n }\n\n public getYears(): number[] {\n const years = this.data.track.laneSegments.flatMap((segment) => segment.plans.flatMap((plan) => plan.year));\n return Array.from(new Set(years));\n }\n\n public getTrackLength(): number {\n return Math.abs(ivonUtility.convertUnit(this.data.track.kmTo) - ivonUtility.convertUnit(this.data.track.kmFrom));\n }\n\n public getLanes(): Lane[] {\n return this.data.track.lanes;\n }\n\n public getLaneSegments(): LaneSegment[] {\n return this.data.track.laneSegments;\n }\n\n public getSchematics(): Schematic[] {\n const schematics: Schematic[] = [];\n\n for (const segment of this.data.track.laneSegments) {\n const existingSchematic = schematics.find((schematic) => schematic.kmFrom === segment.kmFrom && schematic.kmTo === segment.kmTo);\n if (segment.pavements.length === 0) continue;\n\n if (existingSchematic === undefined) {\n schematics.push({\n kmFrom: segment.kmFrom,\n kmTo: segment.kmTo,\n laneSerialNumbers: [segment.laneSerialNumber],\n laneSchematics: [\n {\n laneSerialNumber: segment.laneSerialNumber,\n pavements: segment.pavements\n }\n ]\n });\n } else {\n existingSchematic.laneSerialNumbers.push(segment.laneSerialNumber);\n existingSchematic.laneSchematics.push({\n laneSerialNumber: segment.laneSerialNumber,\n pavements: segment.pavements\n });\n }\n }\n\n schematics.sort((aa, bb) => aa.kmFrom - bb.kmFrom);\n\n return schematics;\n }\n\n public getTrackStart(): number {\n return this.data.track.kmFrom;\n }\n\n public getTrackEnd(): number {\n return this.data.track.kmTo;\n }\n\n public getBorders(): Border[] {\n return this.data.track.borders;\n }\n\n public isDirectionFlipped(): boolean {\n return this.data.track.kmFrom > this.data.track.kmTo;\n }\n}\n"],"names":["IvonDataBridge","data","constructor","getYears","years","track","laneSegments","flatMap","segment","plans","plan","year","Array","from","Set","getTrackLength","Math","abs","ivonUtility","convertUnit","kmTo","kmFrom","getLanes","lanes","getLaneSegments","getSchematics","schematics","existingSchematic","find","schematic","pavements","length","undefined","push","laneSerialNumbers","laneSerialNumber","laneSchematics","sort","aa","bb","getTrackStart","getTrackEnd","getBorders","borders","isDirectionFlipped"],"mappings":";AAGO,MAAMA,EAAe;AAAA,EACTC;AAAAA,EAEVC,YAAYD,GAAgB;AACjC,SAAKA,OAAOA;AAAAA,EACd;AAAA,EAEOE,WAAqB;AAC1B,UAAMC,IAAQ,KAAKH,KAAKI,MAAMC,aAAaC,QAASC,CAAAA,MAAYA,EAAQC,MAAMF,QAASG,CAAAA,MAASA,EAAKC,IAAI,CAAC;AAC1G,WAAOC,MAAMC,KAAK,IAAIC,IAAIV,CAAK,CAAC;AAAA,EAClC;AAAA,EAEOW,iBAAyB;AAC9B,WAAOC,KAAKC,IAAIC,EAAYC,YAAY,KAAKlB,KAAKI,MAAMe,IAAI,IAAIF,EAAYC,YAAY,KAAKlB,KAAKI,MAAMgB,MAAM,CAAC;AAAA,EACjH;AAAA,EAEOC,WAAmB;AACxB,WAAO,KAAKrB,KAAKI,MAAMkB;AAAAA,EACzB;AAAA,EAEOC,kBAAiC;AACtC,WAAO,KAAKvB,KAAKI,MAAMC;AAAAA,EACzB;AAAA,EAEOmB,gBAA6B;AAClC,UAAMC,IAA0B,CAAA;AAEhC,eAAWlB,KAAW,KAAKP,KAAKI,MAAMC,cAAc;AAClD,YAAMqB,IAAoBD,EAAWE,KAAMC,CAAAA,MAAcA,EAAUR,WAAWb,EAAQa,UAAUQ,EAAUT,SAASZ,EAAQY,IAAI;AAC/H,MAAIZ,EAAQsB,UAAUC,WAAW,MAE7BJ,MAAsBK,SACxBN,EAAWO,KAAK;AAAA,QACdZ,QAAQb,EAAQa;AAAAA,QAChBD,MAAMZ,EAAQY;AAAAA,QACdc,mBAAmB,CAAC1B,EAAQ2B,gBAAgB;AAAA,QAC5CC,gBAAgB,CACd;AAAA,UACED,kBAAkB3B,EAAQ2B;AAAAA,UAC1BL,WAAWtB,EAAQsB;AAAAA,QAAAA,CACpB;AAAA,MAAA,CAEJ,KAEDH,EAAkBO,kBAAkBD,KAAKzB,EAAQ2B,gBAAgB,GACjER,EAAkBS,eAAeH,KAAK;AAAA,QACpCE,kBAAkB3B,EAAQ2B;AAAAA,QAC1BL,WAAWtB,EAAQsB;AAAAA,MAAAA,CACpB;AAAA,IAEL;AAEAJ,WAAAA,EAAWW,KAAK,CAACC,GAAIC,MAAOD,EAAGjB,SAASkB,EAAGlB,MAAM,GAE1CK;AAAAA,EACT;AAAA,EAEOc,gBAAwB;AAC7B,WAAO,KAAKvC,KAAKI,MAAMgB;AAAAA,EACzB;AAAA,EAEOoB,cAAsB;AAC3B,WAAO,KAAKxC,KAAKI,MAAMe;AAAAA,EACzB;AAAA,EAEOsB,aAAuB;AAC5B,WAAO,KAAKzC,KAAKI,MAAMsC;AAAAA,EACzB;AAAA,EAEOC,qBAA8B;AACnC,WAAO,KAAK3C,KAAKI,MAAMgB,SAAS,KAAKpB,KAAKI,MAAMe;AAAAA,EAClD;AACF;"}
@@ -0,0 +1,7 @@
1
+ import { IvonPopupData, PopupTemplate } from '../_types/popup-types';
2
+ export declare class IvonPopupDataBridge {
3
+ private readonly data;
4
+ constructor(data: IvonPopupData);
5
+ getPopupTemplate(type: string): PopupTemplate;
6
+ }
7
+ //# sourceMappingURL=IvonPopupDataBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IvonPopupDataBridge.d.ts","sourceRoot":"","sources":["../../../../src/components-domain/ivon-project-planning/_helpers/IvonPopupDataBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE1E,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;gBAElB,IAAI,EAAE,aAAa;IAI/B,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;CAQrD"}
@@ -0,0 +1,16 @@
1
+ class e {
2
+ data;
3
+ constructor(t) {
4
+ this.data = t;
5
+ }
6
+ getPopupTemplate(t) {
7
+ const o = this.data.popupDefinitions.find((p) => p.type === t);
8
+ if (!o)
9
+ throw new Error(`No popup definition found for type: ${t}`);
10
+ return o.popupTemplate;
11
+ }
12
+ }
13
+ export {
14
+ e as IvonPopupDataBridge
15
+ };
16
+ //# sourceMappingURL=IvonPopupDataBridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IvonPopupDataBridge.js","sources":["../../../../src/components-domain/ivon-project-planning/_helpers/IvonPopupDataBridge.ts"],"sourcesContent":["import type { IvonPopupData, PopupTemplate } from '../_types/popup-types';\n\nexport class IvonPopupDataBridge {\n private readonly data: IvonPopupData;\n\n public constructor(data: IvonPopupData) {\n this.data = data;\n }\n\n public getPopupTemplate(type: string): PopupTemplate {\n const definition = this.data.popupDefinitions.find((def) => def.type === type);\n if (!definition) {\n throw new Error(`No popup definition found for type: ${type}`);\n }\n\n return definition.popupTemplate;\n }\n}\n"],"names":["IvonPopupDataBridge","data","constructor","getPopupTemplate","type","definition","popupDefinitions","find","def","Error","popupTemplate"],"mappings":"AAEO,MAAMA,EAAoB;AAAA,EACdC;AAAAA,EAEVC,YAAYD,GAAqB;AACtC,SAAKA,OAAOA;AAAAA,EACd;AAAA,EAEOE,iBAAiBC,GAA6B;AACnD,UAAMC,IAAa,KAAKJ,KAAKK,iBAAiBC,KAAMC,CAAAA,MAAQA,EAAIJ,SAASA,CAAI;AAC7E,QAAI,CAACC;AACH,YAAM,IAAII,MAAM,uCAAuCL,CAAI,EAAE;AAG/D,WAAOC,EAAWK;AAAAA,EACpB;AACF;"}
@@ -3,5 +3,6 @@ export declare const ivonUtility: {
3
3
  lerp(from: number, to: number, percentage: number): number;
4
4
  widthBasedOnTrackLength(trackLength: number): number;
5
5
  laneSegmentWidth(): number;
6
+ roadSideFromBPS(bps: string): "" | "Links" | "Rechts";
6
7
  };
7
8
  //# sourceMappingURL=IvonUtility.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IvonUtility.d.ts","sourceRoot":"","sources":["../../../../src/components-domain/ivon-project-planning/_helpers/IvonUtility.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;0BACA,MAAM;eAGjB,MAAM,MAAM,MAAM,cAAc,MAAM;yCAGZ,MAAM;;CAM5C,CAAC"}
1
+ {"version":3,"file":"IvonUtility.d.ts","sourceRoot":"","sources":["../../../../src/components-domain/ivon-project-planning/_helpers/IvonUtility.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;0BACA,MAAM;eAGjB,MAAM,MAAM,MAAM,cAAc,MAAM;yCAGZ,MAAM;;yBAMtB,MAAM;CAM5B,CAAC"}
@@ -1,15 +1,18 @@
1
1
  const r = {
2
- convertUnit(t) {
3
- return Math.floor(t * 10);
2
+ convertUnit(e) {
3
+ return Math.round(e * 10);
4
4
  },
5
- lerp(t, e, n) {
6
- return t + (e - t) * n;
5
+ lerp(e, t, n) {
6
+ return e + (t - e) * n;
7
7
  },
8
- widthBasedOnTrackLength(t) {
9
- return t * this.laneSegmentWidth();
8
+ widthBasedOnTrackLength(e) {
9
+ return e * this.laneSegmentWidth();
10
10
  },
11
11
  laneSegmentWidth() {
12
12
  return 30;
13
+ },
14
+ roadSideFromBPS(e) {
15
+ return e.includes("L") ? "Links" : e.includes("R") ? "Rechts" : "";
13
16
  }
14
17
  };
15
18
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"IvonUtility.js","sources":["../../../../src/components-domain/ivon-project-planning/_helpers/IvonUtility.ts"],"sourcesContent":["export const ivonUtility = {\n convertUnit(position: number) {\n return Math.floor(position * 10);\n },\n lerp(from: number, to: number, percentage: number) {\n return from + (to - from) * percentage;\n },\n widthBasedOnTrackLength(trackLength: number) {\n return trackLength * this.laneSegmentWidth();\n },\n laneSegmentWidth() {\n return 30;\n }\n};\n"],"names":["ivonUtility","convertUnit","position","Math","floor","lerp","from","to","percentage","widthBasedOnTrackLength","trackLength","laneSegmentWidth"],"mappings":"AAAO,MAAMA,IAAc;AAAA,EACzBC,YAAYC,GAAkB;AAC5B,WAAOC,KAAKC,MAAMF,IAAW,EAAE;AAAA,EACjC;AAAA,EACAG,KAAKC,GAAcC,GAAYC,GAAoB;AACjD,WAAOF,KAAQC,IAAKD,KAAQE;AAAAA,EAC9B;AAAA,EACAC,wBAAwBC,GAAqB;AAC3C,WAAOA,IAAc,KAAKC,iBAAAA;AAAAA,EAC5B;AAAA,EACAA,mBAAmB;AACjB,WAAO;AAAA,EACT;AACF;"}
1
+ {"version":3,"file":"IvonUtility.js","sources":["../../../../src/components-domain/ivon-project-planning/_helpers/IvonUtility.ts"],"sourcesContent":["export const ivonUtility = {\n convertUnit(position: number) {\n return Math.round(position * 10);\n },\n lerp(from: number, to: number, percentage: number) {\n return from + (to - from) * percentage;\n },\n widthBasedOnTrackLength(trackLength: number) {\n return trackLength * this.laneSegmentWidth();\n },\n laneSegmentWidth() {\n return 30;\n },\n roadSideFromBPS(bps: string) {\n if (bps.includes('L')) return 'Links';\n if (bps.includes('R')) return 'Rechts';\n\n return '';\n }\n};\n"],"names":["ivonUtility","convertUnit","position","Math","round","lerp","from","to","percentage","widthBasedOnTrackLength","trackLength","laneSegmentWidth","roadSideFromBPS","bps","includes"],"mappings":"AAAO,MAAMA,IAAc;AAAA,EACzBC,YAAYC,GAAkB;AAC5B,WAAOC,KAAKC,MAAMF,IAAW,EAAE;AAAA,EACjC;AAAA,EACAG,KAAKC,GAAcC,GAAYC,GAAoB;AACjD,WAAOF,KAAQC,IAAKD,KAAQE;AAAAA,EAC9B;AAAA,EACAC,wBAAwBC,GAAqB;AAC3C,WAAOA,IAAc,KAAKC,iBAAAA;AAAAA,EAC5B;AAAA,EACAA,mBAAmB;AACjB,WAAO;AAAA,EACT;AAAA,EACAC,gBAAgBC,GAAa;AAC3B,WAAIA,EAAIC,SAAS,GAAG,IAAU,UAC1BD,EAAIC,SAAS,GAAG,IAAU,WAEvB;AAAA,EACT;AACF;"}
@@ -7,9 +7,24 @@ export interface Track {
7
7
  kmFrom: number;
8
8
  kmTo: number;
9
9
  laneSegments: LaneSegment[];
10
+ lanes: Lane[];
10
11
  trackSerialNumber: number;
11
12
  trackType: string;
12
13
  }
14
+ export interface Lane {
15
+ bps: string;
16
+ laneSerialNumber: number;
17
+ }
18
+ export interface Schematic {
19
+ kmFrom: number;
20
+ kmTo: number;
21
+ laneSchematics: LaneSchematic[];
22
+ laneSerialNumbers: number[];
23
+ }
24
+ export interface LaneSchematic {
25
+ laneSerialNumber: number;
26
+ pavements: Pavement[];
27
+ }
13
28
  export interface LaneSegment {
14
29
  bps: string;
15
30
  kmFrom: number;
@@ -24,11 +39,11 @@ export interface Pavement {
24
39
  pavementId: number;
25
40
  pavementType: string;
26
41
  qualityIndex: number;
27
- roadSide: string;
28
42
  }
29
43
  export interface LaneSegmentPlan {
30
44
  color: string;
31
45
  description: string;
46
+ type: string;
32
47
  year: number;
33
48
  }
34
49
  export interface Border {
@@ -1 +1 @@
1
- {"version":3,"file":"ivon-types.d.ts","sourceRoot":"","sources":["../../../../src/components-domain/ivon-project-planning/_types/ivon-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"ivon-types.d.ts","sourceRoot":"","sources":["../../../../src/components-domain/ivon-project-planning/_types/ivon-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,IAAI;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB"}