@elaraai/e3-ui 1.0.97 → 1.0.98
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/allocation/index.d.ts +258 -7
- package/dist/src/allocation/index.d.ts.map +1 -1
- package/dist/src/allocation/index.js +30 -1
- package/dist/src/allocation/index.js.map +1 -1
- package/dist/src/allocation/types.d.ts +41 -0
- package/dist/src/allocation/types.d.ts.map +1 -1
- package/dist/src/allocation/types.js +35 -0
- package/dist/src/allocation/types.js.map +1 -1
- package/dist/src/bind/data-indexed.d.ts +31 -4
- package/dist/src/bind/data-indexed.d.ts.map +1 -1
- package/dist/src/bind/data-indexed.js +54 -10
- package/dist/src/bind/data-indexed.js.map +1 -1
- package/dist/src/calendar/index.d.ts +540 -14
- package/dist/src/calendar/index.d.ts.map +1 -1
- package/dist/src/calendar/index.js +43 -7
- package/dist/src/calendar/index.js.map +1 -1
- package/dist/src/calendar/paged.d.ts +89 -0
- package/dist/src/calendar/paged.d.ts.map +1 -0
- package/dist/src/calendar/paged.js +148 -0
- package/dist/src/calendar/paged.js.map +1 -0
- package/dist/src/flowchart/payload.d.ts +156 -0
- package/dist/src/flowchart/payload.d.ts.map +1 -1
- package/dist/src/flowchart/window.d.ts +12 -0
- package/dist/src/flowchart/window.d.ts.map +1 -1
- package/dist/src/index.d.ts +11 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +19 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +11 -5
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +28 -7
- package/dist/src/internal.js.map +1 -1
- package/dist/src/plan/builders.d.ts +12 -8
- package/dist/src/plan/builders.d.ts.map +1 -1
- package/dist/src/plan/builders.js +12 -8
- package/dist/src/plan/builders.js.map +1 -1
- package/dist/src/plan/event-rows.d.ts +228 -156
- package/dist/src/plan/event-rows.d.ts.map +1 -1
- package/dist/src/plan/event-rows.js +239 -54
- package/dist/src/plan/event-rows.js.map +1 -1
- package/dist/src/plan/index.d.ts +5 -0
- package/dist/src/plan/index.d.ts.map +1 -1
- package/dist/src/plan/index.js +3 -0
- package/dist/src/plan/index.js.map +1 -1
- package/dist/src/plan/ir.d.ts +70 -0
- package/dist/src/plan/ir.d.ts.map +1 -1
- package/dist/src/plan/ordered-source.d.ts +2038 -1
- package/dist/src/plan/ordered-source.d.ts.map +1 -1
- package/dist/src/plan/ordered-source.js +19 -11
- package/dist/src/plan/ordered-source.js.map +1 -1
- package/dist/src/plan/plan.d.ts +513 -32
- package/dist/src/plan/plan.d.ts.map +1 -1
- package/dist/src/plan/plan.js +119 -32
- package/dist/src/plan/plan.js.map +1 -1
- package/dist/src/plan/root.d.ts +4 -2
- package/dist/src/plan/root.d.ts.map +1 -1
- package/dist/src/plan/root.js +6 -4
- package/dist/src/plan/root.js.map +1 -1
- package/dist/src/plan/series.d.ts +13 -0
- package/dist/src/plan/series.d.ts.map +1 -1
- package/dist/src/plan/series.js +61 -7
- package/dist/src/plan/series.js.map +1 -1
- package/dist/src/plan/types.d.ts +14 -0
- package/dist/src/plan/types.d.ts.map +1 -1
- package/dist/src/plan/types.js +8 -0
- package/dist/src/plan/types.js.map +1 -1
- package/dist/src/roster/index.d.ts +608 -20
- package/dist/src/roster/index.d.ts.map +1 -1
- package/dist/src/roster/index.js +103 -29
- package/dist/src/roster/index.js.map +1 -1
- package/dist/src/roster/library.d.ts +12 -2
- package/dist/src/roster/library.d.ts.map +1 -1
- package/dist/src/roster/library.js +8 -0
- package/dist/src/roster/library.js.map +1 -1
- package/dist/src/roster/lists.d.ts +59 -12
- package/dist/src/roster/lists.d.ts.map +1 -1
- package/dist/src/roster/lists.js +51 -58
- package/dist/src/roster/lists.js.map +1 -1
- package/dist/src/roster/times.d.ts +402 -0
- package/dist/src/roster/times.d.ts.map +1 -1
- package/dist/src/roster/types.d.ts +913 -1
- package/dist/src/roster/types.d.ts.map +1 -1
- package/dist/src/roster/types.js +43 -3
- package/dist/src/roster/types.js.map +1 -1
- package/dist/src/schedule/cell-checks.d.ts +85 -0
- package/dist/src/schedule/cell-checks.d.ts.map +1 -0
- package/dist/src/schedule/cell-checks.js +211 -0
- package/dist/src/schedule/cell-checks.js.map +1 -0
- package/dist/src/schedule/events.d.ts +42 -10
- package/dist/src/schedule/events.d.ts.map +1 -1
- package/dist/src/schedule/events.js +349 -155
- package/dist/src/schedule/events.js.map +1 -1
- package/dist/src/schedule/fields.d.ts +134 -0
- package/dist/src/schedule/fields.d.ts.map +1 -0
- package/dist/src/schedule/fields.js +207 -0
- package/dist/src/schedule/fields.js.map +1 -0
- package/dist/src/schedule/library.d.ts +11 -3
- package/dist/src/schedule/library.d.ts.map +1 -1
- package/dist/src/schedule/library.js +9 -6
- package/dist/src/schedule/library.js.map +1 -1
- package/dist/src/schedule/optimise.d.ts +124 -0
- package/dist/src/schedule/optimise.d.ts.map +1 -0
- package/dist/src/schedule/optimise.js +140 -0
- package/dist/src/schedule/optimise.js.map +1 -0
- package/dist/src/schedule/pages.d.ts +76 -0
- package/dist/src/schedule/pages.d.ts.map +1 -0
- package/dist/src/schedule/pages.js +86 -0
- package/dist/src/schedule/pages.js.map +1 -0
- package/dist/src/schedule/record-window.d.ts +119 -6
- package/dist/src/schedule/record-window.d.ts.map +1 -1
- package/dist/src/schedule/record-window.js +139 -60
- package/dist/src/schedule/record-window.js.map +1 -1
- package/dist/src/schedule/resources.d.ts +8 -4
- package/dist/src/schedule/resources.d.ts.map +1 -1
- package/dist/src/schedule/resources.js +35 -15
- package/dist/src/schedule/resources.js.map +1 -1
- package/dist/src/schedule/session.d.ts +14 -0
- package/dist/src/schedule/session.d.ts.map +1 -1
- package/dist/src/schedule/session.js +29 -17
- package/dist/src/schedule/session.js.map +1 -1
- package/dist/src/schedule/types.d.ts +426 -36
- package/dist/src/schedule/types.d.ts.map +1 -1
- package/dist/src/schedule/types.js +63 -17
- package/dist/src/schedule/types.js.map +1 -1
- package/dist/src/schedule/window.d.ts +30 -9
- package/dist/src/schedule/window.d.ts.map +1 -1
- package/dist/src/schedule/window.js +101 -49
- package/dist/src/schedule/window.js.map +1 -1
- package/dist/src/schematic/index.d.ts +277 -0
- package/dist/src/schematic/index.d.ts.map +1 -0
- package/dist/src/schematic/index.js +206 -0
- package/dist/src/schematic/index.js.map +1 -0
- package/dist/src/schematic/kinds.d.ts +501 -0
- package/dist/src/schematic/kinds.d.ts.map +1 -0
- package/dist/src/schematic/kinds.js +1027 -0
- package/dist/src/schematic/kinds.js.map +1 -0
- package/dist/src/schematic/layers.d.ts +74 -0
- package/dist/src/schematic/layers.d.ts.map +1 -0
- package/dist/src/schematic/layers.js +99 -0
- package/dist/src/schematic/layers.js.map +1 -0
- package/dist/src/schematic/library.d.ts +202 -0
- package/dist/src/schematic/library.d.ts.map +1 -0
- package/dist/src/schematic/library.js +244 -0
- package/dist/src/schematic/library.js.map +1 -0
- package/dist/src/schematic/payload.d.ts +8360 -0
- package/dist/src/schematic/payload.d.ts.map +1 -0
- package/dist/src/schematic/payload.js +446 -0
- package/dist/src/schematic/payload.js.map +1 -0
- package/dist/src/schematic/schematic.d.ts +27 -0
- package/dist/src/schematic/schematic.d.ts.map +1 -0
- package/dist/src/schematic/schematic.js +17 -0
- package/dist/src/schematic/schematic.js.map +1 -0
- package/dist/src/schematic/shapes.d.ts +150 -0
- package/dist/src/schematic/shapes.d.ts.map +1 -0
- package/dist/src/schematic/shapes.js +171 -0
- package/dist/src/schematic/shapes.js.map +1 -0
- package/dist/src/schematic/templates.d.ts +96 -0
- package/dist/src/schematic/templates.d.ts.map +1 -0
- package/dist/src/schematic/templates.js +91 -0
- package/dist/src/schematic/templates.js.map +1 -0
- package/dist/src/schematic/types.d.ts +5766 -0
- package/dist/src/schematic/types.d.ts.map +1 -0
- package/dist/src/schematic/types.js +688 -0
- package/dist/src/schematic/types.js.map +1 -0
- package/dist/src/schematic/window.d.ts +212 -0
- package/dist/src/schematic/window.d.ts.map +1 -0
- package/dist/src/schematic/window.js +337 -0
- package/dist/src/schematic/window.js.map +1 -0
- package/dist/src/sheet/editing-bridge.d.ts +4 -2
- package/dist/src/sheet/editing-bridge.d.ts.map +1 -1
- package/dist/src/sheet/editing-bridge.js +8 -2
- package/dist/src/sheet/editing-bridge.js.map +1 -1
- package/dist/src/sheet/editing-types.d.ts +9 -5
- package/dist/src/sheet/editing-types.d.ts.map +1 -1
- package/dist/src/sheet/editing-types.js +9 -5
- package/dist/src/sheet/editing-types.js.map +1 -1
- package/dist/src/sheet/index.d.ts +18 -8
- package/dist/src/sheet/index.d.ts.map +1 -1
- package/dist/src/sheet/index.js +15 -7
- package/dist/src/sheet/index.js.map +1 -1
- package/dist/src/sheet/optimise.d.ts +69 -0
- package/dist/src/sheet/optimise.d.ts.map +1 -0
- package/dist/src/sheet/optimise.js +81 -0
- package/dist/src/sheet/optimise.js.map +1 -0
- package/dist/src/sheet/registers.d.ts +5 -5
- package/dist/src/sheet/registers.js +5 -5
- package/dist/src/sheet/root.d.ts +2 -0
- package/dist/src/sheet/root.d.ts.map +1 -1
- package/dist/src/sheet/root.js +2 -2
- package/dist/src/sheet/root.js.map +1 -1
- package/dist/src/sheet/sheet.d.ts +753 -573
- package/dist/src/sheet/sheet.d.ts.map +1 -1
- package/dist/src/sheet/sheet.js +45 -13
- package/dist/src/sheet/sheet.js.map +1 -1
- package/dist/src/sheet/types.d.ts +92 -12
- package/dist/src/sheet/types.d.ts.map +1 -1
- package/dist/src/sheet/types.js +4 -8
- package/dist/src/sheet/types.js.map +1 -1
- package/dist/src/utils/keyed-rows.d.ts +41 -0
- package/dist/src/utils/keyed-rows.d.ts.map +1 -0
- package/dist/src/utils/keyed-rows.js +64 -0
- package/dist/src/utils/keyed-rows.js.map +1 -0
- package/dist/src/utils/optimise.d.ts +79 -0
- package/dist/src/utils/optimise.d.ts.map +1 -0
- package/dist/src/utils/optimise.js +46 -0
- package/dist/src/utils/optimise.js.map +1 -0
- package/dist/test/allocation/allocation.examples.d.ts +6 -18
- package/dist/test/allocation/allocation.examples.d.ts.map +1 -1
- package/dist/test/allocation/allocation.examples.js +3 -3
- package/dist/test/allocation/allocation.examples.js.map +1 -1
- package/dist/test/allocation/optimise.examples.d.ts +109 -0
- package/dist/test/allocation/optimise.examples.d.ts.map +1 -0
- package/dist/test/allocation/optimise.examples.js +223 -0
- package/dist/test/allocation/optimise.examples.js.map +1 -0
- package/dist/test/bind/data/data.examples.d.ts +540 -36
- package/dist/test/bind/data/data.examples.d.ts.map +1 -1
- package/dist/test/bind/data/data.examples.js +66 -2
- package/dist/test/bind/data/data.examples.js.map +1 -1
- package/dist/test/bind/record/record.examples.d.ts +1 -3
- package/dist/test/bind/record/record.examples.d.ts.map +1 -1
- package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
- package/dist/test/calendar/calendar-records.examples.js +3 -3
- package/dist/test/calendar/calendar-records.examples.js.map +1 -1
- package/dist/test/calendar/calendar-windows.examples.d.ts +9 -0
- package/dist/test/calendar/calendar-windows.examples.d.ts.map +1 -0
- package/dist/test/calendar/calendar-windows.examples.js +111 -0
- package/dist/test/calendar/calendar-windows.examples.js.map +1 -0
- package/dist/test/calendar/calendar.examples.d.ts +7 -21
- package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
- package/dist/test/calendar/calendar.examples.js +7 -7
- package/dist/test/calendar/calendar.examples.js.map +1 -1
- package/dist/test/calendar/optimise.examples.d.ts +132 -0
- package/dist/test/calendar/optimise.examples.d.ts.map +1 -0
- package/dist/test/calendar/optimise.examples.js +75 -0
- package/dist/test/calendar/optimise.examples.js.map +1 -0
- package/dist/test/examples-package.d.ts +46 -10
- package/dist/test/examples-package.d.ts.map +1 -1
- package/dist/test/examples-package.js +142 -32
- package/dist/test/examples-package.js.map +1 -1
- package/dist/test/flowchart/flowchart.examples.d.ts +10 -30
- package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
- package/dist/test/plan/optimise.examples.d.ts +207 -0
- package/dist/test/plan/optimise.examples.d.ts.map +1 -0
- package/dist/test/plan/optimise.examples.js +98 -0
- package/dist/test/plan/optimise.examples.js.map +1 -0
- package/dist/test/plan/plan-events.examples.d.ts +8 -24
- package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-events.examples.js +3 -3
- package/dist/test/plan/plan-events.examples.js.map +1 -1
- package/dist/test/plan/plan-records.examples.d.ts +200 -19
- package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-records.examples.js +125 -28
- package/dist/test/plan/plan-records.examples.js.map +1 -1
- package/dist/test/plan/plan-windows.examples.d.ts +853 -36
- package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-windows.examples.js +166 -29
- package/dist/test/plan/plan-windows.examples.js.map +1 -1
- package/dist/test/plan/plan.examples.d.ts +7 -21
- package/dist/test/plan/plan.examples.d.ts.map +1 -1
- package/dist/test/plan/plan.examples.js +11 -9
- package/dist/test/plan/plan.examples.js.map +1 -1
- package/dist/test/roster/domain.examples.d.ts +804 -0
- package/dist/test/roster/domain.examples.d.ts.map +1 -1
- package/dist/test/roster/domain.examples.js +3 -3
- package/dist/test/roster/domain.examples.js.map +1 -1
- package/dist/test/roster/optimise.examples.d.ts +485 -0
- package/dist/test/roster/optimise.examples.d.ts.map +1 -0
- package/dist/test/roster/optimise.examples.js +155 -0
- package/dist/test/roster/optimise.examples.js.map +1 -0
- package/dist/test/roster/roster-records.examples.d.ts +6 -18
- package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
- package/dist/test/roster/roster-records.examples.js +1 -1
- package/dist/test/roster/roster-records.examples.js.map +1 -1
- package/dist/test/roster/roster.examples.d.ts +3391 -21
- package/dist/test/roster/roster.examples.d.ts.map +1 -1
- package/dist/test/roster/roster.examples.js +54 -7
- package/dist/test/roster/roster.examples.js.map +1 -1
- package/dist/test/roster/warehouse.d.ts +150 -7
- package/dist/test/roster/warehouse.d.ts.map +1 -1
- package/dist/test/roster/warehouse.js +36 -11
- package/dist/test/roster/warehouse.js.map +1 -1
- package/dist/test/schedule/schedule.examples.d.ts +1 -3
- package/dist/test/schedule/schedule.examples.d.ts.map +1 -1
- package/dist/test/schematic/schematic-records.examples.d.ts +444 -0
- package/dist/test/schematic/schematic-records.examples.d.ts.map +1 -0
- package/dist/test/schematic/schematic-records.examples.js +205 -0
- package/dist/test/schematic/schematic-records.examples.js.map +1 -0
- package/dist/test/schematic/schematic.examples.d.ts +2289 -0
- package/dist/test/schematic/schematic.examples.d.ts.map +1 -0
- package/dist/test/schematic/schematic.examples.js +453 -0
- package/dist/test/schematic/schematic.examples.js.map +1 -0
- package/dist/test/sheet/optimise.examples.d.ts +177 -0
- package/dist/test/sheet/optimise.examples.d.ts.map +1 -0
- package/dist/test/sheet/optimise.examples.js +75 -0
- package/dist/test/sheet/optimise.examples.js.map +1 -0
- package/dist/test/sheet/sheet-records.examples.d.ts +95 -204
- package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
- package/dist/test/sheet/sheet-records.examples.js +42 -17
- package/dist/test/sheet/sheet-records.examples.js.map +1 -1
- package/dist/test/sheet/sheet.examples.d.ts +17 -33
- package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
- package/dist/test/sheet/sheet.examples.js +18 -15
- package/dist/test/sheet/sheet.examples.js.map +1 -1
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/calendar/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAc,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EACvH,UAAU,EAAE,WAAW,EAAuB,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,kBAAkB,EACtG,MAAM,eAAe,CAAC;AACvB,OAAO,EAAU,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/calendar/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAc,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EACvH,UAAU,EAAE,WAAW,EAAuB,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,kBAAkB,EACtG,MAAM,eAAe,CAAC;AACvB,OAAO,EAAU,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAiD,aAAa,EAAE,KAAK,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEzI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAA2C,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEvG,OAAO,EAAE,8BAA8B,EAAE,6BAA6B,EAA2B,MAAM,yBAAyB,CAAC;AACjI,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAA2C,KAAK,sBAAsB,EAAE,KAAK,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAC7I,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAA2C,MAAM,sBAAsB,CAAC;AAG5H,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEpE,iFAAiF;AACjF,eAAO,MAAM,kBAAkB;;;;EAA+E,CAAC;AAC/G,+CAA+C;AAC/C,eAAO,MAAM,kBAAkB;;;;EAAkE,CAAC;AAClG,oDAAoD;AACpD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAA6F,CAAC;AAC3H,8EAA8E;AAC9E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;EAAsF,CAAC;AAC1H,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AACH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AACH,4DAA4D;AAC5D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
|
@@ -4,11 +4,16 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { ArrayType, BooleanType, DateTimeType, DictType, East, Expr, FunctionType, IntegerType, NullType, OptionType, StringType, StructType, VariantType, none, some, variant, } from "@elaraai/east";
|
|
6
6
|
import { EastUI } from "@elaraai/east-ui";
|
|
7
|
-
import { RecordSlicesChromeType, RowSourceType } from "@elaraai/east-ui/internal";
|
|
7
|
+
import { RecordSliceConfigType, RecordSlicesChromeType, RowSourceType } from "@elaraai/east-ui/internal";
|
|
8
|
+
import { FuncBindingType } from "../bind/func.js";
|
|
8
9
|
import { recordSources, sliceSourceNames, templatesSource } from "../utils/record-sources.js";
|
|
9
10
|
import { Schedule, scheduleCheck, scheduleTitled } from "../schedule/index.js";
|
|
11
|
+
import { checkSchedulePagedEventKinds, checkSchedulePagedKinds, checkedScheduleTilings } from "../schedule/cell-checks.js";
|
|
12
|
+
import { ScheduleOptimiseRequestTypeFor, ScheduleOptimiseResultTypeFor, scheduleOptimiseBinding } from "../schedule/optimise.js";
|
|
10
13
|
import { ScheduleAuthorTabType, buildScheduleTab } from "../schedule/library.js";
|
|
11
14
|
import { ScheduleCandidateType, ScheduleEventRefType, ScheduleKindType, ScheduleResourcesType } from "../schedule/types.js";
|
|
15
|
+
import { CalendarPagedType, createCalendarPaged } from "./paged.js";
|
|
16
|
+
export { CalendarPagedType, createCalendarPaged } from "./paged.js";
|
|
12
17
|
/** Calendar's layout: a time grid, resource columns or a horizontal timeline. */
|
|
13
18
|
export const CalendarLayoutType = VariantType({ calendar: NullType, resources: NullType, timeline: NullType });
|
|
14
19
|
/** The stretch shown: a day, week or month. */
|
|
@@ -27,16 +32,21 @@ export const CalendarSettingsType = StructType({
|
|
|
27
32
|
});
|
|
28
33
|
/**
|
|
29
34
|
* Calendar's closed interface to its React renderer. The frame is a renderer detail.
|
|
35
|
+
* @property resources - The resource kinds, their rows resolved — none for a kind paged a window at a time, whose resources come through `paged`
|
|
36
|
+
* @property paged - A paged resource kind's resources a window at a time (#1424) — of the narrowing's, when its source of the slice narrows it; `none` while no resource kind is paged
|
|
30
37
|
* @property slice - The narrowing's chrome: a Slice over the event kinds', the resource kinds' and the templates' records, one rail (#1343)
|
|
31
38
|
* @property narrowed - Each source's narrowed keys, paged through its own data, by the source's name — a resource
|
|
32
|
-
* kind's narrow its columns, rows and Choosers, a templates list's and a tab's their cards; an event kind
|
|
33
|
-
* own narrowing through its part
|
|
39
|
+
* kind's read whole narrow its columns, rows and Choosers, a templates list's and a tab's their cards; an event kind
|
|
40
|
+
* reads its own narrowing through its part, and a paged resource kind its windows
|
|
41
|
+
* @property optimise - The app's optimiser, by its `e3.function`'s name (#1409): what the Elara eye calls over the window in
|
|
42
|
+
* view, its result one edit of the session; `none`, no eye
|
|
34
43
|
*/
|
|
35
44
|
export const CalendarPayloadType = StructType({
|
|
36
|
-
events: ArrayType(ScheduleKindType), resources: ArrayType(ScheduleResourcesType), settings: CalendarSettingsType,
|
|
45
|
+
events: ArrayType(ScheduleKindType), resources: ArrayType(ScheduleResourcesType), paged: OptionType(CalendarPagedType), settings: CalendarSettingsType,
|
|
37
46
|
library: ArrayType(CalendarLibraryTabType), inspector: BooleanType, slice: OptionType(RecordSlicesChromeType),
|
|
38
47
|
narrowed: DictType(StringType, RowSourceType(ArrayType(StringType))),
|
|
39
48
|
canDrop: OptionType(FunctionType([ScheduleCandidateType], OptionType(StringType))),
|
|
49
|
+
optimise: OptionType(FuncBindingType),
|
|
40
50
|
onSelect: OptionType(FunctionType([ScheduleEventRefType], NullType)), id: OptionType(StringType),
|
|
41
51
|
});
|
|
42
52
|
/** The extension carrier registered by e3-ui-components. */
|
|
@@ -62,12 +72,23 @@ function authorTab(rows, config) {
|
|
|
62
72
|
* @throws {Error} When kinds or library tabs are invalid, a kind has no `title` (#1367), working hours are outside the
|
|
63
73
|
* day, `slice` is not `Slice.bindRecords` or names a source no kind, templates list or tab names, a templates list is
|
|
64
74
|
* written in the code or names no source of the slice (templates are records, #1340), or a tab names a source the
|
|
65
|
-
* slice lacks
|
|
75
|
+
* slice lacks, or `optimise` is not `Func.bind` of a function from `OptimiseRequest(E, S)` to `OptimiseResult(E)` over
|
|
76
|
+
* the kinds' rows (#1409); more than one resource kind is paged, or an event kind is placed on the paged kind and on
|
|
77
|
+
* another, or with no source of the slice — its record read whole, or the days in view read through its day index —
|
|
78
|
+
* each naming the series and summary indexes to declare over the kind's own fields (#1424). The series and summary
|
|
79
|
+
* indexes an event kind's source lists are refused in the same words as the Calendar is evaluated, the source's
|
|
80
|
+
* indexes read only then: one filed by another field than the kind's resource, or over other times than its events';
|
|
81
|
+
* a series index for a kind not placed on the paged kind alone; two series, or two summaries, by one tile over the
|
|
82
|
+
* same fields; a series index with no summary beside it; and, for a kind on the paged kind, a source listing no
|
|
83
|
+
* series index
|
|
66
84
|
* @internal
|
|
67
85
|
*/
|
|
68
86
|
export function createCalendarPayload(props) {
|
|
69
87
|
const resources = props.resources ?? {};
|
|
70
88
|
scheduleCheck(resources, props.events, "Calendar");
|
|
89
|
+
// A calendar pages one resource kind (#1424), and an event kind placed on it is read a cell at a time.
|
|
90
|
+
const resourceKinds = Object.entries(resources);
|
|
91
|
+
checkSchedulePagedKinds(resourceKinds, "Calendar", "a calendar");
|
|
71
92
|
// The Calendar draws each event's title, which `Schedule.events` takes as optional.
|
|
72
93
|
scheduleTitled(props.events, "Calendar");
|
|
73
94
|
if (Object.keys(props.events).length === 0)
|
|
@@ -76,6 +97,8 @@ export function createCalendarPayload(props) {
|
|
|
76
97
|
if (hours.from < 0n || hours.to > 24n || hours.from >= hours.to)
|
|
77
98
|
throw new Error("Calendar: hours must satisfy 0 <= from < to <= 24");
|
|
78
99
|
const events = Object.entries(props.events);
|
|
100
|
+
// The app's optimiser (#1409), held to the kinds' rows by slot.
|
|
101
|
+
const optimise = props.optimise === undefined ? undefined : scheduleOptimiseBinding("Calendar", props.optimise, events, Object.entries(resources));
|
|
79
102
|
// Every templates list is a record of its own, naming its source of the slice (#1340): one written in the code,
|
|
80
103
|
// or naming none the slice holds, is refused before a source no list names is, so the refusal says the change. A
|
|
81
104
|
// slice of another kind is refused below, as such.
|
|
@@ -92,6 +115,7 @@ export function createCalendarPayload(props) {
|
|
|
92
115
|
...(props.library ?? []).flatMap(tab => tab.kind === "tab" && tab.config.source !== undefined ? [tab.config.source] : [])]);
|
|
93
116
|
const narrowing = recordSources(props.slice, { builder: "Calendar", names: [...named], what: "its event kinds, its resource kinds and the templates and tabs that name a source",
|
|
94
117
|
takes: name => named.has(name) });
|
|
118
|
+
checkSchedulePagedEventKinds(resourceKinds, events, narrowing.names, "Calendar");
|
|
95
119
|
const seen = new Set();
|
|
96
120
|
const library = (props.library ?? []).map(tab => {
|
|
97
121
|
const name = tab.kind === "tab" ? "tab:" + tab.config.name : tab.kind;
|
|
@@ -104,10 +128,20 @@ export function createCalendarPayload(props) {
|
|
|
104
128
|
});
|
|
105
129
|
return Expr.block($ => {
|
|
106
130
|
const bound = narrowing.bind($);
|
|
131
|
+
// The series and summary indexes each event kind's source lists (#1424), its record's, read as the Calendar is evaluated.
|
|
132
|
+
for (const [slot, kind] of events) {
|
|
133
|
+
const part = bound.parts[slot];
|
|
134
|
+
if (part !== undefined)
|
|
135
|
+
$(checkedScheduleTilings(slot, kind, resourceKinds, part.config, "Calendar"));
|
|
136
|
+
}
|
|
137
|
+
// A paged resource kind its source of the slice narrows pages the narrowing's rows themselves (#1424).
|
|
138
|
+
const pagedSlot = resourceKinds.find(([, kind]) => kind.window !== undefined)?.[0];
|
|
139
|
+
const paged = createCalendarPaged(resourceKinds, pagedSlot === undefined ? undefined : bound.data[pagedSlot]);
|
|
107
140
|
return East.value({
|
|
108
141
|
// Each event kind narrowed through its own source of the slice, when the slice has one.
|
|
109
142
|
events: events.map(([slot, kind]) => kind.build(slot, bound.parts[slot])),
|
|
110
|
-
resources:
|
|
143
|
+
resources: resourceKinds.map(([slot, kind]) => kind.build(slot)),
|
|
144
|
+
paged: paged === undefined ? East.value(none, OptionType(CalendarPagedType)) : East.value(some(paged), OptionType(CalendarPagedType)),
|
|
111
145
|
settings: {
|
|
112
146
|
layout: variant(props.view?.layout ?? "calendar", null), period: variant(props.view?.period ?? "week", null),
|
|
113
147
|
date: props.view?.date === undefined ? none : some(props.view.date), hours,
|
|
@@ -119,6 +153,7 @@ export function createCalendarPayload(props) {
|
|
|
119
153
|
slice: narrowing.chrome,
|
|
120
154
|
narrowed: new Map(narrowing.names.map(source => [source, bound.keys[source]])),
|
|
121
155
|
canDrop: props.canDrop === undefined ? none : some(props.canDrop),
|
|
156
|
+
optimise: optimise === undefined ? none : some(optimise),
|
|
122
157
|
onSelect: props.onSelect === undefined ? none : some(props.onSelect), id: props.id === undefined ? none : some(props.id),
|
|
123
158
|
}, CalendarPayloadType);
|
|
124
159
|
});
|
|
@@ -158,5 +193,6 @@ export function createCalendarPayload(props) {
|
|
|
158
193
|
* ```
|
|
159
194
|
*/
|
|
160
195
|
export const Calendar = Object.assign((props) => CalendarComponent.Root(createCalendarPayload(props)), { ...Schedule, library: { templates: templatesTab, backlog: backlogTab, tab: authorTab },
|
|
161
|
-
Types: { ...Schedule.Types, Layout: CalendarLayoutType, Period: CalendarPeriodType, View: CalendarViewType
|
|
196
|
+
Types: { ...Schedule.Types, Layout: CalendarLayoutType, Period: CalendarPeriodType, View: CalendarViewType,
|
|
197
|
+
OptimiseRequest: ScheduleOptimiseRequestTypeFor, OptimiseResult: ScheduleOptimiseResultTypeFor } });
|
|
162
198
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/calendar/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EACvH,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAC/C,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAkB,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAkC,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/calendar/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* A Calendar's paged resource kind (#1424): its resources a window at a
|
|
7
|
+
* time, as the Plan's paged kind's are (#1199, #1344) — the timeline's rows and
|
|
8
|
+
* the Resources view's columns the windows around the view, through the
|
|
9
|
+
* payload's `paged`. The kind's windows are its own paged read's, in its
|
|
10
|
+
* resources' key order, or — its source of the slice narrowing it — that
|
|
11
|
+
* source's narrowed rows themselves, in the source's index's order
|
|
12
|
+
* (`schedule/pages.ts`). Its Choosers search its own resources by key, in
|
|
13
|
+
* their key order, through its own paged read (`seek`, `entries`), and one
|
|
14
|
+
* resource is read by its key where an event names it (`byKey`). Its
|
|
15
|
+
* resources are never read whole.
|
|
16
|
+
*
|
|
17
|
+
* @packageDocumentation
|
|
18
|
+
*/
|
|
19
|
+
import { ArrayType, FunctionType, IntegerType, NullType, OptionType, StringType, StructType, type EastType, type ExprType } from "@elaraai/east";
|
|
20
|
+
import type { ScheduleResourceKind } from "../schedule/resources.js";
|
|
21
|
+
/**
|
|
22
|
+
* A Calendar's paged resource kind's resources (#1424): see the module docs.
|
|
23
|
+
*
|
|
24
|
+
* @property kind - The paged resource kind's slot
|
|
25
|
+
* @property id - The identity of its windows' source: the source's, the same under every narrowing, when its source of the slice narrows it
|
|
26
|
+
* @property rows - `(offset, limit)` → its resources `[offset, offset + limit)` as the Calendar takes them, in the order its rows and columns draw — their key order, or the narrowing's index's order when its source of the slice narrows the kind; `none` while the window is in flight
|
|
27
|
+
* @property keys - `(offset, limit)` → the texts of the same resources' keys, in the same order: what the Calendar's cell reader places its blocks by, making no row; `none` while the window is in flight
|
|
28
|
+
* @property total - How many resources it has — the narrowing holds, when its source narrows it — once known
|
|
29
|
+
* @property revision - The snapshot of the resources the windows are read at
|
|
30
|
+
* @property refresh - Moves the windows to a snapshot, or to the one they hold now
|
|
31
|
+
* @property query - The narrowing the windows and the total belong to, as text: it moves when a choice does, and the windows are read again under it; `none` when no source narrows the kind
|
|
32
|
+
* @property seek - Where a key search lands among the kind's own resources, in their key order, whatever narrows it: what a Chooser searches the kind by; `none` for a read with no key search
|
|
33
|
+
* @property entries - `(offset, limit)` → the kind's own resources `[offset, offset + limit)`, in their key order, as the Calendar takes them: what a Chooser lists; `none` while the window is in flight
|
|
34
|
+
* @property byKey - One resource by its key's text: `some(some(row))` once read, `some(none)` for a key the kind does not hold, `none` while the read is in flight
|
|
35
|
+
*/
|
|
36
|
+
export declare const CalendarPagedType: StructType<{
|
|
37
|
+
readonly kind: StringType;
|
|
38
|
+
readonly id: StringType;
|
|
39
|
+
readonly rows: FunctionType<[IntegerType, IntegerType], OptionType<ArrayType<StructType<{
|
|
40
|
+
readonly key: StringType;
|
|
41
|
+
readonly label: StringType;
|
|
42
|
+
readonly meta: OptionType<StringType>;
|
|
43
|
+
}>>>>;
|
|
44
|
+
readonly keys: FunctionType<[IntegerType, IntegerType], OptionType<ArrayType<StringType>>>;
|
|
45
|
+
readonly total: FunctionType<[], OptionType<IntegerType>>;
|
|
46
|
+
readonly revision: FunctionType<[], OptionType<StringType>>;
|
|
47
|
+
readonly refresh: FunctionType<[OptionType<StringType>], NullType>;
|
|
48
|
+
readonly query: OptionType<FunctionType<[], StringType>>;
|
|
49
|
+
readonly seek: OptionType<FunctionType<[import("@elaraai/east").VariantType<{
|
|
50
|
+
readonly key: StringType;
|
|
51
|
+
readonly prefix: StringType;
|
|
52
|
+
readonly fields: StructType<{
|
|
53
|
+
readonly values: ArrayType<StringType>;
|
|
54
|
+
readonly prefix: OptionType<StringType>;
|
|
55
|
+
}>;
|
|
56
|
+
readonly range: StructType<{
|
|
57
|
+
readonly from: ArrayType<StringType>;
|
|
58
|
+
readonly to: ArrayType<StringType>;
|
|
59
|
+
}>;
|
|
60
|
+
}>], OptionType<StructType<{
|
|
61
|
+
readonly found: import("@elaraai/east").BooleanType;
|
|
62
|
+
readonly row: IntegerType;
|
|
63
|
+
readonly count: IntegerType;
|
|
64
|
+
}>>>>;
|
|
65
|
+
readonly entries: FunctionType<[IntegerType, IntegerType], OptionType<ArrayType<StructType<{
|
|
66
|
+
readonly key: StringType;
|
|
67
|
+
readonly label: StringType;
|
|
68
|
+
readonly meta: OptionType<StringType>;
|
|
69
|
+
}>>>>;
|
|
70
|
+
readonly byKey: FunctionType<[StringType], OptionType<OptionType<StructType<{
|
|
71
|
+
readonly key: StringType;
|
|
72
|
+
readonly label: StringType;
|
|
73
|
+
readonly meta: OptionType<StringType>;
|
|
74
|
+
}>>>>;
|
|
75
|
+
}>;
|
|
76
|
+
/** Type representing {@link CalendarPagedType}. */
|
|
77
|
+
export type CalendarPagedType = typeof CalendarPagedType;
|
|
78
|
+
/**
|
|
79
|
+
* The paged resource kind's resources (see {@link CalendarPagedType}), when a
|
|
80
|
+
* resource kind is given its resources as a paged read.
|
|
81
|
+
*
|
|
82
|
+
* @param resources - The resource kinds, by slot, in order — at most one of them paged (the Calendar refuses more)
|
|
83
|
+
* @param narrowed - The paged kind's source of the slice's narrowed data, when the slice names one after its slot: its windows are then the narrowing's rows
|
|
84
|
+
* @returns The paged resources, or `undefined` when no resource kind is paged
|
|
85
|
+
* @throws {Error} When the kind's paged read is not a paged source of its resources, or its source's rows are not the kind's
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
export declare function createCalendarPaged(resources: readonly (readonly [string, ScheduleResourceKind<EastType, EastType>])[], narrowed?: ExprType<StructType>): ExprType<CalendarPagedType> | undefined;
|
|
89
|
+
//# sourceMappingURL=paged.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paged.d.ts","sourceRoot":"","sources":["../../../src/calendar/paged.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACH,SAAS,EAAQ,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EACzE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAC9C,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAIrE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY5B,CAAC;AAEH,mDAAmD;AACnD,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC;AAiDzD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GACrH,QAAQ,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAyCzC"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* A Calendar's paged resource kind (#1424): its resources a window at a
|
|
7
|
+
* time, as the Plan's paged kind's are (#1199, #1344) — the timeline's rows and
|
|
8
|
+
* the Resources view's columns the windows around the view, through the
|
|
9
|
+
* payload's `paged`. The kind's windows are its own paged read's, in its
|
|
10
|
+
* resources' key order, or — its source of the slice narrowing it — that
|
|
11
|
+
* source's narrowed rows themselves, in the source's index's order
|
|
12
|
+
* (`schedule/pages.ts`). Its Choosers search its own resources by key, in
|
|
13
|
+
* their key order, through its own paged read (`seek`, `entries`), and one
|
|
14
|
+
* resource is read by its key where an event names it (`byKey`). Its
|
|
15
|
+
* resources are never read whole.
|
|
16
|
+
*
|
|
17
|
+
* @packageDocumentation
|
|
18
|
+
*/
|
|
19
|
+
import { ArrayType, East, FunctionType, IntegerType, NullType, OptionType, StringType, StructType, none, some, } from "@elaraai/east";
|
|
20
|
+
import { SeekQueryType, SeekRangeType } from "@elaraai/east-ui";
|
|
21
|
+
import { scheduleNarrowedWindows, scheduleOwnWindows } from "../schedule/pages.js";
|
|
22
|
+
import { ScheduleResourceRowType } from "../schedule/types.js";
|
|
23
|
+
import { scheduleEntryByKey } from "../schedule/window.js";
|
|
24
|
+
/**
|
|
25
|
+
* A Calendar's paged resource kind's resources (#1424): see the module docs.
|
|
26
|
+
*
|
|
27
|
+
* @property kind - The paged resource kind's slot
|
|
28
|
+
* @property id - The identity of its windows' source: the source's, the same under every narrowing, when its source of the slice narrows it
|
|
29
|
+
* @property rows - `(offset, limit)` → its resources `[offset, offset + limit)` as the Calendar takes them, in the order its rows and columns draw — their key order, or the narrowing's index's order when its source of the slice narrows the kind; `none` while the window is in flight
|
|
30
|
+
* @property keys - `(offset, limit)` → the texts of the same resources' keys, in the same order: what the Calendar's cell reader places its blocks by, making no row; `none` while the window is in flight
|
|
31
|
+
* @property total - How many resources it has — the narrowing holds, when its source narrows it — once known
|
|
32
|
+
* @property revision - The snapshot of the resources the windows are read at
|
|
33
|
+
* @property refresh - Moves the windows to a snapshot, or to the one they hold now
|
|
34
|
+
* @property query - The narrowing the windows and the total belong to, as text: it moves when a choice does, and the windows are read again under it; `none` when no source narrows the kind
|
|
35
|
+
* @property seek - Where a key search lands among the kind's own resources, in their key order, whatever narrows it: what a Chooser searches the kind by; `none` for a read with no key search
|
|
36
|
+
* @property entries - `(offset, limit)` → the kind's own resources `[offset, offset + limit)`, in their key order, as the Calendar takes them: what a Chooser lists; `none` while the window is in flight
|
|
37
|
+
* @property byKey - One resource by its key's text: `some(some(row))` once read, `some(none)` for a key the kind does not hold, `none` while the read is in flight
|
|
38
|
+
*/
|
|
39
|
+
export const CalendarPagedType = StructType({
|
|
40
|
+
kind: StringType,
|
|
41
|
+
id: StringType,
|
|
42
|
+
rows: FunctionType([IntegerType, IntegerType], OptionType(ArrayType(ScheduleResourceRowType))),
|
|
43
|
+
keys: FunctionType([IntegerType, IntegerType], OptionType(ArrayType(StringType))),
|
|
44
|
+
total: FunctionType([], OptionType(IntegerType)),
|
|
45
|
+
revision: FunctionType([], OptionType(StringType)),
|
|
46
|
+
refresh: FunctionType([OptionType(StringType)], NullType),
|
|
47
|
+
query: OptionType(FunctionType([], StringType)),
|
|
48
|
+
seek: OptionType(FunctionType([SeekQueryType], OptionType(SeekRangeType))),
|
|
49
|
+
entries: FunctionType([IntegerType, IntegerType], OptionType(ArrayType(ScheduleResourceRowType))),
|
|
50
|
+
byKey: FunctionType([StringType], OptionType(OptionType(ScheduleResourceRowType))),
|
|
51
|
+
});
|
|
52
|
+
/** A window of resources as the Calendar takes them, while it is in flight. */
|
|
53
|
+
const RowsType = OptionType(ArrayType(ScheduleResourceRowType));
|
|
54
|
+
/**
|
|
55
|
+
* A window read of a paged kind's resources, as the Calendar takes them: in the order the windows give their keys.
|
|
56
|
+
*
|
|
57
|
+
* @param windows - Where the windows come from
|
|
58
|
+
* @param kind - The paged resource kind: what makes each resource's row
|
|
59
|
+
* @returns `(offset, limit)` → the window's resources; `none` while it is in flight
|
|
60
|
+
*/
|
|
61
|
+
function windowRows(windows, kind) {
|
|
62
|
+
return East.function([IntegerType, IntegerType], RowsType, ($, offset, limit) => {
|
|
63
|
+
const read = $.const(windows.read);
|
|
64
|
+
const make = $.const(kind.calendarRow);
|
|
65
|
+
const result = $.let(none, RowsType);
|
|
66
|
+
$.match(read(offset, limit), {
|
|
67
|
+
some: ($2, page) => {
|
|
68
|
+
// A paged kind is keyed by String (`Schedule.resources`): each resource by its key's text, in the order its rows draw.
|
|
69
|
+
const all = $2.let(windows.rows(page));
|
|
70
|
+
const keys = windows.keys($2, page);
|
|
71
|
+
$2.assign(result, some(keys.map(($3, key) => make(all.get(key), key))));
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
return result;
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/** A window of keys' texts, while it is in flight. */
|
|
78
|
+
const KeysType = OptionType(ArrayType(StringType));
|
|
79
|
+
/**
|
|
80
|
+
* A window read of a paged kind's resources' keys' texts, in the order the windows give them.
|
|
81
|
+
*
|
|
82
|
+
* @param windows - Where the windows come from
|
|
83
|
+
* @returns `(offset, limit)` → the window's keys' texts; `none` while it is in flight
|
|
84
|
+
*/
|
|
85
|
+
function windowKeys(windows) {
|
|
86
|
+
return East.function([IntegerType, IntegerType], KeysType, ($, offset, limit) => {
|
|
87
|
+
const read = $.const(windows.read);
|
|
88
|
+
const result = $.let(none, KeysType);
|
|
89
|
+
$.match(read(offset, limit), {
|
|
90
|
+
some: ($2, page) => { $2.assign(result, some(windows.keys($2, page))); },
|
|
91
|
+
});
|
|
92
|
+
return result;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* The paged resource kind's resources (see {@link CalendarPagedType}), when a
|
|
97
|
+
* resource kind is given its resources as a paged read.
|
|
98
|
+
*
|
|
99
|
+
* @param resources - The resource kinds, by slot, in order — at most one of them paged (the Calendar refuses more)
|
|
100
|
+
* @param narrowed - The paged kind's source of the slice's narrowed data, when the slice names one after its slot: its windows are then the narrowing's rows
|
|
101
|
+
* @returns The paged resources, or `undefined` when no resource kind is paged
|
|
102
|
+
* @throws {Error} When the kind's paged read is not a paged source of its resources, or its source's rows are not the kind's
|
|
103
|
+
* @internal
|
|
104
|
+
*/
|
|
105
|
+
export function createCalendarPaged(resources, narrowed) {
|
|
106
|
+
const at = resources.find(([, kind]) => kind.window !== undefined);
|
|
107
|
+
if (at === undefined)
|
|
108
|
+
return undefined;
|
|
109
|
+
const [slot, kind] = at;
|
|
110
|
+
const own = scheduleOwnWindows(kind, `Calendar: resources.${slot}`);
|
|
111
|
+
const pages = narrowed === undefined ? own : scheduleNarrowedWindows(kind, slot, narrowed, "Calendar");
|
|
112
|
+
const handle = pages.handle;
|
|
113
|
+
const find = scheduleEntryByKey(kind.window, kind.keyType, kind.rowType);
|
|
114
|
+
const ByKey = OptionType(OptionType(ScheduleResourceRowType));
|
|
115
|
+
const byKey = East.function([StringType], ByKey, ($, key) => {
|
|
116
|
+
const read = $.const(find);
|
|
117
|
+
const make = $.const(kind.calendarRow);
|
|
118
|
+
const result = $.let(none, ByKey);
|
|
119
|
+
$.match(read(key), {
|
|
120
|
+
held: ($2, row) => { $2.assign(result, some(some(make(row, key)))); },
|
|
121
|
+
absent: ($2) => { $2.assign(result, some(none)); },
|
|
122
|
+
});
|
|
123
|
+
return result;
|
|
124
|
+
});
|
|
125
|
+
// A source that names no snapshot is read at none, and moves nowhere.
|
|
126
|
+
const revision = pages.pinned
|
|
127
|
+
? handle.revision
|
|
128
|
+
: East.function([], OptionType(StringType), (_$) => East.value(none, OptionType(StringType)));
|
|
129
|
+
const refresh = pages.pinned
|
|
130
|
+
? handle.refresh
|
|
131
|
+
: East.function([OptionType(StringType)], NullType, (_$, _target) => East.value(null, NullType));
|
|
132
|
+
const Query = CalendarPagedType.fields.query;
|
|
133
|
+
return East.value({
|
|
134
|
+
kind: slot,
|
|
135
|
+
id: handle.id,
|
|
136
|
+
rows: windowRows(pages, kind),
|
|
137
|
+
keys: windowKeys(pages),
|
|
138
|
+
total: handle.total,
|
|
139
|
+
revision,
|
|
140
|
+
refresh,
|
|
141
|
+
query: pages.query ? East.value(some(handle.query), Query) : East.value(none, Query),
|
|
142
|
+
// The Choosers search the kind's own resources, in their key order, whatever narrows its windows.
|
|
143
|
+
seek: own.handle.seek,
|
|
144
|
+
entries: windowRows(own, kind),
|
|
145
|
+
byKey,
|
|
146
|
+
}, CalendarPagedType);
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=paged.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paged.js","sourceRoot":"","sources":["../../../src/calendar/paged.ts"],"names":[],"mappings":"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"}
|