@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
@@ -0,0 +1,233 @@
1
+ import { jsx as s, jsxs as D } from "react/jsx-runtime";
2
+ import { c as H } from "../../../chunks/compiler-runtime.BNHg76kC.js";
3
+ import { Typography as I, Tab as J, TextField as E, DialogActions as K, Tabs as L } from "@mui/material";
4
+ import { a as V } from "../../../chunks/lodash.9n5aMaxx.js";
5
+ import * as W from "react";
6
+ import { useState as G } from "react";
7
+ import { AoaButton as q } from "../../../components-generic/atoms/button/Button.js";
8
+ import { AoaModal as Q } from "../../../components-generic/molecules/modal/Modal.js";
9
+ import { i as X, d as Y, c as Z, s as ee, a as te, b as oe, P as d } from "../../../chunks/createTheme.DcLTlIky.js";
10
+ import { ThemeContext as ne } from "@emotion/react";
11
+ const re = (t) => {
12
+ const e = {
13
+ systemProps: {},
14
+ otherProps: {}
15
+ }, n = t?.theme?.unstable_sxConfig ?? Y;
16
+ return Object.keys(t).forEach((o) => {
17
+ n[o] ? e.systemProps[o] = t[o] : e.otherProps[o] = t[o];
18
+ }), e;
19
+ };
20
+ function se(t) {
21
+ const {
22
+ sx: e,
23
+ ...n
24
+ } = t, {
25
+ systemProps: o,
26
+ otherProps: c
27
+ } = re(n);
28
+ let u;
29
+ return Array.isArray(e) ? u = [o, ...e] : typeof e == "function" ? u = (...p) => {
30
+ const f = e(...p);
31
+ return X(f) ? {
32
+ ...o,
33
+ ...f
34
+ } : o;
35
+ } : u = {
36
+ ...o,
37
+ ...e
38
+ }, {
39
+ ...c,
40
+ sx: u
41
+ };
42
+ }
43
+ function ae(t) {
44
+ return Object.keys(t).length === 0;
45
+ }
46
+ function le(t = null) {
47
+ const e = W.useContext(ne);
48
+ return !e || ae(e) ? t : e;
49
+ }
50
+ const ce = Z();
51
+ function ie(t = ce) {
52
+ return le(t);
53
+ }
54
+ const U = (t) => t, ue = () => {
55
+ let t = U;
56
+ return {
57
+ configure(e) {
58
+ t = e;
59
+ },
60
+ generate(e) {
61
+ return t(e);
62
+ },
63
+ reset() {
64
+ t = U;
65
+ }
66
+ };
67
+ }, z = ue();
68
+ function me(t = {}) {
69
+ const {
70
+ themeId: e,
71
+ defaultTheme: n,
72
+ defaultClassName: o = "MuiBox-root",
73
+ generateClassName: c
74
+ } = t, u = ee("div", {
75
+ shouldForwardProp: (f) => f !== "theme" && f !== "sx" && f !== "as"
76
+ })(te);
77
+ return /* @__PURE__ */ W.forwardRef(function(h, F) {
78
+ const m = ie(n), {
79
+ className: M,
80
+ component: y = "div",
81
+ ...i
82
+ } = se(h);
83
+ return /* @__PURE__ */ s(u, {
84
+ as: y,
85
+ ref: F,
86
+ className: oe(M, c ? c(o) : o),
87
+ theme: e && m[e] || m,
88
+ ...i
89
+ });
90
+ });
91
+ }
92
+ const de = {
93
+ active: "active",
94
+ checked: "checked",
95
+ completed: "completed",
96
+ disabled: "disabled",
97
+ error: "error",
98
+ expanded: "expanded",
99
+ focused: "focused",
100
+ focusVisible: "focusVisible",
101
+ open: "open",
102
+ readOnly: "readOnly",
103
+ required: "required",
104
+ selected: "selected"
105
+ };
106
+ function fe(t, e, n = "Mui") {
107
+ const o = de[e];
108
+ return o ? `${n}-${o}` : `${z.generate(t)}-${e}`;
109
+ }
110
+ function he(t, e, n = "Mui") {
111
+ const o = {};
112
+ return e.forEach((c) => {
113
+ o[c] = fe(t, c, n);
114
+ }), o;
115
+ }
116
+ const pe = he("MuiBox", ["root"]), P = me({
117
+ defaultClassName: pe.root,
118
+ generateClassName: z.generate
119
+ });
120
+ process.env.NODE_ENV !== "production" && (P.propTypes = {
121
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
122
+ // │ These PropTypes are generated from the TypeScript type definitions. │
123
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
124
+ // └─────────────────────────────────────────────────────────────────────┘
125
+ /**
126
+ * @ignore
127
+ */
128
+ children: d.node,
129
+ /**
130
+ * The component used for the root node.
131
+ * Either a string to use a HTML element or a component.
132
+ */
133
+ component: d.elementType,
134
+ /**
135
+ * The system prop that allows defining system overrides as well as additional CSS styles.
136
+ */
137
+ sx: d.oneOfType([d.arrayOf(d.oneOfType([d.func, d.object, d.bool])), d.func, d.object])
138
+ });
139
+ function Oe(t) {
140
+ const e = H.c(36), {
141
+ template: n,
142
+ item: o,
143
+ onClose: c,
144
+ onSave: u
145
+ } = t, [p, f] = G(!0), [h, F] = G(0), [m, M] = G(o);
146
+ let y;
147
+ e[0] !== c ? (y = () => {
148
+ f(!1), c();
149
+ }, e[0] = c, e[1] = y) : y = e[1];
150
+ const i = y;
151
+ let S;
152
+ e[2] !== m || e[3] !== i || e[4] !== u ? (S = () => {
153
+ u(m), i();
154
+ }, e[2] = m, e[3] = i, e[4] = u, e[5] = S) : S = e[5];
155
+ const $ = S;
156
+ let O;
157
+ e[6] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (O = (a, l) => {
158
+ M((r) => V.set({
159
+ ...r
160
+ }, a, l));
161
+ }, e[6] = O) : O = e[6];
162
+ const j = O;
163
+ let B;
164
+ e[7] !== m ? (B = (a) => {
165
+ const l = V.get(m, a.key);
166
+ if (a.editable)
167
+ switch (a.type) {
168
+ case "numberInput":
169
+ return /* @__PURE__ */ s(E, { onChange: (r) => j(a.key, r.target.value), type: "number", value: l ?? "" });
170
+ case "textInput":
171
+ return /* @__PURE__ */ s(E, { onChange: (r) => j(a.key, r.target.value), value: l ?? "" });
172
+ case void 0:
173
+ return /* @__PURE__ */ s(E, { onChange: (r) => j(a.key, r.target.value), value: l ?? "" });
174
+ default:
175
+ return /* @__PURE__ */ s(E, { onChange: (r) => j(a.key, r.target.value), value: l ?? "" });
176
+ }
177
+ return /* @__PURE__ */ s(I, { children: String(l ?? "") });
178
+ }, e[7] = m, e[8] = B) : B = e[8];
179
+ const R = B;
180
+ let b;
181
+ e[9] !== i ? (b = /* @__PURE__ */ s(q, { onClick: i, type: "secondary", children: "Annuleren" }), e[9] = i, e[10] = b) : b = e[10];
182
+ let x;
183
+ e[11] !== $ ? (x = /* @__PURE__ */ s(q, { onClick: $, type: "primary", children: "Opslaan" }), e[11] = $, e[12] = x) : x = e[12];
184
+ let g;
185
+ e[13] !== b || e[14] !== x ? (g = /* @__PURE__ */ D(K, { children: [
186
+ b,
187
+ x
188
+ ] }), e[13] = b, e[14] = x, e[15] = g) : g = e[15];
189
+ let N, A;
190
+ e[16] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (N = (a, l) => F(l), A = {
191
+ borderBottom: 1,
192
+ borderColor: "divider"
193
+ }, e[16] = N, e[17] = A) : (N = e[16], A = e[17]);
194
+ let C;
195
+ e[18] !== n?.tabs ? (C = n?.tabs.map(ye), e[18] = n?.tabs, e[19] = C) : C = e[19];
196
+ let v;
197
+ e[20] !== h || e[21] !== C ? (v = /* @__PURE__ */ s(L, { onChange: N, sx: A, value: h, children: C }), e[20] = h, e[21] = C, e[22] = v) : v = e[22];
198
+ let T;
199
+ e[23] !== h || e[24] !== R || e[25] !== n?.tabs ? (T = n?.tabs.map((a, l) => l === h ? /* @__PURE__ */ s(P, { sx: {
200
+ backgroundColor: "var(--color-rijks-grey-1)",
201
+ borderTop: "none",
202
+ p: 2
203
+ }, children: /* @__PURE__ */ s(P, { sx: {
204
+ display: "flex",
205
+ flexDirection: "column",
206
+ gap: "1rem"
207
+ }, children: a.fields.map((r) => /* @__PURE__ */ D(P, { children: [
208
+ /* @__PURE__ */ D(I, { fontWeight: "bold", children: [
209
+ r.label,
210
+ ":"
211
+ ] }),
212
+ R(r)
213
+ ] }, r.key)) }) }, l) : null), e[23] = h, e[24] = R, e[25] = n?.tabs, e[26] = T) : T = e[26];
214
+ let k;
215
+ e[27] !== v || e[28] !== T ? (k = /* @__PURE__ */ D(P, { children: [
216
+ v,
217
+ T
218
+ ] }), e[27] = v, e[28] = T, e[29] = k) : k = e[29];
219
+ const w = n?.title;
220
+ let _;
221
+ return e[30] !== i || e[31] !== p || e[32] !== k || e[33] !== w || e[34] !== g ? (_ = /* @__PURE__ */ s(Q, { closeAction: i, dialogActions: g, dialogContent: k, open: p, topic: w }), e[30] = i, e[31] = p, e[32] = k, e[33] = w, e[34] = g, e[35] = _) : _ = e[35], _;
222
+ }
223
+ function ye(t, e) {
224
+ return /* @__PURE__ */ s(J, { label: t.label, sx: {
225
+ "&.Mui-selected": {
226
+ backgroundColor: "var(--color-rijks-grey-1)"
227
+ }
228
+ } }, e);
229
+ }
230
+ export {
231
+ Oe as PopupRenderer
232
+ };
233
+ //# sourceMappingURL=IvonPopupRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IvonPopupRenderer.js","sources":["../../../../../../node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js","../../../../../../node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.js","../../../../../../node_modules/@mui/system/esm/useTheme/useTheme.js","../../../../../../node_modules/@mui/system/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js","../../../../../../node_modules/@mui/system/esm/createBox/createBox.js","../../../../../../node_modules/@mui/system/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js","../../../../../../node_modules/@mui/system/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js","../../../../../../node_modules/@mui/system/esm/Box/boxClasses.js","../../../../../../node_modules/@mui/system/esm/Box/Box.js","../../../../src/components-domain/ivon-project-planning/_IvonPopup/IvonPopupRenderer.tsx"],"sourcesContent":["import { isPlainObject } from '@mui/utils/deepmerge';\nimport defaultSxConfig from \"./defaultSxConfig.js\";\nconst splitProps = props => {\n const result = {\n systemProps: {},\n otherProps: {}\n };\n const config = props?.theme?.unstable_sxConfig ?? defaultSxConfig;\n Object.keys(props).forEach(prop => {\n if (config[prop]) {\n result.systemProps[prop] = props[prop];\n } else {\n result.otherProps[prop] = props[prop];\n }\n });\n return result;\n};\nexport default function extendSxProp(props) {\n const {\n sx: inSx,\n ...other\n } = props;\n const {\n systemProps,\n otherProps\n } = splitProps(other);\n let finalSx;\n if (Array.isArray(inSx)) {\n finalSx = [systemProps, ...inSx];\n } else if (typeof inSx === 'function') {\n finalSx = (...args) => {\n const result = inSx(...args);\n if (!isPlainObject(result)) {\n return systemProps;\n }\n return {\n ...systemProps,\n ...result\n };\n };\n } else {\n finalSx = {\n ...systemProps,\n ...inSx\n };\n }\n return {\n ...otherProps,\n sx: finalSx\n };\n}","'use client';\n\nimport * as React from 'react';\nimport { ThemeContext } from '@mui/styled-engine';\nfunction isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction useTheme(defaultTheme = null) {\n const contextTheme = React.useContext(ThemeContext);\n return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme;\n}\nexport default useTheme;","'use client';\n\nimport createTheme from \"../createTheme/index.js\";\nimport useThemeWithoutDefault from \"../useThemeWithoutDefault/index.js\";\nexport const systemDefaultTheme = createTheme();\nfunction useTheme(defaultTheme = systemDefaultTheme) {\n return useThemeWithoutDefault(defaultTheme);\n}\nexport default useTheme;","const defaultGenerator = componentName => componentName;\nconst createClassNameGenerator = () => {\n let generate = defaultGenerator;\n return {\n configure(generator) {\n generate = generator;\n },\n generate(componentName) {\n return generate(componentName);\n },\n reset() {\n generate = defaultGenerator;\n }\n };\n};\nconst ClassNameGenerator = createClassNameGenerator();\nexport default ClassNameGenerator;","'use client';\n\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport styled from '@mui/styled-engine';\nimport styleFunctionSx, { extendSxProp } from \"../styleFunctionSx/index.js\";\nimport useTheme from \"../useTheme/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createBox(options = {}) {\n const {\n themeId,\n defaultTheme,\n defaultClassName = 'MuiBox-root',\n generateClassName\n } = options;\n const BoxRoot = styled('div', {\n shouldForwardProp: prop => prop !== 'theme' && prop !== 'sx' && prop !== 'as'\n })(styleFunctionSx);\n const Box = /*#__PURE__*/React.forwardRef(function Box(inProps, ref) {\n const theme = useTheme(defaultTheme);\n const {\n className,\n component = 'div',\n ...other\n } = extendSxProp(inProps);\n return /*#__PURE__*/_jsx(BoxRoot, {\n as: component,\n ref: ref,\n className: clsx(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),\n theme: themeId ? theme[themeId] || theme : theme,\n ...other\n });\n });\n return Box;\n}","import ClassNameGenerator from \"../ClassNameGenerator/index.js\";\nexport const globalStateClasses = {\n active: 'active',\n checked: 'checked',\n completed: 'completed',\n disabled: 'disabled',\n error: 'error',\n expanded: 'expanded',\n focused: 'focused',\n focusVisible: 'focusVisible',\n open: 'open',\n readOnly: 'readOnly',\n required: 'required',\n selected: 'selected'\n};\nexport default function generateUtilityClass(componentName, slot, globalStatePrefix = 'Mui') {\n const globalStateClass = globalStateClasses[slot];\n return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${ClassNameGenerator.generate(componentName)}-${slot}`;\n}\nexport function isGlobalState(slot) {\n return globalStateClasses[slot] !== undefined;\n}","import generateUtilityClass from \"../generateUtilityClass/index.js\";\nexport default function generateUtilityClasses(componentName, slots, globalStatePrefix = 'Mui') {\n const result = {};\n slots.forEach(slot => {\n result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);\n });\n return result;\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nconst boxClasses = generateUtilityClasses('MuiBox', ['root']);\nexport default boxClasses;","'use client';\n\nimport PropTypes from 'prop-types';\nimport ClassNameGenerator from '@mui/utils/ClassNameGenerator';\nimport createBox from \"../createBox/index.js\";\nimport boxClasses from \"./boxClasses.js\";\nconst Box = createBox({\n defaultClassName: boxClasses.root,\n generateClassName: ClassNameGenerator.generate\n});\nprocess.env.NODE_ENV !== \"production\" ? Box.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Box;","import { DialogActions, Tab, Tabs, TextField, Typography } from '@mui/material';\nimport { Box } from '@mui/system';\nimport lodash from 'lodash';\nimport { useState } from 'react';\nimport { AoaButton } from '../../../components-generic/atoms/button/Button';\nimport { AoaModal } from '../../../components-generic/molecules/modal/Modal';\nimport type { PopupTemplate, PopupField } from '../_types/popup-types';\n\ninterface PopupRendererProps {\n readonly item: Record<string, any>;\n onClose(this: void): void;\n onSave(this: void, updatedItem: Record<string, any>): void;\n readonly template: PopupTemplate;\n}\n\nexport function PopupRenderer({ template, item, onClose, onSave }: PopupRendererProps) {\n const [open, setOpen] = useState(true);\n const [activeTab, setActiveTab] = useState(0);\n const [formData, setFormData] = useState<Record<string, any>>(item);\n\n const handleClose = () => {\n setOpen(false);\n onClose();\n };\n\n const handleSave = () => {\n onSave(formData);\n handleClose();\n };\n\n const handleFieldChange = (key: string, value: any) => {\n setFormData((prev) => lodash.set({ ...prev }, key, value));\n };\n\n const renderField = (field: PopupField) => {\n const value = lodash.get(formData, field.key);\n if (field.editable) {\n switch (field.type) {\n case 'numberInput':\n return <TextField onChange={(newValue) => handleFieldChange(field.key, newValue.target.value)} type='number' value={value ?? ''} />;\n case 'textInput':\n return <TextField onChange={(newValue) => handleFieldChange(field.key, newValue.target.value)} value={value ?? ''} />;\n case undefined:\n return <TextField onChange={(newValue) => handleFieldChange(field.key, newValue.target.value)} value={value ?? ''} />;\n default:\n return <TextField onChange={(newValue) => handleFieldChange(field.key, newValue.target.value)} value={value ?? ''} />;\n }\n }\n\n return <Typography>{String(value ?? '')}</Typography>;\n };\n\n return (\n <AoaModal\n closeAction={handleClose}\n dialogActions={\n <DialogActions>\n <AoaButton onClick={handleClose} type='secondary'>\n Annuleren\n </AoaButton>\n <AoaButton onClick={handleSave} type='primary'>\n Opslaan\n </AoaButton>\n </DialogActions>\n }\n dialogContent={\n <Box>\n <Tabs\n onChange={(__, value) => setActiveTab(value)}\n sx={{\n borderBottom: 1,\n borderColor: 'divider'\n }}\n value={activeTab}\n >\n {template?.tabs.map((tab, item) => (\n <Tab\n key={item}\n label={tab.label}\n sx={{\n '&.Mui-selected': {\n backgroundColor: 'var(--color-rijks-grey-1)'\n }\n }}\n />\n ))}\n </Tabs>\n {template?.tabs.map((tab, item) =>\n item === activeTab ? (\n <Box\n key={item}\n sx={{\n backgroundColor: `var(--color-rijks-grey-1)`,\n borderTop: 'none',\n p: 2\n }}\n >\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: '1rem' }}>\n {tab.fields.map((field) => (\n <Box key={field.key}>\n <Typography fontWeight='bold'>{field.label}:</Typography>\n {renderField(field)}\n </Box>\n ))}\n </Box>\n </Box>\n ) : null\n )}\n </Box>\n }\n open={open}\n topic={template?.title}\n />\n );\n}\n"],"names":["splitProps","props","result","config","defaultSxConfig","prop","extendSxProp","inSx","other","systemProps","otherProps","finalSx","args","isPlainObject","isObjectEmpty","obj","useTheme","defaultTheme","contextTheme","React","ThemeContext","systemDefaultTheme","createTheme","useThemeWithoutDefault","defaultGenerator","componentName","createClassNameGenerator","generate","generator","ClassNameGenerator","createBox","options","themeId","defaultClassName","generateClassName","BoxRoot","styled","styleFunctionSx","inProps","ref","theme","className","component","_jsx","clsx","globalStateClasses","generateUtilityClass","slot","globalStatePrefix","globalStateClass","generateUtilityClasses","slots","boxClasses","Box","PropTypes","PopupRenderer","t0","$","_c","template","item","onClose","onSave","open","setOpen","useState","activeTab","setActiveTab","formData","setFormData","t1","handleClose","t2","handleSave","t3","Symbol","for","key","value","prev","lodash","set","handleFieldChange","t4","field","value_0","get","editable","type","jsx","TextField","newValue_2","newValue","target","newValue_1","undefined","newValue_0","Typography","String","renderField","t5","AoaButton","t6","t7","DialogActions","t8","t9","__","value_1","borderBottom","borderColor","t10","tabs","map","_temp","t11","Tabs","t12","tab_0","item_1","backgroundColor","borderTop","p","display","flexDirection","gap","tab","fields","field_0","jsxs","label","t13","t14","title","t15","AoaModal","item_0","Tab"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]}
@@ -1,11 +1,13 @@
1
- import { IvonDataGridBlockData, IvonDataGridCellData } from '../_IvonDataGrid/IvonDataGrid';
1
+ import { IvonDataGridCellData } from '../_IvonDataGrid/IvonDataGrid';
2
2
  import { IvonDataBridge } from '../_helpers/IvonDataBridge';
