@rws-aoa/react-library 9.1.0 → 9.3.0

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 (86) 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.DcLTlIky.js +1761 -0
  4. package/dist/chunks/createTheme.DcLTlIky.js.map +1 -0
  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 +128 -31
  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 +6 -2
  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 +93 -75
  13. package/dist/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.js.map +1 -1
  14. package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.d.ts +8 -0
  15. package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.d.ts.map +1 -0
  16. package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.js +48 -0
  17. package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.js.map +1 -0
  18. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonPopupRenderer.d.ts +10 -0
  19. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonPopupRenderer.d.ts.map +1 -0
  20. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonPopupRenderer.js +233 -0
  21. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonPopupRenderer.js.map +1 -0
  22. package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.d.ts +5 -3
  23. package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.d.ts.map +1 -1
  24. package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.js +65 -81
  25. package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.js.map +1 -1
  26. package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.d.ts +2 -1
  27. package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.d.ts.map +1 -1
  28. package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.js +44 -50
  29. package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.js.map +1 -1
  30. package/dist/components-domain/ivon-project-planning/_backend/backend.d.ts +2 -0
  31. package/dist/components-domain/ivon-project-planning/_backend/backend.d.ts.map +1 -1
  32. package/dist/components-domain/ivon-project-planning/_backend/backend.js +5 -1
  33. package/dist/components-domain/ivon-project-planning/_backend/backend.js.map +1 -1
  34. package/dist/components-domain/ivon-project-planning/_dummy-data/ivon3-dynamic-popup.json.d.ts +143 -0
  35. package/dist/components-domain/ivon-project-planning/_dummy-data/ivon3-test-data.json.d.ts +197 -0
  36. package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.d.ts +4 -1
  37. package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.d.ts.map +1 -1
  38. package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.js +33 -8
  39. package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.js.map +1 -1
  40. package/dist/components-domain/ivon-project-planning/_helpers/IvonPopupDataBridge.d.ts +7 -0
  41. package/dist/components-domain/ivon-project-planning/_helpers/IvonPopupDataBridge.d.ts.map +1 -0
  42. package/dist/components-domain/ivon-project-planning/_helpers/IvonPopupDataBridge.js +16 -0
  43. package/dist/components-domain/ivon-project-planning/_helpers/IvonPopupDataBridge.js.map +1 -0
  44. package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.d.ts +4 -0
  45. package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.d.ts.map +1 -1
  46. package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.js +16 -4
  47. package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.js.map +1 -1
  48. package/dist/components-domain/ivon-project-planning/_types/ivon-types.d.ts +23 -1
  49. package/dist/components-domain/ivon-project-planning/_types/ivon-types.d.ts.map +1 -1
  50. package/dist/components-domain/ivon-project-planning/_types/popup-types.d.ts +28 -0
  51. package/dist/components-domain/ivon-project-planning/_types/popup-types.d.ts.map +1 -0
  52. package/dist/components-domain/ivon-project-planning/_types/popup-types.js +2 -0
  53. package/dist/components-domain/ivon-project-planning/_types/popup-types.js.map +1 -0
  54. package/dist/components-generic/atoms/_menu/menu-item/MenuItem.js +1 -1
  55. package/dist/components-generic/atoms/_menu/user-menu/UserMenu.js +1 -1
  56. package/dist/components-generic/atoms/button/Button.js +1 -1
  57. package/dist/components-generic/atoms/icon-button/IconButton.js +1 -1
  58. package/dist/components-generic/atoms/input/Input.js +1 -1
  59. package/dist/components-generic/atoms/list/List.js +1 -1
  60. package/dist/components-generic/atoms/no-permission/PermissionWrapper.js +1 -1
  61. package/dist/components-generic/atoms/notification/Notification.js +1 -1
  62. package/dist/components-generic/atoms/progress-bar/Progressbar.d.ts +21 -0
  63. package/dist/components-generic/atoms/progress-bar/Progressbar.d.ts.map +1 -0
  64. package/dist/components-generic/atoms/progress-bar/Progressbar.js +44 -0
  65. package/dist/components-generic/atoms/progress-bar/Progressbar.js.map +1 -0
  66. package/dist/components-generic/atoms/section-header/SectionHeader.js +1 -1
  67. package/dist/components-generic/atoms/selection-buttons/checkbox/Checkbox.js +1 -1
  68. package/dist/components-generic/atoms/selection-buttons/radio-button/RadioButton.js +1 -1
  69. package/dist/components-generic/atoms/table/Table.d.ts +5 -1
  70. package/dist/components-generic/atoms/table/Table.d.ts.map +1 -1
  71. package/dist/components-generic/atoms/table/Table.js +49 -31
  72. package/dist/components-generic/atoms/table/Table.js.map +1 -1
  73. package/dist/components-generic/atoms/table/_QuickSearchToolbar.js +853 -2594
  74. package/dist/components-generic/atoms/table/_QuickSearchToolbar.js.map +1 -1
  75. package/dist/components-generic/atoms/tooltip/Tooltip.js +1 -1
  76. package/dist/components-generic/molecules/field-error/FieldError.js +1 -1
  77. package/dist/components-generic/molecules/form-error/FormError.js +1 -1
  78. package/dist/components-generic/molecules/form-modal/FormModal.js +2 -2
  79. package/dist/components-generic/molecules/modal/Modal.js +1 -1
  80. package/dist/components-generic/molecules/navigation-bar/NavigationBar.js +1 -1
  81. package/dist/components-generic/molecules/no-label-number-field/NoLabelNumberField.js +2 -2
  82. package/dist/components-generic/molecules/upload-button/UploadButton.js +1 -1
  83. package/dist/contexts/TanstackFormContext.js +1 -1
  84. package/dist/index.js +1 -1
  85. package/package.json +5 -1
  86. package/dist/components-domain/ivon-project-planning/_dummy-data/ivon3-data.json.d.ts +0 -78
