@rws-aoa/react-library 9.1.0 → 9.2.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 (42) hide show
  1. package/dist/chunks/createTheme.edEUUU41.js +1761 -0
  2. package/dist/chunks/createTheme.edEUUU41.js.map +1 -0
  3. package/dist/components-domain/ivon-project-planning/IvonProjectPlanning.d.ts.map +1 -1
  4. package/dist/components-domain/ivon-project-planning/IvonProjectPlanning.js +70 -30
  5. package/dist/components-domain/ivon-project-planning/IvonProjectPlanning.js.map +1 -1
  6. package/dist/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.d.ts +4 -2
  7. package/dist/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.d.ts.map +1 -1
  8. package/dist/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.js +84 -72
  9. package/dist/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.js.map +1 -1
  10. package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.d.ts +8 -0
  11. package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.d.ts.map +1 -0
  12. package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.js +48 -0
  13. package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.js.map +1 -0
  14. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonDeklaagPopup.d.ts +9 -0
  15. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonDeklaagPopup.d.ts.map +1 -0
  16. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonDeklaagPopup.js +231 -0
  17. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonDeklaagPopup.js.map +1 -0
  18. package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.d.ts.map +1 -1
  19. package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.js +52 -71
  20. package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.js.map +1 -1
  21. package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.d.ts +1 -1
  22. package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.d.ts.map +1 -1
  23. package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.js +42 -49
  24. package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.js.map +1 -1
  25. package/dist/components-domain/ivon-project-planning/_dummy-data/{ivon3-data.json.d.ts → ivon3-test-data.json.d.ts} +46 -8
  26. package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.d.ts +4 -1
  27. package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.d.ts.map +1 -1
  28. package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.js +14 -5
  29. package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.js.map +1 -1
  30. package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.d.ts +3 -0
  31. package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.d.ts.map +1 -1
  32. package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.js +11 -2
  33. package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.js.map +1 -1
  34. package/dist/components-domain/ivon-project-planning/_types/ivon-types.d.ts +8 -1
  35. package/dist/components-domain/ivon-project-planning/_types/ivon-types.d.ts.map +1 -1
  36. package/dist/components-generic/atoms/table/Table.d.ts +5 -1
  37. package/dist/components-generic/atoms/table/Table.d.ts.map +1 -1
  38. package/dist/components-generic/atoms/table/Table.js +49 -31
  39. package/dist/components-generic/atoms/table/Table.js.map +1 -1
  40. package/dist/components-generic/atoms/table/_QuickSearchToolbar.js +853 -2594
  41. package/dist/components-generic/atoms/table/_QuickSearchToolbar.js.map +1 -1
  42. package/package.json +1 -1
