@elaraai/e3-ui 1.0.86 → 1.0.88
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/bind/data-indexed.d.ts +159 -0
- package/dist/src/bind/data-indexed.d.ts.map +1 -0
- package/dist/src/bind/data-indexed.js +105 -0
- package/dist/src/bind/data-indexed.js.map +1 -0
- package/dist/src/bind/data.d.ts +5 -3
- package/dist/src/bind/data.d.ts.map +1 -1
- package/dist/src/bind/data.js +6 -0
- package/dist/src/bind/data.js.map +1 -1
- package/dist/src/bind/record.d.ts +34 -23
- package/dist/src/bind/record.d.ts.map +1 -1
- package/dist/src/bind/record.js +46 -19
- package/dist/src/bind/record.js.map +1 -1
- package/dist/src/calendar/index.d.ts +2923 -0
- package/dist/src/calendar/index.d.ts.map +1 -0
- package/dist/src/calendar/index.js +135 -0
- package/dist/src/calendar/index.js.map +1 -0
- package/dist/src/decision/queue.d.ts +3 -3
- package/dist/src/decision/queue.d.ts.map +1 -1
- package/dist/src/decision/queue.js +2 -2
- package/dist/src/decision/queue.js.map +1 -1
- package/dist/src/decision/types.d.ts +4 -0
- package/dist/src/decision/types.d.ts.map +1 -1
- package/dist/src/decision/types.js +4 -0
- package/dist/src/decision/types.js.map +1 -1
- package/dist/src/flowchart/canvas.d.ts +114 -0
- package/dist/src/flowchart/canvas.d.ts.map +1 -0
- package/dist/src/flowchart/canvas.js +84 -0
- package/dist/src/flowchart/canvas.js.map +1 -0
- package/dist/src/flowchart/flowchart.d.ts +79 -0
- package/dist/src/flowchart/flowchart.d.ts.map +1 -0
- package/dist/src/flowchart/flowchart.js +9 -0
- package/dist/src/flowchart/flowchart.js.map +1 -0
- package/dist/src/flowchart/index.d.ts +305 -0
- package/dist/src/flowchart/index.d.ts.map +1 -0
- package/dist/src/flowchart/index.js +267 -0
- package/dist/src/flowchart/index.js.map +1 -0
- package/dist/src/flowchart/library.d.ts +720 -0
- package/dist/src/flowchart/library.d.ts.map +1 -0
- package/dist/src/flowchart/library.js +611 -0
- package/dist/src/flowchart/library.js.map +1 -0
- package/dist/src/flowchart/over.d.ts +234 -0
- package/dist/src/flowchart/over.d.ts.map +1 -0
- package/dist/src/flowchart/over.js +220 -0
- package/dist/src/flowchart/over.js.map +1 -0
- package/dist/src/flowchart/patch.d.ts +64 -0
- package/dist/src/flowchart/patch.d.ts.map +1 -0
- package/dist/src/flowchart/patch.js +67 -0
- package/dist/src/flowchart/patch.js.map +1 -0
- package/dist/src/flowchart/payload.d.ts +8220 -0
- package/dist/src/flowchart/payload.d.ts.map +1 -0
- package/dist/src/flowchart/payload.js +521 -0
- package/dist/src/flowchart/payload.js.map +1 -0
- package/dist/src/flowchart/types.d.ts +393 -0
- package/dist/src/flowchart/types.d.ts.map +1 -0
- package/dist/src/flowchart/types.js +216 -0
- package/dist/src/flowchart/types.js.map +1 -0
- package/dist/src/flowchart/values.d.ts +267 -0
- package/dist/src/flowchart/values.d.ts.map +1 -0
- package/dist/src/flowchart/values.js +216 -0
- package/dist/src/flowchart/values.js.map +1 -0
- package/dist/src/flowchart/window.d.ts +521 -0
- package/dist/src/flowchart/window.d.ts.map +1 -0
- package/dist/src/flowchart/window.js +69 -0
- package/dist/src/flowchart/window.js.map +1 -0
- package/dist/src/index.d.ts +25 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +48 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +35 -3
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +72 -3
- package/dist/src/internal.js.map +1 -1
- package/dist/src/plan/assemble.d.ts +2224 -0
- package/dist/src/plan/assemble.d.ts.map +1 -0
- package/dist/src/plan/assemble.js +210 -0
- package/dist/src/plan/assemble.js.map +1 -0
- package/dist/src/plan/builders.d.ts +790 -0
- package/dist/src/plan/builders.d.ts.map +1 -0
- package/dist/src/plan/builders.js +749 -0
- package/dist/src/plan/builders.js.map +1 -0
- package/dist/src/plan/event-rows.d.ts +2565 -0
- package/dist/src/plan/event-rows.d.ts.map +1 -0
- package/dist/src/plan/event-rows.js +689 -0
- package/dist/src/plan/event-rows.js.map +1 -0
- package/dist/src/plan/factories.d.ts +458 -0
- package/dist/src/plan/factories.d.ts.map +1 -0
- package/dist/src/plan/factories.js +484 -0
- package/dist/src/plan/factories.js.map +1 -0
- package/dist/src/plan/index.d.ts +672 -0
- package/dist/src/plan/index.d.ts.map +1 -0
- package/dist/src/plan/index.js +532 -0
- package/dist/src/plan/index.js.map +1 -0
- package/dist/src/plan/ir.d.ts +2594 -0
- package/dist/src/plan/ir.d.ts.map +1 -0
- package/dist/src/plan/ir.js +78 -0
- package/dist/src/plan/ir.js.map +1 -0
- package/dist/src/plan/library.d.ts +772 -0
- package/dist/src/plan/library.d.ts.map +1 -0
- package/dist/src/plan/library.js +424 -0
- package/dist/src/plan/library.js.map +1 -0
- package/dist/src/plan/ordered-source.d.ts +27 -0
- package/dist/src/plan/ordered-source.d.ts.map +1 -0
- package/dist/src/plan/ordered-source.js +48 -0
- package/dist/src/plan/ordered-source.js.map +1 -0
- package/dist/src/plan/over.d.ts +247 -0
- package/dist/src/plan/over.d.ts.map +1 -0
- package/dist/src/plan/over.js +266 -0
- package/dist/src/plan/over.js.map +1 -0
- package/dist/src/plan/pick.d.ts +78 -0
- package/dist/src/plan/pick.d.ts.map +1 -0
- package/dist/src/plan/pick.js +146 -0
- package/dist/src/plan/pick.js.map +1 -0
- package/dist/src/plan/plan.d.ts +11611 -0
- package/dist/src/plan/plan.d.ts.map +1 -0
- package/dist/src/plan/plan.js +428 -0
- package/dist/src/plan/plan.js.map +1 -0
- package/dist/src/plan/refs.d.ts +218 -0
- package/dist/src/plan/refs.d.ts.map +1 -0
- package/dist/src/plan/refs.js +226 -0
- package/dist/src/plan/refs.js.map +1 -0
- package/dist/src/plan/root.d.ts +290 -0
- package/dist/src/plan/root.d.ts.map +1 -0
- package/dist/src/plan/root.js +463 -0
- package/dist/src/plan/root.js.map +1 -0
- package/dist/src/plan/series.d.ts +13554 -0
- package/dist/src/plan/series.d.ts.map +1 -0
- package/dist/src/plan/series.js +1921 -0
- package/dist/src/plan/series.js.map +1 -0
- package/dist/src/plan/types.d.ts +12400 -0
- package/dist/src/plan/types.d.ts.map +1 -0
- package/dist/src/plan/types.js +1335 -0
- package/dist/src/plan/types.js.map +1 -0
- package/dist/src/roster/coverage.d.ts +240 -0
- package/dist/src/roster/coverage.d.ts.map +1 -0
- package/dist/src/roster/coverage.js +109 -0
- package/dist/src/roster/coverage.js.map +1 -0
- package/dist/src/roster/index.d.ts +4028 -0
- package/dist/src/roster/index.d.ts.map +1 -0
- package/dist/src/roster/index.js +115 -0
- package/dist/src/roster/index.js.map +1 -0
- package/dist/src/roster/library.d.ts +106 -0
- package/dist/src/roster/library.d.ts.map +1 -0
- package/dist/src/roster/library.js +78 -0
- package/dist/src/roster/library.js.map +1 -0
- package/dist/src/roster/people.d.ts +50 -0
- package/dist/src/roster/people.d.ts.map +1 -0
- package/dist/src/roster/people.js +32 -0
- package/dist/src/roster/people.js.map +1 -0
- package/dist/src/roster/rules.d.ts +275 -0
- package/dist/src/roster/rules.d.ts.map +1 -0
- package/dist/src/roster/rules.js +162 -0
- package/dist/src/roster/rules.js.map +1 -0
- package/dist/src/roster/types.d.ts +672 -0
- package/dist/src/roster/types.d.ts.map +1 -0
- package/dist/src/roster/types.js +248 -0
- package/dist/src/roster/types.js.map +1 -0
- package/dist/src/roster/visibility.d.ts +66 -0
- package/dist/src/roster/visibility.d.ts.map +1 -0
- package/dist/src/roster/visibility.js +25 -0
- package/dist/src/roster/visibility.js.map +1 -0
- package/dist/src/schedule/days.d.ts +54 -0
- package/dist/src/schedule/days.d.ts.map +1 -0
- package/dist/src/schedule/days.js +68 -0
- package/dist/src/schedule/days.js.map +1 -0
- package/dist/src/schedule/events.d.ts +433 -0
- package/dist/src/schedule/events.d.ts.map +1 -0
- package/dist/src/schedule/events.js +851 -0
- package/dist/src/schedule/events.js.map +1 -0
- package/dist/src/schedule/index.d.ts +150 -0
- package/dist/src/schedule/index.d.ts.map +1 -0
- package/dist/src/schedule/index.js +132 -0
- package/dist/src/schedule/index.js.map +1 -0
- package/dist/src/schedule/library.d.ts +70 -0
- package/dist/src/schedule/library.d.ts.map +1 -0
- package/dist/src/schedule/library.js +102 -0
- package/dist/src/schedule/library.js.map +1 -0
- package/dist/src/schedule/patch.d.ts +74 -0
- package/dist/src/schedule/patch.d.ts.map +1 -0
- package/dist/src/schedule/patch.js +68 -0
- package/dist/src/schedule/patch.js.map +1 -0
- package/dist/src/schedule/record-window.d.ts +189 -0
- package/dist/src/schedule/record-window.d.ts.map +1 -0
- package/dist/src/schedule/record-window.js +95 -0
- package/dist/src/schedule/record-window.js.map +1 -0
- package/dist/src/schedule/resources.d.ts +165 -0
- package/dist/src/schedule/resources.d.ts.map +1 -0
- package/dist/src/schedule/resources.js +234 -0
- package/dist/src/schedule/resources.js.map +1 -0
- package/dist/src/schedule/templates.d.ts +47 -0
- package/dist/src/schedule/templates.d.ts.map +1 -0
- package/dist/src/schedule/templates.js +61 -0
- package/dist/src/schedule/templates.js.map +1 -0
- package/dist/src/schedule/types.d.ts +1677 -0
- package/dist/src/schedule/types.d.ts.map +1 -0
- package/dist/src/schedule/types.js +374 -0
- package/dist/src/schedule/types.js.map +1 -0
- package/dist/src/schedule/window.d.ts +154 -0
- package/dist/src/schedule/window.d.ts.map +1 -0
- package/dist/src/schedule/window.js +363 -0
- package/dist/src/schedule/window.js.map +1 -0
- package/dist/src/sheet/bridge.d.ts +385 -0
- package/dist/src/sheet/bridge.d.ts.map +1 -0
- package/dist/src/sheet/bridge.js +809 -0
- package/dist/src/sheet/bridge.js.map +1 -0
- package/dist/src/sheet/columns.d.ts +410 -0
- package/dist/src/sheet/columns.d.ts.map +1 -0
- package/dist/src/sheet/columns.js +99 -0
- package/dist/src/sheet/columns.js.map +1 -0
- package/dist/src/sheet/context-bridge.d.ts +48 -0
- package/dist/src/sheet/context-bridge.d.ts.map +1 -0
- package/dist/src/sheet/context-bridge.js +216 -0
- package/dist/src/sheet/context-bridge.js.map +1 -0
- package/dist/src/sheet/draft-bridge.d.ts +37 -0
- package/dist/src/sheet/draft-bridge.d.ts.map +1 -0
- package/dist/src/sheet/draft-bridge.js +153 -0
- package/dist/src/sheet/draft-bridge.js.map +1 -0
- package/dist/src/sheet/drafts.d.ts +14 -0
- package/dist/src/sheet/drafts.d.ts.map +1 -0
- package/dist/src/sheet/drafts.js +14 -0
- package/dist/src/sheet/drafts.js.map +1 -0
- package/dist/src/sheet/editing-bridge.d.ts +40 -0
- package/dist/src/sheet/editing-bridge.d.ts.map +1 -0
- package/dist/src/sheet/editing-bridge.js +231 -0
- package/dist/src/sheet/editing-bridge.js.map +1 -0
- package/dist/src/sheet/editing-types.d.ts +268 -0
- package/dist/src/sheet/editing-types.d.ts.map +1 -0
- package/dist/src/sheet/editing-types.js +34 -0
- package/dist/src/sheet/editing-types.js.map +1 -0
- package/dist/src/sheet/edits.d.ts +37 -0
- package/dist/src/sheet/edits.d.ts.map +1 -0
- package/dist/src/sheet/edits.js +31 -0
- package/dist/src/sheet/edits.js.map +1 -0
- package/dist/src/sheet/fields.d.ts +693 -0
- package/dist/src/sheet/fields.d.ts.map +1 -0
- package/dist/src/sheet/fields.js +280 -0
- package/dist/src/sheet/fields.js.map +1 -0
- package/dist/src/sheet/group.d.ts +165 -0
- package/dist/src/sheet/group.d.ts.map +1 -0
- package/dist/src/sheet/group.js +52 -0
- package/dist/src/sheet/group.js.map +1 -0
- package/dist/src/sheet/index.d.ts +542 -0
- package/dist/src/sheet/index.d.ts.map +1 -0
- package/dist/src/sheet/index.js +387 -0
- package/dist/src/sheet/index.js.map +1 -0
- package/dist/src/sheet/library.d.ts +284 -0
- package/dist/src/sheet/library.d.ts.map +1 -0
- package/dist/src/sheet/library.js +259 -0
- package/dist/src/sheet/library.js.map +1 -0
- package/dist/src/sheet/link.d.ts +398 -0
- package/dist/src/sheet/link.d.ts.map +1 -0
- package/dist/src/sheet/link.js +228 -0
- package/dist/src/sheet/link.js.map +1 -0
- package/dist/src/sheet/record.d.ts +75 -0
- package/dist/src/sheet/record.d.ts.map +1 -0
- package/dist/src/sheet/record.js +128 -0
- package/dist/src/sheet/record.js.map +1 -0
- package/dist/src/sheet/registers.d.ts +681 -0
- package/dist/src/sheet/registers.d.ts.map +1 -0
- package/dist/src/sheet/registers.js +671 -0
- package/dist/src/sheet/registers.js.map +1 -0
- package/dist/src/sheet/root.d.ts +329 -0
- package/dist/src/sheet/root.d.ts.map +1 -0
- package/dist/src/sheet/root.js +511 -0
- package/dist/src/sheet/root.js.map +1 -0
- package/dist/src/sheet/seed-bridge.d.ts +14 -0
- package/dist/src/sheet/seed-bridge.d.ts.map +1 -0
- package/dist/src/sheet/seed-bridge.js +51 -0
- package/dist/src/sheet/seed-bridge.js.map +1 -0
- package/dist/src/sheet/sheet.d.ts +11819 -0
- package/dist/src/sheet/sheet.d.ts.map +1 -0
- package/dist/src/sheet/sheet.js +236 -0
- package/dist/src/sheet/sheet.js.map +1 -0
- package/dist/src/sheet/sub-rows.d.ts +299 -0
- package/dist/src/sheet/sub-rows.d.ts.map +1 -0
- package/dist/src/sheet/sub-rows.js +272 -0
- package/dist/src/sheet/sub-rows.js.map +1 -0
- package/dist/src/sheet/templates.d.ts +161 -0
- package/dist/src/sheet/templates.d.ts.map +1 -0
- package/dist/src/sheet/templates.js +122 -0
- package/dist/src/sheet/templates.js.map +1 -0
- package/dist/src/sheet/transactions.d.ts +76 -0
- package/dist/src/sheet/transactions.d.ts.map +1 -0
- package/dist/src/sheet/transactions.js +40 -0
- package/dist/src/sheet/transactions.js.map +1 -0
- package/dist/src/sheet/types.d.ts +15226 -0
- package/dist/src/sheet/types.d.ts.map +1 -0
- package/dist/src/sheet/types.js +1070 -0
- package/dist/src/sheet/types.js.map +1 -0
- package/dist/src/sheet/views.d.ts +29 -0
- package/dist/src/sheet/views.d.ts.map +1 -0
- package/dist/src/sheet/views.js +43 -0
- package/dist/src/sheet/views.js.map +1 -0
- package/dist/src/studio/component.d.ts.map +1 -1
- package/dist/src/studio/component.js +11 -8
- package/dist/src/studio/component.js.map +1 -1
- package/dist/src/utils/derive.d.ts +134 -8
- package/dist/src/utils/derive.d.ts.map +1 -1
- package/dist/src/utils/derive.js +409 -7
- package/dist/src/utils/derive.js.map +1 -1
- package/dist/src/utils/ordered-source.d.ts +38 -0
- package/dist/src/utils/ordered-source.d.ts.map +1 -0
- package/dist/src/utils/ordered-source.js +45 -0
- package/dist/src/utils/ordered-source.js.map +1 -0
- package/dist/src/utils/row-inspector.d.ts +36 -0
- package/dist/src/utils/row-inspector.d.ts.map +1 -0
- package/dist/src/utils/row-inspector.js +49 -0
- package/dist/src/utils/row-inspector.js.map +1 -0
- package/dist/test/bind/data/data.examples.d.ts +21 -19
- package/dist/test/bind/data/data.examples.d.ts.map +1 -1
- package/dist/test/bind/data/data.examples.js +122 -122
- package/dist/test/bind/data/data.examples.js.map +1 -1
- package/dist/test/bind/record/record.examples.d.ts.map +1 -1
- package/dist/test/bind/record/record.examples.js +9 -9
- package/dist/test/bind/record/record.examples.js.map +1 -1
- package/dist/test/calendar/calendar-records.examples.d.ts +228 -0
- package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -0
- package/dist/test/calendar/calendar-records.examples.js +91 -0
- package/dist/test/calendar/calendar-records.examples.js.map +1 -0
- package/dist/test/calendar/calendar.examples.d.ts +776 -0
- package/dist/test/calendar/calendar.examples.d.ts.map +1 -0
- package/dist/test/calendar/calendar.examples.js +336 -0
- package/dist/test/calendar/calendar.examples.js.map +1 -0
- package/dist/test/decision/journal.examples.d.ts +28 -28
- package/dist/test/decision/journal.examples.d.ts.map +1 -1
- package/dist/test/decision/journal.examples.js +4 -4
- package/dist/test/decision/journal.examples.js.map +1 -1
- package/dist/test/decision/queue.examples.d.ts.map +1 -1
- package/dist/test/decision/queue.examples.js +5 -7
- package/dist/test/decision/queue.examples.js.map +1 -1
- package/dist/test/flowchart/flowchart.examples.d.ts +3713 -0
- package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -0
- package/dist/test/flowchart/flowchart.examples.js +465 -0
- package/dist/test/flowchart/flowchart.examples.js.map +1 -0
- package/dist/test/plan/plan-events.examples.d.ts +3666 -0
- package/dist/test/plan/plan-events.examples.d.ts.map +1 -0
- package/dist/test/plan/plan-events.examples.js +773 -0
- package/dist/test/plan/plan-events.examples.js.map +1 -0
- package/dist/test/plan/plan-records.examples.d.ts +3 -0
- package/dist/test/plan/plan-records.examples.d.ts.map +1 -0
- package/dist/test/plan/plan-records.examples.js +45 -0
- package/dist/test/plan/plan-records.examples.js.map +1 -0
- package/dist/test/plan/plan-windows.examples.d.ts +588 -0
- package/dist/test/plan/plan-windows.examples.d.ts.map +1 -0
- package/dist/test/plan/plan-windows.examples.js +170 -0
- package/dist/test/plan/plan-windows.examples.js.map +1 -0
- package/dist/test/plan/plan.examples.d.ts +8095 -0
- package/dist/test/plan/plan.examples.d.ts.map +1 -0
- package/dist/test/plan/plan.examples.js +2500 -0
- package/dist/test/plan/plan.examples.js.map +1 -0
- package/dist/test/roster/domain.examples.d.ts +367 -0
- package/dist/test/roster/domain.examples.d.ts.map +1 -0
- package/dist/test/roster/domain.examples.js +72 -0
- package/dist/test/roster/domain.examples.js.map +1 -0
- package/dist/test/roster/roster-records.examples.d.ts +729 -0
- package/dist/test/roster/roster-records.examples.d.ts.map +1 -0
- package/dist/test/roster/roster-records.examples.js +86 -0
- package/dist/test/roster/roster-records.examples.js.map +1 -0
- package/dist/test/roster/roster.examples.d.ts +750 -0
- package/dist/test/roster/roster.examples.d.ts.map +1 -0
- package/dist/test/roster/roster.examples.js +198 -0
- package/dist/test/roster/roster.examples.js.map +1 -0
- package/dist/test/roster/warehouse.d.ts +87 -0
- package/dist/test/roster/warehouse.d.ts.map +1 -0
- package/dist/test/roster/warehouse.js +883 -0
- package/dist/test/roster/warehouse.js.map +1 -0
- package/dist/test/sheet/sheet-link.examples.d.ts +7 -0
- package/dist/test/sheet/sheet-link.examples.d.ts.map +1 -0
- package/dist/test/sheet/sheet-link.examples.js +41 -0
- package/dist/test/sheet/sheet-link.examples.js.map +1 -0
- package/dist/test/sheet/sheet-records.examples.d.ts +421 -0
- package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -0
- package/dist/test/sheet/sheet-records.examples.js +79 -0
- package/dist/test/sheet/sheet-records.examples.js.map +1 -0
- package/dist/test/sheet/sheet-transactions.examples.d.ts +7 -0
- package/dist/test/sheet/sheet-transactions.examples.d.ts.map +1 -0
- package/dist/test/sheet/sheet-transactions.examples.js +58 -0
- package/dist/test/sheet/sheet-transactions.examples.js.map +1 -0
- package/dist/test/sheet/sheet.examples.d.ts +5562 -0
- package/dist/test/sheet/sheet.examples.d.ts.map +1 -0
- package/dist/test/sheet/sheet.examples.js +1178 -0
- package/dist/test/sheet/sheet.examples.js.map +1 -0
- package/dist/test/studio/studio.examples.d.ts.map +1 -1
- package/dist/test/studio/studio.examples.js +11 -11
- package/dist/test/studio/studio.examples.js.map +1 -1
- package/package.json +12 -9
|
@@ -0,0 +1,433 @@
|
|
|
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
|
+
* `Schedule.events(record, config)` (#1218, `Calendar Spec.md` §4.1): one
|
|
7
|
+
* event kind — shifts, jobs, inspections — a record of its own, bound with its
|
|
8
|
+
* patch mutation, each of its entries one event.
|
|
9
|
+
*
|
|
10
|
+
* Field names say what a gesture writes (`title`, `start`, `end`, `resource`,
|
|
11
|
+
* `status`), so a move, a resize or a drop writes the app's own fields; an
|
|
12
|
+
* accessor `(row, key) => …` gives what is not a field (a backlog row's
|
|
13
|
+
* duration and due date). Every name is checked against the record's row type
|
|
14
|
+
* at compile time, and again at build, naming itself.
|
|
15
|
+
*
|
|
16
|
+
* Plan's options sit beside the Calendar's (#1190, `Plan Builder Spec.md`
|
|
17
|
+
* §4.1): how the kind draws (`draw`), an instant kind's one time (`at`, in
|
|
18
|
+
* place of `start` and `end`), the fields its events' lifecycle, quantity
|
|
19
|
+
* and lane are read from (`state`, `quantity`, `lane`), whether two of its
|
|
20
|
+
* events on one resource at once are a conflict (`overlaps`), and the kind's
|
|
21
|
+
* own inspector for one event (`inspector`, #1197).
|
|
22
|
+
*
|
|
23
|
+
* The kind closes the record behind East functions over beast2 bytes
|
|
24
|
+
* ({@link ScheduleKindType}): its events over a window and its backlog, each
|
|
25
|
+
* with the drafts in place; a gesture written into an entry; the author's
|
|
26
|
+
* readiness check; the shared editing session over the record, which commits
|
|
27
|
+
* each Save through its patch mutation (`Record.onApply(record, { keyed:
|
|
28
|
+
* true })`); and its history. A builder's payload is one type whatever the
|
|
29
|
+
* records hold, and the renderer never needs a row type.
|
|
30
|
+
*
|
|
31
|
+
* A record Slice reads overlap queries through its declared interval indexes
|
|
32
|
+
* (`slice: Slice.bindRecord(...)`, with `range` naming the start field).
|
|
33
|
+
* It shares the toolbar's filters and window, counts original events once,
|
|
34
|
+
* and reads backlog through the same choices with an Unset start. It requires
|
|
35
|
+
* `entries` for original-key inspection and Save. Existing drafts outside a
|
|
36
|
+
* new narrowing remain in the session; Save includes them. Do not combine
|
|
37
|
+
* this with a local `filter`, `window`, or `backlogWindow`.
|
|
38
|
+
*
|
|
39
|
+
* A large record may also be read a window at a time (#1199, `window.ts`): given
|
|
40
|
+
* `window`, a paged read of a day index keyed by `Schedule.days`, the kind's
|
|
41
|
+
* events over a window are the rows the index files under the days in view,
|
|
42
|
+
* and given `backlogWindow`, a paged read of an index keyed by
|
|
43
|
+
* `Schedule.unscheduled`, its backlog is the rows that index holds — the
|
|
44
|
+
* record never read whole by either, the drafts in place over them as over the
|
|
45
|
+
* whole record. A kind read through its day index whose times are Options
|
|
46
|
+
* reads its backlog through its backlog index too, and every kind given
|
|
47
|
+
* `window` reads one event by its key through `entries`, a paged read of the
|
|
48
|
+
* record's own entries: the inspector's event (`planEvent`, which looks first
|
|
49
|
+
* among the rows the windows hold, where a gesture's event is drawn), and its
|
|
50
|
+
* editing session's, which is a session over the record's revision rather
|
|
51
|
+
* than its snapshot — its drafts held by key, each checked by the record
|
|
52
|
+
* against what it began from, and a Save's entries read back by key. It builds
|
|
53
|
+
* two ways:
|
|
54
|
+
* `build(slot)` is the Calendar's kind, which takes no notice of Plan's
|
|
55
|
+
* options, and `buildPlan(slot)` Plan's ({@link PlanEventKindType}), the same
|
|
56
|
+
* kind with how it draws, its roles, and its events as Plan draws them.
|
|
57
|
+
*
|
|
58
|
+
* A record may be keyed by any type: an event is named by its key's text, a
|
|
59
|
+
* String key as it is, any other key as East prints it.
|
|
60
|
+
*
|
|
61
|
+
* @packageDocumentation
|
|
62
|
+
*/
|
|
63
|
+
import { BooleanType, DateTimeType, DictType, FloatType, OptionType, StringType, StructType, type EastType, type ExprType, type FunctionType, type NullType, type SubtypeExprOrValue, type VariantType } from "@elaraai/east";
|
|
64
|
+
import { EventStateType, type UIComponentType } from "@elaraai/east-ui";
|
|
65
|
+
import { EditingReadinessType, TickFormatType, type FieldHints } from "@elaraai/east-ui/internal";
|
|
66
|
+
import type { PlanDrawLiteral } from "../plan/types.js";
|
|
67
|
+
import { type ScheduleTemplates } from "./templates.js";
|
|
68
|
+
import { SCHEDULE_DEF } from "./resources.js";
|
|
69
|
+
import { type ScheduleRecordSlice } from "./record-window.js";
|
|
70
|
+
import { PlanEventKindType, ScheduleClockType, ScheduleDurationType, ScheduleKindType, type ScheduleStatusCasesType } from "./types.js";
|
|
71
|
+
/**
|
|
72
|
+
* A record bound with its patch mutation, as a kind reads it — what
|
|
73
|
+
* `Record.bind(record, [e3.mutation.patch(record)])` returns for a `Dict`.
|
|
74
|
+
*
|
|
75
|
+
* @typeParam K - The record's key type
|
|
76
|
+
* @typeParam R - Its row type
|
|
77
|
+
*/
|
|
78
|
+
export interface ScheduleRecordHandle<K extends EastType, R extends EastType> {
|
|
79
|
+
/** The record's entries. */
|
|
80
|
+
read: (...args: never[]) => ExprType<DictType<K, R>>;
|
|
81
|
+
/** The record's commits. */
|
|
82
|
+
history: unknown;
|
|
83
|
+
/** The record's writes, its patch door among them. */
|
|
84
|
+
commit: unknown;
|
|
85
|
+
/** The record's binding. */
|
|
86
|
+
binding: unknown;
|
|
87
|
+
}
|
|
88
|
+
/** The names of a struct's fields. */
|
|
89
|
+
type FieldName<R extends StructType> = keyof R["fields"] & string;
|
|
90
|
+
/** The fields of a struct whose type is `T`. */
|
|
91
|
+
type FieldsOf<R extends StructType, T> = {
|
|
92
|
+
[F in FieldName<R>]: R["fields"][F] extends T ? F : never;
|
|
93
|
+
}[FieldName<R>];
|
|
94
|
+
/** Whether a variant's cases are an Option's. */
|
|
95
|
+
type IsOption<C> = "none" extends keyof C ? ("some" extends keyof C ? true : false) : false;
|
|
96
|
+
/** Whether every case of a variant holds a String. */
|
|
97
|
+
type StringCases<C> = [C[keyof C]] extends [StringType] ? true : false;
|
|
98
|
+
/** A type with its Option taken off, once: a resource field may be an Option of what it holds, never an Option of an Option. */
|
|
99
|
+
type Unwrapped<T> = T extends VariantType<infer C> ? (IsOption<C> extends true ? C["some" & keyof C] : T) : T;
|
|
100
|
+
/** What a resource field holds, its Option taken off: a key of one kind (`"key"`), or a case per kind (`"cases"`). */
|
|
101
|
+
type ResourceShapeOf<T> = T extends StringType ? "key" : T extends VariantType<infer C> ? (StringCases<C> extends true ? "cases" : never) : never;
|
|
102
|
+
/** What a resource field holds: a key of one kind (`"key"`), or a case per kind (`"cases"`). */
|
|
103
|
+
type ResourceShape<T> = ResourceShapeOf<Unwrapped<T>>;
|
|
104
|
+
/** A String field of the row: an event's title, or the lane its tile sits in. */
|
|
105
|
+
export type ScheduleStringField<R extends StructType> = FieldsOf<R, StringType>;
|
|
106
|
+
/** A DateTime field of the row, or an Option of one: an event's start or end. */
|
|
107
|
+
export type ScheduleInstantField<R extends StructType> = FieldsOf<R, DateTimeType | OptionType<DateTimeType>>;
|
|
108
|
+
/** A plain DateTime field of the row: an instant kind's one time (`at`). */
|
|
109
|
+
export type ScheduleAtField<R extends StructType> = FieldsOf<R, DateTimeType>;
|
|
110
|
+
/** A Float field of the row: an event's quantity. */
|
|
111
|
+
export type ScheduleFloatField<R extends StructType> = FieldsOf<R, FloatType>;
|
|
112
|
+
/** An `EventStateType` field of the row: the lifecycle an event wears on a Plan. */
|
|
113
|
+
export type ScheduleStateField<R extends StructType> = FieldsOf<R, EventStateType>;
|
|
114
|
+
/**
|
|
115
|
+
* A field of the row that names a resource: a String or an `Option<String>`,
|
|
116
|
+
* holding a key of one resource kind; or a variant of String cases, or an
|
|
117
|
+
* Option of one, holding a key of the kind its case names.
|
|
118
|
+
*/
|
|
119
|
+
export type ScheduleResourceField<R extends StructType> = {
|
|
120
|
+
[F in FieldName<R>]: [ResourceShape<R["fields"][F]>] extends [never] ? never : F;
|
|
121
|
+
}[FieldName<R>];
|
|
122
|
+
/** What `of` takes for a resource field, its Option taken off. */
|
|
123
|
+
type ResourceOfUnwrapped<T> = T extends StringType ? string : T extends VariantType<infer C> ? {
|
|
124
|
+
readonly [K in keyof C]: string;
|
|
125
|
+
} : never;
|
|
126
|
+
/** What `of` takes for a resource field: a resource slot's name, or one per case. */
|
|
127
|
+
export type ScheduleResourceOf<T> = ResourceOfUnwrapped<Unwrapped<T>>;
|
|
128
|
+
/** A variant field of the row, not an Option: an event's status. */
|
|
129
|
+
export type ScheduleStatusField<R extends StructType> = {
|
|
130
|
+
[F in FieldName<R>]: R["fields"][F] extends VariantType<infer C> ? (IsOption<C> extends true ? never : F) : never;
|
|
131
|
+
}[FieldName<R>];
|
|
132
|
+
/** The status table a status variant takes: one Status per case. */
|
|
133
|
+
export type ScheduleStatusCasesOf<T> = T extends VariantType<infer C> ? ScheduleStatusCasesType<C> : never;
|
|
134
|
+
/** A template's values: the row's fields less the ones a drop places (the start, the end and the resource, or an instant's `at`). */
|
|
135
|
+
export type ScheduleValuesOf<R extends StructType, Placed extends string> = StructType<{
|
|
136
|
+
[F in Exclude<FieldName<R>, Placed>]: R["fields"][F];
|
|
137
|
+
}>;
|
|
138
|
+
/**
|
|
139
|
+
* A backlog: how long an unscheduled row takes, and when it is due.
|
|
140
|
+
*
|
|
141
|
+
* @typeParam K - The record's key type
|
|
142
|
+
* @typeParam R - Its row type
|
|
143
|
+
*/
|
|
144
|
+
export interface ScheduleBacklog<K extends EastType, R extends EastType> {
|
|
145
|
+
/** How long an unscheduled row takes, which sizes it when it is dropped. */
|
|
146
|
+
duration: (row: ExprType<R>, key: ExprType<K>) => SubtypeExprOrValue<ScheduleDurationType>;
|
|
147
|
+
/** When it is due, which groups the backlog. */
|
|
148
|
+
due?: (row: ExprType<R>, key: ExprType<K>) => SubtypeExprOrValue<OptionType<DateTimeType>>;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* A preset the library lists: dropped, it creates an event of its kind.
|
|
152
|
+
*
|
|
153
|
+
* @typeParam V - Its values' type: the row's fields less the start, the end and the resource
|
|
154
|
+
*/
|
|
155
|
+
export interface ScheduleTemplate<V extends StructType> {
|
|
156
|
+
/** Unique within its kind. */
|
|
157
|
+
key: string;
|
|
158
|
+
/** The card's name. */
|
|
159
|
+
name: string;
|
|
160
|
+
/** The library's group for it. */
|
|
161
|
+
group?: string;
|
|
162
|
+
/** When it starts if dropped on a whole day: `{ hour: 6n, minute: 0n }`. */
|
|
163
|
+
at?: SubtypeExprOrValue<ScheduleClockType>;
|
|
164
|
+
/** How long it runs: `variant("hours", 8)`. */
|
|
165
|
+
duration: SubtypeExprOrValue<ScheduleDurationType>;
|
|
166
|
+
/** A value for every field but the start, the end and the resource. */
|
|
167
|
+
values: SubtypeExprOrValue<V>;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* A preset of an instant kind: dropped, it creates an event at one time, so
|
|
171
|
+
* it has no duration.
|
|
172
|
+
*
|
|
173
|
+
* @typeParam V - Its values' type: the row's fields less `at` and the resource
|
|
174
|
+
*/
|
|
175
|
+
export type ScheduleInstantTemplate<V extends StructType> = Omit<ScheduleTemplate<V>, "duration">;
|
|
176
|
+
/**
|
|
177
|
+
* How a status variant shows, case by case.
|
|
178
|
+
*
|
|
179
|
+
* @typeParam R - The row type
|
|
180
|
+
* @typeParam SF - The status field
|
|
181
|
+
*/
|
|
182
|
+
export interface ScheduleStatusConfig<R extends StructType, SF extends string> {
|
|
183
|
+
/** The status field: a variant, not an Option. */
|
|
184
|
+
field: SF;
|
|
185
|
+
/** One Status per case: its words, its tone and whether it is an open ring. */
|
|
186
|
+
cases: SubtypeExprOrValue<ScheduleStatusCasesOf<R["fields"][SF]>>;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* A quantity an event carries: what a Plan's bar prints after its label, and
|
|
190
|
+
* a parent's rollup sums, unit by unit.
|
|
191
|
+
*
|
|
192
|
+
* @typeParam R - The row type
|
|
193
|
+
*/
|
|
194
|
+
export interface ScheduleQuantity<R extends StructType> {
|
|
195
|
+
/** The Float field the quantity is. */
|
|
196
|
+
field: ScheduleFloatField<R>;
|
|
197
|
+
/** Its unit (`"sheets"`): quantities in different units never sum together. */
|
|
198
|
+
unit?: string;
|
|
199
|
+
/** How it prints (`Format.*`); omitted, the canvas's plain number. */
|
|
200
|
+
format?: SubtypeExprOrValue<TickFormatType>;
|
|
201
|
+
}
|
|
202
|
+
/** Whether two events of a kind on one resource at once are a conflict: `warn` (the default) or `allow`. */
|
|
203
|
+
export type ScheduleOverlapsLiteral = "warn" | "allow";
|
|
204
|
+
/**
|
|
205
|
+
* What every event kind declares, whether its events run from a start to an
|
|
206
|
+
* end or are each one instant (`Calendar Spec.md` §4.1, `Plan Builder Spec.md`
|
|
207
|
+
* §4.1). An option a builder has no use for is accepted and ignored there:
|
|
208
|
+
* the Calendar takes no notice of Plan's.
|
|
209
|
+
*
|
|
210
|
+
* @typeParam K - The record's key type
|
|
211
|
+
* @typeParam R - Its row type
|
|
212
|
+
* @typeParam F - The resource field, when the kind has one
|
|
213
|
+
* @typeParam SF - The status field, when the kind has one
|
|
214
|
+
*/
|
|
215
|
+
export interface ScheduleEventsBase<K extends EastType, R extends StructType, F extends string, SF extends string> {
|
|
216
|
+
/** The kind's name: on its events, in the filter and the inspector. */
|
|
217
|
+
name: string;
|
|
218
|
+
/** Its Font Awesome icon. */
|
|
219
|
+
icon: string;
|
|
220
|
+
/** The String field an event's title is: drawn on its block, edited in the inspector. */
|
|
221
|
+
title: ScheduleStringField<R>;
|
|
222
|
+
/** The resource an event is on: a key field of one kind (`of: "people"`), or a variant field with a kind per case. Omitted, no resource. */
|
|
223
|
+
resource?: {
|
|
224
|
+
field: F;
|
|
225
|
+
of: ScheduleResourceOf<R["fields"][F]>;
|
|
226
|
+
};
|
|
227
|
+
/** A variant field shown as the event's status, a Status per case. On a Plan, a warning tone rings the element. */
|
|
228
|
+
status?: ScheduleStatusConfig<R, SF>;
|
|
229
|
+
/** Hints for the inspector's form over the other fields (`Schedule.field`, east-ui's `Fields`). */
|
|
230
|
+
fields?: FieldHints<R["fields"]>;
|
|
231
|
+
/**
|
|
232
|
+
* Author-owned narrowing over the typed row and its original key, usually
|
|
233
|
+
* `Slice.apply.matches` over an author-bound Slice. Runs after drafts are
|
|
234
|
+
* overlaid on a record or index window, for scheduled rows and backlog.
|
|
235
|
+
* Does not change by-key inspector reads, editing baselines or Save.
|
|
236
|
+
* On a paged record this filters the requested window, not all history.
|
|
237
|
+
*/
|
|
238
|
+
filter?: (row: ExprType<R>, key: ExprType<K>) => SubtypeExprOrValue<BooleanType>;
|
|
239
|
+
/** The app's check on a drafted event: a refusal holds Save, naming the event and the field. */
|
|
240
|
+
ready?: (row: ExprType<R>, key: ExprType<K>) => SubtypeExprOrValue<typeof EditingReadinessType>;
|
|
241
|
+
/**
|
|
242
|
+
* A paged read of a day index over the record (`Data.bindPaged(record, {
|
|
243
|
+
* index, join: true })`), keyed by `Schedule.days`: the kind's events over
|
|
244
|
+
* a window are the rows the index files under the days in view, and the
|
|
245
|
+
* record is never read whole for them (#1199). A kind whose times are
|
|
246
|
+
* Options reads its backlog through `backlogWindow` beside it, and every
|
|
247
|
+
* kind given it reads one event by its key through `entries`.
|
|
248
|
+
*/
|
|
249
|
+
window?: unknown;
|
|
250
|
+
/** Indexed record narrowing. Uses an interval index, with original-key entries beside it. */
|
|
251
|
+
slice?: ScheduleRecordSlice<K, R>;
|
|
252
|
+
/**
|
|
253
|
+
* A paged read of the record's own entries (`Data.bindPaged(record)`),
|
|
254
|
+
* beside `window` (#1199): one event read by its key — its key sought, then
|
|
255
|
+
* a one-row page — for the inspector, and for the editing session, whose
|
|
256
|
+
* base is the record's revision: a draft's original, a Save's entries read
|
|
257
|
+
* back, a conflict's entries named. Required with `window` or record `slice`.
|
|
258
|
+
*/
|
|
259
|
+
entries?: unknown;
|
|
260
|
+
/** Plan: the `EventStateType` field whose lifecycle its events wear. Omitted, confirmed. */
|
|
261
|
+
state?: ScheduleStateField<R>;
|
|
262
|
+
/** Plan: the Float field a bar prints and a parent's rollup sums, unit by unit. */
|
|
263
|
+
quantity?: ScheduleQuantity<R>;
|
|
264
|
+
/** Plan: the String field naming the lane a tile sits in (AM, PM). */
|
|
265
|
+
lane?: ScheduleStringField<R>;
|
|
266
|
+
/** Whether two events of the kind on one resource at once are a conflict (`"warn"`, the default) or run in parallel (`"allow"`). */
|
|
267
|
+
overlaps?: ScheduleOverlapsLiteral;
|
|
268
|
+
/**
|
|
269
|
+
* Plan and Calendar: the kind's own inspector for one event (PB60) — an East function
|
|
270
|
+
* over the event's row and a writer of the edited row,
|
|
271
|
+
* `(row, update) => UIComponentType`, passed through untouched (never
|
|
272
|
+
* called at build), capturing only data and bind handles. A Plan's
|
|
273
|
+
* inspector pane shows what it returns for one event of the kind, in place
|
|
274
|
+
* of the kind's form over `fields`; `update(edited)` writes the edited
|
|
275
|
+
* event back as one transaction. Omitted, the form.
|
|
276
|
+
*/
|
|
277
|
+
inspector?: SubtypeExprOrValue<FunctionType<[R, FunctionType<[R], NullType>], UIComponentType>>;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* An event kind whose events run from a start to an end (`Calendar Spec.md`
|
|
281
|
+
* §4.1).
|
|
282
|
+
*
|
|
283
|
+
* @typeParam K - The record's key type
|
|
284
|
+
* @typeParam R - Its row type
|
|
285
|
+
* @typeParam S - The start field
|
|
286
|
+
* @typeParam E - The end field
|
|
287
|
+
* @typeParam F - The resource field, when the kind has one
|
|
288
|
+
* @typeParam SF - The status field, when the kind has one
|
|
289
|
+
*/
|
|
290
|
+
export interface ScheduleEventsConfig<K extends EastType, R extends StructType, S extends string, E extends string, F extends string, SF extends string = never> extends ScheduleEventsBase<K, R, F, SF> {
|
|
291
|
+
/** The field an event starts at: a DateTime, or an Option of one, which gives the kind a backlog. */
|
|
292
|
+
start: S;
|
|
293
|
+
/** The field an event ends at: of the start's type. */
|
|
294
|
+
end: E;
|
|
295
|
+
/** Plan: how it draws — bars (`"span"`, the default), tiles in bucket cells, chips over whole buckets, or marks at its start. */
|
|
296
|
+
draw?: PlanDrawLiteral;
|
|
297
|
+
/** For Option times: how long an unscheduled row takes, and when it is due. */
|
|
298
|
+
backlog?: R["fields"][S] extends OptionType<DateTimeType> ? ScheduleBacklog<K, R> : never;
|
|
299
|
+
/** The presets the library lists. */
|
|
300
|
+
templates?: readonly ScheduleTemplate<ScheduleValuesOf<R, S | E | F>>[] | ScheduleTemplates<ScheduleValuesOf<R, S | E | F>>;
|
|
301
|
+
/**
|
|
302
|
+
* A paged read of a backlog index over the record (`Data.bindPaged(record,
|
|
303
|
+
* { index, join: true })`), keyed by `Schedule.unscheduled`: the kind's
|
|
304
|
+
* backlog is the rows the index holds (#1199).
|
|
305
|
+
*/
|
|
306
|
+
backlogWindow?: unknown;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* An event kind whose events are each one instant (`Plan Builder Spec.md`
|
|
310
|
+
* §4.1): a plate change, a delivery. Drawn as tiles or marks.
|
|
311
|
+
*
|
|
312
|
+
* @typeParam K - The record's key type
|
|
313
|
+
* @typeParam R - Its row type
|
|
314
|
+
* @typeParam A - The instant's field
|
|
315
|
+
* @typeParam F - The resource field, when the kind has one
|
|
316
|
+
* @typeParam SF - The status field, when the kind has one
|
|
317
|
+
*/
|
|
318
|
+
export interface ScheduleInstantEventsConfig<K extends EastType, R extends StructType, A extends string, F extends string, SF extends string = never> extends ScheduleEventsBase<K, R, F, SF> {
|
|
319
|
+
/** The DateTime field an event is at, in place of `start` and `end`. */
|
|
320
|
+
at: A;
|
|
321
|
+
/** Plan: how it draws — marks (the default) or tiles in bucket cells. */
|
|
322
|
+
draw?: "buckets" | "marks";
|
|
323
|
+
/** The presets the library lists; an instant has no duration. */
|
|
324
|
+
templates?: readonly ScheduleInstantTemplate<ScheduleValuesOf<R, A | F>>[];
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* An event kind, declared: what a builder's `events` takes, by slot.
|
|
328
|
+
*
|
|
329
|
+
* @typeParam K - The record's key type
|
|
330
|
+
* @typeParam R - Its row type
|
|
331
|
+
*/
|
|
332
|
+
export interface ScheduleEventKind<K extends EastType, R extends EastType> {
|
|
333
|
+
/** What it is. */
|
|
334
|
+
readonly [SCHEDULE_DEF]: "events";
|
|
335
|
+
/** The record's key type. */
|
|
336
|
+
readonly keyType: K;
|
|
337
|
+
/** Its row type. */
|
|
338
|
+
readonly rowType: R;
|
|
339
|
+
/** Its name. */
|
|
340
|
+
readonly name: string;
|
|
341
|
+
/** Its Font Awesome icon: what each of its elements on a Plan wears (#1192). */
|
|
342
|
+
readonly icon: string;
|
|
343
|
+
/** The resource kinds its events may be on, by slot name: `resource.of`'s. */
|
|
344
|
+
readonly takes: readonly string[];
|
|
345
|
+
/** Plan: how it draws — bars, tiles, chips or marks; a resource draws a row for each way its kinds draw (#1192). */
|
|
346
|
+
readonly draw: PlanDrawLiteral;
|
|
347
|
+
/**
|
|
348
|
+
* The kind on the wire, under its slot: the Calendar's, which takes no
|
|
349
|
+
* notice of Plan's options.
|
|
350
|
+
*
|
|
351
|
+
* @param slot - The builder's slot name for it
|
|
352
|
+
* @returns The kind, closed
|
|
353
|
+
*/
|
|
354
|
+
build(slot: string): ExprType<ScheduleKindType>;
|
|
355
|
+
/**
|
|
356
|
+
* The kind on the wire as Plan's builder takes it, under its slot: the
|
|
357
|
+
* Calendar's kind with how it draws, its roles, and its events as Plan
|
|
358
|
+
* draws them.
|
|
359
|
+
*
|
|
360
|
+
* @param slot - The builder's slot name for it
|
|
361
|
+
* @returns The kind, closed
|
|
362
|
+
*/
|
|
363
|
+
buildPlan(slot: string): ExprType<PlanEventKindType>;
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Declares an event kind (see the module docs).
|
|
367
|
+
*
|
|
368
|
+
* @typeParam K - The record's key type
|
|
369
|
+
* @typeParam R - Its row type
|
|
370
|
+
* @typeParam S - The start field
|
|
371
|
+
* @typeParam E - The end field
|
|
372
|
+
* @typeParam F - The resource field, when the kind has one
|
|
373
|
+
* @typeParam SF - The status field, when the kind has one
|
|
374
|
+
* @param record - The record, `Record.bind(record, [e3.mutation.patch(record)])`; a `Dict` of row structs
|
|
375
|
+
* @param config - The kind's options: its name and icon, the fields a gesture writes, its status, backlog, form, templates, check and windows, and Plan's
|
|
376
|
+
* @returns The kind, for a builder's `events`
|
|
377
|
+
* @throws {Error} Naming the option: a record that is not a `Dict` of structs or is not bound with its patch mutation; a
|
|
378
|
+
* `title` that is not a String field; a `start` or `end` that is not a DateTime field or an Option of one, or one of each;
|
|
379
|
+
* an `at` that is not a DateTime field, or given with `start` and `end`; a `resource` field that holds no resource key, an
|
|
380
|
+
* `of` that is not a slot name for a key field, or whose cases are not the variant's; a `status` that is not a variant;
|
|
381
|
+
* `backlog` without Option times; a template key repeated, a span kind's template without a duration, or values of
|
|
382
|
+
* another type; `fields` naming a field the row does not have, or hinting one it cannot; a window over another index,
|
|
383
|
+
* a `backlogWindow` on plain times, a `window` over Option times without a `backlogWindow`, a `window` without
|
|
384
|
+
* `entries`, `entries` without a `window` or record `slice`, and `entries` that is not a paged read of the record's own entries naming
|
|
385
|
+
* its snapshot (#1199) — a window that reads no rows (`join` not true) is refused as it is read, naming `join: true`;
|
|
386
|
+
* a `draw` that is not a way to draw, or draws two ends of an instant; a `state`, `quantity` or `lane` field of
|
|
387
|
+
* another type; a `review`, which is removed (#1260); an `overlaps` that is neither `"warn"` nor `"allow"`; and an
|
|
388
|
+
* `inspector` that is not an East function `(row, update) => UIComponentType` over the row
|
|
389
|
+
* @example
|
|
390
|
+
* ```tsx
|
|
391
|
+
* import { DateTimeType, DictType, East, NullType, OptionType, StringType, StructType, VariantType, variant } from "@elaraai/east";
|
|
392
|
+
* import { Reactive, UIComponentType } from "@elaraai/east-ui";
|
|
393
|
+
* import { Record, Schedule } from "@elaraai/e3-ui";
|
|
394
|
+
* import e3 from "@elaraai/e3";
|
|
395
|
+
*
|
|
396
|
+
* const ShiftType = StructType({
|
|
397
|
+
* title: StringType, start: DateTimeType, end: DateTimeType,
|
|
398
|
+
* person: OptionType(StringType),
|
|
399
|
+
* status: VariantType({ tentative: NullType, confirmed: NullType }),
|
|
400
|
+
* });
|
|
401
|
+
* const shifts = e3.record("shifts", DictType(StringType, ShiftType), new Map());
|
|
402
|
+
* const shiftsPatch = e3.mutation.patch(shifts);
|
|
403
|
+
*
|
|
404
|
+
* // Inside a builder's Reactive body: shifts on people, their status shown.
|
|
405
|
+
* const shift = Schedule.events(Record.bind(shifts, [shiftsPatch]), {
|
|
406
|
+
* name: "Shift", icon: "user-clock",
|
|
407
|
+
* title: "title", start: "start", end: "end",
|
|
408
|
+
* resource: { field: "person", of: "people" },
|
|
409
|
+
* status: { field: "status", cases: {
|
|
410
|
+
* tentative: { label: "Tentative", tone: variant("neutral", null), ring: true },
|
|
411
|
+
* confirmed: { label: "Confirmed", tone: variant("success", null), ring: false },
|
|
412
|
+
* } },
|
|
413
|
+
* });
|
|
414
|
+
* ```
|
|
415
|
+
*/
|
|
416
|
+
export declare function scheduleEvents<K extends EastType, R extends StructType, S extends ScheduleInstantField<R>, E extends ScheduleInstantField<R>, F extends ScheduleResourceField<R> = never, SF extends ScheduleStatusField<R> = never>(record: ScheduleRecordHandle<K, R>, config: ScheduleEventsConfig<K, R, S, E, F, SF>): ScheduleEventKind<K, R>;
|
|
417
|
+
/**
|
|
418
|
+
* Declares an instant event kind, each event one time (`at`): a plate change,
|
|
419
|
+
* a delivery (see the module docs).
|
|
420
|
+
*
|
|
421
|
+
* @typeParam K - The record's key type
|
|
422
|
+
* @typeParam R - Its row type
|
|
423
|
+
* @typeParam A - The instant's field
|
|
424
|
+
* @typeParam F - The resource field, when the kind has one
|
|
425
|
+
* @typeParam SF - The status field, when the kind has one
|
|
426
|
+
* @param record - The record, `Record.bind(record, [e3.mutation.patch(record)])`; a `Dict` of row structs
|
|
427
|
+
* @param config - The kind's options, with `at` in place of `start` and `end`
|
|
428
|
+
* @returns The kind, for a builder's `events`
|
|
429
|
+
* @throws {Error} Naming the option, as the span form does
|
|
430
|
+
*/
|
|
431
|
+
export declare function scheduleEvents<K extends EastType, R extends StructType, A extends ScheduleAtField<R>, F extends ScheduleResourceField<R> = never, SF extends ScheduleStatusField<R> = never>(record: ScheduleRecordHandle<K, R>, config: ScheduleInstantEventsConfig<K, R, A, F, SF>): ScheduleEventKind<K, R>;
|
|
432
|
+
export {};
|
|
433
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/schedule/events.ts"],"names":[],"mappings":"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"}
|