@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.
- package/dist/chunks/{FieldError.B4HiPjPm.js → FieldError.Uxuk6F4l.js} +2 -2
- package/dist/chunks/{FieldError.B4HiPjPm.js.map → FieldError.Uxuk6F4l.js.map} +1 -1
- package/dist/chunks/createTheme.DcLTlIky.js +1761 -0
- package/dist/chunks/createTheme.DcLTlIky.js.map +1 -0
- package/dist/chunks/{lodash.CdkV4gpV.js → lodash.9n5aMaxx.js} +121 -119
- package/dist/chunks/{lodash.CdkV4gpV.js.map → lodash.9n5aMaxx.js.map} +1 -1
- package/dist/components-domain/ivon-project-planning/IvonProjectPlanning.d.ts.map +1 -1
- package/dist/components-domain/ivon-project-planning/IvonProjectPlanning.js +128 -31
- package/dist/components-domain/ivon-project-planning/IvonProjectPlanning.js.map +1 -1
- package/dist/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.d.ts +6 -2
- package/dist/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.d.ts.map +1 -1
- package/dist/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.js +93 -75
- package/dist/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.js.map +1 -1
- package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.d.ts +8 -0
- package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.d.ts.map +1 -0
- package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.js +48 -0
- package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.js.map +1 -0
- package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonPopupRenderer.d.ts +10 -0
- package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonPopupRenderer.d.ts.map +1 -0
- package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonPopupRenderer.js +233 -0
- package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonPopupRenderer.js.map +1 -0
- package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.d.ts +5 -3
- package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.d.ts.map +1 -1
- package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.js +65 -81
- package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.js.map +1 -1
- package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.d.ts +2 -1
- package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.d.ts.map +1 -1
- package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.js +44 -50
- package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.js.map +1 -1
- package/dist/components-domain/ivon-project-planning/_backend/backend.d.ts +2 -0
- package/dist/components-domain/ivon-project-planning/_backend/backend.d.ts.map +1 -1
- package/dist/components-domain/ivon-project-planning/_backend/backend.js +5 -1
- package/dist/components-domain/ivon-project-planning/_backend/backend.js.map +1 -1
- package/dist/components-domain/ivon-project-planning/_dummy-data/ivon3-dynamic-popup.json.d.ts +143 -0
- package/dist/components-domain/ivon-project-planning/_dummy-data/ivon3-test-data.json.d.ts +197 -0
- package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.d.ts +4 -1
- package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.d.ts.map +1 -1
- package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.js +33 -8
- package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.js.map +1 -1
- package/dist/components-domain/ivon-project-planning/_helpers/IvonPopupDataBridge.d.ts +7 -0
- package/dist/components-domain/ivon-project-planning/_helpers/IvonPopupDataBridge.d.ts.map +1 -0
- package/dist/components-domain/ivon-project-planning/_helpers/IvonPopupDataBridge.js +16 -0
- package/dist/components-domain/ivon-project-planning/_helpers/IvonPopupDataBridge.js.map +1 -0
- package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.d.ts +4 -0
- package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.d.ts.map +1 -1
- package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.js +16 -4
- package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.js.map +1 -1
- package/dist/components-domain/ivon-project-planning/_types/ivon-types.d.ts +23 -1
- package/dist/components-domain/ivon-project-planning/_types/ivon-types.d.ts.map +1 -1
- package/dist/components-domain/ivon-project-planning/_types/popup-types.d.ts +28 -0
- package/dist/components-domain/ivon-project-planning/_types/popup-types.d.ts.map +1 -0
- package/dist/components-domain/ivon-project-planning/_types/popup-types.js +2 -0
- package/dist/components-domain/ivon-project-planning/_types/popup-types.js.map +1 -0
- package/dist/components-generic/atoms/_menu/menu-item/MenuItem.js +1 -1
- package/dist/components-generic/atoms/_menu/user-menu/UserMenu.js +1 -1
- package/dist/components-generic/atoms/button/Button.js +1 -1
- package/dist/components-generic/atoms/icon-button/IconButton.js +1 -1
- package/dist/components-generic/atoms/input/Input.js +1 -1
- package/dist/components-generic/atoms/list/List.js +1 -1
- package/dist/components-generic/atoms/no-permission/PermissionWrapper.js +1 -1
- package/dist/components-generic/atoms/notification/Notification.js +1 -1
- package/dist/components-generic/atoms/progress-bar/Progressbar.d.ts +21 -0
- package/dist/components-generic/atoms/progress-bar/Progressbar.d.ts.map +1 -0
- package/dist/components-generic/atoms/progress-bar/Progressbar.js +44 -0
- package/dist/components-generic/atoms/progress-bar/Progressbar.js.map +1 -0
- package/dist/components-generic/atoms/section-header/SectionHeader.js +1 -1
- package/dist/components-generic/atoms/selection-buttons/checkbox/Checkbox.js +1 -1
- package/dist/components-generic/atoms/selection-buttons/radio-button/RadioButton.js +1 -1
- package/dist/components-generic/atoms/table/Table.d.ts +5 -1
- package/dist/components-generic/atoms/table/Table.d.ts.map +1 -1
- package/dist/components-generic/atoms/table/Table.js +49 -31
- package/dist/components-generic/atoms/table/Table.js.map +1 -1
- package/dist/components-generic/atoms/table/_QuickSearchToolbar.js +853 -2594
- package/dist/components-generic/atoms/table/_QuickSearchToolbar.js.map +1 -1
- package/dist/components-generic/atoms/tooltip/Tooltip.js +1 -1
- package/dist/components-generic/molecules/field-error/FieldError.js +1 -1
- package/dist/components-generic/molecules/form-error/FormError.js +1 -1
- package/dist/components-generic/molecules/form-modal/FormModal.js +2 -2
- package/dist/components-generic/molecules/modal/Modal.js +1 -1
- package/dist/components-generic/molecules/navigation-bar/NavigationBar.js +1 -1
- package/dist/components-generic/molecules/no-label-number-field/NoLabelNumberField.js +2 -2
- package/dist/components-generic/molecules/upload-button/UploadButton.js +1 -1
- package/dist/contexts/TanstackFormContext.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +5 -1
- package/dist/components-domain/ivon-project-planning/_dummy-data/ivon3-data.json.d.ts +0 -78
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IvonProjectPlanning.d.ts","sourceRoot":"","sources":["../../../src/components-domain/ivon-project-planning/IvonProjectPlanning.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IvonProjectPlanning.d.ts","sourceRoot":"","sources":["../../../src/components-domain/ivon-project-planning/IvonProjectPlanning.tsx"],"names":[],"mappings":"AAeA,wBAAgB,mBAAmB,4CAqHlC"}
|
|
@@ -1,38 +1,135 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { c as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { jsxs as o, Fragment as A, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { c as z } from "../../chunks/compiler-runtime.BNHg76kC.js";
|
|
3
|
+
import { Select as E, MenuItem as M } from "@mui/material";
|
|
4
|
+
import { useState as H } from "react";
|
|
5
|
+
import { IvonDataGrid as Q } from "./_IvonDataGrid/IvonDataGrid.js";
|
|
6
|
+
import { HectometerView as $ } from "./_IvonHectometerView/IvonHectometerView.js";
|
|
7
|
+
import { PopupRenderer as K } from "./_IvonPopup/IvonPopupRenderer.js";
|
|
8
|
+
import { ProjectPlanningView as U } from "./_IvonProjectPlanningView/IvonProjectPlanningView.js";
|
|
9
|
+
import { SchematicView as X } from "./_IvonSchematicView/IvonSchematicView.js";
|
|
10
|
+
import { loadData as Z, loadPopupData as ee } from "./_backend/backend.js";
|
|
11
|
+
import { IvonDataBridge as te } from "./_helpers/IvonDataBridge.js";
|
|
12
|
+
import { IvonPopupDataBridge as le } from "./_helpers/IvonPopupDataBridge.js";
|
|
13
|
+
const ae = [{ type: "generic", popupTemplate: { title: "Generieke eigenschappen", tabs: [{ label: "Basis", fields: [{ key: "year", label: "Year", editable: !0, type: "numberInput" }, { key: "description", label: "Description", editable: !0, type: "textInput" }] }] } }, { type: "detailed", popupTemplate: { title: "Gedetailleerde eigenschappen", tabs: [{ label: "Basis", fields: [{ key: "year", label: "Year", editable: !1, type: "numberInput" }, { key: "description", label: "Description", editable: !1, type: "textInput" }] }] } }, { type: "detailed2", popupTemplate: { title: "Gedetailleerde eigenschappen", tabs: [{ label: "Basis", fields: [{ key: "year", label: "Year", editable: !0, type: "numberInput" }] }, { label: "Basis", fields: [{ key: "description", label: "Description", editable: !0, type: "textInput" }] }] } }, { type: "pavement", popupTemplate: { title: "Gedetailleerde eigenschappen", tabs: [{ label: "Basis", fields: [{ key: "pavementType", label: "Pavement Type", editable: !1, type: "numberInput" }, { key: "qualityIndex", label: "Quality Index", editable: !1, type: "textInput" }, { key: "constructionDate", label: "Construction Date", editable: !1, type: "textInput" }] }] } }, { type: "createItem", popupTemplate: { title: "Creëer nieuw plan", tabs: [{ label: "Basis", fields: [{ key: "year", label: "Year", editable: !0, type: "numberInput" }, { key: "type", label: "Type", editable: !0, type: "textInput" }] }] } }], ie = {
|
|
14
|
+
popupDefinitions: ae
|
|
15
|
+
}, ne = { trackSerialNumber: 1, trackType: "HR", kmFrom: 10, kmTo: 16, bps: "RW001 1 HR L", laneSegments: [{ laneSerialNumber: 1, laneType: "R", kmFrom: 10, kmTo: 11.5, bps: "RW001 10,0 +0 1 HR L", pavements: [{ pavementId: 1, pavementType: "laag-1.1", constructionDate: "2020-05-15", qualityIndex: 4 }], plans: [{ type: "generic", year: 2026, description: "Plan description A", color: "rijks-yellow-light" }, { type: "generic", year: 2025, description: "Plan description C", color: "rijks-yellow-light" }] }, { laneSerialNumber: 1, laneType: "R", kmFrom: 10.2, kmTo: 10.8, bps: "RW001 10,5 +0 1 HR L", pavements: [], plans: [{ type: "generic", year: 2026, description: "schade 1", color: "rijks-notification-red" }] }, { laneSerialNumber: 1, laneType: "R", kmFrom: 11, kmTo: 11.3, bps: "RW001 11,0 +0 1 HR L", pavements: [], plans: [{ type: "generic", year: 2025, description: "schade 2", color: "rijks-notification-red" }] }, { laneSerialNumber: 2, laneType: "R", kmFrom: 10, kmTo: 11.5, bps: "RW001 10,0 +0 1 HR L", pavements: [{ pavementId: 2, pavementType: "laag-2.1", constructionDate: "2021-03-20", qualityIndex: 5 }], plans: [{ type: "generic", year: 2026, description: "Plan description A", color: "rijks-yellow-light" }, { type: "generic", year: 2025, description: "Plan description C", color: "rijks-yellow-light" }] }, { laneSerialNumber: 1, laneType: "R", kmFrom: 11.5, kmTo: 12, bps: "RW001 11,0 +0 1 HR L", pavements: [{ pavementId: 3, pavementType: "laag-1.2", constructionDate: "2019-08-10", qualityIndex: 6 }], plans: [{ type: "generic", year: 2026, description: "Plan description B", color: "rijks-yellow-light" }] }, { laneSerialNumber: 1, laneType: "R", kmFrom: 12, kmTo: 16, bps: "RW001 12,0 +0 1 HR L", pavements: [{ pavementId: 5, pavementType: "laag-2.3", constructionDate: "2022-06-30", qualityIndex: 8 }], plans: [{ type: "generic", year: 2026, description: "Plan description D", color: "rijks-yellow-light" }] }, { laneSerialNumber: 2, laneType: "R", kmFrom: 12, kmTo: 16, bps: "RW001 12,0 +0 1 HR L", pavements: [{ pavementId: 5, pavementType: "laag-2.4", constructionDate: "2022-06-30", qualityIndex: 8 }], plans: [{ type: "generic", year: 2026, description: "Plan description D", color: "rijks-yellow-light" }] }], borders: [{ bps: "RW001 10,0 +0 1 HR L", hectometer: 10, distanceToHectometer: 0, color: "text-link-visited" }, { bps: "RW001 11,0 +0 1 HR L", hectometer: 11, distanceToHectometer: 0, color: "text-link-visited" }], lanes: [{ bps: "RW001 10,0-16 HR L", laneSerialNumber: 1 }, { bps: "RW001 10,0-16 HR R", laneSerialNumber: 2 }] }, re = {
|
|
16
|
+
track: ne
|
|
9
17
|
};
|
|
10
|
-
function
|
|
11
|
-
const r = a.
|
|
12
|
-
let
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
function Se() {
|
|
19
|
+
const e = z.c(31), p = Z(JSON.stringify(re)), B = ee(JSON.stringify(ie)), r = new te(p), _ = new le(B), [s, l] = H(null), [c, a] = H(null), [C, W] = H(r.getLanes()[0]), [N, F] = H("");
|
|
20
|
+
let m;
|
|
21
|
+
e[0] !== a || e[1] !== l ? (m = () => {
|
|
22
|
+
const i = _.getPopupTemplate("createItem"), n = {
|
|
23
|
+
type: "",
|
|
24
|
+
year: ""
|
|
25
|
+
};
|
|
26
|
+
l(i), a(n);
|
|
27
|
+
}, e[0] = a, e[1] = l, e[2] = m) : m = e[2];
|
|
28
|
+
const q = m;
|
|
29
|
+
let d;
|
|
30
|
+
e[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (d = (i) => {
|
|
31
|
+
F("Saved item");
|
|
32
|
+
}, e[3] = d) : d = e[3];
|
|
33
|
+
const L = d, Y = r.getYears().map(pe);
|
|
34
|
+
let y;
|
|
35
|
+
e[4] !== a || e[5] !== l ? (y = (i) => {
|
|
36
|
+
const n = _.getPopupTemplate("pavement");
|
|
37
|
+
i && n && (l(n), a(i));
|
|
38
|
+
}, e[4] = a, e[5] = l, e[6] = y) : y = e[6];
|
|
39
|
+
const G = y;
|
|
40
|
+
let u;
|
|
41
|
+
e[7] !== a || e[8] !== l ? (u = (i) => {
|
|
42
|
+
if (i) {
|
|
43
|
+
const n = _.getPopupTemplate(i.type);
|
|
44
|
+
n && (l(n), a(i));
|
|
45
|
+
}
|
|
46
|
+
}, e[7] = a, e[8] = l, e[9] = u) : u = e[9];
|
|
47
|
+
const J = u, O = (i) => {
|
|
48
|
+
const n = r.getLanes().find((V) => V.laneSerialNumber === i.target.value);
|
|
49
|
+
W(n);
|
|
50
|
+
};
|
|
51
|
+
let b, f, g;
|
|
52
|
+
e[10] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (b = {
|
|
53
|
+
display: "flex",
|
|
54
|
+
flexDirection: "column"
|
|
55
|
+
}, f = {
|
|
56
|
+
display: "flex",
|
|
57
|
+
flexDirection: "row",
|
|
58
|
+
alignItems: "center",
|
|
59
|
+
backgroundColor: "var(--color-rijks-grey-2)",
|
|
60
|
+
padding: "5px",
|
|
61
|
+
border: "1px solid var(--color-rijks-grey-7)"
|
|
62
|
+
}, g = /* @__PURE__ */ t("div", { style: {
|
|
63
|
+
width: "100px"
|
|
64
|
+
} }), e[10] = b, e[11] = f, e[12] = g) : (b = e[10], f = e[11], g = e[12]);
|
|
65
|
+
let h;
|
|
66
|
+
e[13] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (h = {
|
|
67
|
+
height: "30px"
|
|
68
|
+
}, e[13] = h) : h = e[13];
|
|
69
|
+
let k, v;
|
|
70
|
+
e[14] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (k = {
|
|
71
|
+
display: "flex",
|
|
72
|
+
flexDirection: "row"
|
|
73
|
+
}, v = {
|
|
74
|
+
width: "100px"
|
|
75
|
+
}, e[14] = k, e[15] = v) : (k = e[14], v = e[15]);
|
|
76
|
+
let S, T;
|
|
77
|
+
e[16] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (S = [], T = [], e[16] = S, e[17] = T) : (S = e[16], T = e[17]);
|
|
78
|
+
let x;
|
|
79
|
+
e[18] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (x = {
|
|
80
|
+
overflow: "auto"
|
|
81
|
+
}, e[18] = x) : x = e[18];
|
|
82
|
+
let I;
|
|
83
|
+
e[19] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (I = {
|
|
84
|
+
display: "flex",
|
|
85
|
+
flexDirection: "row",
|
|
86
|
+
marginTop: "5px",
|
|
87
|
+
marginBottom: "5px"
|
|
88
|
+
}, e[19] = I) : I = e[19];
|
|
89
|
+
let R;
|
|
90
|
+
e[20] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (R = /* @__PURE__ */ t("h1", { children: "Data" }), e[20] = R) : R = e[20];
|
|
91
|
+
const j = JSON.stringify(p, void 0, 2);
|
|
92
|
+
let D;
|
|
93
|
+
e[21] !== j ? (D = /* @__PURE__ */ t("div", { children: /* @__PURE__ */ t("pre", { children: j }) }), e[21] = j, e[22] = D) : D = e[22];
|
|
94
|
+
let w;
|
|
95
|
+
e[23] !== N ? (w = /* @__PURE__ */ t("h6", { children: N }), e[23] = N, e[24] = w) : w = e[24];
|
|
96
|
+
let P;
|
|
97
|
+
return e[25] !== L || e[26] !== c || e[27] !== s || e[28] !== a || e[29] !== l ? (P = s && c && /* @__PURE__ */ t(K, { item: c, onClose: () => {
|
|
98
|
+
l(null), a(null);
|
|
99
|
+
}, onSave: L, template: s }), e[25] = L, e[26] = c, e[27] = s, e[28] = a, e[29] = l, e[30] = P) : P = e[30], /* @__PURE__ */ o(A, { children: [
|
|
100
|
+
/* @__PURE__ */ o("div", { id: "ivon-view", style: b, children: [
|
|
101
|
+
/* @__PURE__ */ o("div", { style: f, children: [
|
|
102
|
+
g,
|
|
103
|
+
/* @__PURE__ */ t(E, { id: "ivon-lane-select", onChange: O, style: h, value: C?.laneSerialNumber, children: r.getLanes().map(oe) })
|
|
104
|
+
] }),
|
|
105
|
+
/* @__PURE__ */ o("div", { style: k, children: [
|
|
106
|
+
/* @__PURE__ */ t("div", { style: v, children: /* @__PURE__ */ t(Q, { blocks: S, boundaries: T, cells: Y, columns: 1, height: 120, rows: r.getYears().length, width: "100px" }) }),
|
|
107
|
+
/* @__PURE__ */ o("div", { style: x, children: [
|
|
108
|
+
/* @__PURE__ */ t(U, { cellClickHandler: q, dataBridge: r, itemClickHandler: J, laneSerialNumber: C?.laneSerialNumber, maxHeight: 120 }),
|
|
109
|
+
/* @__PURE__ */ t("div", { style: I, children: /* @__PURE__ */ t($, { dataBridge: r, maxHeight: 35 }) }),
|
|
110
|
+
/* @__PURE__ */ t(X, { dataBridge: r, itemClickHandler: G, maxHeight: 200 })
|
|
111
|
+
] })
|
|
112
|
+
] })
|
|
113
|
+
] }),
|
|
114
|
+
R,
|
|
115
|
+
D,
|
|
116
|
+
w,
|
|
117
|
+
P
|
|
118
|
+
] });
|
|
25
119
|
}
|
|
26
|
-
function
|
|
27
|
-
return
|
|
120
|
+
function oe(e) {
|
|
121
|
+
return /* @__PURE__ */ t(M, { role: "option", value: e.laneSerialNumber, children: e.bps }, e.laneSerialNumber);
|
|
28
122
|
}
|
|
29
|
-
function
|
|
30
|
-
return
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
123
|
+
function pe(e, p) {
|
|
124
|
+
return {
|
|
125
|
+
row: p,
|
|
126
|
+
column: 0,
|
|
127
|
+
value: e.toString(),
|
|
128
|
+
alignment: "center",
|
|
129
|
+
fontSize: 12
|
|
130
|
+
};
|
|
34
131
|
}
|
|
35
132
|
export {
|
|
36
|
-
|
|
133
|
+
Se as IvonProjectPlanning
|
|
37
134
|
};
|
|
38
135
|
//# sourceMappingURL=IvonProjectPlanning.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IvonProjectPlanning.js","sources":["../../../src/components-domain/ivon-project-planning/IvonProjectPlanning.tsx"],"sourcesContent":["import { ProjectPlanningView } from './_IvonProjectPlanningView/IvonProjectPlanningView';\nimport { SchematicView } from './_IvonSchematicView/IvonSchematicView';\nimport { loadData } from './_backend/backend';\nimport ivon3Data from './_dummy-data/ivon3-data.json' with { type: 'json' };\nimport { IvonDataBridge } from './_helpers/IvonDataBridge';\n\nexport function IvonProjectPlanning() {\n const data = loadData(JSON.stringify(ivon3Data));\n const dataBridge = new IvonDataBridge(data);\n return (\n <>\n <ProjectPlanningView\n cellClickHandler={(row, column) => console.log(`Cell ${row},${column} clicked`)}\n dataBridge={dataBridge}\n itemClickHandler={(row, column) => console.log(`item ${row},${column} clicked`)}\n maxHeight={100}\n />\n <SchematicView dataBridge={dataBridge} itemClickHandler={(row, column) => console.log(`Schema item ${row},${column} clicked`)} maxHeight={200} />\n <h1>Data</h1>\n <div>\n <pre>{JSON.stringify(data, undefined, 2)}</pre>\n </div>\n ;\n </>\n );\n}\n"],"names":["IvonProjectPlanning","$","_c","t0","Symbol","for","data","loadData","JSON","stringify","ivon3Data","dataBridge","IvonDataBridge","jsxs","Fragment","jsx","ProjectPlanningView","_temp","_temp2","SchematicView","_temp3","undefined","row_1","column_1","console","log","row","column","row_0","column_0"],"mappings":";;;;;;;;;AAMO,SAAAA,IAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,CAAA;AAAA,MAAAC;AAAA,MAAAF,EAAA,CAAA,MAAAG,uBAAAC,IAAA,2BAAA,GAAA;AACL,UAAAC,IAAaC,EAASC,KAAIC,UAAWC,CAAS,CAAC,GAC/CC,IAAmB,IAAIC,EAAeN,CAAI;AAExCH,IAAAA,IAAA,gBAAAU,EAAAC,GAAA,EACE,UAAA;AAAA,MAAA,gBAAAC,EAACC,KACmB,kBAAAC,GACNN,YAAAA,GACM,kBAAAO,GACP,gBAAG;AAAA,wBAEfC,GAAA,EAA0BR,YAAAA,GAA8B,kBAAAS,GAAiF,gBAAG;AAAA,MAC7I,gBAAAL,EAAA,QAAI,UAAA,OAAA,CAAI;AAAA,MACR,gBAAAA,EAAA,OAAA,EACE,UAAA,gBAAAA,EAAA,OAAA,EAAMP,UAAAA,KAAIC,UAAWH,GAAMe,QAAW,CAAC,EAAA,CAAE,EAAA,CAC3C;AAAA;OAEF,GAAGpB,OAAAE;AAAAA,EAAA;AAAAA,IAAAA,IAAAF,EAAA,CAAA;AAAA,SAbHE;AAaG;AAjBA,SAAAiB,EAAAE,GAAAC,GAAA;AAAA,SAWyEC,QAAOC,IAAK,eAAeC,CAAG,IAAIC,CAAM,UAAU;AAAC;AAX5H,SAAAT,EAAAU,GAAAC,GAAA;AAAA,SAQoCL,QAAOC,IAAK,QAAQC,CAAG,IAAIC,CAAM,UAAU;AAAC;AARhF,SAAAV,EAAAS,GAAAC,GAAA;AAAA,SAMoCH,QAAOC,IAAK,QAAQC,CAAG,IAAIC,CAAM,UAAU;AAAC;"}
|
|
1
|
+
{"version":3,"file":"IvonProjectPlanning.js","sources":["../../../src/components-domain/ivon-project-planning/IvonProjectPlanning.tsx"],"sourcesContent":["import { Select, MenuItem } from '@mui/material';\nimport { useState } from 'react';\nimport { IvonDataGrid } from './_IvonDataGrid/IvonDataGrid';\nimport { HectometerView } from './_IvonHectometerView/IvonHectometerView';\nimport { PopupRenderer } from './_IvonPopup/IvonPopupRenderer';\nimport { ProjectPlanningView } from './_IvonProjectPlanningView/IvonProjectPlanningView';\nimport { SchematicView } from './_IvonSchematicView/IvonSchematicView';\nimport { loadData, loadPopupData } from './_backend/backend';\nimport ivon3PopupData from './_dummy-data/ivon3-dynamic-popup.json' with { type: 'json' };\nimport ivon3Data from './_dummy-data/ivon3-test-data.json' with { type: 'json' };\nimport { IvonDataBridge } from './_helpers/IvonDataBridge';\nimport { IvonPopupDataBridge } from './_helpers/IvonPopupDataBridge';\nimport type { Lane, Pavement, LaneSegmentPlan } from './_types/ivon-types';\nimport type { PopupTemplate } from './_types/popup-types';\n\nexport function IvonProjectPlanning() {\n const data = loadData(JSON.stringify(ivon3Data));\n const popupData = loadPopupData(JSON.stringify(ivon3PopupData));\n const dataBridge = new IvonDataBridge(data);\n\n const popupDataBridge = new IvonPopupDataBridge(popupData);\n const [selectedPopupTemplate, setSelectedPopupTemplate] = useState<PopupTemplate | null>(null);\n const [selectedItem, setSelectedItem] = useState<Record<string, any> | null>(null);\n const [selectedLane, setSelectedLane] = useState<Lane | undefined>(dataBridge.getLanes()[0]);\n const [status, setStatus] = useState<string>('');\n\n const handleCellClick = () => {\n const popupTemplate = popupDataBridge.getPopupTemplate('createItem');\n const newPlanDraft = {\n type: '',\n year: ''\n };\n setSelectedPopupTemplate(popupTemplate);\n setSelectedItem(newPlanDraft);\n };\n\n const handleProjectItemSave = (_updatedItem: Record<string, any>) => {\n setStatus('Saved item');\n };\n\n const yearCells = dataBridge.getYears().map((year, index) => {\n return {\n row: index,\n column: 0,\n value: year.toString(),\n alignment: 'center',\n fontSize: 12\n };\n });\n\n const handleSchematicItemClick = (pavement: Pavement) => {\n const popupTemplate = popupDataBridge.getPopupTemplate('pavement');\n if (pavement && popupTemplate) {\n setSelectedPopupTemplate(popupTemplate);\n setSelectedItem(pavement);\n }\n };\n\n const handlePlanningItemClick = (plan: LaneSegmentPlan | undefined) => {\n if (plan) {\n const popupTemplate = popupDataBridge.getPopupTemplate(plan.type);\n if (popupTemplate) {\n setSelectedPopupTemplate(popupTemplate);\n setSelectedItem(plan);\n }\n }\n };\n\n const handleLaneSelectClick = (event: any) => {\n const lane = dataBridge.getLanes().find((lane) => lane.laneSerialNumber === event.target.value);\n setSelectedLane(lane);\n };\n\n return (\n <>\n <div id='ivon-view' style={{ display: 'flex', flexDirection: 'column' }}>\n <div\n style={{\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: 'var(--color-rijks-grey-2)',\n padding: '5px',\n border: '1px solid var(--color-rijks-grey-7)'\n }}\n >\n <div style={{ width: '100px' }} />\n <Select id='ivon-lane-select' onChange={handleLaneSelectClick} style={{ height: '30px' }} value={selectedLane?.laneSerialNumber}>\n {dataBridge.getLanes().map((lane) => (\n <MenuItem key={lane.laneSerialNumber} role='option' value={lane.laneSerialNumber}>\n {lane.bps}\n </MenuItem>\n ))}\n </Select>\n </div>\n <div style={{ display: 'flex', flexDirection: 'row' }}>\n <div style={{ width: '100px' }}>\n <IvonDataGrid blocks={[]} boundaries={[]} cells={yearCells} columns={1} height={120} rows={dataBridge.getYears().length} width='100px' />\n </div>\n <div style={{ overflow: 'auto' }}>\n <ProjectPlanningView\n cellClickHandler={handleCellClick}\n dataBridge={dataBridge}\n itemClickHandler={handlePlanningItemClick}\n laneSerialNumber={selectedLane?.laneSerialNumber}\n maxHeight={120}\n />\n <div style={{ display: 'flex', flexDirection: 'row', marginTop: '5px', marginBottom: '5px' }}>\n <HectometerView dataBridge={dataBridge} maxHeight={35} />\n </div>\n <SchematicView dataBridge={dataBridge} itemClickHandler={handleSchematicItemClick} maxHeight={200} />\n </div>\n </div>\n </div>\n <h1>Data</h1>\n <div>\n <pre>{JSON.stringify(data, undefined, 2)}</pre>\n </div>\n <h6>{status}</h6>\n {selectedPopupTemplate && selectedItem && (\n <PopupRenderer\n item={selectedItem}\n onClose={() => {\n setSelectedPopupTemplate(null);\n setSelectedItem(null);\n }}\n onSave={handleProjectItemSave}\n template={selectedPopupTemplate}\n />\n )}\n </>\n );\n}\n"],"names":["IvonProjectPlanning","$","_c","data","loadData","JSON","stringify","ivon3Data","popupData","loadPopupData","ivon3PopupData","dataBridge","IvonDataBridge","popupDataBridge","IvonPopupDataBridge","selectedPopupTemplate","setSelectedPopupTemplate","useState","selectedItem","setSelectedItem","selectedLane","setSelectedLane","getLanes","status","setStatus","t0","popupTemplate","getPopupTemplate","newPlanDraft","type","year","handleCellClick","t1","Symbol","for","_updatedItem","handleProjectItemSave","yearCells","getYears","map","_temp","t2","pavement","popupTemplate_0","handleSchematicItemClick","t3","plan","popupTemplate_1","handlePlanningItemClick","handleLaneSelectClick","event","lane_0","find","lane","laneSerialNumber","target","value","t4","t5","t6","display","flexDirection","alignItems","backgroundColor","padding","border","jsx","width","t7","height","t8","t9","t10","t11","t12","overflow","t13","marginTop","marginBottom","t14","t15","undefined","t16","t17","t18","PopupRenderer","jsxs","Fragment","Select","_temp2","IvonDataGrid","length","ProjectPlanningView","HectometerView","SchematicView","lane_1","MenuItem","bps","index","row","column","toString","alignment","fontSize"],"mappings":"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"}
|
|
@@ -2,7 +2,9 @@ export interface IvonDataGridBlockData {
|
|
|
2
2
|
color: string;
|
|
3
3
|
endPosition: number;
|
|
4
4
|
row: number;
|
|
5
|
+
scale: number;
|
|
5
6
|
startPosition: number;
|
|
7
|
+
type?: string;
|
|
6
8
|
value: string;
|
|
7
9
|
}
|
|
8
10
|
export interface IvonDataGridBoundaryData {
|
|
@@ -11,15 +13,17 @@ export interface IvonDataGridBoundaryData {
|
|
|
11
13
|
width: number;
|
|
12
14
|
}
|
|
13
15
|
export interface IvonDataGridCellData {
|
|
16
|
+
alignment: string;
|
|
14
17
|
column: number;
|
|
18
|
+
fontSize: number;
|
|
15
19
|
row: number;
|
|
16
20
|
value: string;
|
|
17
21
|
}
|
|
18
22
|
interface IvonDataGridProps {
|
|
19
|
-
blockClickHandler(this: void,
|
|
23
|
+
blockClickHandler?(this: void, data: IvonDataGridBlockData): void;
|
|
20
24
|
readonly blocks: IvonDataGridBlockData[];
|
|
21
25
|
readonly boundaries: IvonDataGridBoundaryData[];
|
|
22
|
-
cellClickHandler(this: void, row: number, column: number, data?: IvonDataGridCellData): void;
|
|
26
|
+
cellClickHandler?(this: void, row: number, column: number, data?: IvonDataGridCellData): void;
|
|
23
27
|
readonly cells: IvonDataGridCellData[];
|
|
24
28
|
readonly columns: number;
|
|
25
29
|
readonly height: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IvonDataGrid.d.ts","sourceRoot":"","sources":["../../../../src/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,iBAAiB;IACzB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"IvonDataGrid.d.ts","sourceRoot":"","sources":["../../../../src/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,iBAAiB;IACzB,iBAAiB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAClE,QAAQ,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,wBAAwB,EAAE,CAAC;IAChD,gBAAgB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC9F,QAAQ,CAAC,KAAK,EAAE,oBAAoB,EAAE,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,EAAE,iBAAiB,2CAyI/I"}
|
|
@@ -1,108 +1,126 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { c as
|
|
3
|
-
function
|
|
4
|
-
const e =
|
|
5
|
-
rows:
|
|
6
|
-
columns:
|
|
7
|
-
width:
|
|
8
|
-
height:
|
|
9
|
-
cells:
|
|
10
|
-
blocks:
|
|
1
|
+
import { jsx as j, jsxs as J } from "react/jsx-runtime";
|
|
2
|
+
import { c as K } from "../../../chunks/compiler-runtime.BNHg76kC.js";
|
|
3
|
+
function V(R) {
|
|
4
|
+
const e = K.c(43), {
|
|
5
|
+
rows: n,
|
|
6
|
+
columns: f,
|
|
7
|
+
width: b,
|
|
8
|
+
height: p,
|
|
9
|
+
cells: S,
|
|
10
|
+
blocks: z,
|
|
11
11
|
boundaries: A,
|
|
12
|
-
cellClickHandler:
|
|
13
|
-
blockClickHandler:
|
|
14
|
-
} =
|
|
12
|
+
cellClickHandler: _,
|
|
13
|
+
blockClickHandler: E
|
|
14
|
+
} = R;
|
|
15
|
+
let m;
|
|
16
|
+
e[0] !== S ? (m = (t, r) => S.find((i) => i.row === t && i.column === r), e[0] = S, e[1] = m) : m = e[1];
|
|
17
|
+
const l = m;
|
|
15
18
|
let u;
|
|
16
|
-
e[
|
|
17
|
-
|
|
19
|
+
e[2] !== l ? (u = (t, r) => {
|
|
20
|
+
const i = l(t, r);
|
|
21
|
+
return i === void 0 ? "" : i.value;
|
|
22
|
+
}, e[2] = l, e[3] = u) : u = e[3];
|
|
23
|
+
const N = u;
|
|
24
|
+
let C;
|
|
25
|
+
e[4] !== l ? (C = (t, r) => {
|
|
26
|
+
const i = l(t, r);
|
|
27
|
+
return i === void 0 ? "center" : i.alignment;
|
|
28
|
+
}, e[4] = l, e[5] = C) : C = e[5];
|
|
29
|
+
const B = C;
|
|
18
30
|
let h;
|
|
19
|
-
e[
|
|
20
|
-
const
|
|
21
|
-
return
|
|
22
|
-
}, e[
|
|
23
|
-
const
|
|
31
|
+
e[6] !== l ? (h = (t, r) => {
|
|
32
|
+
const i = l(t, r);
|
|
33
|
+
return i === void 0 ? 12 : i.fontSize;
|
|
34
|
+
}, e[6] = l, e[7] = h) : h = e[7];
|
|
35
|
+
const P = h, o = M;
|
|
24
36
|
let y;
|
|
25
|
-
e[
|
|
26
|
-
const
|
|
27
|
-
let
|
|
28
|
-
e[
|
|
29
|
-
const
|
|
30
|
-
let
|
|
31
|
-
e[
|
|
32
|
-
length:
|
|
33
|
-
}, (
|
|
34
|
-
length:
|
|
35
|
-
}, (
|
|
37
|
+
e[8] !== _ ? (y = (t, r, i) => _?.(t, r, i), e[8] = _, e[9] = y) : y = e[9];
|
|
38
|
+
const T = y;
|
|
39
|
+
let x;
|
|
40
|
+
e[10] !== E ? (x = (t) => E?.(t), e[10] = E, e[11] = x) : x = e[11];
|
|
41
|
+
const H = x;
|
|
42
|
+
let v;
|
|
43
|
+
e[12] !== f || e[13] !== l || e[14] !== T || e[15] !== B || e[16] !== N || e[17] !== P || e[18] !== n ? (v = () => Array.from({
|
|
44
|
+
length: n
|
|
45
|
+
}, (t, r) => Array.from({
|
|
46
|
+
length: f
|
|
47
|
+
}, (i, s) => /* @__PURE__ */ j("div", { className: "data-grid-cell", onDoubleClick: () => T(r, s, l(r, s)), role: "gridcell", style: {
|
|
36
48
|
display: "flex",
|
|
37
49
|
gridRow: r + 1,
|
|
38
|
-
gridColumn:
|
|
39
|
-
justifyContent:
|
|
50
|
+
gridColumn: s + 1,
|
|
51
|
+
justifyContent: B(r, s),
|
|
40
52
|
alignItems: "center",
|
|
41
53
|
borderBottom: `1px solid ${o("rijks-grey-7")}`,
|
|
42
|
-
borderLeft:
|
|
43
|
-
backgroundColor: "
|
|
44
|
-
|
|
45
|
-
|
|
54
|
+
borderLeft: s % 10 === 0 ? `2px solid ${o("rijks-grey-7")}` : `1px dashed ${o("rijks-grey-4")}`,
|
|
55
|
+
backgroundColor: s % 2 === 0 ? o("rijks-grey-1") : "#ffffff",
|
|
56
|
+
fontSize: P(r, s)
|
|
57
|
+
}, tabIndex: 0, children: N(r, s) }, `${r}-${s}`))), e[12] = f, e[13] = l, e[14] = T, e[15] = B, e[16] = N, e[17] = P, e[18] = n, e[19] = v) : v = e[19];
|
|
58
|
+
const L = v;
|
|
46
59
|
let $;
|
|
47
|
-
e[
|
|
48
|
-
gridRow:
|
|
60
|
+
e[20] !== z || e[21] !== H || e[22] !== p || e[23] !== n ? ($ = () => z.map((t, r) => /* @__PURE__ */ j("div", { className: "data-grid-block", onDoubleClick: () => H(t), role: "gridcell", style: {
|
|
61
|
+
gridRow: t.row + 1,
|
|
49
62
|
zIndex: 10,
|
|
50
|
-
gridColumnStart:
|
|
51
|
-
gridColumnEnd:
|
|
52
|
-
gridRowStart:
|
|
53
|
-
gridRowEnd:
|
|
63
|
+
gridColumnStart: t.startPosition + 1,
|
|
64
|
+
gridColumnEnd: t.endPosition + 1,
|
|
65
|
+
gridRowStart: t.row + 1,
|
|
66
|
+
gridRowEnd: t.row + 1,
|
|
67
|
+
overflow: "hidden",
|
|
68
|
+
alignContent: "end"
|
|
69
|
+
}, tabIndex: 0, children: /* @__PURE__ */ j("div", { style: {
|
|
54
70
|
textAlign: "left",
|
|
55
|
-
display: "flex",
|
|
56
71
|
textOverflow: "clip",
|
|
72
|
+
height: (p * t.scale / n - 13).toString() + "px",
|
|
73
|
+
marginLeft: "2px",
|
|
74
|
+
marginRight: "2px",
|
|
57
75
|
padding: "5px",
|
|
76
|
+
cursor: "pointer",
|
|
58
77
|
borderRadius: "4px",
|
|
59
78
|
border: `1px solid ${o("rijks-grey-7")}`,
|
|
60
79
|
boxShadow: `1px 1px 1px ${o("rijks-grey-7")}`,
|
|
61
80
|
overflow: "hidden",
|
|
62
|
-
opacity: 0.
|
|
63
|
-
backgroundImage: `linear-gradient(180deg, ${o(
|
|
64
|
-
},
|
|
65
|
-
const
|
|
66
|
-
let
|
|
67
|
-
e[
|
|
81
|
+
opacity: 0.7,
|
|
82
|
+
backgroundImage: `linear-gradient(180deg, ${o(t.color)}, color-mix(in srgb, ${o(t.color)}, #000000 10%))`
|
|
83
|
+
}, children: t.value }) }, r)), e[20] = z, e[21] = H, e[22] = p, e[23] = n, e[24] = $) : $ = e[24];
|
|
84
|
+
const F = $;
|
|
85
|
+
let w;
|
|
86
|
+
e[25] !== A || e[26] !== n ? (w = () => A.map((t, r) => /* @__PURE__ */ j("div", { className: "data-grid-boundary", style: {
|
|
68
87
|
zIndex: 20,
|
|
69
|
-
gridColumn:
|
|
88
|
+
gridColumn: t.startPosition + 1,
|
|
70
89
|
gridRowStart: 1,
|
|
71
|
-
gridRowEnd:
|
|
90
|
+
gridRowEnd: n + 1,
|
|
72
91
|
textAlign: "left",
|
|
73
92
|
display: "flex",
|
|
74
|
-
width: `${
|
|
93
|
+
width: `${t.width}px`,
|
|
75
94
|
position: "relative",
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
e[20] !== z || e[21] !== H || e[22] !== R ? (n = {
|
|
95
|
+
backgroundColor: o(t.color)
|
|
96
|
+
} }, r)), e[25] = A, e[26] = n, e[27] = w) : w = e[27];
|
|
97
|
+
const G = w, O = `repeat(${f}, 1fr)`, q = `${p}px`;
|
|
98
|
+
let d;
|
|
99
|
+
e[28] !== O || e[29] !== q || e[30] !== b ? (d = {
|
|
82
100
|
display: "grid",
|
|
83
|
-
gridTemplateColumns:
|
|
101
|
+
gridTemplateColumns: O,
|
|
84
102
|
gridTemplateRows: "auto",
|
|
85
|
-
|
|
86
|
-
width:
|
|
87
|
-
height:
|
|
88
|
-
}, e[
|
|
103
|
+
borderTop: `1px solid ${o("rijks-grey-7")}`,
|
|
104
|
+
width: b,
|
|
105
|
+
height: q
|
|
106
|
+
}, e[28] = O, e[29] = q, e[30] = b, e[31] = d) : d = e[31];
|
|
89
107
|
let g;
|
|
90
|
-
e[
|
|
91
|
-
let
|
|
92
|
-
e[
|
|
108
|
+
e[32] !== L ? (g = L(), e[32] = L, e[33] = g) : g = e[33];
|
|
109
|
+
let a;
|
|
110
|
+
e[34] !== F ? (a = F(), e[34] = F, e[35] = a) : a = e[35];
|
|
93
111
|
let c;
|
|
94
|
-
e[
|
|
95
|
-
let
|
|
96
|
-
return e[
|
|
112
|
+
e[36] !== G ? (c = G(), e[36] = G, e[37] = c) : c = e[37];
|
|
113
|
+
let k;
|
|
114
|
+
return e[38] !== d || e[39] !== g || e[40] !== a || e[41] !== c ? (k = /* @__PURE__ */ J("div", { className: "data-grid-container", style: d, children: [
|
|
97
115
|
g,
|
|
98
|
-
|
|
116
|
+
a,
|
|
99
117
|
c
|
|
100
|
-
] }), e[
|
|
118
|
+
] }), e[38] = d, e[39] = g, e[40] = a, e[41] = c, e[42] = k) : k = e[42], k;
|
|
101
119
|
}
|
|
102
|
-
function
|
|
103
|
-
return `var(--color-${
|
|
120
|
+
function M(R) {
|
|
121
|
+
return `var(--color-${R})`;
|
|
104
122
|
}
|
|
105
123
|
export {
|
|
106
|
-
|
|
124
|
+
V as IvonDataGrid
|
|
107
125
|
};
|
|
108
126
|
//# sourceMappingURL=IvonDataGrid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IvonDataGrid.js","sources":["../../../../src/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.tsx"],"sourcesContent":["export interface IvonDataGridBlockData {\n color: string;\n endPosition: number;\n row: number;\n startPosition: number;\n value: string;\n}\n\nexport interface IvonDataGridBoundaryData {\n color: string;\n startPosition: number;\n width: number;\n}\n\nexport interface IvonDataGridCellData {\n column: number;\n row: number;\n value: string;\n}\n\ninterface IvonDataGridProps {\n blockClickHandler(this: void, row: number, column: number, data: IvonDataGridBlockData): void;\n readonly blocks: IvonDataGridBlockData[];\n readonly boundaries: IvonDataGridBoundaryData[];\n cellClickHandler(this: void, row: number, column: number, data?: IvonDataGridCellData): void;\n readonly cells: IvonDataGridCellData[];\n readonly columns: number;\n readonly height: number;\n readonly rows: number;\n readonly width: string;\n}\n\nexport function IvonDataGrid({ rows, columns, width, height, cells, blocks, boundaries, cellClickHandler, blockClickHandler }: IvonDataGridProps) {\n const findCell = (row: number, column: number) => {\n return cells.find((cell) => cell.row === row && cell.column === column);\n };\n\n const renderCellData = (row: number, column: number) => {\n const data = findCell(row, column);\n return data === undefined ? '' : data.value;\n };\n\n const styleColor = (colorVariable: string) => {\n return `var(--color-${colorVariable})`;\n };\n\n const gridCellClicked = (row: number, column: number, data?: IvonDataGridCellData) => cellClickHandler(row, column, data);\n const gridItemClicked = (row: number, column: number, data: IvonDataGridBlockData) => blockClickHandler(row, column, data);\n\n const renderCells = () => {\n return Array.from({ length: rows }, (_index1, rowIndex) =>\n Array.from({ length: columns }, (_index2, colIndex) => (\n <div\n className='data-grid-cell'\n key={`${rowIndex}-${colIndex}`}\n onClick={() => gridCellClicked(rowIndex, colIndex, findCell(rowIndex, colIndex))}\n onKeyDown={() => gridCellClicked(rowIndex, colIndex, findCell(rowIndex, colIndex))}\n onTouchEnd={() => gridCellClicked(rowIndex, colIndex, findCell(rowIndex, colIndex))}\n role='gridcell'\n style={{\n display: 'flex',\n gridRow: rowIndex + 1,\n gridColumn: colIndex + 1,\n justifyContent: 'center',\n alignItems: 'center',\n borderBottom: `1px solid ${styleColor('rijks-grey-7')}`,\n borderLeft: colIndex % 10 === 0 ? `2px solid ${styleColor('rijks-grey-7')}` : `1px dashed ${styleColor('rijks-grey-2')}`,\n backgroundColor: 'white'\n }}\n tabIndex={0}\n >\n {renderCellData(rowIndex, colIndex)}\n </div>\n ))\n );\n };\n\n const renderBlocks = () => {\n return blocks.map((blockData, index) => (\n <div\n className='data-grid-block'\n key={index}\n onClick={() => gridItemClicked(blockData.row, blockData.startPosition, blockData)}\n onKeyDown={() => gridItemClicked(blockData.row, blockData.startPosition, blockData)}\n onTouchEnd={() => gridItemClicked(blockData.row, blockData.startPosition, blockData)}\n role='gridcell'\n style={{\n gridRow: blockData.row + 1,\n zIndex: 10,\n gridColumnStart: blockData.startPosition + 1,\n gridColumnEnd: blockData.endPosition + 1,\n gridRowStart: blockData.row + 1,\n gridRowEnd: blockData.row + 1,\n textAlign: 'left',\n display: 'flex',\n textOverflow: 'clip',\n padding: '5px',\n borderRadius: '4px',\n border: `1px solid ${styleColor('rijks-grey-7')}`,\n boxShadow: `1px 1px 1px ${styleColor('rijks-grey-7')}`,\n overflow: 'hidden',\n opacity: 0.8,\n backgroundImage: `linear-gradient(180deg, ${styleColor(blockData.color)}, color-mix(in srgb, ${styleColor(blockData.color)}, #000000 5%))`\n }}\n tabIndex={0}\n >\n {blockData.value}\n </div>\n ));\n };\n\n const renderBoundaries = () => {\n return boundaries.map((boundaryData, index) => (\n <div\n className='data-grid-boundary'\n key={index}\n style={{\n zIndex: 20,\n gridColumn: boundaryData.startPosition + 1,\n gridRowStart: 1,\n gridRowEnd: rows + 1,\n textAlign: 'left',\n display: 'flex',\n width: `${boundaryData.width}px`,\n position: 'relative',\n left: `-${boundaryData.width / 2}px`,\n backgroundColor: styleColor(boundaryData.color)\n }}\n />\n ));\n };\n\n return (\n <div\n className='data-grid-container'\n style={{\n display: 'grid',\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n gridTemplateRows: 'auto',\n border: `1px solid ${styleColor('rijks-grey-7')}`,\n width,\n height: `${height}px`\n }}\n >\n {renderCells()}\n {renderBlocks()}\n {renderBoundaries()}\n </div>\n );\n}\n"],"names":["IvonDataGrid","t0","$","_c","rows","columns","width","height","cells","blocks","boundaries","cellClickHandler","blockClickHandler","t1","row","column","find","cell","findCell","t2","row_0","column_0","data","undefined","value","renderCellData","styleColor","_temp","t3","row_1","column_1","data_0","gridCellClicked","t4","row_2","column_2","data_1","gridItemClicked","t5","Array","from","length","_index1","rowIndex","_index2","colIndex","jsx","display","gridRow","gridColumn","justifyContent","alignItems","borderBottom","borderLeft","backgroundColor","renderCells","t6","map","blockData","index","startPosition","zIndex","gridColumnStart","gridColumnEnd","endPosition","gridRowStart","gridRowEnd","textAlign","textOverflow","padding","borderRadius","border","boxShadow","overflow","opacity","backgroundImage","color","renderBlocks","t7","boundaryData","index_0","position","left","renderBoundaries","t8","t9","t10","gridTemplateColumns","gridTemplateRows","t11","t12","t13","t14","jsxs","colorVariable"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IvonDataGrid.js","sources":["../../../../src/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.tsx"],"sourcesContent":["export interface IvonDataGridBlockData {\n color: string;\n endPosition: number;\n row: number;\n scale: number;\n startPosition: number;\n type?: string;\n value: string;\n}\n\nexport interface IvonDataGridBoundaryData {\n color: string;\n startPosition: number;\n width: number;\n}\n\nexport interface IvonDataGridCellData {\n alignment: string;\n column: number;\n fontSize: number;\n row: number;\n value: string;\n}\n\ninterface IvonDataGridProps {\n blockClickHandler?(this: void, data: IvonDataGridBlockData): void;\n readonly blocks: IvonDataGridBlockData[];\n readonly boundaries: IvonDataGridBoundaryData[];\n cellClickHandler?(this: void, row: number, column: number, data?: IvonDataGridCellData): void;\n readonly cells: IvonDataGridCellData[];\n readonly columns: number;\n readonly height: number;\n readonly rows: number;\n readonly width: string;\n}\n\nexport function IvonDataGrid({ rows, columns, width, height, cells, blocks, boundaries, cellClickHandler, blockClickHandler }: IvonDataGridProps) {\n const findCell = (row: number, column: number) => {\n return cells.find((cell) => cell.row === row && cell.column === column);\n };\n\n const renderCellData = (row: number, column: number) => {\n const data = findCell(row, column);\n return data === undefined ? '' : data.value;\n };\n\n const renderCellAlignment = (row: number, column: number) => {\n const data = findCell(row, column);\n return data === undefined ? 'center' : data.alignment;\n };\n\n const renderCellFontSize = (row: number, column: number) => {\n const data = findCell(row, column);\n return data === undefined ? 12 : data.fontSize;\n };\n\n const styleColor = (colorVariable: string) => {\n return `var(--color-${colorVariable})`;\n };\n\n const gridCellClicked = (row: number, column: number, data?: IvonDataGridCellData) => cellClickHandler?.(row, column, data);\n const gridItemClicked = (data: IvonDataGridBlockData) => blockClickHandler?.(data);\n\n const renderCells = () => {\n return Array.from({ length: rows }, (_index1, rowIndex) =>\n Array.from({ length: columns }, (_index2, colIndex) => (\n <div\n className='data-grid-cell'\n key={`${rowIndex}-${colIndex}`}\n onDoubleClick={() => gridCellClicked(rowIndex, colIndex, findCell(rowIndex, colIndex))}\n role='gridcell'\n style={{\n display: 'flex',\n gridRow: rowIndex + 1,\n gridColumn: colIndex + 1,\n justifyContent: renderCellAlignment(rowIndex, colIndex),\n alignItems: 'center',\n borderBottom: `1px solid ${styleColor('rijks-grey-7')}`,\n borderLeft: colIndex % 10 === 0 ? `2px solid ${styleColor('rijks-grey-7')}` : `1px dashed ${styleColor('rijks-grey-4')}`,\n backgroundColor: colIndex % 2 === 0 ? styleColor('rijks-grey-1') : '#ffffff',\n fontSize: renderCellFontSize(rowIndex, colIndex)\n }}\n tabIndex={0}\n >\n {renderCellData(rowIndex, colIndex)}\n </div>\n ))\n );\n };\n\n const renderBlocks = () => {\n const padding = 5;\n const border = 1;\n const heightMargins = padding * 2 + border * 2 + 1;\n\n return blocks.map((blockData, index) => (\n <div\n className='data-grid-block'\n key={index}\n onDoubleClick={() => gridItemClicked(blockData)}\n role='gridcell'\n style={{\n gridRow: blockData.row + 1,\n zIndex: 10,\n gridColumnStart: blockData.startPosition + 1,\n gridColumnEnd: blockData.endPosition + 1,\n gridRowStart: blockData.row + 1,\n gridRowEnd: blockData.row + 1,\n overflow: 'hidden',\n alignContent: 'end'\n }}\n tabIndex={0}\n >\n <div\n style={{\n textAlign: 'left',\n textOverflow: 'clip',\n height: ((height * blockData.scale) / rows - heightMargins).toString() + 'px',\n marginLeft: '2px',\n marginRight: '2px',\n padding: `${padding}px`,\n cursor: 'pointer',\n borderRadius: '4px',\n border: `${border}px solid ${styleColor('rijks-grey-7')}`,\n boxShadow: `1px 1px 1px ${styleColor('rijks-grey-7')}`,\n overflow: 'hidden',\n opacity: 0.7,\n backgroundImage: `linear-gradient(180deg, ${styleColor(blockData.color)}, color-mix(in srgb, ${styleColor(blockData.color)}, #000000 10%))`\n }}\n >\n {blockData.value}\n </div>\n </div>\n ));\n };\n\n const renderBoundaries = () => {\n return boundaries.map((boundaryData, index) => (\n <div\n className='data-grid-boundary'\n key={index}\n style={{\n zIndex: 20,\n gridColumn: boundaryData.startPosition + 1,\n gridRowStart: 1,\n gridRowEnd: rows + 1,\n textAlign: 'left',\n display: 'flex',\n width: `${boundaryData.width}px`,\n position: 'relative',\n backgroundColor: styleColor(boundaryData.color)\n }}\n />\n ));\n };\n\n return (\n <div\n className='data-grid-container'\n style={{\n display: 'grid',\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n gridTemplateRows: 'auto',\n borderTop: `1px solid ${styleColor('rijks-grey-7')}`,\n width,\n height: `${height}px`\n }}\n >\n {renderCells()}\n {renderBlocks()}\n {renderBoundaries()}\n </div>\n );\n}\n"],"names":["IvonDataGrid","t0","$","_c","rows","columns","width","height","cells","blocks","boundaries","cellClickHandler","blockClickHandler","t1","row","column","find","cell","findCell","t2","row_0","column_0","data","undefined","value","renderCellData","t3","row_1","column_1","data_0","alignment","renderCellAlignment","t4","row_2","column_2","data_1","fontSize","renderCellFontSize","styleColor","_temp","t5","row_3","column_3","data_2","gridCellClicked","t6","data_3","gridItemClicked","t7","Array","from","length","_index1","rowIndex","_index2","colIndex","display","gridRow","gridColumn","justifyContent","alignItems","borderBottom","borderLeft","backgroundColor","renderCells","t8","map","blockData","index","jsx","zIndex","gridColumnStart","startPosition","gridColumnEnd","endPosition","gridRowStart","gridRowEnd","overflow","alignContent","textAlign","textOverflow","scale","toString","marginLeft","marginRight","padding","cursor","borderRadius","border","boxShadow","opacity","backgroundImage","color","renderBlocks","t9","boundaryData","index_0","position","renderBoundaries","t10","t11","t12","gridTemplateColumns","gridTemplateRows","borderTop","t13","t14","t15","t16","jsxs","colorVariable"],"mappings":";;AAoCO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,EAAA,GAAsB;AAAA,IAAAC,MAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,kBAAAA;AAAAA,IAAAC,mBAAAA;AAAAA,EAAAA,IAAAX;AAAmH,MAAAY;AAAA,EAAAX,SAAAM,KAC7HK,IAAAA,CAAAC,GAAAC,MACRP,EAAKQ,KAAMC,CAAAA,MAAUA,EAAIH,QAASA,KAAOG,EAAIF,WAAYA,CAAM,GACvEb,OAAAM,GAAAN,OAAAW,KAAAA,IAAAX,EAAA,CAAA;AAFD,QAAAgB,IAAiBL;AAEf,MAAAM;AAAA,EAAAjB,SAAAgB,KAEqBC,IAAAA,CAAAC,GAAAC,MAAA;AACrB,UAAAC,IAAaJ,EAASJ,GAAKC,CAAM;AAAE,WAC5BO,MAASC,SAAT,KAA0BD,EAAIE;AAAAA,EAAM,GAC5CtB,OAAAgB,GAAAhB,OAAAiB,KAAAA,IAAAjB,EAAA,CAAA;AAHD,QAAAuB,IAAuBN;AAGrB,MAAAO;AAAA,EAAAxB,SAAAgB,KAE0BQ,IAAAA,CAAAC,GAAAC,MAAA;AAC1B,UAAAC,IAAaX,EAASJ,GAAKC,CAAM;AAAE,WAC5BO,MAASC,SAAT,WAAgCD,EAAIQ;AAAAA,EAAU,GACtD5B,OAAAgB,GAAAhB,OAAAwB,KAAAA,IAAAxB,EAAA,CAAA;AAHD,QAAA6B,IAA4BL;AAG1B,MAAAM;AAAA,EAAA9B,SAAAgB,KAEyBc,IAAAA,CAAAC,GAAAC,MAAA;AACzB,UAAAC,IAAajB,EAASJ,GAAKC,CAAM;AAAE,WAC5BO,MAASC,SAAT,KAA0BD,EAAIc;AAAAA,EAAS,GAC/ClC,OAAAgB,GAAAhB,OAAA8B,KAAAA,IAAA9B,EAAA,CAAA;AAHD,QAAAmC,IAA2BL,GAK3BM,IAAmBC;AAEjB,MAAAC;AAAA,EAAAtC,SAAAS,KAEsB6B,IAAAA,CAAAC,GAAAC,GAAAC,MAA8DhC,IAAmBG,GAAKC,GAAQO,CAAI,GAACpB,OAAAS,GAAAT,OAAAsC,KAAAA,IAAAtC,EAAA,CAAA;AAA3H,QAAA0C,IAAwBJ;AAAoG,MAAAK;AAAA,EAAA3C,UAAAU,KACpGiC,IAAAC,CAAAA,MAAiClC,IAAoBU,CAAI,GAACpB,QAAAU,GAAAV,QAAA2C,KAAAA,IAAA3C,EAAA,EAAA;AAAlF,QAAA6C,IAAwBF;AAA2D,MAAAG;AAAA,EAAA9C,EAAA,EAAA,MAAAG,KAAAH,EAAA,EAAA,MAAAgB,KAAAhB,EAAA,EAAA,MAAA0C,KAAA1C,UAAA6B,KAAA7B,EAAA,EAAA,MAAAuB,KAAAvB,EAAA,EAAA,MAAAmC,KAAAnC,EAAA,EAAA,MAAAE,KAE/D4C,IAAAA,MACXC,MAAKC,KAAM;AAAA,IAAAC,QAAU/C;AAAAA,EAAAA,GAAQ,CAAAgD,GAAAC,MAClCJ,MAAKC,KAAM;AAAA,IAAAC,QAAU9C;AAAAA,EAAAA,GAAW,CAAAiD,GAAAC,iCAElB,WAAA,kBAEK,eAAA,MAAMX,EAAgBS,GAAUE,GAAUrC,EAASmC,GAAUE,CAAQ,CAAC,GAChF,MAAA,YACE,OAAA;AAAA,IAAAC,SACI;AAAA,IAAMC,SACNJ,IAAW;AAAA,IAACK,YACTH,IAAW;AAAA,IAACI,gBACR5B,EAAoBsB,GAAUE,CAAQ;AAAA,IAACK,YAC3C;AAAA,IAAQC,cACN,aAAavB,EAAW,cAAc,CAAC;AAAA,IAAEwB,YAC3CP,IAAW,OAAO,IAAlB,aAAmCjB,EAAW,cAAc,CAAC,KAA7D,cAAgFA,EAAW,cAAc,CAAC;AAAA,IAAEyB,iBACvGR,IAAW,MAAM,IAAIjB,EAAW,cAA0B,IAA1D;AAAA,IAA2DF,UAClEC,EAAmBgB,GAAUE,CAAQ;AAAA,EAAA,GAEvC,UAAA,GAET9B,UAAAA,EAAe4B,GAAUE,CAAQ,KAhB7B,GAAGF,CAAQ,IAAIE,CAAQ,EAiB9B,CACD,CACH,GACDrD,QAAAG,GAAAH,QAAAgB,GAAAhB,QAAA0C,GAAA1C,QAAA6B,GAAA7B,QAAAuB,GAAAvB,QAAAmC,GAAAnC,QAAAE,GAAAF,QAAA8C,KAAAA,IAAA9C,EAAA,EAAA;AAzBD,QAAA8D,IAAoBhB;AAyBlB,MAAAiB;AAAA,EAAA/D,EAAA,EAAA,MAAAO,KAAAP,EAAA,EAAA,MAAA6C,KAAA7C,EAAA,EAAA,MAAAK,KAAAL,UAAAE,KAEmB6D,IAAAA,MAKZxD,EAAMyD,IAAK,CAAAC,GAAAC,MAChB,gBAAAC,EAAA,OAAA,EACY,WAAA,mBAEK,qBAAMtB,EAAgBoB,CAAS,GACzC,MAAA,YACE,OAAA;AAAA,IAAAV,SACIU,EAASrD,MAAO;AAAA,IAACwD,QAClB;AAAA,IAAEC,iBACOJ,EAASK,gBAAiB;AAAA,IAACC,eAC7BN,EAASO,cAAe;AAAA,IAACC,cAC1BR,EAASrD,MAAO;AAAA,IAAC8D,YACnBT,EAASrD,MAAO;AAAA,IAAC+D,UACnB;AAAA,IAAQC,cACJ;AAAA,EAAA,GAEN,UAAA,GAEV,UAAA,gBAAAT,EAAA,SACS,OAAA;AAAA,IAAAU,WACM;AAAA,IAAMC,cACH;AAAA,IAAMzE,SACVA,IAAS4D,EAASc,QAAU7E,IAxBxB,IAwB4C8E,aAAe;AAAA,IAAIC,YACjE;AAAA,IAAKC,aACJ;AAAA,IAAKC,SACT;AAAA,IAAcC,QACf;AAAA,IAASC,cACH;AAAA,IAAKC,QACX,aAAqBlD,EAAW,cAAc,CAAC;AAAA,IAAEmD,WAC9C,eAAenD,EAAW,cAAc,CAAC;AAAA,IAAEuC,UAC5C;AAAA,IAAQa,SACT;AAAA,IAAGC,iBACK,2BAA2BrD,EAAW6B,EAASyB,KAAM,CAAC,wBAAwBtD,EAAW6B,EAASyB,KAAM,CAAC;AAAA,EAAA,GAG3HzB,UAAAA,EAAS3C,MAAAA,CACZ,EAAA,IACF,CACD,GACFtB,QAAAO,GAAAP,QAAA6C,GAAA7C,QAAAK,GAAAL,QAAAE,GAAAF,QAAA+D,KAAAA,IAAA/D,EAAA,EAAA;AA5CD,QAAA2F,IAAqB5B;AA4CnB,MAAA6B;AAAA,EAAA5F,EAAA,EAAA,MAAAQ,KAAAR,UAAAE,KAEuB0F,IAAAA,MAChBpF,EAAUwD,IAAK,CAAA6B,GAAAC,MACpB,gBAAA3B,WACY,WAAA,sBAEH,OAAA;AAAA,IAAAC,QACG;AAAA,IAAEZ,YACEqC,EAAYvB,gBAAiB;AAAA,IAACG,cAC5B;AAAA,IAACC,YACHxE,IAAO;AAAA,IAAC2E,WACT;AAAA,IAAMvB,SACR;AAAA,IAAMlD,OACR,GAAGyF,EAAYzF,KAAM;AAAA,IAAI2F,UACtB;AAAA,IAAUlC,iBACHzB,EAAWyD,EAAYH,KAAM;AAAA,EAAA,EAChD,GAXKxB,EAaR,GACFlE,QAAAQ,GAAAR,QAAAE,GAAAF,QAAA4F,KAAAA,IAAA5F,EAAA,EAAA;AAlBD,QAAAgG,IAAyBJ,GAyBEK,IAAA,UAAU9F,CAAO,UAI9B+F,IAAA,GAAG7F,CAAM;AAAI,MAAA8F;AAAA,EAAAnG,EAAA,EAAA,MAAAiG,KAAAjG,UAAAkG,KAAAlG,EAAA,EAAA,MAAAI,KANhB+F,IAAA;AAAA,IAAA7C,SACI;AAAA,IAAM8C,qBACMH;AAAAA,IAAyBI,kBAC5B;AAAA,IAAMC,WACb,aAAalE,EAAW,cAAc,CAAC;AAAA,IAAEhC,OAAAA;AAAAA,IAAAC,QAE5C6F;AAAAA,EAAAA,GACTlG,QAAAiG,GAAAjG,QAAAkG,GAAAlG,QAAAI,GAAAJ,QAAAmG,KAAAA,IAAAnG,EAAA,EAAA;AAAA,MAAAuG;AAAA,EAAAvG,UAAA8D,KAEAyC,IAAAzC,EAAAA,GAAa9D,QAAA8D,GAAA9D,QAAAuG,KAAAA,IAAAvG,EAAA,EAAA;AAAA,MAAAwG;AAAA,EAAAxG,UAAA2F,KACba,IAAAb,EAAAA,GAAc3F,QAAA2F,GAAA3F,QAAAwG,KAAAA,IAAAxG,EAAA,EAAA;AAAA,MAAAyG;AAAA,EAAAzG,UAAAgG,KACdS,IAAAT,EAAAA,GAAkBhG,QAAAgG,GAAAhG,QAAAyG,KAAAA,IAAAzG,EAAA,EAAA;AAAA,MAAA0G;AAAA,SAAA1G,EAAA,EAAA,MAAAmG,KAAAnG,EAAA,EAAA,MAAAuG,KAAAvG,EAAA,EAAA,MAAAwG,KAAAxG,UAAAyG,KAbrBC,IAAA,gBAAAC,EAAA,OAAA,EACY,WAAA,uBACH,OAAAR,GASNI,UAAAA;AAAAA,IAAAA;AAAAA,IACAC;AAAAA,IACAC;AAAAA,EAAAA,GACH,GAAMzG,QAAAmG,GAAAnG,QAAAuG,GAAAvG,QAAAwG,GAAAxG,QAAAyG,GAAAzG,QAAA0G,KAAAA,IAAA1G,EAAA,EAAA,GAdN0G;AAcM;AAvIH,SAAArE,EAAAuE,GAAA;AAAA,SAqBI,eAAeA,CAAa;AAAG;"}
|
package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IvonDataBridge } from '../_helpers/IvonDataBridge';
|
|
2
|
+
interface HectometerViewProps {
|
|
3
|
+
readonly dataBridge: IvonDataBridge;
|
|
4
|
+
readonly maxHeight: number;
|
|
5
|
+
}
|
|
6
|
+
export declare function HectometerView({ dataBridge, maxHeight }: HectometerViewProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=IvonHectometerView.d.ts.map
|
package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IvonHectometerView.d.ts","sourceRoot":"","sources":["../../../../src/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,cAAc,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,mBAAmB,2CAkC5E"}
|
package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as k } from "react/jsx-runtime";
|
|
2
|
+
import { c as b } from "../../../chunks/compiler-runtime.BNHg76kC.js";
|
|
3
|
+
import { IvonDataGrid as y } from "../_IvonDataGrid/IvonDataGrid.js";
|
|
4
|
+
import { ivonUtility as v } from "../_helpers/IvonUtility.js";
|
|
5
|
+
function D(T) {
|
|
6
|
+
const t = b.c(21), {
|
|
7
|
+
dataBridge: e,
|
|
8
|
+
maxHeight: d
|
|
9
|
+
} = T;
|
|
10
|
+
let s;
|
|
11
|
+
t[0] !== e ? (s = (x) => {
|
|
12
|
+
const w = [];
|
|
13
|
+
for (let n = 0; n < x; n++)
|
|
14
|
+
w.push({
|
|
15
|
+
column: n,
|
|
16
|
+
row: 0,
|
|
17
|
+
value: v.lerp(e.getTrackStart(), e.getTrackEnd(), n / x).toFixed(1).toString(),
|
|
18
|
+
alignment: "left",
|
|
19
|
+
fontSize: n % 10 === 0 ? 10 : 8
|
|
20
|
+
});
|
|
21
|
+
return w;
|
|
22
|
+
}, t[0] = e, t[1] = s) : s = t[1];
|
|
23
|
+
const g = s;
|
|
24
|
+
let c;
|
|
25
|
+
t[2] !== e ? (c = v.widthBasedOnTrackLength(e.getTrackLength()), t[2] = e, t[3] = c) : c = t[3];
|
|
26
|
+
const u = c, h = `${u}px`;
|
|
27
|
+
let i;
|
|
28
|
+
t[4] !== h ? (i = {
|
|
29
|
+
display: "flex",
|
|
30
|
+
flexDirection: "row",
|
|
31
|
+
width: h
|
|
32
|
+
}, t[4] = h, t[5] = i) : i = t[5];
|
|
33
|
+
let a, f;
|
|
34
|
+
t[6] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (a = [], f = [], t[6] = a, t[7] = f) : (a = t[6], f = t[7]);
|
|
35
|
+
let l;
|
|
36
|
+
t[8] !== g || t[9] !== e ? (l = g(e.getTrackLength()), t[8] = g, t[9] = e, t[10] = l) : l = t[10];
|
|
37
|
+
let o;
|
|
38
|
+
t[11] !== e ? (o = e.getTrackLength(), t[11] = e, t[12] = o) : o = t[12];
|
|
39
|
+
const p = `${u}px`;
|
|
40
|
+
let r;
|
|
41
|
+
t[13] !== d || t[14] !== l || t[15] !== o || t[16] !== p ? (r = /* @__PURE__ */ k(y, { blocks: a, boundaries: f, cells: l, columns: o, height: d, rows: 1, width: p }), t[13] = d, t[14] = l, t[15] = o, t[16] = p, t[17] = r) : r = t[17];
|
|
42
|
+
let m;
|
|
43
|
+
return t[18] !== r || t[19] !== i ? (m = /* @__PURE__ */ k("div", { id: "ivon-hectometer-view", style: i, children: r }), t[18] = r, t[19] = i, t[20] = m) : m = t[20], m;
|
|
44
|
+
}
|
|
45
|
+
export {
|
|
46
|
+
D as HectometerView
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=IvonHectometerView.js.map
|
package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IvonHectometerView.js","sources":["../../../../src/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.tsx"],"sourcesContent":["import { IvonDataGrid } from '../_IvonDataGrid/IvonDataGrid';\nimport type { IvonDataGridCellData } from '../_IvonDataGrid/IvonDataGrid';\nimport type { IvonDataBridge } from '../_helpers/IvonDataBridge';\nimport { ivonUtility } from '../_helpers/IvonUtility';\n\ninterface HectometerViewProps {\n readonly dataBridge: IvonDataBridge;\n readonly maxHeight: number;\n}\n\nexport function HectometerView({ dataBridge, maxHeight }: HectometerViewProps) {\n const buildCells = (columns: number) => {\n const cells: IvonDataGridCellData[] = [];\n for (let column = 0; column < columns; column++) {\n cells.push({\n column,\n row: 0,\n value: ivonUtility\n .lerp(dataBridge.getTrackStart(), dataBridge.getTrackEnd(), column / columns)\n .toFixed(1)\n .toString(),\n alignment: 'left',\n fontSize: column % 10 === 0 ? 10 : 8\n });\n }\n\n return cells;\n };\n\n const gridWidth = ivonUtility.widthBasedOnTrackLength(dataBridge.getTrackLength());\n\n return (\n <div id='ivon-hectometer-view' style={{ display: 'flex', flexDirection: 'row', width: `${gridWidth}px` }}>\n <IvonDataGrid\n blocks={[]}\n boundaries={[]}\n cells={buildCells(dataBridge.getTrackLength())}\n columns={dataBridge.getTrackLength()}\n height={maxHeight}\n rows={1}\n width={`${gridWidth}px`}\n />\n </div>\n );\n}\n"],"names":["HectometerView","t0","$","_c","dataBridge","maxHeight","t1","columns","cells","column","push","row","value","ivonUtility","lerp","getTrackStart","getTrackEnd","toFixed","toString","alignment","fontSize","buildCells","t2","widthBasedOnTrackLength","getTrackLength","gridWidth","t3","t4","display","flexDirection","width","t5","t6","Symbol","for","t7","t8","t9","t10","IvonDataGrid","t11"],"mappings":";;;;AAUO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,EAAA,GAAwB;AAAA,IAAAC,YAAAA;AAAAA,IAAAC,WAAAA;AAAAA,EAAAA,IAAAJ;AAA8C,MAAAK;AAAA,EAAAJ,SAAAE,KACxDE,IAAAC,CAAAA,MAAA;AACjB,UAAAC,IAAsC,CAAA;AACtC,aAAAC,IAAkB,GAAGA,IAASF,GAASE;AACrCD,MAAAA,EAAKE,KAAM;AAAA,QAAAD,QAAAA;AAAAA,QAAAE,KAEJ;AAAA,QAACC,OACCC,EAAWC,KACVV,EAAUW,iBAAkBX,EAAUY,YAAAA,GAAgBP,IAASF,CAAO,EAACU,QACpE,CAAC,EAACC,SAAAA;AAAAA,QACAC,WACF;AAAA,QAAMC,UACPX,IAAS,OAAO,IAAhB,KAAA;AAAA,MAAA,CACX;AACF,WAEMD;AAAAA,EAAK,GACbN,OAAAE,GAAAF,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AAhBD,QAAAmB,IAAmBf;AAgBjB,MAAAgB;AAAA,EAAApB,SAAAE,KAEgBkB,IAAAT,EAAWU,wBAAyBnB,EAAUoB,eAAAA,CAAiB,GAACtB,OAAAE,GAAAF,OAAAoB,KAAAA,IAAApB,EAAA,CAAA;AAAlF,QAAAuB,IAAkBH,GAGsEI,IAAA,GAAGD,CAAS;AAAI,MAAAE;AAAA,EAAAzB,SAAAwB,KAAhEC,IAAA;AAAA,IAAAC,SAAW;AAAA,IAAMC,eAAiB;AAAA,IAAKC,OAASJ;AAAAA,EAAAA,GAAkBxB,OAAAwB,GAAAxB,OAAAyB,KAAAA,IAAAzB,EAAA,CAAA;AAAA,MAAA6B,GAAAC;AAAA,EAAA9B,EAAA,CAAA,MAAA+B,uBAAAC,IAAA,2BAAA,KAE5FH,IAAA,CAAA,GACIC,IAAA,CAAA,GAAE9B,OAAA6B,GAAA7B,OAAA8B,MAAAD,IAAA7B,EAAA,CAAA,GAAA8B,IAAA9B,EAAA,CAAA;AAAA,MAAAiC;AAAA,EAAAjC,EAAA,CAAA,MAAAmB,KAAAnB,SAAAE,KACP+B,IAAAd,EAAWjB,EAAUoB,gBAAiB,GAACtB,OAAAmB,GAAAnB,OAAAE,GAAAF,QAAAiC,KAAAA,IAAAjC,EAAA,EAAA;AAAA,MAAAkC;AAAA,EAAAlC,UAAAE,KACrCgC,IAAAhC,EAAUoB,eAAAA,GAAiBtB,QAAAE,GAAAF,QAAAkC,KAAAA,IAAAlC,EAAA,EAAA;AAG7B,QAAAmC,IAAA,GAAGZ,CAAS;AAAI,MAAAa;AAAA,EAAApC,EAAA,EAAA,MAAAG,KAAAH,EAAA,EAAA,MAAAiC,KAAAjC,EAAA,EAAA,MAAAkC,KAAAlC,UAAAmC,KAPzBC,sBAACC,GAAA,EACS,QAAAR,GACI,YAAAC,GACL,OAAAG,GACE,SAAAC,GACD/B,QAAAA,GACF,SACC,OAAAgC,GAAgB,GACvBnC,QAAAG,GAAAH,QAAAiC,GAAAjC,QAAAkC,GAAAlC,QAAAmC,GAAAnC,QAAAoC,KAAAA,IAAApC,EAAA,EAAA;AAAA,MAAAsC;AAAA,SAAAtC,EAAA,EAAA,MAAAoC,KAAApC,UAAAyB,KATJa,+BAAQ,IAAA,wBAA8B,OAAAb,GACpCW,UAAAA,GASF,GAAMpC,QAAAoC,GAAApC,QAAAyB,GAAAzB,QAAAsC,KAAAA,IAAAtC,EAAA,EAAA,GAVNsC;AAUM;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PopupTemplate } from '../_types/popup-types';
|
|
2
|
+
interface PopupRendererProps {
|
|
3
|
+
readonly item: Record<string, any>;
|
|
4
|
+
onClose(this: void): void;
|
|
5
|
+
onSave(this: void, updatedItem: Record<string, any>): void;
|
|
6
|
+
readonly template: PopupTemplate;
|
|
7
|
+
}
|
|
8
|
+
export declare function PopupRenderer({ template, item, onClose, onSave }: PopupRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=IvonPopupRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IvonPopupRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components-domain/ivon-project-planning/_IvonPopup/IvonPopupRenderer.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,uBAAuB,CAAC;AAEvE,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3D,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAED,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,kBAAkB,2CAmGpF"}
|