@@ -1,89 +1,70 @@
1
- import { jsx as $, jsxs as F } from "react/jsx-runtime";
2
- import { c as G } from "../../../chunks/compiler-runtime.BNHg76kC.js";
3
- import { IvonDataGrid as E } from "../_IvonDataGrid/IvonDataGrid.js";
4
- import { ivonUtility as L } from "../_helpers/IvonUtility.js";
5
- function A(T) {
6
- const e = G.c(47), {
7
- maxHeight: n,
1
+ import { jsx as U } from "react/jsx-runtime";
2
+ import { c as j } from "../../../chunks/compiler-runtime.BNHg76kC.js";
3
+ import { IvonDataGrid as M } from "../_IvonDataGrid/IvonDataGrid.js";
4
+ import { ivonUtility as v } from "../_helpers/IvonUtility.js";
5
+ function E($) {
6
+ const e = j.c(35), {
7
+ maxHeight: w,
8
8
  dataBridge: t,
9
- cellClickHandler: j,
10
- itemClickHandler: U
11
- } = T;
12
- let w;
13
- e[0] !== t ? (w = () => {
9
+ cellClickHandler: b,
10
+ itemClickHandler: C
11
+ } = $;
12
+ let g;
13
+ e[0] !== t ? (g = () => {
14
14
  const l = [];
15
15
  for (const [o, i] of t.getLaneSegments().entries())
16
- for (const I of i.plans)
16
+ for (const B of i.plans)
17
17
  l.push({
18
- startPosition: L.convertUnit(i.kmFrom - t.getTrackStart()),
19
- endPosition: L.convertUnit(i.kmTo - t.getTrackStart()),
20
- row: t.getYears().indexOf(I.year),
21
- value: `${I.description}`,
22
- color: I.color
18
+ startPosition: Math.abs(v.convertUnit(i.kmFrom - t.getTrackStart())),
19
+ endPosition: Math.abs(v.convertUnit(i.kmTo - t.getTrackStart())),
20
+ row: t.getYears().indexOf(B.year),
21
+ value: `${B.description}`,
22
+ color: B.color
23
23
  });
24
24
  return l;
25
- }, e[0] = t, e[1] = w) : w = e[1];
26
- const Y = w;
27
- let b;
28
- e[2] !== t ? (b = t.getBorders().map((l, o) => ({
29
- startPosition: L.convertUnit(l.hectometer - t.getTrackStart()),
25
+ }, e[0] = t, e[1] = g) : g = e[1];
26
+ const T = g;
27
+ let m;
28
+ e[2] !== t ? (m = t.getBorders().map((l, o) => ({
29
+ startPosition: Math.abs(v.convertUnit(l.hectometer - t.getTrackStart())),
30
30
  color: l.color,
31
31
  width: 4
32
- })), e[2] = t, e[3] = b) : b = e[3];
33
- const B = b;
34
- let v;
35
- e[4] !== t ? (v = t.getYears().map(O), e[4] = t, e[5] = v) : v = e[5];
36
- const D = v;
37
- let x;
38
- e[6] !== j ? (x = (l, o, i) => j(l, o, i), e[6] = j, e[7] = x) : x = e[7];
39
- const r = x;
40
- let C;
41
- e[8] !== U ? (C = (l, o, i) => U(l, o, i), e[8] = U, e[9] = C) : C = e[9];
42
- const s = C;
43
- let _;
44
- e[10] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (_ = {
32
+ })), e[2] = t, e[3] = m) : m = e[3];
33
+ const y = m;
34
+ let h;
35
+ e[4] !== b ? (h = (l, o, i) => b(l, o, i), e[4] = b, e[5] = h) : h = e[5];
36
+ const H = h;
37
+ let k;
38
+ e[6] !== C ? (k = (l, o, i) => C(l, o, i), e[6] = C, e[7] = k) : k = e[7];
39
+ const P = k;
40
+ let p;
41
+ e[8] !== t ? (p = v.widthBasedOnTrackLength(t.getTrackLength()), e[8] = t, e[9] = p) : p = e[9];
42
+ const L = p, S = `${L}px`;
43
+ let n;
44
+ e[10] !== S ? (n = {
45
45
  display: "flex",
46
46
  flexDirection: "row",
47
- width: "100%"
48
- }, e[10] = _) : _ = e[10];
47
+ width: S
48
+ }, e[10] = S, e[11] = n) : n = e[11];
49
+ let r;
50
+ e[12] !== P ? (r = (l, o, i) => P(l, o, i), e[12] = P, e[13] = r) : r = e[13];
51
+ let s;
52
+ e[14] !== T ? (s = T(), e[14] = T, e[15] = s) : s = e[15];
49
53
  let c;
50
- e[11] !== s ? (c = (l, o, i) => s(l, o, i), e[11] = s, e[12] = c) : c = e[12];
51
- let y, S;
52
- e[13] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (y = [], S = [], e[13] = y, e[14] = S) : (y = e[13], S = e[14]);
54
+ e[16] !== H ? (c = (l, o, i) => H(l, o, i), e[16] = H, e[17] = c) : c = e[17];
55
+ let x;
56
+ e[18] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (x = [], e[18] = x) : x = e[18];
53
57
  let a;
54
- e[15] !== r ? (a = (l, o, i) => r(l, o, i), e[15] = r, e[16] = a) : a = e[16];
55
- let f;
56
- e[17] !== t ? (f = t.getYears(), e[17] = t, e[18] = f) : f = e[18];
57
- let m;
58
- e[19] !== n || e[20] !== a || e[21] !== f.length || e[22] !== c || e[23] !== D ? (m = /* @__PURE__ */ $(E, { blockClickHandler: c, blocks: y, boundaries: S, cellClickHandler: a, cells: D, columns: 1, height: n, rows: f.length, width: "10%" }), e[19] = n, e[20] = a, e[21] = f.length, e[22] = c, e[23] = D, e[24] = m) : m = e[24];
58
+ e[19] !== t ? (a = t.getTrackLength(), e[19] = t, e[20] = a) : a = e[20];
59
59
  let d;
60
- e[25] !== s ? (d = (l, o, i) => s(l, o, i), e[25] = s, e[26] = d) : d = e[26];
61
- let g;
62
- e[27] !== Y ? (g = Y(), e[27] = Y, e[28] = g) : g = e[28];
63
- let h;
64
- e[29] !== r ? (h = (l, o, i) => r(l, o, i), e[29] = r, e[30] = h) : h = e[30];
65
- let H;
66
- e[31] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (H = [], e[31] = H) : H = e[31];
67
- let k;
68
- e[32] !== t ? (k = t.getTrackLength(), e[32] = t, e[33] = k) : k = e[33];
69
- let p;
70
- e[34] !== t ? (p = t.getYears(), e[34] = t, e[35] = p) : p = e[35];
60
+ e[21] !== t ? (d = t.getYears(), e[21] = t, e[22] = d) : d = e[22];
61
+ const _ = `${L}px`;
62
+ let f;
63
+ e[23] !== y || e[24] !== w || e[25] !== c || e[26] !== a || e[27] !== d.length || e[28] !== _ || e[29] !== r || e[30] !== s ? (f = /* @__PURE__ */ U(M, { blockClickHandler: r, blocks: s, boundaries: y, cellClickHandler: c, cells: x, columns: a, height: w, rows: d.length, width: _ }), e[23] = y, e[24] = w, e[25] = c, e[26] = a, e[27] = d.length, e[28] = _, e[29] = r, e[30] = s, e[31] = f) : f = e[31];
71
64
  let u;
72
- e[36] !== B || e[37] !== n || e[38] !== d || e[39] !== g || e[40] !== h || e[41] !== k || e[42] !== p.length ? (u = /* @__PURE__ */ $(E, { blockClickHandler: d, blocks: g, boundaries: B, cellClickHandler: h, cells: H, columns: k, height: n, rows: p.length, width: "90%" }), e[36] = B, e[37] = n, e[38] = d, e[39] = g, e[40] = h, e[41] = k, e[42] = p.length, e[43] = u) : u = e[43];
73
- let P;
74
- return e[44] !== m || e[45] !== u ? (P = /* @__PURE__ */ F("div", { id: "ivon-project-planning-view", style: _, children: [
75
- m,
76
- u
77
- ] }), e[44] = m, e[45] = u, e[46] = P) : P = e[46], P;
78
- }
79
- function O(T, e) {
80
- return {
81
- row: e,
82
- column: 0,
83
- value: T.toString()
84
- };
65
+ return e[32] !== f || e[33] !== n ? (u = /* @__PURE__ */ U("div", { id: "ivon-project-planning-view", style: n, children: f }), e[32] = f, e[33] = n, e[34] = u) : u = e[34], u;
85
66
  }
86
67
  export {
87
- A as ProjectPlanningView
68
+ E as ProjectPlanningView
88
69
  };
89
70
  //# sourceMappingURL=IvonProjectPlanningView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IvonProjectPlanningView.js","sources":["../../../../src/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.tsx"],"sourcesContent":["import { IvonDataGrid } from '../_IvonDataGrid/IvonDataGrid';\nimport type { IvonDataGridBlockData, IvonDataGridCellData } from '../_IvonDataGrid/IvonDataGrid';\nimport type { IvonDataBridge } from '../_helpers/IvonDataBridge';\nimport { ivonUtility } from '../_helpers/IvonUtility';\n\ninterface ProjectPlanningViewProps {\n cellClickHandler(this: void, row: number, column: number, data?: IvonDataGridCellData): void;\n readonly dataBridge: IvonDataBridge;\n itemClickHandler(this: void, row: number, column: number, data: IvonDataGridBlockData): void;\n readonly maxHeight: number;\n}\n\nexport function ProjectPlanningView({ maxHeight, dataBridge, cellClickHandler, itemClickHandler }: ProjectPlanningViewProps) {\n const buildBlocks = () => {\n const blocks: IvonDataGridBlockData[] = [];\n for (const [_index, segment] of dataBridge.getLaneSegments().entries()) {\n for (const plan of segment.plans) {\n blocks.push({\n startPosition: ivonUtility.convertUnit(segment.kmFrom - dataBridge.getTrackStart()),\n endPosition: ivonUtility.convertUnit(segment.kmTo - dataBridge.getTrackStart()),\n row: dataBridge.getYears().indexOf(plan.year),\n value: `${plan.description}`,\n color: plan.color\n });\n }\n }\n\n return blocks;\n };\n\n const boundaries = dataBridge.getBorders().map((border, _index) => {\n return {\n startPosition: ivonUtility.convertUnit(border.hectometer - dataBridge.getTrackStart()),\n color: border.color,\n width: 4\n };\n });\n\n const yearCells = dataBridge.getYears().map((year, index) => {\n return {\n row: index,\n column: 0,\n value: year.toString()\n };\n });\n\n const gridCellClicked = (row: number, column: number, data?: IvonDataGridCellData) => cellClickHandler(row, column, data);\n const gridItemClicked = (row: number, column: number, data: IvonDataGridBlockData) => itemClickHandler(row, column, data);\n\n return (\n <div id='ivon-project-planning-view' style={{ display: 'flex', flexDirection: 'row', width: '100%' }}>\n <IvonDataGrid\n blockClickHandler={(row, column, data) => gridItemClicked(row, column, data)}\n blocks={[]}\n boundaries={[]}\n cellClickHandler={(row, column, data) => gridCellClicked(row, column, data)}\n cells={yearCells}\n columns={1}\n height={maxHeight}\n rows={dataBridge.getYears().length}\n width='10%'\n />\n <IvonDataGrid\n blockClickHandler={(row, column, data) => gridItemClicked(row, column, data)}\n blocks={buildBlocks()}\n boundaries={boundaries}\n cellClickHandler={(row, column, data) => gridCellClicked(row, column, data)}\n cells={[]}\n columns={dataBridge.getTrackLength()}\n height={maxHeight}\n rows={dataBridge.getYears().length}\n width='90%'\n />\n </div>\n );\n}\n"],"names":["ProjectPlanningView","t0","$","_c","maxHeight","dataBridge","cellClickHandler","itemClickHandler","t1","blocks","_index","segment","getLaneSegments","entries","plan","plans","push","startPosition","ivonUtility","convertUnit","kmFrom","getTrackStart","endPosition","kmTo","row","getYears","indexOf","year","value","description","color","buildBlocks","t2","getBorders","map","border","_index_0","hectometer","width","boundaries","t3","_temp","yearCells","t4","column","data","gridCellClicked","t5","row_0","column_0","data_0","gridItemClicked","t6","Symbol","for","display","flexDirection","t7","row_1","column_1","data_1","t8","t9","t10","row_2","column_2","data_2","t11","t12","length","jsx","IvonDataGrid","t13","row_3","column_3","data_3","t14","t15","row_4","column_4","data_4","t16","t17","getTrackLength","t18","t19","t20","index","toString"],"mappings":"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"}
1
+ {"version":3,"file":"IvonProjectPlanningView.js","sources":["../../../../src/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.tsx"],"sourcesContent":["import { IvonDataGrid } from '../_IvonDataGrid/IvonDataGrid';\nimport type { IvonDataGridBlockData, IvonDataGridCellData } from '../_IvonDataGrid/IvonDataGrid';\nimport type { IvonDataBridge } from '../_helpers/IvonDataBridge';\nimport { ivonUtility } from '../_helpers/IvonUtility';\n\ninterface ProjectPlanningViewProps {\n cellClickHandler(this: void, row: number, column: number, data?: IvonDataGridCellData): void;\n readonly dataBridge: IvonDataBridge;\n itemClickHandler(this: void, row: number, column: number, data: IvonDataGridBlockData): void;\n readonly maxHeight: number;\n}\n\nexport function ProjectPlanningView({ maxHeight, dataBridge, cellClickHandler, itemClickHandler }: ProjectPlanningViewProps) {\n const buildBlocks = () => {\n const blocks: IvonDataGridBlockData[] = [];\n for (const [_index, segment] of dataBridge.getLaneSegments().entries()) {\n for (const plan of segment.plans) {\n blocks.push({\n startPosition: Math.abs(ivonUtility.convertUnit(segment.kmFrom - dataBridge.getTrackStart())),\n endPosition: Math.abs(ivonUtility.convertUnit(segment.kmTo - dataBridge.getTrackStart())),\n row: dataBridge.getYears().indexOf(plan.year),\n value: `${plan.description}`,\n color: plan.color\n });\n }\n }\n\n return blocks;\n };\n\n const boundaries = dataBridge.getBorders().map((border, _index) => {\n return {\n startPosition: Math.abs(ivonUtility.convertUnit(border.hectometer - dataBridge.getTrackStart())),\n color: border.color,\n width: 4\n };\n });\n\n const gridCellClicked = (row: number, column: number, data?: IvonDataGridCellData) => cellClickHandler(row, column, data);\n const gridItemClicked = (row: number, column: number, data: IvonDataGridBlockData) => itemClickHandler(row, column, data);\n\n const gridWidth = ivonUtility.widthBasedOnTrackLength(dataBridge.getTrackLength());\n\n return (\n <div id='ivon-project-planning-view' style={{ display: 'flex', flexDirection: 'row', width: `${gridWidth}px` }}>\n <IvonDataGrid\n blockClickHandler={(row, column, data) => gridItemClicked(row, column, data)}\n blocks={buildBlocks()}\n boundaries={boundaries}\n cellClickHandler={(row, column, data) => gridCellClicked(row, column, data)}\n cells={[]}\n columns={dataBridge.getTrackLength()}\n height={maxHeight}\n rows={dataBridge.getYears().length}\n width={`${gridWidth}px`}\n />\n </div>\n );\n}\n"],"names":["ProjectPlanningView","t0","$","_c","maxHeight","dataBridge","cellClickHandler","itemClickHandler","t1","blocks","_index","segment","getLaneSegments","entries","plan","plans","push","startPosition","Math","abs","ivonUtility","convertUnit","kmFrom","getTrackStart","endPosition","kmTo","row","getYears","indexOf","year","value","description","color","buildBlocks","t2","getBorders","map","border","_index_0","hectometer","width","boundaries","t3","column","data","gridCellClicked","t4","row_0","column_0","data_0","gridItemClicked","t5","widthBasedOnTrackLength","getTrackLength","gridWidth","t6","t7","display","flexDirection","t8","row_1","column_1","data_1","t9","t10","row_2","column_2","data_2","t11","Symbol","for","t12","t13","t14","t15","length","IvonDataGrid","t16"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { IvonDataBridge } from '../_helpers/IvonDataBridge';
2
2
  interface SchematicViewProps {
3
3
  readonly dataBridge: IvonDataBridge;
4
- itemClickHandler(this: void, row: number, column: number): void;
4
+ itemClickHandler(this: void, segmentIndex: number, row: number): void;
5
5
  readonly maxHeight: number;
6
6
  }
7
7
  export declare function SchematicView({ maxHeight, dataBridge, itemClickHandler }: SchematicViewProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"IvonSchematicView.d.ts","sourceRoot":"","sources":["../../../../src/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,kBAAkB,2CA6D5F"}
1
+ {"version":3,"file":"IvonSchematicView.d.ts","sourceRoot":"","sources":["../../../../src/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACtE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,kBAAkB,2CAmE5F"}
@@ -1,65 +1,58 @@
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 D } from "react/jsx-runtime";
2
+ import { c as F } 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,
4
+ import { IvonDataGrid as L } from "../_IvonDataGrid/IvonDataGrid.js";
5
+ import { ivonUtility as r } from "../_helpers/IvonUtility.js";
6
+ function E(s) {
7
+ const t = F.c(16), {
8
+ maxHeight: f,
9
+ dataBridge: i,
10
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) => ({
11
+ } = s;
12
+ let c;
13
+ t[0] !== i ? (c = r.widthBasedOnTrackLength(i.getTrackLength()), t[0] = i, t[1] = c) : c = t[1];
14
+ const T = c;
15
+ let l;
16
+ t[2] !== i || t[3] !== h || t[4] !== f ? (l = () => {
17
+ const k = [], H = i.getBorders().map(S);
18
+ for (const [x, d] of i.getLaneSegments().entries()) {
19
+ const p = d.kmFrom, u = d.kmTo, P = Math.abs(r.convertUnit(u) - r.convertUnit(p)), U = d.pavements.length;
20
+ k.push(/* @__PURE__ */ D(L, { blockClickHandler: (e) => h(x, e), blocks: d.pavements.map((e, B) => ({
18
21
  startPosition: 0,
19
- endPosition: a,
20
- row: u,
21
- value: e,
22
+ endPosition: P,
23
+ row: B,
24
+ value: e.pavementType,
22
25
  color: "rijks-skyblue"
23
- })), boundaries: _.filter((e) => e.startPosition >= f && e.startPosition < g).map((e) => ({
24
- startPosition: w.convertUnit(e.startPosition - f),
26
+ })), boundaries: H.filter((e) => i.isDirectionFlipped() ? e.startPosition >= u && e.startPosition < p : e.startPosition >= p && e.startPosition < u).map((e) => ({
27
+ startPosition: Math.abs(r.convertUnit(e.startPosition - p)),
25
28
  color: e.color,
26
29
  width: e.width
27
- })), cellClickHandler: j, cells: [], columns: a, height: d, rows: y, width: k(a, o.getTrackLength()) }, P));
30
+ })), cells: [], columns: P, height: f, rows: U, width: `${r.laneSegmentWidth() * P}px` }, x));
28
31
  }
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 = {
32
+ return k;
33
+ }, t[2] = i, t[3] = h, t[4] = f, t[5] = l) : l = t[5];
34
+ const g = l;
35
+ let a;
36
+ t[6] !== i ? (a = () => i.isDirectionFlipped() ? "row-reverse" : "row", t[6] = i, t[7] = a) : a = t[7];
37
+ const w = a(), v = `${T}px`;
38
+ let o;
39
+ t[8] !== w || t[9] !== v ? (o = {
34
40
  display: "flex",
35
- flexDirection: "row",
36
- width: "100%"
37
- }, s = /* @__PURE__ */ v("div", { style: {
38
- width: "10%",
39
- border: "1px solid black"
40
- } }), c = {
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;
50
- }
51
- function j(i, t) {
41
+ flexDirection: w,
42
+ width: v
43
+ }, t[8] = w, t[9] = v, t[10] = o) : o = t[10];
44
+ let n;
45
+ t[11] !== g ? (n = g(), t[11] = g, t[12] = n) : n = t[12];
46
+ let m;
47
+ return t[13] !== o || t[14] !== n ? (m = /* @__PURE__ */ D("div", { id: "ivon-schematic-view", style: o, children: n }), t[13] = o, t[14] = n, t[15] = m) : m = t[15], m;
52
48
  }