3
+ import { LaneSegmentPlan } from '../_types/ivon-types';
3
4
  interface ProjectPlanningViewProps {
4
5
  cellClickHandler(this: void, row: number, column: number, data?: IvonDataGridCellData): void;
5
6
  readonly dataBridge: IvonDataBridge;
6
- itemClickHandler(this: void, row: number, column: number, data: IvonDataGridBlockData): void;
7
+ itemClickHandler(this: void, data: LaneSegmentPlan | undefined): void;
8
+ readonly laneSerialNumber: number | undefined;
7
9
  readonly maxHeight: number;
8
10
  }
9
- export declare function ProjectPlanningView({ maxHeight, dataBridge, cellClickHandler, itemClickHandler }: ProjectPlanningViewProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function ProjectPlanningView({ maxHeight, dataBridge, laneSerialNumber, cellClickHandler, itemClickHandler }: ProjectPlanningViewProps): import("react/jsx-runtime").JSX.Element;
10
12
  export {};
11
13
  //# sourceMappingURL=IvonProjectPlanningView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IvonProjectPlanningView.d.ts","sourceRoot":"","sources":["../../../../src/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,UAAU,wBAAwB;IAChC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7F,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC7F,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,mBAAmB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,EAAE,wBAAwB,2CA+D1H"}
1
+ {"version":3,"file":"IvonProjectPlanningView.d.ts","sourceRoot":"","sources":["../../../../src/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyB,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,UAAU,wBAAwB;IAChC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7F,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI,CAAC;IACtE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AASD,wBAAgB,mBAAmB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,EAAE,wBAAwB,2CAoE5I"}
@@ -1,89 +1,73 @@
1
- import { jsx as $, jsxs as F } from "react/jsx-runtime";
2
- import { c as G } from "../../../chunks/compiler-runtime.BNHg76kC.js";
1
+ import { jsx as I } from "react/jsx-runtime";
2
+ import { c as Y } from "../../../chunks/compiler-runtime.BNHg76kC.js";
3
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,
8
- dataBridge: t,
9
- cellClickHandler: j,
10
- itemClickHandler: U
11
- } = T;
4
+ import { ivonUtility as y } from "../_helpers/IvonUtility.js";
5
+ function W(N) {
6
+ const t = Y.c(41), {
7
+ maxHeight: C,
8
+ dataBridge: e,
9
+ laneSerialNumber: H,
10
+ cellClickHandler: k,
11
+ itemClickHandler: _
12
+ } = N;
13
+ let r, s, c, P, a, d, g, n;
14
+ if (t[0] !== k || t[1] !== e || t[2] !== _ || t[3] !== H) {
15
+ const b = [], M = (i, u, l) => b.find((o) => o.startPosition === i && o.endPosition === u && o.row === l)?.plan, B = () => {
16
+ const i = [];
17
+ for (const [u, l] of e.getLaneSegments().filter((o) => o.laneSerialNumber === H).entries())
18
+ for (const o of l.plans) {
19
+ const $ = Math.abs(y.convertUnit(l.kmFrom - e.getTrackStart())), j = Math.abs(y.convertUnit(l.kmTo - e.getTrackStart())), D = e.getYears().indexOf(o.year);
20
+ i.push({
21
+ startPosition: $,
22
+ endPosition: j,
23
+ scale: o.description.includes("schade") ? 0.5 : 1,
24
+ row: D,
25
+ value: `${o.description}`,
26
+ color: o.color,
27
+ type: o.type
28
+ }), b.push({
29
+ startPosition: $,
30
+ endPosition: j,
31
+ row: D,
32
+ plan: o
33
+ });
34
+ }
35
+ return i;
36
+ };
37
+ let v;
38
+ t[12] !== e ? (v = e.getBorders().map((i, u) => ({
39
+ startPosition: Math.abs(y.convertUnit(i.hectometer - e.getTrackStart() + i.distanceToHectometer)),
40
+ color: i.color,
41
+ width: 4
42
+ })), t[12] = e, t[13] = v) : v = t[13], s = v;
43
+ let S;
44
+ t[14] !== k ? (S = (i, u, l) => k(i, u, l), t[14] = k, t[15] = S) : S = t[15], c = S;
45
+ const O = (i) => _(M(i.startPosition, i.endPosition, i.row));
46
+ let T;
47
+ t[16] !== e ? (T = y.widthBasedOnTrackLength(e.getTrackLength()), t[16] = e, t[17] = T) : T = t[17], P = T, g = "ivon-project-planning-view";
48
+ const U = `${P}px`;
49
+ t[18] !== U ? (n = {
50
+ display: "flex",
51
+ flexDirection: "row",
52
+ width: U
53
+ }, t[18] = U, t[19] = n) : n = t[19], r = E, a = (i) => O(i), d = B(), t[0] = k, t[1] = e, t[2] = _, t[3] = H, t[4] = r, t[5] = s, t[6] = c, t[7] = P, t[8] = a, t[9] = d, t[10] = g, t[11] = n;
54
+ } else
55
+ r = t[4], s = t[5], c = t[6], P = t[7], a = t[8], d = t[9], g = t[10], n = t[11];
56
+ let m;
57
+ t[20] !== c ? (m = (b, M, B) => c(b, M, B), t[20] = c, t[21] = m) : m = t[21];
12
58
  let w;
13
- e[0] !== t ? (w = () => {
14
- const l = [];
15
- for (const [o, i] of t.getLaneSegments().entries())
16
- for (const I of i.plans)
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
23
- });
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()),
30
- color: l.color,
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") ? (_ = {
45
- display: "flex",
46
- flexDirection: "row",
47
- width: "100%"
48
- }, e[10] = _) : _ = e[10];
49
- 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]);
53
- let a;
54
- e[15] !== r ? (a = (l, o, i) => r(l, o, i), e[15] = r, e[16] = a) : a = e[16];
59
+ t[22] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (w = [], t[22] = w) : w = t[22];
55
60
  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];
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];
61
+ t[23] !== e ? (f = e.getTrackLength(), t[23] = e, t[24] = f) : f = t[24];
69
62
  let p;
