@elaraai/e3-ui 1.0.98 → 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 +46 -90
- package/dist/src/allocation/index.d.ts.map +1 -1
- package/dist/src/allocation/index.js +5 -5
- package/dist/src/allocation/index.js.map +1 -1
- package/dist/src/bind/data-indexed.d.ts +273 -51
- package/dist/src/bind/data-indexed.d.ts.map +1 -1
- package/dist/src/bind/data-indexed.js +233 -56
- 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 +55 -95
- package/dist/src/calendar/index.d.ts.map +1 -1
- package/dist/src/calendar/index.js +10 -6
- package/dist/src/calendar/index.js.map +1 -1
- 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 +39 -107
- 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 +0 -12
- 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 +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +7 -3
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +12 -3
- 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 +1518 -2
- package/dist/src/plan/builders.d.ts.map +1 -1
- package/dist/src/plan/builders.js +248 -114
- package/dist/src/plan/builders.js.map +1 -1
- package/dist/src/plan/event-rows.d.ts +9 -14
- package/dist/src/plan/event-rows.d.ts.map +1 -1
- package/dist/src/plan/event-rows.js +6 -46
- 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 +147 -125
- package/dist/src/plan/index.d.ts.map +1 -1
- package/dist/src/plan/index.js +135 -122
- package/dist/src/plan/index.js.map +1 -1
- package/dist/src/plan/ir.d.ts +1105 -44
- 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 +1030 -1
- package/dist/src/plan/ordered-source.d.ts.map +1 -1
- package/dist/src/plan/ordered-source.js +48 -6
- 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 +2719 -558
- package/dist/src/plan/plan.d.ts.map +1 -1
- package/dist/src/plan/plan.js +14 -2
- 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 +10 -5
- package/dist/src/plan/root.d.ts.map +1 -1
- package/dist/src/plan/root.js +76 -13
- package/dist/src/plan/root.js.map +1 -1
- package/dist/src/plan/series.d.ts +5140 -4331
- package/dist/src/plan/series.d.ts.map +1 -1
- package/dist/src/plan/series.js +1026 -264
- 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 +178 -18
- package/dist/src/plan/types.d.ts.map +1 -1
- package/dist/src/plan/types.js +69 -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 +47 -91
- package/dist/src/roster/index.d.ts.map +1 -1
- package/dist/src/roster/index.js +6 -6
- package/dist/src/roster/index.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/schedule/cell-checks.js +3 -3
- package/dist/src/schedule/cell-checks.js.map +1 -1
- package/dist/src/schedule/days.d.ts +1 -1
- package/dist/src/schedule/days.js +1 -1
- package/dist/src/schedule/events.d.ts +10 -6
- package/dist/src/schedule/events.d.ts.map +1 -1
- package/dist/src/schedule/events.js +252 -228
- package/dist/src/schedule/events.js.map +1 -1
- 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 +38 -58
- package/dist/src/schedule/record-window.d.ts.map +1 -1
- package/dist/src/schedule/record-window.js +15 -16
- package/dist/src/schedule/record-window.js.map +1 -1
- package/dist/src/schedule/resources.d.ts +1 -1
- package/dist/src/schedule/session.d.ts +1 -1
- package/dist/src/schedule/session.js +1 -1
- package/dist/src/schedule/types.d.ts +29 -1
- package/dist/src/schedule/types.d.ts.map +1 -1
- package/dist/src/schedule/types.js +16 -1
- package/dist/src/schedule/types.js.map +1 -1
- package/dist/src/schematic/index.d.ts +19 -9
- package/dist/src/schematic/index.d.ts.map +1 -1
- package/dist/src/schematic/index.js +19 -9
- package/dist/src/schematic/index.js.map +1 -1
- package/dist/src/schematic/kinds.d.ts +4 -4
- package/dist/src/schematic/kinds.js +9 -9
- package/dist/src/schematic/kinds.js.map +1 -1
- package/dist/src/schematic/payload.d.ts +38 -88
- package/dist/src/schematic/payload.d.ts.map +1 -1
- package/dist/src/schematic/payload.js +4 -4
- package/dist/src/schematic/payload.js.map +1 -1
- package/dist/src/schematic/window.d.ts +8 -7
- package/dist/src/schematic/window.d.ts.map +1 -1
- package/dist/src/schematic/window.js +22 -19
- package/dist/src/schematic/window.js.map +1 -1
- 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/index.d.ts +66 -46
- package/dist/src/sheet/index.d.ts.map +1 -1
- package/dist/src/sheet/index.js +66 -46
- 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/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 +152 -128
- package/dist/src/sheet/registers.d.ts.map +1 -1
- package/dist/src/sheet/registers.js +152 -128
- package/dist/src/sheet/registers.js.map +1 -1
- package/dist/src/sheet/root.d.ts +4 -1
- package/dist/src/sheet/root.d.ts.map +1 -1
- package/dist/src/sheet/root.js +15 -3
- package/dist/src/sheet/root.js.map +1 -1
- package/dist/src/sheet/sheet.d.ts +39 -113
- package/dist/src/sheet/sheet.d.ts.map +1 -1
- package/dist/src/sheet/sheet.js +7 -5
- 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 +19 -62
- package/dist/src/sheet/types.d.ts.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/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 -1598
- 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.map +1 -1
- package/dist/test/allocation/optimise.examples.js +7 -7
- package/dist/test/allocation/optimise.examples.js.map +1 -1
- package/dist/test/bind/data/data.examples.d.ts +1057 -903
- package/dist/test/bind/data/data.examples.d.ts.map +1 -1
- package/dist/test/bind/data/data.examples.js +260 -204
- package/dist/test/bind/data/data.examples.js.map +1 -1
- package/dist/test/bind/record/record.examples.d.ts +457 -426
- 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.map +1 -1
- package/dist/test/calendar/calendar-windows.examples.js +12 -12
- package/dist/test/calendar/calendar-windows.examples.js.map +1 -1
- package/dist/test/calendar/calendar.examples.d.ts +1172 -901
- 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.js +2 -2
- package/dist/test/calendar/optimise.examples.js.map +1 -1
- package/dist/test/examples-package.d.ts +6 -9
- package/dist/test/examples-package.d.ts.map +1 -1
- package/dist/test/examples-package.js +11 -32
- package/dist/test/examples-package.js.map +1 -1
- package/dist/test/flowchart/flowchart.examples.d.ts +3841 -2820
- 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.js +2 -2
- package/dist/test/plan/optimise.examples.js.map +1 -1
- package/dist/test/plan/plan-events.examples.d.ts +4055 -3263
- 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 +328 -362
- package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-records.examples.js +81 -57
- package/dist/test/plan/plan-records.examples.js.map +1 -1
- package/dist/test/plan/plan-windows.examples.d.ts +1756 -1398
- package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-windows.examples.js +161 -128
- package/dist/test/plan/plan-windows.examples.js.map +1 -1
- package/dist/test/plan/plan.examples.d.ts +2238 -5712
- package/dist/test/plan/plan.examples.d.ts.map +1 -1
- package/dist/test/plan/plan.examples.js +839 -968
- 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/optimise.examples.d.ts.map +1 -1
- package/dist/test/roster/optimise.examples.js +7 -7
- package/dist/test/roster/optimise.examples.js.map +1 -1
- package/dist/test/roster/roster-records.examples.d.ts +364 -392
- 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 +4605 -4308
- package/dist/test/roster/roster.examples.d.ts.map +1 -1
- package/dist/test/roster/roster.examples.js +212 -113
- package/dist/test/roster/roster.examples.js.map +1 -1
- package/dist/test/schedule/schedule.examples.d.ts +2646 -2471
- 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 +286 -276
- package/dist/test/schematic/schematic-records.examples.d.ts.map +1 -1
- package/dist/test/schematic/schematic-records.examples.js +52 -38
- package/dist/test/schematic/schematic-records.examples.js.map +1 -1
- package/dist/test/schematic/schematic.examples.d.ts +1842 -1491
- package/dist/test/schematic/schematic.examples.d.ts.map +1 -1
- package/dist/test/schematic/schematic.examples.js +240 -134
- package/dist/test/schematic/schematic.examples.js.map +1 -1
- package/dist/test/sheet/optimise.examples.d.ts +102 -95
- package/dist/test/sheet/optimise.examples.d.ts.map +1 -1
- package/dist/test/sheet/optimise.examples.js +7 -3
- package/dist/test/sheet/optimise.examples.js.map +1 -1
- package/dist/test/sheet/sheet-records.examples.d.ts +175 -214
- package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
- package/dist/test/sheet/sheet-records.examples.js +29 -17
- package/dist/test/sheet/sheet-records.examples.js.map +1 -1
- package/dist/test/sheet/sheet.examples.d.ts +3642 -3353
- package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
- package/dist/test/sheet/sheet.examples.js +389 -282
- 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":"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"}
|
|
@@ -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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"}
|