@elaraai/e3-ui 1.0.97 → 1.0.99
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/README.md +0 -2
- package/dist/src/allocation/adapters.d.ts +1 -1
- package/dist/src/allocation/adapters.js +1 -1
- package/dist/src/allocation/index.d.ts +232 -25
- package/dist/src/allocation/index.d.ts.map +1 -1
- package/dist/src/allocation/index.js +35 -6
- package/dist/src/allocation/index.js.map +1 -1
- package/dist/src/allocation/types.d.ts +41 -0
- package/dist/src/allocation/types.d.ts.map +1 -1
- package/dist/src/allocation/types.js +35 -0
- package/dist/src/allocation/types.js.map +1 -1
- package/dist/src/bind/data-indexed.d.ts +286 -37
- package/dist/src/bind/data-indexed.d.ts.map +1 -1
- package/dist/src/bind/data-indexed.js +259 -38
- package/dist/src/bind/data-indexed.js.map +1 -1
- package/dist/src/bind/data.d.ts +48 -9
- package/dist/src/bind/data.d.ts.map +1 -1
- package/dist/src/bind/data.js +48 -3
- package/dist/src/bind/data.js.map +1 -1
- package/dist/src/bind/record.d.ts +61 -24
- package/dist/src/bind/record.d.ts.map +1 -1
- package/dist/src/bind/record.js +17 -57
- package/dist/src/bind/record.js.map +1 -1
- package/dist/src/calendar/index.d.ts +522 -36
- package/dist/src/calendar/index.d.ts.map +1 -1
- package/dist/src/calendar/index.js +53 -13
- package/dist/src/calendar/index.js.map +1 -1
- package/dist/src/calendar/paged.d.ts +89 -0
- package/dist/src/calendar/paged.d.ts.map +1 -0
- package/dist/src/calendar/paged.js +148 -0
- package/dist/src/calendar/paged.js.map +1 -0
- package/dist/src/flowchart/index.d.ts +35 -31
- package/dist/src/flowchart/index.d.ts.map +1 -1
- package/dist/src/flowchart/index.js +35 -31
- package/dist/src/flowchart/index.js.map +1 -1
- package/dist/src/flowchart/library.d.ts +108 -84
- package/dist/src/flowchart/library.d.ts.map +1 -1
- package/dist/src/flowchart/library.js +108 -84
- package/dist/src/flowchart/library.js.map +1 -1
- package/dist/src/flowchart/payload.d.ts +105 -17
- package/dist/src/flowchart/payload.d.ts.map +1 -1
- package/dist/src/flowchart/payload.js +3 -3
- package/dist/src/flowchart/payload.js.map +1 -1
- package/dist/src/flowchart/values.d.ts +35 -31
- package/dist/src/flowchart/values.d.ts.map +1 -1
- package/dist/src/flowchart/values.js +35 -31
- package/dist/src/flowchart/values.js.map +1 -1
- package/dist/src/flowchart/window.d.ts.map +1 -1
- package/dist/src/flowchart/window.js +3 -2
- package/dist/src/flowchart/window.js.map +1 -1
- package/dist/src/index.d.ts +13 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +20 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +18 -8
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +40 -10
- package/dist/src/internal.js.map +1 -1
- package/dist/src/plan/assemble.d.ts +8 -0
- package/dist/src/plan/assemble.d.ts.map +1 -1
- package/dist/src/plan/assemble.js +1 -1
- package/dist/src/plan/assemble.js.map +1 -1
- package/dist/src/plan/builders.d.ts +1530 -10
- package/dist/src/plan/builders.d.ts.map +1 -1
- package/dist/src/plan/builders.js +260 -122
- package/dist/src/plan/builders.js.map +1 -1
- package/dist/src/plan/event-rows.d.ts +224 -157
- package/dist/src/plan/event-rows.d.ts.map +1 -1
- package/dist/src/plan/event-rows.js +201 -56
- package/dist/src/plan/event-rows.js.map +1 -1
- package/dist/src/plan/factories.d.ts +72 -4
- package/dist/src/plan/factories.d.ts.map +1 -1
- package/dist/src/plan/factories.js +147 -1
- package/dist/src/plan/factories.js.map +1 -1
- package/dist/src/plan/index.d.ts +152 -125
- package/dist/src/plan/index.d.ts.map +1 -1
- package/dist/src/plan/index.js +138 -122
- package/dist/src/plan/index.js.map +1 -1
- package/dist/src/plan/ir.d.ts +1139 -8
- package/dist/src/plan/ir.d.ts.map +1 -1
- package/dist/src/plan/ir.js +5 -0
- package/dist/src/plan/ir.js.map +1 -1
- package/dist/src/plan/library.d.ts +65 -42
- package/dist/src/plan/library.d.ts.map +1 -1
- package/dist/src/plan/library.js +65 -42
- package/dist/src/plan/library.js.map +1 -1
- package/dist/src/plan/nested-checks.d.ts +146 -0
- package/dist/src/plan/nested-checks.d.ts.map +1 -0
- package/dist/src/plan/nested-checks.js +468 -0
- package/dist/src/plan/nested-checks.js.map +1 -0
- package/dist/src/plan/nested-patch.d.ts +35 -0
- package/dist/src/plan/nested-patch.d.ts.map +1 -0
- package/dist/src/plan/nested-patch.js +143 -0
- package/dist/src/plan/nested-patch.js.map +1 -0
- package/dist/src/plan/nested-read.d.ts +3250 -0
- package/dist/src/plan/nested-read.d.ts.map +1 -0
- package/dist/src/plan/nested-read.js +163 -0
- package/dist/src/plan/nested-read.js.map +1 -0
- package/dist/src/plan/nested.d.ts +280 -0
- package/dist/src/plan/nested.d.ts.map +1 -0
- package/dist/src/plan/nested.js +6 -0
- package/dist/src/plan/nested.js.map +1 -0
- package/dist/src/plan/ordered-source.d.ts +3067 -1
- package/dist/src/plan/ordered-source.d.ts.map +1 -1
- package/dist/src/plan/ordered-source.js +67 -17
- package/dist/src/plan/ordered-source.js.map +1 -1
- package/dist/src/plan/over.d.ts +111 -75
- package/dist/src/plan/over.d.ts.map +1 -1
- package/dist/src/plan/over.js +111 -75
- package/dist/src/plan/over.js.map +1 -1
- package/dist/src/plan/pick.d.ts +15 -3
- package/dist/src/plan/pick.d.ts.map +1 -1
- package/dist/src/plan/pick.js +75 -36
- package/dist/src/plan/pick.js.map +1 -1
- package/dist/src/plan/plan.d.ts +3143 -501
- package/dist/src/plan/plan.d.ts.map +1 -1
- package/dist/src/plan/plan.js +133 -34
- package/dist/src/plan/plan.js.map +1 -1
- package/dist/src/plan/reads.d.ts +421 -0
- package/dist/src/plan/reads.d.ts.map +1 -0
- package/dist/src/plan/reads.js +143 -0
- package/dist/src/plan/reads.js.map +1 -0
- package/dist/src/plan/refs.d.ts +111 -75
- package/dist/src/plan/refs.d.ts.map +1 -1
- package/dist/src/plan/refs.js +111 -75
- package/dist/src/plan/refs.js.map +1 -1
- package/dist/src/plan/root.d.ts +14 -7
- package/dist/src/plan/root.d.ts.map +1 -1
- package/dist/src/plan/root.js +82 -17
- package/dist/src/plan/root.js.map +1 -1
- package/dist/src/plan/series.d.ts +5153 -4331
- package/dist/src/plan/series.d.ts.map +1 -1
- package/dist/src/plan/series.js +1082 -266
- package/dist/src/plan/series.js.map +1 -1
- package/dist/src/plan/shade.d.ts +981 -0
- package/dist/src/plan/shade.d.ts.map +1 -0
- package/dist/src/plan/shade.js +60 -0
- package/dist/src/plan/shade.js.map +1 -0
- package/dist/src/plan/types.d.ts +192 -18
- package/dist/src/plan/types.d.ts.map +1 -1
- package/dist/src/plan/types.js +77 -19
- package/dist/src/plan/types.js.map +1 -1
- package/dist/src/query/builder.d.ts +3 -3
- package/dist/src/query/builder.d.ts.map +1 -1
- package/dist/src/query/builder.js +1 -1
- package/dist/src/query/library.d.ts +3 -3
- package/dist/src/query/library.d.ts.map +1 -1
- package/dist/src/query/library.js +1 -1
- package/dist/src/query/queries.d.ts +2 -2
- package/dist/src/query/queries.js +1 -1
- package/dist/src/query/saved.d.ts +8 -4
- package/dist/src/query/saved.d.ts.map +1 -1
- package/dist/src/query/saved.js +8 -4
- package/dist/src/query/saved.js.map +1 -1
- package/dist/src/query/types.d.ts +8 -3
- package/dist/src/query/types.d.ts.map +1 -1
- package/dist/src/query/types.js +8 -3
- package/dist/src/query/types.js.map +1 -1
- package/dist/src/roster/index.d.ts +583 -39
- package/dist/src/roster/index.d.ts.map +1 -1
- package/dist/src/roster/index.js +109 -35
- package/dist/src/roster/index.js.map +1 -1
- package/dist/src/roster/library.d.ts +12 -2
- package/dist/src/roster/library.d.ts.map +1 -1
- package/dist/src/roster/library.js +8 -0
- package/dist/src/roster/library.js.map +1 -1
- package/dist/src/roster/lists.d.ts +59 -12
- package/dist/src/roster/lists.d.ts.map +1 -1
- package/dist/src/roster/lists.js +51 -58
- package/dist/src/roster/lists.js.map +1 -1
- package/dist/src/roster/targets.d.ts +8 -4
- package/dist/src/roster/targets.d.ts.map +1 -1
- package/dist/src/roster/targets.js +9 -5
- package/dist/src/roster/targets.js.map +1 -1
- package/dist/src/roster/times.d.ts +402 -0
- package/dist/src/roster/times.d.ts.map +1 -1
- package/dist/src/roster/types.d.ts +913 -1
- package/dist/src/roster/types.d.ts.map +1 -1
- package/dist/src/roster/types.js +43 -3
- package/dist/src/roster/types.js.map +1 -1
- package/dist/src/schedule/cell-checks.d.ts +85 -0
- package/dist/src/schedule/cell-checks.d.ts.map +1 -0
- package/dist/src/schedule/cell-checks.js +211 -0
- package/dist/src/schedule/cell-checks.js.map +1 -0
- package/dist/src/schedule/days.d.ts +1 -1
- package/dist/src/schedule/days.js +1 -1
- package/dist/src/schedule/events.d.ts +52 -16
- package/dist/src/schedule/events.d.ts.map +1 -1
- package/dist/src/schedule/events.js +574 -356
- package/dist/src/schedule/events.js.map +1 -1
- package/dist/src/schedule/fields.d.ts +134 -0
- package/dist/src/schedule/fields.d.ts.map +1 -0
- package/dist/src/schedule/fields.js +207 -0
- package/dist/src/schedule/fields.js.map +1 -0
- package/dist/src/schedule/library.d.ts +11 -3
- package/dist/src/schedule/library.d.ts.map +1 -1
- package/dist/src/schedule/library.js +9 -6
- package/dist/src/schedule/library.js.map +1 -1
- package/dist/src/schedule/optimise.d.ts +124 -0
- package/dist/src/schedule/optimise.d.ts.map +1 -0
- package/dist/src/schedule/optimise.js +140 -0
- package/dist/src/schedule/optimise.js.map +1 -0
- package/dist/src/schedule/pages.d.ts +76 -0
- package/dist/src/schedule/pages.d.ts.map +1 -0
- package/dist/src/schedule/pages.js +86 -0
- package/dist/src/schedule/pages.js.map +1 -0
- package/dist/src/schedule/patch.d.ts +1 -1
- package/dist/src/schedule/patch.js +1 -1
- package/dist/src/schedule/periods.d.ts +8 -4
- package/dist/src/schedule/periods.d.ts.map +1 -1
- package/dist/src/schedule/periods.js +1 -1
- package/dist/src/schedule/periods.js.map +1 -1
- package/dist/src/schedule/record-window.d.ts +115 -22
- package/dist/src/schedule/record-window.d.ts.map +1 -1
- package/dist/src/schedule/record-window.js +140 -62
- package/dist/src/schedule/record-window.js.map +1 -1
- package/dist/src/schedule/resources.d.ts +9 -5
- package/dist/src/schedule/resources.d.ts.map +1 -1
- package/dist/src/schedule/resources.js +35 -15
- package/dist/src/schedule/resources.js.map +1 -1
- package/dist/src/schedule/session.d.ts +15 -1
- package/dist/src/schedule/session.d.ts.map +1 -1
- package/dist/src/schedule/session.js +30 -18
- package/dist/src/schedule/session.js.map +1 -1
- package/dist/src/schedule/types.d.ts +455 -37
- package/dist/src/schedule/types.d.ts.map +1 -1
- package/dist/src/schedule/types.js +79 -18
- package/dist/src/schedule/types.js.map +1 -1
- package/dist/src/schedule/window.d.ts +30 -9
- package/dist/src/schedule/window.d.ts.map +1 -1
- package/dist/src/schedule/window.js +101 -49
- package/dist/src/schedule/window.js.map +1 -1
- package/dist/src/schematic/index.d.ts +287 -0
- package/dist/src/schematic/index.d.ts.map +1 -0
- package/dist/src/schematic/index.js +216 -0
- package/dist/src/schematic/index.js.map +1 -0
- package/dist/src/schematic/kinds.d.ts +501 -0
- package/dist/src/schematic/kinds.d.ts.map +1 -0
- package/dist/src/schematic/kinds.js +1027 -0
- package/dist/src/schematic/kinds.js.map +1 -0
- package/dist/src/schematic/layers.d.ts +74 -0
- package/dist/src/schematic/layers.d.ts.map +1 -0
- package/dist/src/schematic/layers.js +99 -0
- package/dist/src/schematic/layers.js.map +1 -0
- package/dist/src/schematic/library.d.ts +202 -0
- package/dist/src/schematic/library.d.ts.map +1 -0
- package/dist/src/schematic/library.js +244 -0
- package/dist/src/schematic/library.js.map +1 -0
- package/dist/src/schematic/payload.d.ts +8310 -0
- package/dist/src/schematic/payload.d.ts.map +1 -0
- package/dist/src/schematic/payload.js +446 -0
- package/dist/src/schematic/payload.js.map +1 -0
- package/dist/src/schematic/schematic.d.ts +27 -0
- package/dist/src/schematic/schematic.d.ts.map +1 -0
- package/dist/src/schematic/schematic.js +17 -0
- package/dist/src/schematic/schematic.js.map +1 -0
- package/dist/src/schematic/shapes.d.ts +150 -0
- package/dist/src/schematic/shapes.d.ts.map +1 -0
- package/dist/src/schematic/shapes.js +171 -0
- package/dist/src/schematic/shapes.js.map +1 -0
- package/dist/src/schematic/templates.d.ts +96 -0
- package/dist/src/schematic/templates.d.ts.map +1 -0
- package/dist/src/schematic/templates.js +91 -0
- package/dist/src/schematic/templates.js.map +1 -0
- package/dist/src/schematic/types.d.ts +5766 -0
- package/dist/src/schematic/types.d.ts.map +1 -0
- package/dist/src/schematic/types.js +688 -0
- package/dist/src/schematic/types.js.map +1 -0
- package/dist/src/schematic/window.d.ts +213 -0
- package/dist/src/schematic/window.d.ts.map +1 -0
- package/dist/src/schematic/window.js +340 -0
- package/dist/src/schematic/window.js.map +1 -0
- package/dist/src/sheet/bridge.d.ts +19 -0
- package/dist/src/sheet/bridge.d.ts.map +1 -1
- package/dist/src/sheet/bridge.js +28 -21
- package/dist/src/sheet/bridge.js.map +1 -1
- package/dist/src/sheet/editing-bridge.d.ts +4 -2
- package/dist/src/sheet/editing-bridge.d.ts.map +1 -1
- package/dist/src/sheet/editing-bridge.js +8 -2
- package/dist/src/sheet/editing-bridge.js.map +1 -1
- package/dist/src/sheet/editing-types.d.ts +9 -5
- package/dist/src/sheet/editing-types.d.ts.map +1 -1
- package/dist/src/sheet/editing-types.js +9 -5
- package/dist/src/sheet/editing-types.js.map +1 -1
- package/dist/src/sheet/index.d.ts +84 -54
- package/dist/src/sheet/index.d.ts.map +1 -1
- package/dist/src/sheet/index.js +81 -53
- package/dist/src/sheet/index.js.map +1 -1
- package/dist/src/sheet/library.d.ts +13 -8
- package/dist/src/sheet/library.d.ts.map +1 -1
- package/dist/src/sheet/library.js +13 -8
- package/dist/src/sheet/library.js.map +1 -1
- package/dist/src/sheet/optimise.d.ts +69 -0
- package/dist/src/sheet/optimise.d.ts.map +1 -0
- package/dist/src/sheet/optimise.js +81 -0
- package/dist/src/sheet/optimise.js.map +1 -0
- package/dist/src/sheet/record.d.ts +1 -1
- package/dist/src/sheet/record.js +2 -2
- package/dist/src/sheet/record.js.map +1 -1
- package/dist/src/sheet/registers.d.ts +157 -133
- package/dist/src/sheet/registers.d.ts.map +1 -1
- package/dist/src/sheet/registers.js +157 -133
- package/dist/src/sheet/registers.js.map +1 -1
- package/dist/src/sheet/root.d.ts +6 -1
- package/dist/src/sheet/root.d.ts.map +1 -1
- package/dist/src/sheet/root.js +17 -5
- package/dist/src/sheet/root.js.map +1 -1
- package/dist/src/sheet/sheet.d.ts +696 -590
- package/dist/src/sheet/sheet.d.ts.map +1 -1
- package/dist/src/sheet/sheet.js +49 -15
- package/dist/src/sheet/sheet.js.map +1 -1
- package/dist/src/sheet/sub-rows.d.ts +106 -76
- package/dist/src/sheet/sub-rows.d.ts.map +1 -1
- package/dist/src/sheet/sub-rows.js +106 -76
- package/dist/src/sheet/sub-rows.js.map +1 -1
- package/dist/src/sheet/types.d.ts +57 -20
- package/dist/src/sheet/types.d.ts.map +1 -1
- package/dist/src/sheet/types.js +4 -8
- package/dist/src/sheet/types.js.map +1 -1
- package/dist/src/studio/builder.d.ts +3 -153
- package/dist/src/studio/builder.d.ts.map +1 -1
- package/dist/src/studio/builder.js +1 -1
- package/dist/src/studio/canvas.d.ts +5 -4
- package/dist/src/studio/canvas.d.ts.map +1 -1
- package/dist/src/studio/canvas.js +8 -7
- package/dist/src/studio/canvas.js.map +1 -1
- package/dist/src/studio/component.d.ts +30 -20
- package/dist/src/studio/component.d.ts.map +1 -1
- package/dist/src/studio/component.js +26 -61
- package/dist/src/studio/component.js.map +1 -1
- package/dist/src/studio/index.d.ts +2 -2
- package/dist/src/studio/index.d.ts.map +1 -1
- package/dist/src/studio/index.js +1 -1
- package/dist/src/studio/index.js.map +1 -1
- package/dist/src/studio/inspector.d.ts +10 -39
- package/dist/src/studio/inspector.d.ts.map +1 -1
- package/dist/src/studio/inspector.js +11 -31
- package/dist/src/studio/inspector.js.map +1 -1
- package/dist/src/studio/library.d.ts +3 -169
- package/dist/src/studio/library.d.ts.map +1 -1
- package/dist/src/studio/library.js +1 -1
- package/dist/src/studio/page.d.ts +0 -8
- package/dist/src/studio/page.d.ts.map +1 -1
- package/dist/src/studio/pages.d.ts +17 -591
- package/dist/src/studio/pages.d.ts.map +1 -1
- package/dist/src/studio/pages.js +17 -44
- package/dist/src/studio/pages.js.map +1 -1
- package/dist/src/studio/palette.d.ts +2 -7
- package/dist/src/studio/palette.d.ts.map +1 -1
- package/dist/src/studio/palette.js +4 -5
- package/dist/src/studio/palette.js.map +1 -1
- package/dist/src/studio/publish.d.ts +8 -18
- package/dist/src/studio/publish.d.ts.map +1 -1
- package/dist/src/studio/publish.js +10 -36
- package/dist/src/studio/publish.js.map +1 -1
- package/dist/src/utils/derive.d.ts +12 -12
- package/dist/src/utils/derive.d.ts.map +1 -1
- package/dist/src/utils/derive.js +5 -2
- package/dist/src/utils/derive.js.map +1 -1
- package/dist/src/utils/keyed-rows.d.ts +41 -0
- package/dist/src/utils/keyed-rows.d.ts.map +1 -0
- package/dist/src/utils/keyed-rows.js +64 -0
- package/dist/src/utils/keyed-rows.js.map +1 -0
- package/dist/src/utils/optimise.d.ts +79 -0
- package/dist/src/utils/optimise.d.ts.map +1 -0
- package/dist/src/utils/optimise.js +46 -0
- package/dist/src/utils/optimise.js.map +1 -0
- package/dist/src/utils/ordered-source.d.ts.map +1 -1
- package/dist/src/utils/ordered-source.js +14 -5
- package/dist/src/utils/ordered-source.js.map +1 -1
- package/dist/test/allocation/allocation.examples.d.ts +1900 -1610
- package/dist/test/allocation/allocation.examples.d.ts.map +1 -1
- package/dist/test/allocation/allocation.examples.js +179 -89
- package/dist/test/allocation/allocation.examples.js.map +1 -1
- package/dist/test/allocation/optimise.examples.d.ts +109 -0
- package/dist/test/allocation/optimise.examples.d.ts.map +1 -0
- package/dist/test/allocation/optimise.examples.js +223 -0
- package/dist/test/allocation/optimise.examples.js.map +1 -0
- package/dist/test/bind/data/data.examples.d.ts +1172 -514
- package/dist/test/bind/data/data.examples.d.ts.map +1 -1
- package/dist/test/bind/data/data.examples.js +284 -164
- package/dist/test/bind/data/data.examples.js.map +1 -1
- package/dist/test/bind/record/record.examples.d.ts +457 -428
- package/dist/test/bind/record/record.examples.d.ts.map +1 -1
- package/dist/test/bind/record/record.examples.js +41 -21
- package/dist/test/bind/record/record.examples.js.map +1 -1
- package/dist/test/calendar/calendar-records.examples.d.ts +162 -170
- package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
- package/dist/test/calendar/calendar-records.examples.js +20 -12
- package/dist/test/calendar/calendar-records.examples.js.map +1 -1
- package/dist/test/calendar/calendar-windows.examples.d.ts +9 -0
- package/dist/test/calendar/calendar-windows.examples.d.ts.map +1 -0
- package/dist/test/calendar/calendar-windows.examples.js +111 -0
- package/dist/test/calendar/calendar-windows.examples.js.map +1 -0
- package/dist/test/calendar/calendar.examples.d.ts +1172 -915
- package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
- package/dist/test/calendar/calendar.examples.js +211 -124
- package/dist/test/calendar/calendar.examples.js.map +1 -1
- package/dist/test/calendar/optimise.examples.d.ts +132 -0
- package/dist/test/calendar/optimise.examples.d.ts.map +1 -0
- package/dist/test/calendar/optimise.examples.js +75 -0
- package/dist/test/calendar/optimise.examples.js.map +1 -0
- package/dist/test/examples-package.d.ts +49 -16
- package/dist/test/examples-package.d.ts.map +1 -1
- package/dist/test/examples-package.js +138 -49
- package/dist/test/examples-package.js.map +1 -1
- package/dist/test/flowchart/flowchart.examples.d.ts +3841 -2840
- package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
- package/dist/test/flowchart/flowchart.examples.js +211 -121
- package/dist/test/flowchart/flowchart.examples.js.map +1 -1
- package/dist/test/plan/optimise.examples.d.ts +207 -0
- package/dist/test/plan/optimise.examples.d.ts.map +1 -0
- package/dist/test/plan/optimise.examples.js +98 -0
- package/dist/test/plan/optimise.examples.js.map +1 -0
- package/dist/test/plan/plan-events.examples.d.ts +4055 -3279
- package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-events.examples.js +492 -319
- package/dist/test/plan/plan-events.examples.js.map +1 -1
- package/dist/test/plan/plan-nested.examples.d.ts +1829 -0
- package/dist/test/plan/plan-nested.examples.d.ts.map +1 -0
- package/dist/test/plan/plan-nested.examples.js +321 -0
- package/dist/test/plan/plan-nested.examples.js.map +1 -0
- package/dist/test/plan/plan-records.examples.d.ts +391 -244
- package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-records.examples.js +186 -65
- package/dist/test/plan/plan-records.examples.js.map +1 -1
- package/dist/test/plan/plan-windows.examples.d.ts +1978 -803
- package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-windows.examples.js +269 -99
- package/dist/test/plan/plan-windows.examples.js.map +1 -1
- package/dist/test/plan/plan.examples.d.ts +2238 -5726
- package/dist/test/plan/plan.examples.d.ts.map +1 -1
- package/dist/test/plan/plan.examples.js +846 -973
- package/dist/test/plan/plan.examples.js.map +1 -1
- package/dist/test/query/query.examples.d.ts +5221 -3005
- package/dist/test/query/query.examples.d.ts.map +1 -1
- package/dist/test/query/query.examples.js +169 -118
- package/dist/test/query/query.examples.js.map +1 -1
- package/dist/test/roster/domain.examples.d.ts +804 -0
- package/dist/test/roster/domain.examples.d.ts.map +1 -1
- package/dist/test/roster/domain.examples.js +3 -3
- package/dist/test/roster/domain.examples.js.map +1 -1
- package/dist/test/roster/optimise.examples.d.ts +485 -0
- package/dist/test/roster/optimise.examples.d.ts.map +1 -0
- package/dist/test/roster/optimise.examples.js +155 -0
- package/dist/test/roster/optimise.examples.js.map +1 -0
- package/dist/test/roster/roster-records.examples.d.ts +364 -404
- package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
- package/dist/test/roster/roster-records.examples.js +40 -26
- package/dist/test/roster/roster-records.examples.js.map +1 -1
- package/dist/test/roster/roster.examples.d.ts +5091 -1424
- package/dist/test/roster/roster.examples.d.ts.map +1 -1
- package/dist/test/roster/roster.examples.js +255 -109
- package/dist/test/roster/roster.examples.js.map +1 -1
- package/dist/test/roster/warehouse.d.ts +150 -7
- package/dist/test/roster/warehouse.d.ts.map +1 -1
- package/dist/test/roster/warehouse.js +36 -11
- package/dist/test/roster/warehouse.js.map +1 -1
- package/dist/test/schedule/schedule.examples.d.ts +2646 -2473
- package/dist/test/schedule/schedule.examples.d.ts.map +1 -1
- package/dist/test/schedule/schedule.examples.js +144 -88
- package/dist/test/schedule/schedule.examples.js.map +1 -1
- package/dist/test/schematic/schematic-records.examples.d.ts +454 -0
- package/dist/test/schematic/schematic-records.examples.d.ts.map +1 -0
- package/dist/test/schematic/schematic-records.examples.js +219 -0
- package/dist/test/schematic/schematic-records.examples.js.map +1 -0
- package/dist/test/schematic/schematic.examples.d.ts +2640 -0
- package/dist/test/schematic/schematic.examples.d.ts.map +1 -0
- package/dist/test/schematic/schematic.examples.js +559 -0
- package/dist/test/schematic/schematic.examples.js.map +1 -0
- package/dist/test/sheet/optimise.examples.d.ts +184 -0
- package/dist/test/sheet/optimise.examples.d.ts.map +1 -0
- package/dist/test/sheet/optimise.examples.js +79 -0
- package/dist/test/sheet/optimise.examples.js.map +1 -0
- package/dist/test/sheet/sheet-records.examples.d.ts +208 -356
- package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
- package/dist/test/sheet/sheet-records.examples.js +66 -29
- package/dist/test/sheet/sheet-records.examples.js.map +1 -1
- package/dist/test/sheet/sheet.examples.d.ts +3650 -3377
- package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
- package/dist/test/sheet/sheet.examples.js +406 -296
- package/dist/test/sheet/sheet.examples.js.map +1 -1
- package/dist/test/studio/component.examples.js +2 -2
- package/dist/test/studio/component.examples.js.map +1 -1
- package/dist/test/studio/page.examples.js +6 -6
- package/dist/test/studio/page.examples.js.map +1 -1
- package/dist/test/studio/studio.examples.d.ts +2329 -873
- package/dist/test/studio/studio.examples.d.ts.map +1 -1
- package/dist/test/studio/studio.examples.js +155 -107
- package/dist/test/studio/studio.examples.js.map +1 -1
- package/package.json +15 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-nested.examples.d.ts","sourceRoot":"","sources":["../../../test/plan/plan-nested.examples.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sCAAsC;AAEtC;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EACQ,YAAY,EAAE,QAAQ,EAAQ,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAiB,OAAO,EAC3I,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AASlC,gEAAgE;AAChE,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;EAAqG,CAAC;AAC3H,4CAA4C;AAC5C,eAAO,MAAM,UAAU;;;EAAqD,CAAC;AAC7E,gGAAgG;AAChG,eAAO,MAAM,SAAS;;;EAA6E,CAAC;AACpG,6DAA6D;AAC7D,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;GAAqI,CAAC;AAC5J;;;;;GAKG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIhB,CAAC;AACH,yBAAyB;AACzB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA8B,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;IAUhC,CAAC;AAEH,6GAA6G;AAC7G,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;IAGhC,CAAC;AAEH,mIAAmI;AACnI,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;IAW/B,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CxB,CAAC;AAEH,qGAAqG;AACrG,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAG3B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,aAAa,+FAAmE,CAAC;AAC9F,gFAAgF;AAChF,eAAO,MAAM,cAAc,gGAAoE,CAAC;AAChG,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uGAAqF,CAAC;AAErH;;;;;GAKG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyBpB,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,6CA8ExB,CAAC;AAEH,uEAAuE;AACvE,eAAO,MAAM,aAAa;;;;;;EAA2E,CAAC;AAQtG,8GAA8G;AAC9G,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0B5B,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,6CAwC7B,CAAC"}
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@elaraai/e3-ui/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
4
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
5
|
+
*/
|
|
6
|
+
/** @jsxImportSource @elaraai/e3-ui */
|
|
7
|
+
/**
|
|
8
|
+
* The works, whose rows nest every collection a Plan reads a cell at a time
|
|
9
|
+
* (#1438), with their nested series index (#1434): each works' jobs and
|
|
10
|
+
* alarms, its load, its crews' hours and a tree of parts, over ten years,
|
|
11
|
+
* sparse and spread evenly over them; and the task that generates them from
|
|
12
|
+
* their sizes. And the Plan over them (#1439):
|
|
13
|
+
*
|
|
14
|
+
* - `planNestedAll`, every series kind over the works — span, heat, table,
|
|
15
|
+
* group, and, switched off to start, chart, events, cards and buckets —
|
|
16
|
+
* paged by rows and by time, each series switched on and off from the
|
|
17
|
+
* library's Series tab, a crew's hours typed into;
|
|
18
|
+
* - `planConflictsTable`, three works' crews' hours typed into, meeting
|
|
19
|
+
* someone else's save in one window.
|
|
20
|
+
*
|
|
21
|
+
* The records the Plan's tests read besides are `plan-nested.fixtures.ts`'s,
|
|
22
|
+
* on no page of the showcase.
|
|
23
|
+
*
|
|
24
|
+
* @packageDocumentation
|
|
25
|
+
*/
|
|
26
|
+
import { ArrayType, DateTimeType, DictType, East, FloatType, IntegerType, NullType, RecursiveType, StringType, StructType, example, some, variant, } from "@elaraai/east";
|
|
27
|
+
import { Box, Button, EventStateType, HStack, Reactive, Slice, Text, UIComponentType, VStack } from "@elaraai/east-ui";
|
|
28
|
+
import { Data, Plan, Record } from "@elaraai/e3-ui";
|
|
29
|
+
import * as e3 from "@elaraai/e3";
|
|
30
|
+
// ============================================================================
|
|
31
|
+
// Works: every series kind, over ten years
|
|
32
|
+
// ============================================================================
|
|
33
|
+
/** Monday 3 January 2022, where the works' first week starts: their ten years run to the end of 2031. */
|
|
34
|
+
const WORKS_START = new Date(Date.UTC(2022, 0, 3));
|
|
35
|
+
/** A works' job: what it makes, when it runs, and its state. */
|
|
36
|
+
export const WorksJob = StructType({ product: StringType, start: DateTimeType, end: DateTimeType, state: EventStateType });
|
|
37
|
+
/** A works' alarm, raised at an instant. */
|
|
38
|
+
export const WorksAlarm = StructType({ code: StringType, at: DateTimeType });
|
|
39
|
+
/** A crew of a works: its name, and its hours each quarter, by the instant they were booked. */
|
|
40
|
+
export const WorksCrew = StructType({ name: StringType, hours: DictType(DateTimeType, FloatType) });
|
|
41
|
+
/** A part of a works: its jobs, and the parts beneath it. */
|
|
42
|
+
export const WorksPart = RecursiveType((self) => StructType({ name: StringType, jobs: DictType(StringType, WorksJob), parts: DictType(StringType, self) }));
|
|
43
|
+
/**
|
|
44
|
+
* A works: where it stands and how it is; its jobs and its alarms, things
|
|
45
|
+
* people drag; its load every four weeks; its crews, each one's hours each
|
|
46
|
+
* quarter; and its parts, a tree, each part's jobs filed under every part
|
|
47
|
+
* above it too.
|
|
48
|
+
*/
|
|
49
|
+
export const Works = StructType({
|
|
50
|
+
name: StringType, site: StringType, status: StringType,
|
|
51
|
+
jobs: DictType(StringType, WorksJob), alarms: DictType(StringType, WorksAlarm), load: DictType(DateTimeType, FloatType),
|
|
52
|
+
crews: DictType(StringType, WorksCrew), parts: DictType(StringType, WorksPart),
|
|
53
|
+
});
|
|
54
|
+
/** The works, by key. */
|
|
55
|
+
export const WorksByKey = DictType(StringType, Works);
|
|
56
|
+
/**
|
|
57
|
+
* A part's jobs over the weeks: one every seventeen weeks from its first, a
|
|
58
|
+
* day or two long, each keyed by the part and its number.
|
|
59
|
+
*/
|
|
60
|
+
export const generateWorksPartJobs = East.function([StringType, IntegerType, IntegerType], DictType(StringType, WorksJob), ($, at, first, weeks) => {
|
|
61
|
+
const start = $.const(WORKS_START);
|
|
62
|
+
const confirmed = $.const(variant("confirmed", null), EventStateType);
|
|
63
|
+
return East.Array.range(0n, weeks.subtract(first).add(16n).divide(17n)).toDict((_$2, j) => East.str `${at}-J${j.add(1n)}`, ($2, j) => {
|
|
64
|
+
const begins = $2.const(start.addWeeks(first.add(j.multiply(17n))).addHours(30n));
|
|
65
|
+
return { product: "part", start: begins, end: begins.addDays(j.remainder(2n).add(1n)), state: confirmed };
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
/** A part at the foot of a works' tree: its jobs over the weeks, from its first, and no parts beneath it. */
|
|
69
|
+
export const generateWorksLeafPart = East.function([StringType, IntegerType, IntegerType], WorksPart, ($, at, first, weeks) => {
|
|
70
|
+
const jobs = $.const(generateWorksPartJobs);
|
|
71
|
+
return $.const({ name: at, jobs: jobs(at, first, weeks), parts: new Map() }, WorksPart);
|
|
72
|
+
});
|
|
73
|
+
/** A works' top part: its jobs over the weeks, from its first, and two parts beneath it, each six weeks on from the one before. */
|
|
74
|
+
export const generateWorksTopPart = East.function([StringType, IntegerType, IntegerType], WorksPart, ($, at, first, weeks) => {
|
|
75
|
+
const jobs = $.const(generateWorksPartJobs);
|
|
76
|
+
const leaf = $.const(generateWorksLeafPart);
|
|
77
|
+
return $.const({
|
|
78
|
+
name: at,
|
|
79
|
+
jobs: jobs(at, first, weeks),
|
|
80
|
+
parts: East.Array.range(0n, 2n).toDict((_$2, k) => East.str `${at}.${k.add(1n)}`, (_$2, k) => leaf(East.str `${at}.${k.add(1n)}`, first.add(k.add(1n).multiply(6n)).remainder(17n), weeks)),
|
|
81
|
+
}, WorksPart);
|
|
82
|
+
});
|
|
83
|
+
/**
|
|
84
|
+
* Works `n` over a number of weeks from Monday 3 January 2022: sparse, and
|
|
85
|
+
* spread evenly over them, each works at its own offset into every cycle so
|
|
86
|
+
* that no two works' items line up and any few weeks hold some — a job every
|
|
87
|
+
* five weeks, one to four days long and every ninth three weeks; an alarm
|
|
88
|
+
* every thirteen weeks; its load every four weeks; two crews' hours each
|
|
89
|
+
* quarter; and three parts, a top part over two, each a job every seventeen
|
|
90
|
+
* weeks. A function of `n` and the weeks alone.
|
|
91
|
+
*/
|
|
92
|
+
export const generateWorks = East.function([IntegerType, IntegerType], Works, ($, n, weeks) => {
|
|
93
|
+
const start = $.const(WORKS_START);
|
|
94
|
+
const sites = $.const(["north", "south", "east", "west"], ArrayType(StringType));
|
|
95
|
+
const statuses = $.const(["running", "idle", "down"], ArrayType(StringType));
|
|
96
|
+
const products = $.const(["cap", "lid", "tub", "jar"], ArrayType(StringType));
|
|
97
|
+
const confirmed = $.const(variant("confirmed", null), EventStateType);
|
|
98
|
+
const topPart = $.const(generateWorksTopPart);
|
|
99
|
+
const number = $.const(n.add(10001n));
|
|
100
|
+
// Its offset into the five weeks between its jobs, in days: thirty-five works in turn take every one of them.
|
|
101
|
+
const shift = $.const(n.multiply(8n).remainder(35n));
|
|
102
|
+
return {
|
|
103
|
+
name: East.str `Works ${number}`,
|
|
104
|
+
site: sites.get(n.remainder(4n)),
|
|
105
|
+
status: statuses.get(n.remainder(3n)),
|
|
106
|
+
jobs: East.Array.range(0n, weeks.divide(5n)).toDict((_$2, j) => East.str `J-${number}-${j.add(1n)}`, ($2, j) => {
|
|
107
|
+
const begins = $2.const(start.addDays(j.multiply(35n).add(shift)).addHours(n.remainder(24n)));
|
|
108
|
+
const days = $2.const(j.remainder(9n).equal(8n).ifElse(() => 21n, () => j.remainder(4n).add(1n)));
|
|
109
|
+
return { product: products.get(j.remainder(4n)), start: begins, end: begins.addDays(days), state: confirmed };
|
|
110
|
+
}),
|
|
111
|
+
alarms: East.Array.range(0n, weeks.divide(13n)).toDict((_$2, a) => East.str `A-${number}-${a.add(1n)}`, (_$2, a) => ({ code: East.str `E${a.remainder(9n).add(1n)}`, at: start.addDays(a.multiply(91n).add(n.multiply(11n).remainder(91n))).addHours(6n) })),
|
|
112
|
+
load: East.Array.range(0n, weeks.divide(4n)).toDict((_$2, m) => start.addWeeks(m.multiply(4n).add(n.remainder(4n))), (_$2, m) => n.multiply(7n).add(m).remainder(100n).toFloat().divide(100.0)),
|
|
113
|
+
crews: East.Array.range(0n, 2n).toDict((_$2, c) => East.str `C-${number}-${c.add(1n)}`, (_$2, c) => ({
|
|
114
|
+
name: East.str `Crew ${c.add(1n)}`,
|
|
115
|
+
hours: East.Array.range(0n, weeks.divide(13n)).toDict((_$3, q) => start.addWeeks(q.multiply(13n).add(n.add(c.multiply(6n)).remainder(13n))), (_$3, q) => n.add(q).add(c.multiply(5n)).remainder(60n).add(420n).toFloat()),
|
|
116
|
+
})),
|
|
117
|
+
parts: East.Array.range(0n, 1n).toDict((_$2, k) => East.str `P${number}.${k.add(1n)}`, (_$2, k) => topPart(East.str `P${number}.${k.add(1n)}`, n.remainder(17n), weeks)),
|
|
118
|
+
};
|
|
119
|
+
});
|
|
120
|
+
/** The first `rows` works over a number of weeks, by key: `W-` and each one's number plus 10,001. */
|
|
121
|
+
export const generateWorksAll = East.function([IntegerType, IntegerType], WorksByKey, ($, rows, weeks) => {
|
|
122
|
+
const works = $.const(generateWorks);
|
|
123
|
+
return East.Array.range(0n, rows).toDict((_$2, n) => East.str `W-${n.add(10001n)}`, (_$2, n) => works(n, weeks));
|
|
124
|
+
});
|
|
125
|
+
/**
|
|
126
|
+
* How many works the task generates: the two hundred the record starts with.
|
|
127
|
+
* A page runs every task of its area as the area starts, so the showcase
|
|
128
|
+
* generates no more than it shows; a stress run writes two thousand.
|
|
129
|
+
*/
|
|
130
|
+
export const planWorksRows = e3.input("plan_works_rows", IntegerType, variant("value", 200n));
|
|
131
|
+
/** How many weeks of each works' collections the task generates: ten years'. */
|
|
132
|
+
export const planWorksWeeks = e3.input("plan_works_weeks", IntegerType, variant("value", 522n));
|
|
133
|
+
/** The task that generates the works from their sizes. */
|
|
134
|
+
export const planWorksGenerated = e3.task("plan_works_generated", [planWorksRows, planWorksWeeks], generateWorksAll);
|
|
135
|
+
/**
|
|
136
|
+
* The works, two hundred of them over ten years, some 90,000 items: read lean
|
|
137
|
+
* a page at a time and their collections a cell at a time through their nested
|
|
138
|
+
* series index, never whole. Made as the package is exported, never as a page
|
|
139
|
+
* loads the example. A stress run writes two thousand through the patch door.
|
|
140
|
+
*/
|
|
141
|
+
export const planWorks = e3.record("plan_works", WorksByKey, {
|
|
142
|
+
initial: () => East.compile(generateWorksAll, [])(200n, 522n),
|
|
143
|
+
indexes: (index) => ({
|
|
144
|
+
// The works by name: the rail's default order.
|
|
145
|
+
plan_works_by_name: index.on(["name"]),
|
|
146
|
+
// The works by site and state: what the rail narrows by.
|
|
147
|
+
plan_works_by_site_status: index.on(["site", "status"]),
|
|
148
|
+
// Every collection of a works in time: its jobs a span each, its alarms an instant each, its load and its crews'
|
|
149
|
+
// hours at their instants, the works keeping their crews' sums, and its parts' jobs filed under every part above them.
|
|
150
|
+
plan_works_in_time: index.nested({
|
|
151
|
+
collections: {
|
|
152
|
+
jobs: index.nested.items({ from: "start", to: "end" }),
|
|
153
|
+
alarms: index.nested.items({ at: "at" }),
|
|
154
|
+
load: index.nested.values(),
|
|
155
|
+
crews: index.nested.rows({ hours: index.nested.values({ rollup: "sum" }) }),
|
|
156
|
+
parts: index.nested.rows({ jobs: index.nested.items({ from: "start", to: "end" }, { rollup: true }), parts: index.nested.recursive() }),
|
|
157
|
+
},
|
|
158
|
+
tile: "week",
|
|
159
|
+
summary: "month",
|
|
160
|
+
}),
|
|
161
|
+
}),
|
|
162
|
+
mutations: (mutation) => ({
|
|
163
|
+
// The works' patch door: a canvas's Save commits through it, by the works' key and each item's.
|
|
164
|
+
patch: mutation.patch(),
|
|
165
|
+
}),
|
|
166
|
+
});
|
|
167
|
+
/**
|
|
168
|
+
* Every series kind a Plan reads a cell at a time, over the works and their
|
|
169
|
+
* ten years (#1438): each works' jobs as runs and its alarms as decisions,
|
|
170
|
+
* its load as a heat strip, its crews' hours as a table whose works row draws
|
|
171
|
+
* their sums as e3 keeps them, and its parts as a tree whose folded parents
|
|
172
|
+
* draw their bands from the jobs e3 files under them; and, switched off to
|
|
173
|
+
* start, its load as a line, its alarms as exception marks and as tiles, and
|
|
174
|
+
* its jobs as chips. The rail pages the works and narrows them by site and
|
|
175
|
+
* state; the canvas pages them by rows and by time, reading the cells around
|
|
176
|
+
* the rows in view, and shades a collection from its totals past 10,000
|
|
177
|
+
* items. The series are picked: the library's Series tab switches each on and
|
|
178
|
+
* off. A moved job is a draft of its works read whole, saved by key through
|
|
179
|
+
* the patch door.
|
|
180
|
+
*/
|
|
181
|
+
export const planNestedAll = example({
|
|
182
|
+
keywords: [
|
|
183
|
+
"Plan", "Slice", "Slice.bindRecords", "rows", "rail", "paged", "Data.bindPaged", "index.nested", "nested series index",
|
|
184
|
+
"cell", "subtotals", "bands", "rollup", "tree", "children", "shading", "cap", "large record", "stress", "pick", "Plan.pick",
|
|
185
|
+
"library", "Plan.library.series", "Series tab", "Record.onApply", "keyed", "editing", "Save", "chart", "events", "marks",
|
|
186
|
+
"cards", "chips", "buckets", "tiles", "#1438",
|
|
187
|
+
],
|
|
188
|
+
description: "Every series a Plan reads a cell at a time, over two hundred works and ten years: each works' jobs as runs and its alarms as decisions, its load as a heat strip, its crews' hours as a table whose works row draws their sums as e3 keeps them, and its parts as a tree whose folded parents draw their bands from the jobs e3 files under them; and, switched off to start, its load as a line, its alarms as marks and as tiles, and its jobs as chips — paged by rows and by time, each series switched on and off from the library's Series tab; a moved job drafts its works read whole and saves by key",
|
|
189
|
+
fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
|
|
190
|
+
const works = $.let(Record.bind(planWorks, ["patch"]));
|
|
191
|
+
// One rail: its `rows` source pages the works lean by name, narrowed by site and state, beside their nested index.
|
|
192
|
+
const slice = $.let(Slice.bindRecords("ex.planNestedAll", {
|
|
193
|
+
rows: {
|
|
194
|
+
source: Data.bindPaged(planWorks, { indexes: ["plan_works_by_name", "plan_works_by_site_status", "plan_works_in_time"] }),
|
|
195
|
+
label: "Works", icon: { prefix: "fas", name: "industry" },
|
|
196
|
+
fields: {
|
|
197
|
+
name: { label: "Name" },
|
|
198
|
+
site: { label: "Site", hints: ["north", "south", "east", "west"] },
|
|
199
|
+
status: { label: "Status", hints: ["running", "idle", "down"] },
|
|
200
|
+
},
|
|
201
|
+
search: ["name"],
|
|
202
|
+
},
|
|
203
|
+
}));
|
|
204
|
+
return _jsx(Box, { width: "100%", height: "760px", children: _jsx(Plan, { id: "planNestedAll", slice: { slice }, axis: Plan.axis({ window: { min: new Date("2026-09-28T00:00:00Z"), max: new Date("2026-12-28T00:00:00Z") }, resolution: "week", resolutions: ["week", "month", "quarter", "year"] }),
|
|
205
|
+
// The series picked, as Plan.pick returns them: the Series tab lists each, with its eye.
|
|
206
|
+
pick: Plan.pick("ex.planNestedAll.series", [
|
|
207
|
+
Plan.series.span(Works, {
|
|
208
|
+
key: "works", title: "Jobs", label: (w) => w.name, edit: true,
|
|
209
|
+
runs: Plan.items("jobs", { from: "start", to: "end" }, (job) => ({ label: job.product, state: job.state })),
|
|
210
|
+
decisions: Plan.items("alarms", { at: "at" }, () => ({ applied: false })),
|
|
211
|
+
}),
|
|
212
|
+
Plan.series.heat(Works, {
|
|
213
|
+
key: "load", title: "Load", label: (w) => w.name,
|
|
214
|
+
cells: Plan.heatCells(Plan.values("load", (v) => ({ value: some(v) })), { min: 0, max: 1 }),
|
|
215
|
+
}),
|
|
216
|
+
Plan.series.table(Works, {
|
|
217
|
+
key: "crews", title: "Crew hours", label: (w) => w.name, aggregate: "sum", collapsed: true,
|
|
218
|
+
// A crew's hours are typed into, a week at a time: the works' sum above moves at once.
|
|
219
|
+
children: Plan.children("crews", [Plan.series.table(WorksCrew, {
|
|
220
|
+
key: "crew", title: "Crew", label: (c) => c.name,
|
|
221
|
+
cells: Plan.tableCells(Plan.values("hours", (h) => ({ value: some(h) }))), edit: true,
|
|
222
|
+
})]),
|
|
223
|
+
}),
|
|
224
|
+
Plan.series.group(Works, {
|
|
225
|
+
key: "assembly", title: "Parts", label: (w) => w.name, collapsed: true,
|
|
226
|
+
children: Plan.children("parts", [Plan.series.span(WorksPart, {
|
|
227
|
+
key: "parts", title: "Part", label: (p) => p.name, children: "parts", rollup: "union", collapsed: true,
|
|
228
|
+
runs: Plan.items("jobs", { from: "start", to: "end" }, (job) => ({ label: job.product, state: job.state })),
|
|
229
|
+
})]),
|
|
230
|
+
}),
|
|
231
|
+
// The other kinds over the same collections, switched off to start: the load as a line, the alarms as
|
|
232
|
+
// exception marks and as tiles, the jobs as chips.
|
|
233
|
+
Plan.series.chart(Works, {
|
|
234
|
+
key: "load-line", title: "Load line", label: (w) => w.name,
|
|
235
|
+
layers: [Plan.line(Plan.values("load", (v) => ({ y: v })))],
|
|
236
|
+
}),
|
|
237
|
+
Plan.series.events(Works, {
|
|
238
|
+
key: "alarm-marks", title: "Alarms", label: (w) => w.name,
|
|
239
|
+
marks: Plan.items("alarms", { at: "at" }, (alarm) => ({ kind: variant("exception", null), label: some(alarm.code) })),
|
|
240
|
+
}),
|
|
241
|
+
Plan.series.cards(Works, {
|
|
242
|
+
key: "job-chips", title: "Job chips", label: (w) => w.name,
|
|
243
|
+
chips: Plan.items("jobs", { from: "start", to: "end" }, (job) => ({ label: job.product, state: job.state })),
|
|
244
|
+
}),
|
|
245
|
+
Plan.series.buckets(Works, {
|
|
246
|
+
key: "alarm-tiles", title: "Alarm tiles", label: (w) => w.name,
|
|
247
|
+
events: Plan.items("alarms", { at: "at" }, (alarm) => ({ state: variant("confirmed", null), label: some(alarm.code) })),
|
|
248
|
+
}),
|
|
249
|
+
], { hidden: ["load-line", "alarm-marks", "job-chips", "alarm-tiles"] }), library: [Plan.library.series()], editing: { onApply: Record.onApply(works, { keyed: true }) }, style: { height: "fill" } }) });
|
|
250
|
+
} }))),
|
|
251
|
+
inputs: [],
|
|
252
|
+
});
|
|
253
|
+
/** A works of the conflicts example: its name and its crews' hours. */
|
|
254
|
+
export const ConflictWorks = StructType({ name: StringType, crews: DictType(StringType, WorksCrew) });
|
|
255
|
+
/** Each week's Monday from 28 Sep 2026, thirteen of them: the weeks a crew's hours are booked in. */
|
|
256
|
+
const CONFLICT_WEEKS = Array.from({ length: 13 }, (_, i) => new Date(Date.UTC(2026, 8, 28 + 7 * i)));
|
|
257
|
+
/** A crew's hours: its base each week, a little more each week after. */
|
|
258
|
+
const crewHours = (base) => new Map(CONFLICT_WEEKS.map((week, i) => [week, base + 2 * i]));
|
|
259
|
+
/** The works the conflicts example edits, in a record of their own, so no other example's edits meet them. */
|
|
260
|
+
export const planConflictWorks = e3.record("plan_conflict_works", DictType(StringType, ConflictWorks), {
|
|
261
|
+
initial: new Map([
|
|
262
|
+
["W-N", { name: "North works", crews: new Map([["C-1", { name: "Crew 1", hours: crewHours(440) }], ["C-2", { name: "Crew 2", hours: crewHours(420) }]]) }],
|
|
263
|
+
["W-S", { name: "South works", crews: new Map([["C-1", { name: "Crew 1", hours: crewHours(400) }], ["C-2", { name: "Crew 2", hours: crewHours(380) }]]) }],
|
|
264
|
+
["W-E", { name: "East works", crews: new Map([["C-1", { name: "Crew 1", hours: crewHours(460) }], ["C-2", { name: "Crew 2", hours: crewHours(450) }]]) }],
|
|
265
|
+
]),
|
|
266
|
+
indexes: (index) => ({
|
|
267
|
+
// The works by name: the rail's order.
|
|
268
|
+
plan_conflict_works_by_name: index.on(["name"]),
|
|
269
|
+
// The crews' hours at their instants, the works keeping their crews' sums.
|
|
270
|
+
plan_conflict_works_in_time: index.nested({
|
|
271
|
+
collections: { crews: index.nested.rows({ hours: index.nested.values({ rollup: "sum" }) }) },
|
|
272
|
+
tile: "week",
|
|
273
|
+
summary: "month",
|
|
274
|
+
}),
|
|
275
|
+
}),
|
|
276
|
+
mutations: (mutation) => ({
|
|
277
|
+
// The works' patch door: the canvas's Save commits through it, by the works' key and each item's.
|
|
278
|
+
patch: mutation.patch(),
|
|
279
|
+
// Someone else's save: every crew's hours 10 more in every week.
|
|
280
|
+
elsewhere: mutation.reduce(East.function([DictType(StringType, ConflictWorks)], DictType(StringType, ConflictWorks), (_$, works) => works.map((_$2, w) => ({
|
|
281
|
+
name: w.name,
|
|
282
|
+
crews: w.crews.map((_$3, crew) => ({ name: crew.name, hours: crew.hours.map((_$4, hours) => hours.add(10.0)) })),
|
|
283
|
+
})))),
|
|
284
|
+
}),
|
|
285
|
+
});
|
|
286
|
+
/**
|
|
287
|
+
* Your edits meeting someone else's save, in one window: type a crew's hours
|
|
288
|
+
* for a week, then press Someone else saves, which saves another person's
|
|
289
|
+
* change to the same works — every crew's hours 10 more in every week. The
|
|
290
|
+
* week you typed is a conflict, named by its works and its crew, waiting for
|
|
291
|
+
* you to choose. Each press saves their change again.
|
|
292
|
+
*/
|
|
293
|
+
export const planConflictsTable = example({
|
|
294
|
+
keywords: ["Plan", "conflict", "conflicts", "someone else", "Choose", "table", "typed", "crew", "hours", "Plan.series.table", "Plan.children", "Record.onApply", "mutate", "Button", "Save"],
|
|
295
|
+
description: "Your edits meeting someone else's save, in one window — type a crew's hours for a week, then press Someone else saves, which saves another person's change to the same works (every crew's hours 10 more in every week), so yours conflict, named by the works and the crew, and wait to be chosen",
|
|
296
|
+
fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
|
|
297
|
+
const works = $.let(Record.bind(planConflictWorks, ["patch"]));
|
|
298
|
+
const others = $.let(Record.bind(planConflictWorks, ["elsewhere"]));
|
|
299
|
+
const theirs = $.const(East.function([], NullType, ($) => { $(others.mutate.elsewhere()); }));
|
|
300
|
+
const slice = $.let(Slice.bindRecords("ex.planConflictsTable", {
|
|
301
|
+
rows: {
|
|
302
|
+
source: Data.bindPaged(planConflictWorks, { indexes: ["plan_conflict_works_by_name", "plan_conflict_works_in_time"] }),
|
|
303
|
+
label: "Works", icon: { prefix: "fas", name: "industry" },
|
|
304
|
+
fields: { name: { label: "Name" } },
|
|
305
|
+
search: ["name"],
|
|
306
|
+
},
|
|
307
|
+
}));
|
|
308
|
+
return _jsxs(VStack, { gap: "3", align: "stretch", children: [_jsxs(HStack, { gap: "3", children: [_jsx(Button, { variant: "outline", onClick: theirs, loading: others.mutate.pending(), children: "Someone else saves" }), _jsx(Text, { color: "fg.muted", children: "Their change: every crew's hours 10 more in every week" })] }), _jsx(Box, { width: "100%", height: "560px", children: _jsx(Plan, { id: "planConflictsTable", slice: { slice }, axis: Plan.axis({ window: { min: new Date("2026-09-28T00:00:00Z"), max: new Date("2026-12-28T00:00:00Z") }, resolution: "week", resolutions: ["week", "month", "quarter"] }), series: [
|
|
309
|
+
Plan.series.table(ConflictWorks, {
|
|
310
|
+
key: "crews", title: "Crew hours", label: (w) => w.name, aggregate: "sum",
|
|
311
|
+
// A crew's hours are typed into, a week at a time: the works' sum above moves at once.
|
|
312
|
+
children: Plan.children("crews", [Plan.series.table(WorksCrew, {
|
|
313
|
+
key: "crew", title: "Crew", label: (c) => c.name,
|
|
314
|
+
cells: Plan.tableCells(Plan.values("hours", (h) => ({ value: some(h) }))), edit: true,
|
|
315
|
+
})]),
|
|
316
|
+
}),
|
|
317
|
+
], editing: { onApply: Record.onApply(works, { keyed: true }) }, style: { height: "fill" } }) })] });
|
|
318
|
+
} }))),
|
|
319
|
+
inputs: [],
|
|
320
|
+
});
|
|
321
|
+
//# sourceMappingURL=plan-nested.examples.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-nested.examples.js","sourceRoot":"","sources":["../../../test/plan/plan-nested.examples.tsx"],"names":[],"mappings":"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"}
|