70
- e[34] !== t ? (p = t.getYears(), e[34] = t, e[35] = p) : p = e[35];
71
- 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
- };
63
+ t[25] !== e ? (p = e.getYears(), t[25] = e, t[26] = p) : p = t[26];
64
+ const L = `${P}px`;
65
+ let h;
66
+ t[27] !== r || t[28] !== s || t[29] !== C || t[30] !== a || t[31] !== d || t[32] !== m || t[33] !== f || t[34] !== p.length || t[35] !== L ? (h = /* @__PURE__ */ I(r, { blockClickHandler: a, blocks: d, boundaries: s, cellClickHandler: m, cells: w, columns: f, height: C, rows: p.length, width: L }), t[27] = r, t[28] = s, t[29] = C, t[30] = a, t[31] = d, t[32] = m, t[33] = f, t[34] = p.length, t[35] = L, t[36] = h) : h = t[36];
67
+ let x;
68
+ return t[37] !== h || t[38] !== g || t[39] !== n ? (x = /* @__PURE__ */ I("div", { id: g, style: n, children: h }), t[37] = h, t[38] = g, t[39] = n, t[40] = x) : x = t[40], x;
85
69
  }
86
70
  export {
87
- A as ProjectPlanningView
71
+ W as ProjectPlanningView
88
72
  };