53
- function C(i, t) {
49
+ function S(s, t) {
54
50
  return {
55
- startPosition: i.hectometer,
56
- color: i.color,
51
+ startPosition: s.hectometer + s.distanceToHectometer,
52
+ color: s.color,
57
53
  width: 4
58
54
  };
59
55
  }
60
- function D(i, t) {
61
- return `${i / t * 100}%`;
62
- }
63
56
  export {
64
57
  E as SchematicView
65
58
  };
@@ -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":"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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';\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,18 +1,33 @@
1
1
  declare const _default: {
2
2
  "track": {
3
3
  "trackSerialNumber": 1,
4
- "trackType": "hoofdrijbaan",
4
+ "trackType": "HR",
5
5
  "kmFrom": 10.0,
6
6
  "kmTo": 16.0,
7
7
  "bps": "RW001 1 HR L",
8
8
  "laneSegments": [
9
9
  {
10
10
  "laneSerialNumber": 1,
11
- "laneType": "",
11
+ "laneType": "R",
12
12
  "kmFrom": 10.0,
13
13
  "kmTo": 11.0,
14
- "BPS": "RW001 10,0 +0 1 HR L",
15
- "pavements": ["laag-1.1", "laag-2.1"],
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
+ "roadSide": "Links"
22
+ },
23
+ {
24
+ "pavementId": 2,
25
+ "pavementType": "laag-2.1",
26
+ "constructionDate": "2021-03-20",
27
+ "qualityIndex": 5,
28
+ "roadSide": "Links"
29
+ }
30
+ ],
16
31
  "plans": [
17
32
  {
18
33
  "year": 2026,
@@ -28,11 +43,19 @@ declare const _default: {
28
43
  },
29
44
  {
30
45
  "laneSerialNumber": 1,
31
- "laneType": "driving",
46
+ "laneType": "R",
32
47
  "kmFrom": 11.0,
33
48
  "kmTo": 12.0,
34
49
  "bps": "RW001 11,0 +0 1 HR L",
35
- "pavements": ["laag-1.2"],
50
+ "pavements": [
51
+ {
52
+ "pavementId": 3,
53
+ "pavementType": "laag-1.2",
54
+ "constructionDate": "2019-08-10",
55
+ "qualityIndex": 6,
56
+ "roadSide": "Links"
57
+ }
58
+ ],
36
59
  "plans": [
37
60
  {
38
61
  "year": 2026,
@@ -43,11 +66,26 @@ declare const _default: {
43
66
  },
44
67
  {
45
68
  "laneSerialNumber": 1,
46
- "laneType": "driving",
69
+ "laneType": "R",
47
70
  "kmFrom": 12.0,
48
71
  "kmTo": 16.0,
49
72
  "bps": "RW001 12,0 +0 1 HR L",
50
- "pavements": ["laag-1.3", "laag-2.3"],
73
+ "pavements": [
74
+ {
75
+ "pavementId": 4,
76
+ "pavementType": "laag-1.3",
77
+ "constructionDate": "2022-01-15",
78
+ "qualityIndex": 7,
79
+ "roadSide": "Links"
80
+ },
81
+ {
82
+ "pavementId": 5,
83
+ "pavementType": "laag-2.3",
84
+ "constructionDate": "2022-06-30",
85
+ "qualityIndex": 8,
86
+ "roadSide": "Links"
87
+ }
88
+ ],
51
89
  "plans": [
52
90
  {
53
91
  "year": 2026,
@@ -1,4 +1,4 @@
1
- import { IvonData, Border, LaneSegment } from '../_types/ivon-types';
1
+ import { IvonData, Border, LaneSegment, Pavement } from '../_types/ivon-types';
2
2
  export declare class IvonDataBridge {
3
3
  private readonly data;
4
4
  constructor(data: IvonData);
@@ -8,5 +8,8 @@ export declare class IvonDataBridge {
8
8
  getTrackStart(): number;
9
9
  getTrackEnd(): number;
10
10
  getBorders(): Border[];
11
+ getLaneSegmentByIndex(index: number): LaneSegment | null;
12
+ getPavementByLaneSegmentAndRow(laneSegmentIndex: number, rowIndex: number): Pavement | null;
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,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,15 +1,15 @@
1
- import { ivonUtility as a } from "./IvonUtility.js";
2
- class o {
1
+ import { ivonUtility as r } from "./IvonUtility.js";
2
+ class i {
3
3
  data;
4
4
  constructor(t) {
5
5
  this.data = t;
6
6
  }
7
7
  getYears() {
8
- const t = this.data.track.laneSegments.flatMap((r) => r.plans.flatMap((e) => e.year));
8
+ const t = this.data.track.laneSegments.flatMap((e) => e.plans.flatMap((a) => a.year));
9
9
  return Array.from(new Set(t));
10
10
  }
11
11
  getTrackLength() {
12
- return a.convertUnit(this.data.track.kmTo) - a.convertUnit(this.data.track.kmFrom);
12
+ return Math.abs(r.convertUnit(this.data.track.kmTo) - r.convertUnit(this.data.track.kmFrom));
13
13
  }
14
14
  getLaneSegments() {
15
15
  return this.data.track.laneSegments;
@@ -23,8 +23,17 @@ class o {
23
23
  getBorders() {
24
24
  return this.data.track.borders;
25
25
  }
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
+ isDirectionFlipped() {
33
+ return this.data.track.kmFrom > this.data.track.kmTo;
34
+ }
26
35
  }
27
36
  export {
28
- o as IvonDataBridge
37
+ i as IvonDataBridge
29
38
  };
30
39
  //# 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, 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,4 +1,7 @@
1
1
  export declare const ivonUtility: {
2
2
  convertUnit(position: number): number;
3
+ lerp(from: number, to: number, percentage: number): number;
4
+ widthBasedOnTrackLength(trackLength: number): number;
5
+ laneSegmentWidth(): number;
3
6
  };
4
7
  //# 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;CAG7B,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;;CAM5C,CAAC"}
@@ -1,9 +1,18 @@
1
- const o = {
1
+ const r = {
2
2
  convertUnit(t) {
3
3
  return Math.floor(t * 10);
4
+ },
5
+ lerp(t, e, n) {
6
+ return t + (e - t) * n;
7
+ },
8
+ widthBasedOnTrackLength(t) {
9
+ return t * this.laneSegmentWidth();
10
+ },
11
+ laneSegmentWidth() {
12
+ return 30;
4
13
  }
5
14
  };
6
15
  export {
7
- o as ivonUtility
16
+ r as ivonUtility
8
17
  };
9
18
  //# sourceMappingURL=IvonUtility.js.map
@@ -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};\n"],"names":["ivonUtility","convertUnit","position","Math","floor"],"mappings":"AAAO,MAAMA,IAAc;AAAA,EACzBC,YAAYC,GAAkB;AAC5B,WAAOC,KAAKC,MAAMF,IAAW,EAAE;AAAA,EACjC;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.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;"}
@@ -16,9 +16,16 @@ export interface LaneSegment {
16
16
  kmTo: number;
17
17
  laneSerialNumber: number;
18
18
  laneType: string;
19
- pavements: string[];
19
+ pavements: Pavement[];
20
20
  plans: LaneSegmentPlan[];
21
21
  }
22
+ export interface Pavement {
23
+ constructionDate: string;
24
+ pavementId: number;
25
+ pavementType: string;
26
+ qualityIndex: number;
27
+ roadSide: string;
28
+ }
22
29
  export interface LaneSegmentPlan {
23
30
  color: string;
24
31
  description: string;
@@ -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,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;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,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"}
@@ -57,7 +57,11 @@ export type AoaTableProps<T extends object = any> = ModeProps & {
57
57
  /**
58
58
  * Overwrite a safe selection of the {@link DataGrid} properties
59
59
  */
60
- readonly dataGridOverridableProps?: Pick<DataGridProps<T>, 'apiRef' | 'checkboxSelection' | 'disableColumnFilter' | 'disableRowSelectionOnClick' | 'getRowId' | 'ignoreDiacritics' | 'isRowSelectable' | 'loading' | 'onRowSelectionModelChange' | 'rowSelectionModel'>;
60
+ readonly dataGridOverridableProps?: Pick<DataGridProps<T>, 'apiRef' | 'checkboxSelection' | 'disableColumnFilter' | 'disableColumnMenu' | 'disableRowSelectionOnClick' | 'getRowId' | 'ignoreDiacritics' | 'isRowSelectable' | 'loading' | 'onRowSelectionModelChange' | 'rowSelectionModel' | 'columnGroupingModel' | 'filterModel' | 'onFilterModelChange' | 'processRowUpdate' | 'initialState' | 'onCellEditStop'>;
61
+ /**
62
+ * Shows the logic operator when filtering yes or no
63
+ */
64
+ readonly showOperator?: boolean;
61
65
  /**
62
66
  * Sets the initial query options to retain query details after opening a page and returning to the table
63
67
  */