@@ -1,65 +1,59 @@
1
- import { jsxs as b, jsx as v } from "react/jsx-runtime";
2
- import { c as H } from "../../../chunks/compiler-runtime.BNHg76kC.js";
1
+ import { jsx as x } from "react/jsx-runtime";
2
+ import { c as B } from "../../../chunks/compiler-runtime.BNHg76kC.js";
3
3
  import "react";
4
- import { IvonDataGrid as U } from "../_IvonDataGrid/IvonDataGrid.js";
5
- import { ivonUtility as w } from "../_helpers/IvonUtility.js";
6
- function E(i) {
7
- const t = H.c(9), {
8
- maxHeight: d,
9
- dataBridge: o,
10
- itemClickHandler: h
11
- } = i, k = D;
12
- let n;
13
- t[0] !== o || t[1] !== h || t[2] !== d ? (n = () => {
14
- const x = [], _ = o.getBorders().map(C);
15
- for (const [P, m] of o.getLaneSegments().entries()) {
16
- const f = m.kmFrom, g = m.kmTo, a = w.convertUnit(g) - w.convertUnit(f), y = m.pavements.length;
17
- x.push(/* @__PURE__ */ v(U, { blockClickHandler: (e, u, S) => h(e, u + a), blocks: m.pavements.map((e, u) => ({
4
+ import { IvonDataGrid as F } from "../_IvonDataGrid/IvonDataGrid.js";
5
+ import { ivonUtility as c } from "../_helpers/IvonUtility.js";
6
+ function E(n) {
7
+ const t = B.c(16), {
8
+ maxHeight: p,
9
+ dataBridge: i,
10
+ itemClickHandler: f
11
+ } = n;
12
+ let l;
13
+ t[0] !== i ? (l = c.widthBasedOnTrackLength(i.getTrackLength()), t[0] = i, t[1] = l) : l = t[1];
14
+ const D = l;
15
+ let a;
16
+ t[2] !== i || t[3] !== f || t[4] !== p ? (a = () => {
17
+ const k = [], S = i.getBorders().map($);
18
+ for (const [T, r] of i.getSchematics().entries()) {
19
+ const d = r.kmFrom, u = r.kmTo, P = Math.abs(c.convertUnit(u) - c.convertUnit(d)), H = r.laneSchematics.length;
20
+ k.push(/* @__PURE__ */ x(F, { blockClickHandler: (e) => f(r.laneSchematics[e.row].pavements[0]), blocks: r.laneSchematics.map((e, U) => ({
18
21
  startPosition: 0,
19
- endPosition: a,
20
- row: u,
21
- value: e,
22
+ endPosition: P,
23
+ scale: 1,
24
+ row: U,
25
+ value: e.pavements[0].pavementType,
22
26
  color: "rijks-skyblue"
23
- })), boundaries: _.filter((e) => e.startPosition >= f && e.startPosition < g).map((e) => ({
24
- startPosition: w.convertUnit(e.startPosition - f),
27
+ })), boundaries: S.filter((e) => i.isDirectionFlipped() ? e.startPosition >= u && e.startPosition < d : e.startPosition >= d && e.startPosition < u).map((e) => ({
28
+ startPosition: Math.abs(c.convertUnit(e.startPosition - d)),
25
29
  color: e.color,
26
30
  width: e.width
27
- })), cellClickHandler: j, cells: [], columns: a, height: d, rows: y, width: k(a, o.getTrackLength()) }, P));
31
+ })), cells: [], columns: P, height: p, rows: H, width: `${c.laneSegmentWidth() * P}px` }, T));
28
32
  }
29
- return x;
30
- }, t[0] = o, t[1] = h, t[2] = d, t[3] = n) : n = t[3];
31
- const p = n;
32
- let r, s, c;
33
- t[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (r = {
34
- display: "flex",
35
- flexDirection: "row",
36
- width: "100%"
37
- }, s = /* @__PURE__ */ v("div", { style: {
38
- width: "10%",
39
- border: "1px solid black"
40
- } }), c = {
33
+ return k;
34
+ }, t[2] = i, t[3] = f, t[4] = p, t[5] = a) : a = t[5];
35
+ const w = a;
36
+ let m;
37
+ t[6] !== i ? (m = () => i.isDirectionFlipped() ? "row-reverse" : "row", t[6] = i, t[7] = m) : m = t[7];
38
+ const v = m(), g = `${D}px`;
39
+ let o;
40
+ t[8] !== v || t[9] !== g ? (o = {
41
41
  display: "flex",
42
- flexDirection: "row",
43
- width: "90%"
44
- }, t[4] = r, t[5] = s, t[6] = c) : (r = t[4], s = t[5], c = t[6]);
45
- let l;
46
- return t[7] !== p ? (l = /* @__PURE__ */ b("div", { id: "ivon-schematic-view", style: r, children: [
47
- s,
48
- /* @__PURE__ */ v("div", { style: c, children: p() })
49
- ] }), t[7] = p, t[8] = l) : l = t[8], l;
42
+ flexDirection: v,
43
+ width: g
44
+ }, t[8] = v, t[9] = g, t[10] = o) : o = t[10];
45
+ let s;
46
+ t[11] !== w ? (s = w(), t[11] = w, t[12] = s) : s = t[12];
47
+ let h;
48
+ return t[13] !== o || t[14] !== s ? (h = /* @__PURE__ */ x("div", { id: "ivon-schematic-view", style: o, children: s }), t[13] = o, t[14] = s, t[15] = h) : h = t[15], h;
50
49
  }
51
- function j(i, t) {
52
- }
53
- function C(i, t) {
50
+ function $(n, t) {
54
51
  return {
55
- startPosition: i.hectometer,
56
- color: i.color,
52
+ startPosition: n.hectometer + n.distanceToHectometer,
53
+ color: n.color,
57
54
  width: 4
58
55
  };
59
56
  }
60
- function D(i, t) {
61
- return `${i / t * 100}%`;
62
- }
63
57
  export {
64
58
  E as SchematicView
65
59
  };
@@ -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, row: number, column: number): void;\n readonly maxHeight: number;\n}\n\nexport function SchematicView({ maxHeight, dataBridge, itemClickHandler }: SchematicViewProps) {\n const calculateWidth = (columns: number, maxColumns: number) => `${(columns / maxColumns) * 100}%`;\n\n const renderGrids = () => {\n const grids: React.ReactNode[] = [];\n\n const boundaries = dataBridge.getBorders().map((border, _index) => {\n return {\n startPosition: border.hectometer,\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 = ivonUtility.convertUnit(endPosition) - ivonUtility.convertUnit(startPosition);\n const rows = segment.pavements.length;\n\n grids.push(\n <IvonDataGrid\n blockClickHandler={(row, column, _d) => itemClickHandler(row, column + columns)}\n blocks={segment.pavements.map((pavement, index) => {\n return {\n startPosition: 0,\n endPosition: columns,\n row: index,\n value: pavement,\n color: 'rijks-skyblue'\n };\n })}\n boundaries={boundaries\n .filter((boundary) => boundary.startPosition >= startPosition && boundary.startPosition < endPosition)\n .map((boundary) => {\n return {\n startPosition: ivonUtility.convertUnit(boundary.startPosition - startPosition),\n color: boundary.color,\n width: boundary.width\n };\n })}\n cellClickHandler={(_r, _c) => {}}\n cells={[]}\n columns={columns}\n height={maxHeight}\n key={_index}\n rows={rows}\n width={calculateWidth(columns, dataBridge.getTrackLength())}\n />\n );\n }\n\n return grids;\n };\n\n return (\n <div id='ivon-schematic-view' style={{ display: 'flex', flexDirection: 'row', width: '100%' }}>\n <div style={{ width: '10%', border: '1px solid black' }} />\n <div style={{ display: 'flex', flexDirection: 'row', width: '90%' }}>{renderGrids()}</div>\n </div>\n );\n}\n"],"names":["SchematicView","t0","$","_c2","maxHeight","dataBridge","itemClickHandler","calculateWidth","_temp","t1","grids","boundaries","getBorders","map","_temp2","_index_0","segment","getLaneSegments","entries","startPosition","kmFrom","endPosition","kmTo","columns_0","ivonUtility","convertUnit","rows","pavements","length","push","jsx","IvonDataGrid","row","column","_d","columns","pavement","index","value","color","filter","boundary","boundary_0","width","_temp3","getTrackLength","_index","renderGrids","t2","t3","t4","Symbol","for","display","flexDirection","border","t5","jsxs","_r","_c","hectometer","maxColumns"],"mappings":";;;;;AAWO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,CAAA,GAAuB;AAAA,IAAAC,WAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,kBAAAA;AAAAA,EAAAA,IAAAL,GAC5BM,IAAuBC;AAA4E,MAAAC;AAAA,EAAAP,EAAA,CAAA,MAAAG,KAAAH,SAAAI,KAAAJ,EAAA,CAAA,MAAAE,KAE/EK,IAAAA,MAAA;AAClB,UAAAC,IAAiC,CAAA,GAEjCC,IAAmBN,EAAUO,WAAAA,EAAaC,IAAKC,CAM9C;AAED,eAAK,CAAAC,GAAAC,CAAA,KAA2BX,EAAUY,gBAAAA,EAAkBC,WAAU;AACpE,YAAAC,IAAsBH,EAAOI,QAC7BC,IAAoBL,EAAOM,MAC3BC,IAAgBC,EAAWC,YAAaJ,CAAW,IAAIG,EAAWC,YAAaN,CAAa,GAC5FO,IAAaV,EAAOW,UAAUC;AAE9BlB,MAAAA,EAAKmB,KACH,gBAAAC,EAACC,GAAA,EACoB,mBAAA,CAAAC,GAAAC,GAAAC,MAAqB5B,EAAiB0B,GAAKC,IAASE,CAAO,GACtE,QAAAnB,EAAOW,UAAUd,IAAK,CAAAuB,GAAAC,OACrB;AAAA,QAAAlB,eACU;AAAA,QAACE,aACHc;AAAAA,QAAOH,KACfK;AAAAA,QAAKC,OACHF;AAAAA,QAAQG,OACR;AAAA,MAAA,EAEV,GACW,YAAA5B,EAAU6B,OACZC,CAAAA,MAAcA,EAAQtB,iBAAkBA,KAAiBsB,EAAQtB,gBAAiBE,CAAW,EAACR,IACjG6B,CAAAA,OACI;AAAA,QAAAvB,eACUK,EAAWC,YAAagB,EAAQtB,gBAAiBA,CAAa;AAAA,QAACoB,OACvEE,EAAQF;AAAAA,QAAMI,OACdF,EAAQE;AAAAA,MAAAA,EAElB,GACe,kBAAAC,GACX,WACET,SAAAA,GACD/B,QAAAA,GAEFsB,MAAAA,GACC,OAAAnB,EAAe4B,GAAS9B,EAAUwC,gBAAiB,EAAA,GAFrDC,CAEsD,CAE/D;AAAA,IAAC;AACF,WAEMpC;AAAAA,EAAK,GACbR,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAE,GAAAF,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAlDD,QAAA6C,IAAoBtC;AAkDlB,MAAAuC,GAAAC,GAAAC;AAAA,EAAAhD,EAAA,CAAA,MAAAiD,uBAAAC,IAAA,2BAAA,KAGqCJ,IAAA;AAAA,IAAAK,SAAW;AAAA,IAAMC,eAAiB;AAAA,IAAKX,OAAS;AAAA,EAAA,GACnFM,IAAA,gBAAAnB,EAAA,SAAY,OAAA;AAAA,IAAAa,OAAS;AAAA,IAAKY,QAAU;AAAA,EAAA,GAAmB,GAC3CL,IAAA;AAAA,IAAAG,SAAW;AAAA,IAAMC,eAAiB;AAAA,IAAKX,OAAS;AAAA,EAAA,GAAOzC,OAAA8C,GAAA9C,OAAA+C,GAAA/C,OAAAgD,MAAAF,IAAA9C,EAAA,CAAA,GAAA+C,IAAA/C,EAAA,CAAA,GAAAgD,IAAAhD,EAAA,CAAA;AAAA,MAAAsD;AAAA,SAAAtD,SAAA6C,KAFrES,IAAA,gBAAAC,EAAA,OAAA,EAAQ,IAAA,uBAA6B,OAAAT,GACnCC,UAAAA;AAAAA,IAAAA;AAAAA,IACA,gBAAAnB,EAAA,OAAA,EAAY,OAAAoB,GAA0DH,cAAY,CAAE;AAAA,EAAA,GACtF,GAAM7C,OAAA6C,GAAA7C,OAAAsD,KAAAA,IAAAtD,EAAA,CAAA,GAHNsD;AAGM;AA3DH,SAAAZ,EAAAc,GAAAC,GAAA;AAAA;AAAA,SAAA7C,EAAAyC,GAAAT,GAAA;AAAA,SAOM;AAAA,IAAA3B,eACUoC,EAAMK;AAAAA,IAAWrB,OACzBgB,EAAMhB;AAAAA,IAAMI,OACZ;AAAA,EAAA;AACR;AAXA,SAAAnC,EAAA2B,GAAA0B,GAAA;AAAA,SAC2D,GAAI1B,IAAU0B,IAAc,GAAG;AAAG;"}
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;
@@ -0,0 +1,197 @@
1
+ declare const _default: {
2
+ "track": {
3
+ "trackSerialNumber": 1,
4
+ "trackType": "HR",
5
+ "kmFrom": 10.0,
6
+ "kmTo": 16.0,
7
+ "bps": "RW001 1 HR L",
8
+ "laneSegments": [
9
+ {
10
+ "laneSerialNumber": 1,
11
+ "laneType": "R",
12
+ "kmFrom": 10.0,
13
+ "kmTo": 11.5,
14
+ "bps": "RW001 10,0 +0 1 HR L",
15
+ "pavements": [
16
+ {
17
+ "pavementId": 1,
18
+ "pavementType": "laag-1.1",
19
+ "constructionDate": "2020-05-15",
20
+ "qualityIndex": 4
21
+ }
22
+ ],
23
+ "plans": [
24
+ {
25
+ "type": "generic",
26
+ "year": 2026,
27
+ "description": "Plan description A",
28
+ "color": "rijks-yellow-light"
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": [
77
+ {
78
+ "pavementId": 2,
79
+ "pavementType": "laag-2.1",
80
+ "constructionDate": "2021-03-20",
81
+ "qualityIndex": 5
82
+ }
83
+ ],
84
+ "plans": [
85
+ {
86
+ "type": "generic",
87
+ "year": 2026,
88
+ "description": "Plan description A",
89
+ "color": "rijks-yellow-light"
90
+ },
91
+ {
92
+ "type": "generic",
93
+ "year": 2025,
94
+ "description": "Plan description C",
95
+ "color": "rijks-yellow-light"
96
+ }
97
+ ]
98
+ },
99
+ {
100
+ "laneSerialNumber": 1,
101
+ "laneType": "R",
102
+ "kmFrom": 11.5,
103
+ "kmTo": 12.0,
104
+ "bps": "RW001 11,0 +0 1 HR L",
105
+ "pavements": [
106
+ {
107
+ "pavementId": 3,
108
+ "pavementType": "laag-1.2",
109
+ "constructionDate": "2019-08-10",
110
+ "qualityIndex": 6
111
+ }
112
+ ],
113
+ "plans": [
114
+ {
115
+ "type": "generic",
116
+ "year": 2026,
117
+ "description": "Plan description B",
118
+ "color": "rijks-yellow-light"
119
+ }
120
+ ]
121
+ },
122
+ {
123
+ "laneSerialNumber": 1,
124
+ "laneType": "R",
125
+ "kmFrom": 12.0,
126
+ "kmTo": 16.0,
127
+ "bps": "RW001 12,0 +0 1 HR L",
128
+ "pavements": [
129
+ {
130
+ "pavementId": 5,
131
+ "pavementType": "laag-2.3",
132
+ "constructionDate": "2022-06-30",
133
+ "qualityIndex": 8
134
+ }
135
+ ],
136
+ "plans": [
137
+ {
138
+ "type": "generic",
139
+ "year": 2026,
140
+ "description": "Plan description D",
141
+ "color": "rijks-yellow-light"
142
+ }
143
+ ]
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
+ }
168
+ ],
169
+ "borders": [
170
+ {
171
+ "bps": "RW001 10,0 +0 1 HR L",
172
+ "hectometer": 10.0,
173
+ "distanceToHectometer": 0.0,
174
+ "color": "text-link-visited"
175
+ },
176
+ {
177
+ "bps": "RW001 11,0 +0 1 HR L",
178
+ "hectometer": 11.0,
179
+ "distanceToHectometer": 0.0,
180
+ "color": "text-link-visited"
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
+ }
192
+ ]
193
+ }
194
+ }
195
+ ;
196
+
197
+ export default _default;
@@ -1,12 +1,15 @@
1
- import { IvonData, Border, LaneSegment } 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[];
13
+ isDirectionFlipped(): boolean;
11
14
  }
12
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,MAAM,sBAAsB,CAAC;AAG1E,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;CAG9B"}
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 a } from "./IvonUtility.js";
2
- class o {
1
+ import { ivonUtility as n } from "./IvonUtility.js";
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((r) => r.plans.flatMap((e) => e.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 a.convertUnit(this.data.track.kmTo) - a.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,8 +45,11 @@ class o {
23
45
  getBorders() {
24
46
  return this.data.track.borders;
25
47
  }
48
+ isDirectionFlipped() {
49
+ return this.data.track.kmFrom > this.data.track.kmTo;
50
+ }
26
51
  }
27
52
  export {
28
- o as IvonDataBridge
53
+ i as IvonDataBridge
29
54
  };
30
55
  //# sourceMappingURL=IvonDataBridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IvonDataBridge.js","sources":["../../../../src/components-domain/ivon-project-planning/_helpers/IvonDataBridge.ts"],"sourcesContent":["import type { IvonData, Border, LaneSegment } 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 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"],"names":["IvonDataBridge","data","constructor","getYears","years","track","laneSegments","flatMap","segment","plans","plan","year","Array","from","Set","getTrackLength","ivonUtility","convertUnit","kmTo","kmFrom","getLaneSegments","getTrackStart","getTrackEnd","getBorders","borders"],"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,EAAYC,YAAY,KAAKhB,KAAKI,MAAMa,IAAI,IAAIF,EAAYC,YAAY,KAAKhB,KAAKI,MAAMc,MAAM;AAAA,EACvG;AAAA,EAEOC,kBAAiC;AACtC,WAAO,KAAKnB,KAAKI,MAAMC;AAAAA,EACzB;AAAA,EAEOe,gBAAwB;AAC7B,WAAO,KAAKpB,KAAKI,MAAMc;AAAAA,EACzB;AAAA,EAEOG,cAAsB;AAC3B,WAAO,KAAKrB,KAAKI,MAAMa;AAAAA,EACzB;AAAA,EAEOK,aAAuB;AAC5B,WAAO,KAAKtB,KAAKI,MAAMmB;AAAAA,EACzB;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"}