89
73
  //# 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';\nimport type { LaneSegmentPlan } from '../_types/ivon-types';\n\ninterface ProjectPlanningViewProps {\n cellClickHandler(this: void, row: number, column: number, data?: IvonDataGridCellData): void;\n readonly dataBridge: IvonDataBridge;\n itemClickHandler(this: void, data: LaneSegmentPlan | undefined): void;\n readonly laneSerialNumber: number | undefined;\n readonly maxHeight: number;\n}\n\ninterface laneSegmentPlanMapping {\n endPosition: number;\n plan: LaneSegmentPlan;\n row: number;\n startPosition: number;\n}\n\nexport function ProjectPlanningView({ maxHeight, dataBridge, laneSerialNumber, cellClickHandler, itemClickHandler }: ProjectPlanningViewProps) {\n const laneSegmentPlanMapping: laneSegmentPlanMapping[] = [];\n\n const getMappedLaneSegment = (startPosition: number, endPosition: number, row: number) => {\n return laneSegmentPlanMapping.find((item) => item.startPosition === startPosition && item.endPosition === endPosition && item.row === row)?.plan;\n };\n\n const buildBlocks = () => {\n const blocks: IvonDataGridBlockData[] = [];\n for (const [_index, segment] of dataBridge\n .getLaneSegments()\n .filter((lane) => lane.laneSerialNumber === laneSerialNumber)\n .entries()) {\n for (const plan of segment.plans) {\n const startPosition = Math.abs(ivonUtility.convertUnit(segment.kmFrom - dataBridge.getTrackStart()));\n const endPosition = Math.abs(ivonUtility.convertUnit(segment.kmTo - dataBridge.getTrackStart()));\n const row = dataBridge.getYears().indexOf(plan.year);\n\n blocks.push({\n startPosition,\n endPosition,\n scale: plan.description.includes('schade') ? 0.5 : 1,\n row,\n value: `${plan.description}`,\n color: plan.color,\n type: plan.type\n });\n\n laneSegmentPlanMapping.push({\n startPosition,\n endPosition,\n row,\n plan\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() + border.distanceToHectometer)),\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 = (data: IvonDataGridBlockData) => itemClickHandler(getMappedLaneSegment(data.startPosition, data.endPosition, data.row));\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={(data) => gridItemClicked(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","laneSerialNumber","cellClickHandler","itemClickHandler","T0","boundaries","gridCellClicked","gridWidth","t1","t2","t3","t4","laneSegmentPlanMapping","getMappedLaneSegment","startPosition","endPosition","row","find","item","plan","buildBlocks","blocks","_index","segment","getLaneSegments","filter","lane","entries","plans","startPosition_0","Math","abs","ivonUtility","convertUnit","kmFrom","getTrackStart","endPosition_0","kmTo","row_0","getYears","indexOf","year","push","scale","description","includes","value","color","type","t5","getBorders","map","border","_index_0","hectometer","distanceToHectometer","width","t6","row_1","column","data","gridItemClicked","data_0","t7","widthBasedOnTrackLength","getTrackLength","t8","display","flexDirection","IvonDataGrid","data_1","row_2","column_0","data_2","Symbol","for","t9","t10","length","t11"],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { IvonDataBridge } from '../_helpers/IvonDataBridge';
2
+ import { Pavement } from '../_types/ivon-types';
2
3
  interface SchematicViewProps {
3
4
  readonly dataBridge: IvonDataBridge;
4
- itemClickHandler(this: void, row: number, column: number): void;
5
+ itemClickHandler(this: void, pavement: Pavement): void;
5
6
  readonly maxHeight: number;
6
7
  }
7
8
  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;AAEjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,kBAAkB,2CAoE5F"}