@elaraai/e3-ui 1.0.98 → 1.0.100
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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowchart.examples.d.ts","sourceRoot":"","sources":["../../../test/flowchart/flowchart.examples.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sCAAsC;AACtC,OAAO,EACH,SAAS,EAAe,YAAY,EAAE,QAAQ,EAAQ,SAAS,EAAgB,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAsB,UAAU,EAAE,UAAU,EACvI,OAAO,EAC/B,MAAM,eAAe,CAAC;AAmDvB,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"flowchart.examples.d.ts","sourceRoot":"","sources":["../../../test/flowchart/flowchart.examples.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sCAAsC;AACtC,OAAO,EACH,SAAS,EAAe,YAAY,EAAE,QAAQ,EAAQ,SAAS,EAAgB,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAsB,UAAU,EAAE,UAAU,EACvI,OAAO,EAC/B,MAAM,eAAe,CAAC;AAmDvB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiCrB,CAAC;AAIH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAoDxB,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,6CAsB7B,CAAC"}
|
|
@@ -53,51 +53,59 @@ import e3 from "@elaraai/e3";
|
|
|
53
53
|
// ============================================================================
|
|
54
54
|
// The depot's flows, by name: each a whole flowchart, written as literals and
|
|
55
55
|
// checked when the package builds.
|
|
56
|
-
export const depotFlows = e3.record("flowchart_depot_flows", Flowchart.Types.Flows,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
|
|
56
|
+
export const depotFlows = e3.record("flowchart_depot_flows", Flowchart.Types.Flows, {
|
|
57
|
+
initial: Flowchart.values({
|
|
58
|
+
"Inbound parcels": {
|
|
59
|
+
description: "From the trailer to the van",
|
|
60
|
+
lanes: [{ key: "intake", label: "Intake" }, { key: "sort", label: "Sort" }, { key: "load", label: "Load" }],
|
|
61
|
+
states: [
|
|
62
|
+
{ key: "ARV", label: "Arrived", lane: "intake" },
|
|
63
|
+
{ key: "SCN", label: "Scanned", lane: "intake" },
|
|
64
|
+
{ key: "CH*", label: "Sort chutes", lane: "sort", members: 12n },
|
|
65
|
+
{ key: "LDD", label: "Loaded", lane: "load" },
|
|
66
|
+
],
|
|
67
|
+
links: [
|
|
68
|
+
{ from: "ARV", to: "SCN" },
|
|
69
|
+
{ from: "SCN", to: "CH*", trigger: "route" },
|
|
70
|
+
{ from: "CH*", to: "LDD" },
|
|
71
|
+
{ from: "SCN", to: "SCN", kind: "observed" },
|
|
72
|
+
],
|
|
73
|
+
triggers: [{ key: "route", label: "route", owner: "sort-planner" }],
|
|
74
|
+
},
|
|
75
|
+
"Returns": {
|
|
76
|
+
description: "From the counter back to the sender",
|
|
77
|
+
lanes: [{ key: "counter", label: "Counter" }, { key: "check", label: "Check" }, { key: "out", label: "Out" }],
|
|
78
|
+
states: [
|
|
79
|
+
{ key: "RCV", label: "Received", lane: "counter" },
|
|
80
|
+
{ key: "INS", label: "Inspected", lane: "check" },
|
|
81
|
+
{ key: "RSD", label: "Resent", lane: "out" },
|
|
82
|
+
],
|
|
83
|
+
links: [{ from: "RCV", to: "INS" }, { from: "INS", to: "RSD" }, { from: "INS", to: "BIN", kind: "observed" }],
|
|
84
|
+
},
|
|
85
|
+
}),
|
|
86
|
+
mutations: (mutation) => ({
|
|
87
|
+
patch: mutation.patch(),
|
|
88
|
+
}),
|
|
89
|
+
});
|
|
86
90
|
// A lone flow, edited on the canvas: a record of flows with one entry, bound
|
|
87
91
|
// with its patch mutation.
|
|
88
|
-
export const collectionFlows = e3.record("flowchart_collection_flows", Flowchart.Types.Flows,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
|
|
92
|
+
export const collectionFlows = e3.record("flowchart_collection_flows", Flowchart.Types.Flows, {
|
|
93
|
+
initial: Flowchart.values({
|
|
94
|
+
"Collections": {
|
|
95
|
+
description: "From the booking to the depot's door",
|
|
96
|
+
lanes: [{ key: "book", label: "Book" }, { key: "van", label: "Van" }, { key: "depot", label: "Depot" }],
|
|
97
|
+
states: [
|
|
98
|
+
{ key: "BKD", label: "Booked", lane: "book" },
|
|
99
|
+
{ key: "CLD", label: "Collected", lane: "van" },
|
|
100
|
+
{ key: "RCV", label: "Received", lane: "depot" },
|
|
101
|
+
],
|
|
102
|
+
links: [{ key: "BKD→CLD", from: "BKD", to: "CLD" }, { key: "CLD→RCV", from: "CLD", to: "RCV" }],
|
|
103
|
+
},
|
|
104
|
+
}),
|
|
105
|
+
mutations: (mutation) => ({
|
|
106
|
+
patch: mutation.patch(),
|
|
107
|
+
}),
|
|
108
|
+
});
|
|
101
109
|
// One flow, for an app that has only one: the host's, read only.
|
|
102
110
|
export const handoverFlow = e3.input("flowchart_handover", Flowchart.Types.Flow, variant("value", Flowchart.value({
|
|
103
111
|
description: "From the last scan to the driver's signature",
|
|
@@ -121,29 +129,43 @@ export const handoverFlow = e3.input("flowchart_handover", Flowchart.Types.Flow,
|
|
|
121
129
|
// of its own, its cards its rows by key, and each indexed on the field the
|
|
122
130
|
// rail narrows it by.
|
|
123
131
|
export const StepTemplate = StructType({ name: StringType, kind: StringType, slots: OptionType(IntegerType) });
|
|
124
|
-
export const stepTemplates = e3.record("flowchart_step_templates", DictType(StringType, StepTemplate),
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
]
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
132
|
+
export const stepTemplates = e3.record("flowchart_step_templates", DictType(StringType, StepTemplate), {
|
|
133
|
+
initial: new Map([
|
|
134
|
+
["ARV", { name: "Arrived", kind: "Intake", slots: none }],
|
|
135
|
+
["SCN", { name: "Scanned", kind: "Intake", slots: none }],
|
|
136
|
+
["CH*", { name: "Sort chutes", kind: "Sort", slots: some(12n) }],
|
|
137
|
+
["HLD", { name: "Held", kind: "Hold", slots: none }],
|
|
138
|
+
["LDD", { name: "Loaded", kind: "Load", slots: none }],
|
|
139
|
+
]),
|
|
140
|
+
indexes: (index) => ({
|
|
141
|
+
flowchart_steps_by_kind: index.on(["kind"]),
|
|
142
|
+
}),
|
|
143
|
+
mutations: (mutation) => ({
|
|
144
|
+
// The step types' patch door: what another writer adds a step type through, the Steps tab's cards following.
|
|
145
|
+
patch: mutation.patch(),
|
|
146
|
+
}),
|
|
147
|
+
});
|
|
134
148
|
export const MoveTemplate = StructType({ kind: Flowchart.Types.Kind, decision: OptionType(StringType), note: StringType });
|
|
135
|
-
export const moveTemplates = e3.record("flowchart_move_templates", DictType(StringType, MoveTemplate),
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
149
|
+
export const moveTemplates = e3.record("flowchart_move_templates", DictType(StringType, MoveTemplate), {
|
|
150
|
+
initial: new Map([
|
|
151
|
+
["Observed", { kind: variant("observed", null), decision: none, note: "Mined from the scans" }],
|
|
152
|
+
["Planned", { kind: variant("planned", null), decision: none, note: "The designed path" }],
|
|
153
|
+
["Routed", { kind: variant("planned", null), decision: some("route"), note: "Governed by the route decision" }],
|
|
154
|
+
]),
|
|
155
|
+
indexes: (index) => ({
|
|
156
|
+
flowchart_moves_by_kind: index.on(["kind"]),
|
|
157
|
+
}),
|
|
158
|
+
});
|
|
141
159
|
export const DecisionOwner = StructType({ name: StringType, desk: StringType });
|
|
142
|
-
export const decisionOwners = e3.record("flowchart_decision_owners", DictType(StringType, DecisionOwner),
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
]
|
|
146
|
-
|
|
160
|
+
export const decisionOwners = e3.record("flowchart_decision_owners", DictType(StringType, DecisionOwner), {
|
|
161
|
+
initial: new Map([
|
|
162
|
+
["sort-planner", { name: "Sort planner", desk: "Sort hall" }],
|
|
163
|
+
["customs-desk", { name: "Customs desk", desk: "Hold bay" }],
|
|
164
|
+
]),
|
|
165
|
+
indexes: (index) => ({
|
|
166
|
+
flowchart_owners_by_desk: index.on(["desk"]),
|
|
167
|
+
}),
|
|
168
|
+
});
|
|
147
169
|
// The depot's own tables (§3.4), each an input of the app's own rows: its
|
|
148
170
|
// steps by phase, the transitions mined from its scans and its decisions.
|
|
149
171
|
// `Flowchart.over` builds one flow from them; a task narrows the rows it
|
|
@@ -187,7 +209,7 @@ export const flowchartFlows = example({
|
|
|
187
209
|
keywords: ["Flowchart", "record", "Flows", "Flowchart.values", "Record.bind", "flow", "many flows", "e3.record", "Flowchart.library.flows", "Flows tab", "New flow"],
|
|
188
210
|
description: "A record of flows by name — the depot's inbound parcels and its returns — bound with its patch mutation, the inbound flow opened first and the Flows tab listing every flow",
|
|
189
211
|
fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
|
|
190
|
-
const flows = $.let(Record.bind(depotFlows
|
|
212
|
+
const flows = $.let(Record.bind(depotFlows));
|
|
191
213
|
return (_jsx(Box, { height: "500px", children: _jsx(Flowchart, { record: flows, flow: "Inbound parcels", library: [Flowchart.library.flows()] }) }));
|
|
192
214
|
} }))),
|
|
193
215
|
inputs: [],
|
|
@@ -211,7 +233,7 @@ export const flowchartVariants = example({
|
|
|
211
233
|
keywords: ["Flowchart", "configurator", "Configurator", "legend", "minimap", "readOnly", "read only", "onSelectState", "onSelectLink", "onSelectTrigger", "onTracePath", "selection", "trace", "callbacks", "data", "onApply", "commit", "requestId", "request id", "Retry", "Record.bind", "commit.patch", "Editing.Types.ApplyResult", "Flows tab", "Flowchart.library.flows", "many flows", "inspector={false}", "library", "Switch", "State", "Reactive"],
|
|
212
234
|
description: "Flowchart configurator — the legend, the minimap and read only, each expression-fed into one live flowchart in its frame over the host's flows by name (data, from the depot's e3 record), its Flows tab over them, Save committed by the host's onApply through the record's patch mutation under the session's request id, a Retry safe to repeat; onSelectState, onSelectLink, onSelectTrigger and onTracePath heard in the aside, with no inspector",
|
|
213
235
|
fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
|
|
214
|
-
const flows = $.let(Record.bind(depotFlows
|
|
236
|
+
const flows = $.let(Record.bind(depotFlows));
|
|
215
237
|
// The host's commit: the open flow's patch through the record's patch mutation under the session's request id, e3's outcome as Save's answer.
|
|
216
238
|
const onApply = $.const(East.asyncFunction([StringType, PatchType(Flowchart.Types.Flows)], Editing.Types.ApplyResult, ($2, requestId, patch) => {
|
|
217
239
|
const outcome = $2.let(flows.commit.patch(requestId, patch));
|
|
@@ -272,21 +294,21 @@ export const flowchartVariants = example({
|
|
|
272
294
|
* click selects a card, and a click on the selected card lets it go.
|
|
273
295
|
*/
|
|
274
296
|
export const flowchartLibrary = example({
|
|
275
|
-
keywords: ["Flowchart", "library", "Flowchart.library.states", "Flowchart.library.transitions", "Flowchart.library.tab", "templates", "state templates", "transition templates", "templates records", "author's tab", "bound data", "Data.bind", "Data.bindPaged", "
|
|
297
|
+
keywords: ["Flowchart", "library", "Flowchart.library.states", "Flowchart.library.transitions", "Flowchart.library.tab", "templates", "state templates", "transition templates", "templates records", "author's tab", "bound data", "Data.bind", "Data.bindPaged", "indexes", "Slice.bindRecords", "source", "narrowing", "Record.bind", "drag", "cards", "Flowchart.patch"],
|
|
276
298
|
description: "A record of flows with its library — the Flows tab, step types and transition types from templates records, and the author's own cards from a record of roles — each tab its own bound data, one Slice.bindRecords rail narrowing each through the source it names, each card a drag source a click selects",
|
|
277
299
|
fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
|
|
278
|
-
const flows = $.let(Record.bind(depotFlows
|
|
300
|
+
const flows = $.let(Record.bind(depotFlows));
|
|
279
301
|
// What a tab reads whole binds with Data.bind, which keeps it loaded beside its pages.
|
|
280
302
|
const steps = $.let(Data.bind(stepTemplates));
|
|
281
303
|
const moves = $.let(Data.bind(moveTemplates));
|
|
282
304
|
const owners = $.let(Data.bind(decisionOwners));
|
|
283
305
|
// One rail over the library's records, a source each (#1346): each tab follows the source it names.
|
|
284
306
|
const slice = $.let(Slice.bindRecords("flowchart.depot", {
|
|
285
|
-
steps: { source: Data.bindPaged(stepTemplates, { indexes: [
|
|
307
|
+
steps: { source: Data.bindPaged(stepTemplates, { indexes: ["flowchart_steps_by_kind"] }), label: "Steps", icon: { prefix: "fas", name: "box" },
|
|
286
308
|
fields: { kind: { label: "Step kind", hints: ["Intake", "Sort", "Hold", "Load"] } } },
|
|
287
|
-
moves: { source: Data.bindPaged(moveTemplates, { indexes: [
|
|
309
|
+
moves: { source: Data.bindPaged(moveTemplates, { indexes: ["flowchart_moves_by_kind"] }), label: "Transitions", icon: { prefix: "fas", name: "arrow-right" },
|
|
288
310
|
fields: { kind: { label: "Transition kind" } } },
|
|
289
|
-
owners: { source: Data.bindPaged(decisionOwners, { indexes: [
|
|
311
|
+
owners: { source: Data.bindPaged(decisionOwners, { indexes: ["flowchart_owners_by_desk"] }), label: "Owners", icon: { prefix: "fas", name: "user-tie" },
|
|
290
312
|
fields: { desk: { label: "Desk", hints: ["Sort hall", "Hold bay"] } } },
|
|
291
313
|
}));
|
|
292
314
|
return (_jsx(Box, { height: "560px", children: _jsx(Flowchart, { record: flows, flow: "Inbound parcels", name: "depot", slice: { slice }, library: [
|
|
@@ -382,7 +404,7 @@ export const flowchartDetail = example({
|
|
|
382
404
|
keywords: ["Flowchart", "record", "Record.bind", "one flow", "one entry", "lone flow", "editing", "builder", "Save", "undo", "redo", "history", "+ LANE", "+ STATE", "connect", "canConnect", "Del", "rename", "move", "authoring", "interactive", "edit", "inspector", "Details", "own Details", "update", "one transaction", "state", "transition", "Button", "Issues"],
|
|
383
405
|
description: "A record's one flow — the collections, from the booking to the depot's door — edited on the canvas: + LANE, lane rename and ×, the + STATE ghost, double-click edit, cross-lane drag, handle-drag connecting and Del, each a draft the history item undoes and Save commits through the record's patch mutation, a canConnect veto keeping transitions out of the booking; and the inspector's own Details by kind — a state's, whose button gives it one more member, and a transition's, whose button marks it observed — each in place of its form, each button's update one transaction",
|
|
384
406
|
fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
|
|
385
|
-
const flows = $.let(Record.bind(collectionFlows
|
|
407
|
+
const flows = $.let(Record.bind(collectionFlows));
|
|
386
408
|
// The connection veto: nothing comes back to the booking, though a
|
|
387
409
|
// drop on BKD from BKD is its in-place transition.
|
|
388
410
|
const canConnect = $.const(East.function([StringType, StringType], BooleanType, (_$2, from, to) => East.equal(to, "BKD").not().or(() => East.equal(from, to))));
|
|
@@ -412,62 +434,56 @@ export const flowchartDetail = example({
|
|
|
412
434
|
});
|
|
413
435
|
// A network's route flowcharts: enough independent record entries to exercise
|
|
414
436
|
// multiple pages and eviction. Each entry remains one complete graph.
|
|
415
|
-
export const indexedFlows = e3.record("flowchart_indexed_flows", Flowchart.Types.Flows,
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
//
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
});
|
|
456
|
-
export const flowsByLane = e3.recordIndex("lane", indexedFlows, {
|
|
457
|
-
keys: East.function([StringType, Flowchart.Types.Flow], SetType(StringType), (_$, _id, flow) => flow.lanes.toSet((_$2, lane) => lane.key)),
|
|
458
|
-
});
|
|
459
|
-
export const flowsByDecisionOwner = e3.recordIndex("decisionOwner", indexedFlows, {
|
|
460
|
-
keys: East.function([StringType, Flowchart.Types.Flow], SetType(OptionType(StringType)), (_$, _id, flow) => flow.triggers.toSet((_$2, trigger) => trigger.owner)),
|
|
437
|
+
export const indexedFlows = e3.record("flowchart_indexed_flows", Flowchart.Types.Flows, {
|
|
438
|
+
initial: Flowchart.values(Object.fromEntries(Array.from({ length: 2048 }, (_, i) => {
|
|
439
|
+
const checks = [
|
|
440
|
+
{ key: "CHK", label: "Checked", lane: "review" },
|
|
441
|
+
{ key: "HLD", label: "Held", lane: "review" },
|
|
442
|
+
{ key: "REL", label: "Released", lane: "review" },
|
|
443
|
+
].slice(0, i % 4);
|
|
444
|
+
const states = [
|
|
445
|
+
{ key: "ARV", label: "Arrived", lane: "intake" },
|
|
446
|
+
{ key: "SCN", label: "Scanned", lane: "intake" },
|
|
447
|
+
...checks,
|
|
448
|
+
{ key: "LDD", label: "Loaded", lane: "dispatch" },
|
|
449
|
+
];
|
|
450
|
+
return [`FLOW-${10000 + i}`, {
|
|
451
|
+
description: ["Inbound parcels", "Returns", "Collections"][i % 3],
|
|
452
|
+
lanes: [{ key: "intake", label: "Intake" },
|
|
453
|
+
...(checks.length ? [{ key: "review", label: "Review" }] : []),
|
|
454
|
+
{ key: "dispatch", label: "Dispatch" }],
|
|
455
|
+
states,
|
|
456
|
+
links: states.slice(1).map((state, j) => ({ from: states[j].key, to: state.key,
|
|
457
|
+
...(j === 0 && i % 5 !== 0 ? { trigger: "route" } : {}) })),
|
|
458
|
+
triggers: i % 5 === 0 ? [] : [{ key: "route", label: "Route", owner: ["sort-planner", "customs-desk", "shift-lead"][Math.floor(i / 4) % 3] }],
|
|
459
|
+
}];
|
|
460
|
+
}))),
|
|
461
|
+
indexes: (index) => ({
|
|
462
|
+
// A flow's name is its record's key: an index of its own, so the Flows tab's
|
|
463
|
+
// search finds a flow by its name (#1346), alone and after a description.
|
|
464
|
+
name: index.key(East.function([StringType, Flowchart.Types.Flow], StringType, (_$, name, _flow) => name)),
|
|
465
|
+
flowchart_by_description: index.on(["description"]),
|
|
466
|
+
flowchart_by_description_name: index.key(East.function([StringType, Flowchart.Types.Flow], StructType({ description: OptionType(StringType), name: StringType }), (_$, name, flow) => ({ description: flow.description, name }))),
|
|
467
|
+
// Slice derives controls from each computed index’s declared key type. Scalar
|
|
468
|
+
// keys use the index name; a composite key supplies its field names.
|
|
469
|
+
stateCount: index.key(East.function([StringType, Flowchart.Types.Flow], IntegerType, (_$, _id, flow) => flow.states.size())),
|
|
470
|
+
flowchart_by_description_state_count: index.key(East.function([StringType, Flowchart.Types.Flow], StructType({ description: OptionType(StringType), stateCount: IntegerType }), (_$, _id, flow) => ({ description: flow.description, stateCount: flow.states.size() }))),
|
|
471
|
+
lane: index.keys(East.function([StringType, Flowchart.Types.Flow], SetType(StringType), (_$, _id, flow) => flow.lanes.toSet((_$2, lane) => lane.key))),
|
|
472
|
+
decisionOwner: index.keys(East.function([StringType, Flowchart.Types.Flow], SetType(OptionType(StringType)), (_$, _id, flow) => flow.triggers.toSet((_$2, trigger) => trigger.owner))),
|
|
473
|
+
}),
|
|
474
|
+
mutations: (mutation) => ({
|
|
475
|
+
patch: mutation.patch(),
|
|
476
|
+
}),
|
|
461
477
|
});
|
|
462
478
|
export const flowchartRecordIndexes = example({
|
|
463
|
-
keywords: ["Flowchart", "record", "indexes", "computed indexes", "state count", "lane", "decision owner", "
|
|
479
|
+
keywords: ["Flowchart", "record", "indexes", "computed indexes", "state count", "lane", "decision owner", "Slice.bindRecords", "flows", "Data.bindPaged", "paging", "Flows tab", "count", "search", "mobile", "Save"],
|
|
464
480
|
description: "2,048 route flowcharts in a paged record, narrowed through the rail's flows source by maintained indexes on name, description, computed state count, lane and decision owner. Choose an exact description plus a state-count range together; lane and owner use exact membership. The Flows tab pages and counts what the rail narrows to, its search box finds a flow by name within it, and drafts keep their original record ID through filtering and Save.",
|
|
465
481
|
fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
|
|
466
|
-
const flows = $.let(Record.bind(indexedFlows
|
|
482
|
+
const flows = $.let(Record.bind(indexedFlows));
|
|
467
483
|
// One rail over the flows (#1346): its `flows` source narrows the Flows tab, which pages and counts what it narrows to.
|
|
468
484
|
const slice = $.let(Slice.bindRecords("flowchart.recordIndexes", {
|
|
469
485
|
flows: {
|
|
470
|
-
source: Data.bindPaged(indexedFlows, { indexes: [
|
|
486
|
+
source: Data.bindPaged(indexedFlows, { indexes: ["name", "flowchart_by_description", "flowchart_by_description_name", "stateCount", "flowchart_by_description_state_count", "lane", "decisionOwner"] }),
|
|
471
487
|
fields: {
|
|
472
488
|
description: { label: "Flows" },
|
|
473
489
|
stateCount: { label: "State count" },
|
|
@@ -489,4 +505,78 @@ export const flowchartRecordIndexes = example({
|
|
|
489
505
|
} }))),
|
|
490
506
|
inputs: [],
|
|
491
507
|
});
|
|
508
|
+
// ============================================================================
|
|
509
|
+
// flowchartConflicts — your edits meeting someone else's save
|
|
510
|
+
// ============================================================================
|
|
511
|
+
/** The flows the conflicts example edits, in a record of their own, so no other example's edits meet them. */
|
|
512
|
+
export const conflictFlows = e3.record("flowchart_conflict_flows", Flowchart.Types.Flows, {
|
|
513
|
+
initial: Flowchart.values({
|
|
514
|
+
"Inbound parcels": {
|
|
515
|
+
description: "From the trailer to the van",
|
|
516
|
+
lanes: [{ key: "intake", label: "Intake" }, { key: "sort", label: "Sort" }, { key: "load", label: "Load" }],
|
|
517
|
+
states: [
|
|
518
|
+
{ key: "ARV", label: "Arrived", lane: "intake" },
|
|
519
|
+
{ key: "SCN", label: "Scanned", lane: "intake" },
|
|
520
|
+
{ key: "CH*", label: "Sort chutes", lane: "sort", members: 12n },
|
|
521
|
+
{ key: "LDD", label: "Loaded", lane: "load" },
|
|
522
|
+
],
|
|
523
|
+
links: [
|
|
524
|
+
{ from: "ARV", to: "SCN" },
|
|
525
|
+
{ from: "SCN", to: "CH*", trigger: "route" },
|
|
526
|
+
{ from: "CH*", to: "LDD" },
|
|
527
|
+
],
|
|
528
|
+
triggers: [{ key: "route", label: "route", owner: "sort-planner" }],
|
|
529
|
+
},
|
|
530
|
+
"Returns": {
|
|
531
|
+
description: "From the counter back to the sender",
|
|
532
|
+
lanes: [{ key: "counter", label: "Counter" }, { key: "check", label: "Check" }, { key: "out", label: "Out" }],
|
|
533
|
+
states: [
|
|
534
|
+
{ key: "RCV", label: "Received", lane: "counter" },
|
|
535
|
+
{ key: "INS", label: "Inspected", lane: "check" },
|
|
536
|
+
{ key: "RSD", label: "Resent", lane: "out" },
|
|
537
|
+
],
|
|
538
|
+
links: [{ from: "RCV", to: "INS" }, { from: "INS", to: "RSD" }],
|
|
539
|
+
},
|
|
540
|
+
}),
|
|
541
|
+
mutations: (mutation) => ({
|
|
542
|
+
// The flows' patch door — every Save commits through it.
|
|
543
|
+
patch: mutation.patch(),
|
|
544
|
+
// Someone else's save: every step of every flow renamed, " (theirs)" put on its name, or taken off again; its lane
|
|
545
|
+
// and its other fields as they were.
|
|
546
|
+
elsewhere: mutation.reduce(East.function([Flowchart.Types.Flows], Flowchart.Types.Flows, (_$, flows) => flows.map((_$2, flow) => ({
|
|
547
|
+
description: flow.description,
|
|
548
|
+
lanes: flow.lanes,
|
|
549
|
+
states: flow.states.map(($3, state) => {
|
|
550
|
+
const named = $3.let(state.label.match({ some: (_$4, label) => label, none: (_$4) => state.key }));
|
|
551
|
+
return {
|
|
552
|
+
key: state.key,
|
|
553
|
+
label: East.value(some(named.endsWith(" (theirs)").ifElse(() => named.replace(" (theirs)", ""), () => named.concat(" (theirs)"))), OptionType(StringType)),
|
|
554
|
+
lane: state.lane,
|
|
555
|
+
members: state.members,
|
|
556
|
+
notes: state.notes,
|
|
557
|
+
};
|
|
558
|
+
}),
|
|
559
|
+
links: flow.links,
|
|
560
|
+
triggers: flow.triggers,
|
|
561
|
+
})))),
|
|
562
|
+
}),
|
|
563
|
+
});
|
|
564
|
+
/**
|
|
565
|
+
* Your edits meeting someone else's save, in one window: edit, then press
|
|
566
|
+
* Someone else saves, which saves another person's change to the same flows —
|
|
567
|
+
* every step renamed. A step you renamed too is a conflict, waiting for you to
|
|
568
|
+
* choose; a step you moved to another lane combines with theirs. Each press
|
|
569
|
+
* saves their change again.
|
|
570
|
+
*/
|
|
571
|
+
export const flowchartConflicts = example({
|
|
572
|
+
keywords: ["Flowchart", "conflict", "conflicts", "combine", "someone else", "Choose", "rename", "step", "Record.bind", "mutate", "Button", "Save"],
|
|
573
|
+
description: "Your edits meeting someone else's save, in one window — rename a step, then press Someone else saves, which saves another person's change to the same flows (every step renamed, \"(theirs)\" put on its name or taken off), so yours conflict and wait to be chosen; a step moved to another lane combines with theirs",
|
|
574
|
+
fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
|
|
575
|
+
const flows = $.let(Record.bind(conflictFlows, ["patch"]));
|
|
576
|
+
const others = $.let(Record.bind(conflictFlows, ["elsewhere"]));
|
|
577
|
+
const theirs = $.const(East.function([], NullType, ($) => { $(others.mutate.elsewhere()); }));
|
|
578
|
+
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 step renamed" })] }), _jsx(Box, { height: "500px", children: _jsx(Flowchart, { name: "conflicts", record: flows, flow: "Inbound parcels", library: [Flowchart.library.flows()] }) })] }));
|
|
579
|
+
} }))),
|
|
580
|
+
inputs: [],
|
|
581
|
+
});
|
|
492
582
|
//# sourceMappingURL=flowchart.examples.js.map
|