@antelopejs/interface-dms 0.3.5 → 0.3.6
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/CHANGELOG.md +27 -0
- package/README.md +2 -2
- package/dist/attachments.d.ts +19 -10
- package/dist/attachments.js +15 -0
- package/dist/attachments.js.map +1 -1
- package/dist/auth/db/internal/sessions.model.d.ts +9 -0
- package/dist/auth/db/internal/sessions.model.js +31 -0
- package/dist/auth/db/internal/sessions.model.js.map +1 -0
- package/dist/auth/db/models/sessions.model.d.ts +16 -2
- package/dist/auth/db/models/sessions.model.js +33 -41
- package/dist/auth/db/models/sessions.model.js.map +1 -1
- package/dist/auth/db/models/userExternalIdentities.model.d.ts +11 -0
- package/dist/auth/db/models/userExternalIdentities.model.js +11 -0
- package/dist/auth/db/models/userExternalIdentities.model.js.map +1 -1
- package/dist/auth/db/models/users.model.d.ts +13 -0
- package/dist/auth/db/models/users.model.js +13 -0
- package/dist/auth/db/models/users.model.js.map +1 -1
- package/dist/auth/db/tables/sessions.table.d.ts +6 -1
- package/dist/auth/db/tables/sessions.table.js +0 -4
- package/dist/auth/db/tables/sessions.table.js.map +1 -1
- package/dist/auth/db/tables/userExternalIdentities.table.d.ts +24 -0
- package/dist/auth/db/tables/userExternalIdentities.table.js +13 -0
- package/dist/auth/db/tables/userExternalIdentities.table.js.map +1 -1
- package/dist/auth/db/tables/users.table.d.ts +60 -0
- package/dist/auth/db/tables/users.table.js +32 -0
- package/dist/auth/db/tables/users.table.js.map +1 -1
- package/dist/auth/index.d.ts +114 -10
- package/dist/auth/index.js +110 -17
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/internal/request-authenticators.d.ts +6 -0
- package/dist/auth/internal/request-authenticators.js +82 -0
- package/dist/auth/internal/request-authenticators.js.map +1 -0
- package/dist/auth/internal/request-principal.d.ts +10 -0
- package/dist/auth/internal/request-principal.js +27 -0
- package/dist/auth/internal/request-principal.js.map +1 -0
- package/dist/auth/internal/user-agent.d.ts +10 -0
- package/dist/auth/internal/user-agent.js +3 -0
- package/dist/auth/internal/user-agent.js.map +1 -0
- package/dist/auth/password.d.ts +19 -0
- package/dist/auth/password.js +23 -0
- package/dist/auth/password.js.map +1 -1
- package/dist/auth/request-authenticators.d.ts +4 -3
- package/dist/auth/request-authenticators.js +0 -77
- package/dist/auth/request-authenticators.js.map +1 -1
- package/dist/base/activity-feed.d.ts +210 -0
- package/dist/base/activity-feed.js +104 -0
- package/dist/base/activity-feed.js.map +1 -0
- package/dist/base/banner.d.ts +111 -0
- package/dist/base/banner.js +93 -0
- package/dist/base/banner.js.map +1 -0
- package/dist/base/block-registry/helpers.d.ts +26 -0
- package/dist/base/block-registry/helpers.js +27 -1
- package/dist/base/block-registry/helpers.js.map +1 -1
- package/dist/base/block-registry/internal/describe.d.ts +35 -0
- package/dist/base/block-registry/{describe.js → internal/describe.js} +50 -0
- package/dist/base/block-registry/internal/describe.js.map +1 -0
- package/dist/base/block-registry/internal/ui.d.ts +23 -0
- package/dist/base/block-registry/internal/ui.js +35 -0
- package/dist/base/block-registry/internal/ui.js.map +1 -0
- package/dist/base/block-registry/registry.d.ts +24 -0
- package/dist/base/block-registry/registry.js +30 -1
- package/dist/base/block-registry/registry.js.map +1 -1
- package/dist/base/block-registry/types.d.ts +149 -0
- package/dist/base/block-types.d.ts +22 -2
- package/dist/base/block-types.js +24 -2
- package/dist/base/block-types.js.map +1 -1
- package/dist/base/card.d.ts +100 -0
- package/dist/base/card.js +91 -0
- package/dist/base/card.js.map +1 -0
- package/dist/base/chart-card.d.ts +9 -2
- package/dist/base/chart-card.js +14 -1
- package/dist/base/chart-card.js.map +1 -1
- package/dist/base/chart-schemas.d.ts +127 -115
- package/dist/base/chart-schemas.js +18 -56
- package/dist/base/chart-schemas.js.map +1 -1
- package/dist/base/chart-type.d.ts +15 -0
- package/dist/base/chart-type.js +20 -0
- package/dist/base/chart-type.js.map +1 -0
- package/dist/base/chart.d.ts +31 -22
- package/dist/base/chart.js +27 -54
- package/dist/base/chart.js.map +1 -1
- package/dist/base/confirm-dialog.d.ts +6 -0
- package/dist/base/confirm-dialog.js +18 -0
- package/dist/base/confirm-dialog.js.map +1 -0
- package/dist/base/data-sources.d.ts +38 -0
- package/dist/base/data-sources.js +13 -0
- package/dist/base/data-sources.js.map +1 -1
- package/dist/base/data-types/compare-types.d.ts +0 -2
- package/dist/base/data-types/compare-types.js +18 -13
- package/dist/base/data-types/compare-types.js.map +1 -1
- package/dist/base/data-types/core.d.ts +55 -0
- package/dist/base/data-types/core.js +42 -0
- package/dist/base/data-types/core.js.map +1 -1
- package/dist/base/data-types/default-types.d.ts +241 -62
- package/dist/base/data-types/default-types.js +257 -135
- package/dist/base/data-types/default-types.js.map +1 -1
- package/dist/base/data-types/field-types.d.ts +164 -0
- package/dist/base/data-types/field-types.js +236 -0
- package/dist/base/data-types/field-types.js.map +1 -0
- package/dist/base/data-types/index.d.ts +1 -0
- package/dist/base/data-types/index.js +21 -0
- package/dist/base/data-types/index.js.map +1 -1
- package/dist/base/data-types/internal/compare-types.d.ts +3 -0
- package/dist/base/data-types/internal/compare-types.js +15 -0
- package/dist/base/data-types/internal/compare-types.js.map +1 -0
- package/dist/base/data-types/status-type.d.ts +2 -1
- package/dist/base/data-types/status-type.js +6 -0
- package/dist/base/data-types/status-type.js.map +1 -1
- package/dist/base/display.d.ts +124 -0
- package/dist/base/display.js +95 -0
- package/dist/base/display.js.map +1 -0
- package/dist/base/empty-state.d.ts +106 -0
- package/dist/base/empty-state.js +109 -0
- package/dist/base/empty-state.js.map +1 -0
- package/dist/base/export-jobs.d.ts +39 -1
- package/dist/base/export-jobs.js +12 -3
- package/dist/base/export-jobs.js.map +1 -1
- package/dist/base/form-block-schema.d.ts +345 -28
- package/dist/base/form-block-schema.js +83 -12
- package/dist/base/form-block-schema.js.map +1 -1
- package/dist/base/form-schema.d.ts +137 -22
- package/dist/base/form-schema.js +139 -42
- package/dist/base/form-schema.js.map +1 -1
- package/dist/base/form-types.d.ts +139 -4
- package/dist/base/form-types.js +7 -1
- package/dist/base/form-types.js.map +1 -1
- package/dist/base/form.js +7 -0
- package/dist/base/form.js.map +1 -1
- package/dist/base/grid.d.ts +57 -0
- package/dist/base/grid.js +43 -0
- package/dist/base/grid.js.map +1 -1
- package/dist/base/helpers/file-refs.js +5 -1
- package/dist/base/helpers/file-refs.js.map +1 -1
- package/dist/base/index.d.ts +11 -1
- package/dist/base/index.js +16 -1
- package/dist/base/index.js.map +1 -1
- package/dist/base/internal/button-availability.d.ts +17 -0
- package/dist/base/internal/button-availability.js +31 -0
- package/dist/base/internal/button-availability.js.map +1 -0
- package/dist/base/internal/chart-schemas.d.ts +6 -0
- package/dist/base/internal/chart-schemas.js +70 -0
- package/dist/base/internal/chart-schemas.js.map +1 -0
- package/dist/base/internal/chart.d.ts +22 -0
- package/dist/base/internal/chart.js +37 -0
- package/dist/base/internal/chart.js.map +1 -0
- package/dist/base/internal/confirm-dialog.d.ts +13 -0
- package/dist/base/internal/confirm-dialog.js +24 -0
- package/dist/base/internal/confirm-dialog.js.map +1 -0
- package/dist/base/internal/display.d.ts +13 -0
- package/dist/base/internal/display.js +18 -0
- package/dist/base/internal/display.js.map +1 -0
- package/dist/base/internal/export-jobs.d.ts +2 -0
- package/dist/base/internal/export-jobs.js +6 -0
- package/dist/base/internal/export-jobs.js.map +1 -0
- package/dist/base/internal/form-block-schema.d.ts +6 -0
- package/dist/base/internal/form-block-schema.js +10 -0
- package/dist/base/internal/form-block-schema.js.map +1 -0
- package/dist/base/internal/form-schema.d.ts +7 -0
- package/dist/base/internal/form-schema.js +26 -0
- package/dist/base/internal/form-schema.js.map +1 -0
- package/dist/base/internal/layouts.d.ts +39 -0
- package/dist/base/internal/layouts.js +3 -0
- package/dist/base/internal/layouts.js.map +1 -0
- package/dist/base/internal/query-response.d.ts +24 -0
- package/dist/base/internal/query-response.js +47 -0
- package/dist/base/internal/query-response.js.map +1 -0
- package/dist/base/internal/searchable.d.ts +6 -0
- package/dist/base/internal/searchable.js +15 -0
- package/dist/base/internal/searchable.js.map +1 -0
- package/dist/base/key-value-list.d.ts +160 -0
- package/dist/base/key-value-list.js +107 -0
- package/dist/base/key-value-list.js.map +1 -0
- package/dist/base/kpi-card.d.ts +12 -4
- package/dist/base/kpi-card.js +7 -0
- package/dist/base/kpi-card.js.map +1 -1
- package/dist/base/layouts.d.ts +35 -0
- package/dist/base/layouts.js +41 -7
- package/dist/base/layouts.js.map +1 -1
- package/dist/base/meter.d.ts +186 -0
- package/dist/base/meter.js +134 -0
- package/dist/base/meter.js.map +1 -0
- package/dist/base/nav-card-grid.d.ts +173 -0
- package/dist/base/nav-card-grid.js +89 -0
- package/dist/base/nav-card-grid.js.map +1 -0
- package/dist/base/period-selector.d.ts +20 -0
- package/dist/base/period-selector.js +23 -0
- package/dist/base/period-selector.js.map +1 -1
- package/dist/base/placeholder.d.ts +26 -0
- package/dist/base/placeholder.js +12 -0
- package/dist/base/placeholder.js.map +1 -1
- package/dist/base/query-response.d.ts +51 -1
- package/dist/base/query-response.js +43 -26
- package/dist/base/query-response.js.map +1 -1
- package/dist/base/resource-form-schema.d.ts +18 -0
- package/dist/base/resource-form-schema.js +20 -3
- package/dist/base/resource-form-schema.js.map +1 -1
- package/dist/base/searchable.d.ts +2 -0
- package/dist/base/searchable.js +4 -0
- package/dist/base/searchable.js.map +1 -1
- package/dist/base/section.d.ts +105 -0
- package/dist/base/section.js +123 -0
- package/dist/base/section.js.map +1 -0
- package/dist/base/stack.d.ts +113 -0
- package/dist/base/stack.js +58 -0
- package/dist/base/stack.js.map +1 -1
- package/dist/base/stat-group.d.ts +152 -0
- package/dist/base/stat-group.js +97 -0
- package/dist/base/stat-group.js.map +1 -0
- package/dist/base/tab.d.ts +25 -8
- package/dist/base/tab.js +11 -0
- package/dist/base/tab.js.map +1 -1
- package/dist/base/table-view/column-display.d.ts +195 -0
- package/dist/base/table-view/column-display.js +131 -0
- package/dist/base/table-view/column-display.js.map +1 -0
- package/dist/base/table-view/data-functions.d.ts +36 -14
- package/dist/base/table-view/data-functions.js +26 -1
- package/dist/base/table-view/data-functions.js.map +1 -1
- package/dist/base/table-view/factory-helpers.d.ts +0 -42
- package/dist/base/table-view/factory-helpers.js +1 -244
- package/dist/base/table-view/factory-helpers.js.map +1 -1
- package/dist/base/table-view/factory.d.ts +5 -1
- package/dist/base/table-view/factory.js +158 -202
- package/dist/base/table-view/factory.js.map +1 -1
- package/dist/base/table-view/internal/auth.d.ts +33 -0
- package/dist/base/table-view/{auth.js → internal/auth.js} +45 -6
- package/dist/base/table-view/internal/auth.js.map +1 -0
- package/dist/base/table-view/internal/column-display.d.ts +18 -0
- package/dist/base/table-view/internal/column-display.js +37 -0
- package/dist/base/table-view/internal/column-display.js.map +1 -0
- package/dist/base/table-view/internal/data-functions.d.ts +14 -0
- package/dist/base/table-view/internal/data-functions.js +3 -0
- package/dist/base/table-view/internal/data-functions.js.map +1 -0
- package/dist/base/table-view/internal/factory-helpers.d.ts +213 -0
- package/dist/base/table-view/internal/factory-helpers.js +477 -0
- package/dist/base/table-view/internal/factory-helpers.js.map +1 -0
- package/dist/base/table-view/{files.d.ts → internal/files.d.ts} +5 -0
- package/dist/base/table-view/{files.js → internal/files.js} +14 -4
- package/dist/base/table-view/internal/files.js.map +1 -0
- package/dist/base/table-view/internal/footer.d.ts +33 -0
- package/dist/base/table-view/internal/footer.js +112 -0
- package/dist/base/table-view/internal/footer.js.map +1 -0
- package/dist/base/table-view/{guards.d.ts → internal/guards.d.ts} +3 -0
- package/dist/base/table-view/internal/guards.js +134 -0
- package/dist/base/table-view/internal/guards.js.map +1 -0
- package/dist/base/table-view/internal/meta.d.ts +5 -0
- package/dist/base/table-view/internal/meta.js +13 -0
- package/dist/base/table-view/internal/meta.js.map +1 -0
- package/dist/base/table-view/internal/nav-badges.d.ts +9 -0
- package/dist/base/table-view/internal/nav-badges.js +79 -0
- package/dist/base/table-view/internal/nav-badges.js.map +1 -0
- package/dist/base/table-view/internal/options.d.ts +6 -0
- package/dist/base/table-view/internal/options.js +10 -0
- package/dist/base/table-view/internal/options.js.map +1 -0
- package/dist/base/table-view/internal/realtime-listeners.d.ts +4 -0
- package/dist/base/table-view/internal/realtime-listeners.js +7 -0
- package/dist/base/table-view/internal/realtime-listeners.js.map +1 -0
- package/dist/base/table-view/internal/realtime.d.ts +39 -0
- package/dist/base/table-view/internal/realtime.js +163 -0
- package/dist/base/table-view/internal/realtime.js.map +1 -0
- package/dist/base/table-view/internal/request-filter.d.ts +75 -0
- package/dist/base/table-view/internal/request-filter.js +154 -0
- package/dist/base/table-view/internal/request-filter.js.map +1 -0
- package/dist/base/table-view/internal/resource-form.d.ts +25 -0
- package/dist/base/table-view/internal/resource-form.js +91 -0
- package/dist/base/table-view/internal/resource-form.js.map +1 -0
- package/dist/base/table-view/{row-rules.d.ts → internal/row-rules.d.ts} +5 -2
- package/dist/base/table-view/{row-rules.js → internal/row-rules.js} +20 -19
- package/dist/base/table-view/internal/row-rules.js.map +1 -0
- package/dist/base/table-view/internal/tabs.d.ts +39 -0
- package/dist/base/table-view/internal/tabs.js +116 -0
- package/dist/base/table-view/internal/tabs.js.map +1 -0
- package/dist/base/table-view/internal/validation.d.ts +99 -0
- package/dist/base/table-view/internal/validation.js +297 -0
- package/dist/base/table-view/internal/validation.js.map +1 -0
- package/dist/base/table-view/internal/views.d.ts +14 -0
- package/dist/base/table-view/internal/views.js +42 -0
- package/dist/base/table-view/internal/views.js.map +1 -0
- package/dist/base/table-view/internal/writer.d.ts +39 -0
- package/dist/base/table-view/internal/writer.js +55 -0
- package/dist/base/table-view/internal/writer.js.map +1 -0
- package/dist/base/table-view/meta.d.ts +77 -4
- package/dist/base/table-view/meta.js +133 -13
- package/dist/base/table-view/meta.js.map +1 -1
- package/dist/base/table-view/options.d.ts +749 -28
- package/dist/base/table-view/options.js +9 -2
- package/dist/base/table-view/options.js.map +1 -1
- package/dist/base/table-view/realtime.d.ts +26 -17
- package/dist/base/table-view/realtime.js +29 -126
- package/dist/base/table-view/realtime.js.map +1 -1
- package/dist/base/table-view/resource-form.d.ts +11 -5
- package/dist/base/table-view/resource-form.js +15 -59
- package/dist/base/table-view/resource-form.js.map +1 -1
- package/dist/base/table-view/routes.d.ts +29 -0
- package/dist/base/table-view/routes.js +71 -6
- package/dist/base/table-view/routes.js.map +1 -1
- package/dist/base/table-view/schema.d.ts +483 -69
- package/dist/base/table-view/schema.js +163 -18
- package/dist/base/table-view/schema.js.map +1 -1
- package/dist/base/table-view/source.d.ts +62 -0
- package/dist/base/table-view/source.js +161 -0
- package/dist/base/table-view/source.js.map +1 -0
- package/dist/base/table-view/views.d.ts +20 -0
- package/dist/base/table-view/views.js +38 -0
- package/dist/base/table-view/views.js.map +1 -0
- package/dist/base/table-view/writer.d.ts +7 -0
- package/dist/base/table-view/writer.js +17 -0
- package/dist/base/table-view/writer.js.map +1 -0
- package/dist/base/table-view.d.ts +34 -6
- package/dist/base/table-view.js +42 -6
- package/dist/base/table-view.js.map +1 -1
- package/dist/base/tenant-export-archive.d.ts +21 -0
- package/dist/base/tenant-export-archive.js +11 -0
- package/dist/base/tenant-export-archive.js.map +1 -1
- package/dist/base/top-list-card.d.ts +35 -12
- package/dist/base/top-list-card.js +24 -0
- package/dist/base/top-list-card.js.map +1 -1
- package/dist/base/types/action-target.d.ts +36 -20
- package/dist/base/types/component-input.d.ts +3 -0
- package/dist/base/types/confirm-dialog.d.ts +69 -0
- package/dist/base/types/confirm-dialog.js +3 -0
- package/dist/base/types/confirm-dialog.js.map +1 -0
- package/dist/base/types/custom-button.d.ts +48 -2
- package/dist/base/types/enum-option.d.ts +9 -0
- package/dist/base/types/error.d.ts +9 -0
- package/dist/base/types/error.js +7 -1
- package/dist/base/types/error.js.map +1 -1
- package/dist/base/types/export-status.d.ts +3 -0
- package/dist/base/types/export-status.js +3 -0
- package/dist/base/types/export-status.js.map +1 -1
- package/dist/base/types/field-config.d.ts +3 -0
- package/dist/base/types/form-mode.d.ts +3 -0
- package/dist/base/types/form-mode.js +3 -0
- package/dist/base/types/form-mode.js.map +1 -1
- package/dist/base/types/form-values.d.ts +6 -0
- package/dist/base/types/guards.d.ts +37 -7
- package/dist/base/types/index.d.ts +2 -0
- package/dist/base/types/index.js +2 -0
- package/dist/base/types/index.js.map +1 -1
- package/dist/base/types/internal/action-target.d.ts +8 -0
- package/dist/base/types/internal/action-target.js +16 -0
- package/dist/base/types/internal/action-target.js.map +1 -0
- package/dist/base/types/json.d.ts +6 -0
- package/dist/base/types/orientation.d.ts +3 -0
- package/dist/base/types/orientation.js +3 -0
- package/dist/base/types/orientation.js.map +1 -1
- package/dist/base/types/readonly-behavior.d.ts +9 -0
- package/dist/base/types/readonly-behavior.js +3 -0
- package/dist/base/types/readonly-behavior.js.map +1 -1
- package/dist/base/types/row-action.d.ts +111 -0
- package/dist/base/types/size.d.ts +1 -0
- package/dist/base/types/size.js +4 -0
- package/dist/base/types/size.js.map +1 -1
- package/dist/base/types/tone.d.ts +14 -0
- package/dist/base/types/tone.js +24 -0
- package/dist/base/types/tone.js.map +1 -0
- package/dist/client-base-url.d.ts +8 -0
- package/dist/client-base-url.js +8 -0
- package/dist/client-base-url.js.map +1 -1
- package/dist/component-slots.d.ts +17 -2
- package/dist/component-slots.js +18 -66
- package/dist/component-slots.js.map +1 -1
- package/dist/component.d.ts +113 -0
- package/dist/component.js +84 -1
- package/dist/component.js.map +1 -1
- package/dist/data-controllers/members.d.ts +16 -1
- package/dist/data-controllers/members.js +87 -26
- package/dist/data-controllers/members.js.map +1 -1
- package/dist/data-controllers/roles.d.ts +1 -0
- package/dist/data-controllers/roles.js +3 -3
- package/dist/data-controllers/roles.js.map +1 -1
- package/dist/db/{models → internal}/exportJobs.model.d.ts +2 -0
- package/dist/db/{models → internal}/exportJobs.model.js +4 -1
- package/dist/db/internal/exportJobs.model.js.map +1 -0
- package/dist/db/internal/inviteResolutions.model.d.ts +34 -0
- package/dist/db/internal/inviteResolutions.model.js +80 -0
- package/dist/db/internal/inviteResolutions.model.js.map +1 -0
- package/dist/db/internal/table-names.d.ts +4 -0
- package/dist/db/internal/table-names.js +8 -0
- package/dist/db/internal/table-names.js.map +1 -0
- package/dist/db/{models → internal}/tenantLifecycle.model.d.ts +10 -1
- package/dist/db/{models → internal}/tenantLifecycle.model.js +10 -1
- package/dist/db/internal/tenantLifecycle.model.js.map +1 -0
- package/dist/db/{tables → internal}/tenantLifecycle.table.d.ts +6 -0
- package/dist/db/{tables → internal}/tenantLifecycle.table.js +6 -0
- package/dist/db/internal/tenantLifecycle.table.js.map +1 -0
- package/dist/db/models/index.d.ts +0 -2
- package/dist/db/models/index.js +0 -2
- package/dist/db/models/index.js.map +1 -1
- package/dist/db/models/inviteResolutions.model.d.ts +1 -25
- package/dist/db/models/inviteResolutions.model.js +0 -68
- package/dist/db/models/inviteResolutions.model.js.map +1 -1
- package/dist/db/models/roles.model.d.ts +6 -0
- package/dist/db/models/roles.model.js +6 -0
- package/dist/db/models/roles.model.js.map +1 -1
- package/dist/db/models/tenantMembers.model.js +1 -1
- package/dist/db/models/tenantMembers.model.js.map +1 -1
- package/dist/db/models/user_invites.model.d.ts +24 -0
- package/dist/db/models/user_invites.model.js +25 -1
- package/dist/db/models/user_invites.model.js.map +1 -1
- package/dist/db/tables/exportJobs.table.d.ts +5 -1
- package/dist/db/tables/exportJobs.table.js +3 -3
- package/dist/db/tables/exportJobs.table.js.map +1 -1
- package/dist/db/tables/index.d.ts +0 -1
- package/dist/db/tables/index.js +0 -1
- package/dist/db/tables/index.js.map +1 -1
- package/dist/db/tables/inviteResolutions.table.d.ts +1 -1
- package/dist/db/tables/inviteResolutions.table.js +4 -3
- package/dist/db/tables/inviteResolutions.table.js.map +1 -1
- package/dist/db/tables/roles.table.d.ts +2 -0
- package/dist/db/tables/roles.table.js +4 -0
- package/dist/db/tables/roles.table.js.map +1 -1
- package/dist/db/tables/tenantMembers.table.d.ts +1 -0
- package/dist/db/tables/user_invites.table.d.ts +11 -0
- package/dist/db/tables/user_invites.table.js +4 -0
- package/dist/db/tables/user_invites.table.js.map +1 -1
- package/dist/guards.d.ts +36 -0
- package/dist/guards.js +30 -1
- package/dist/guards.js.map +1 -1
- package/dist/hooks.d.ts +133 -1
- package/dist/hooks.js +87 -1
- package/dist/hooks.js.map +1 -1
- package/dist/html-render/index.d.ts +15 -0
- package/dist/html-render/index.js +15 -0
- package/dist/html-render/index.js.map +1 -1
- package/dist/html-render/types.d.ts +4 -0
- package/dist/index.d.ts +6 -7
- package/dist/index.js +12 -17
- package/dist/index.js.map +1 -1
- package/dist/internal/attachments.d.ts +16 -0
- package/dist/internal/attachments.js +3 -0
- package/dist/internal/attachments.js.map +1 -0
- package/dist/internal/component-slots.d.ts +27 -0
- package/dist/internal/component-slots.js +97 -0
- package/dist/internal/component-slots.js.map +1 -0
- package/dist/internal/invite-membership.d.ts +8 -0
- package/dist/{invite-membership.js → internal/invite-membership.js} +11 -5
- package/dist/internal/invite-membership.js.map +1 -0
- package/dist/internal/invite-replacement.d.ts +7 -0
- package/dist/{invite-replacement.js → internal/invite-replacement.js} +8 -3
- package/dist/internal/invite-replacement.js.map +1 -0
- package/dist/internal/invite-resolution.d.ts +3 -0
- package/dist/internal/invite-resolution.js +50 -0
- package/dist/internal/invite-resolution.js.map +1 -0
- package/dist/internal/invites.d.ts +31 -0
- package/dist/internal/invites.js +44 -0
- package/dist/internal/invites.js.map +1 -0
- package/dist/internal/permission-gate.d.ts +23 -0
- package/dist/internal/permission-gate.js +43 -0
- package/dist/internal/permission-gate.js.map +1 -0
- package/dist/internal/tenant-access.d.ts +28 -0
- package/dist/internal/tenant-access.js +28 -0
- package/dist/internal/tenant-access.js.map +1 -0
- package/dist/internal/tenant-ownership.d.ts +13 -0
- package/dist/internal/tenant-ownership.js +95 -0
- package/dist/internal/tenant-ownership.js.map +1 -0
- package/dist/internal/uploads.d.ts +19 -0
- package/dist/internal/uploads.js +3 -0
- package/dist/internal/uploads.js.map +1 -0
- package/dist/invite-extensions/availability.d.ts +28 -3
- package/dist/invite-extensions/availability.js +26 -23
- package/dist/invite-extensions/availability.js.map +1 -1
- package/dist/invite-extensions/internal/availability.d.ts +12 -0
- package/dist/invite-extensions/internal/availability.js +32 -0
- package/dist/invite-extensions/internal/availability.js.map +1 -0
- package/dist/invite-extensions/internal/delivery.d.ts +44 -0
- package/dist/invite-extensions/{delivery.js → internal/delivery.js} +38 -0
- package/dist/invite-extensions/internal/delivery.js.map +1 -0
- package/dist/invite-extensions/internal/edit.d.ts +34 -0
- package/dist/invite-extensions/{edit.js → internal/edit.js} +33 -0
- package/dist/invite-extensions/internal/edit.js.map +1 -0
- package/dist/invite-extensions/internal/field-ids.d.ts +21 -0
- package/dist/invite-extensions/{field-ids.js → internal/field-ids.js} +13 -0
- package/dist/invite-extensions/internal/field-ids.js.map +1 -0
- package/dist/invite-extensions/internal/form-slot.d.ts +13 -0
- package/dist/invite-extensions/{form-slot.js → internal/form-slot.js} +49 -4
- package/dist/invite-extensions/internal/form-slot.js.map +1 -0
- package/dist/invite-extensions/internal/payload-slices.d.ts +31 -0
- package/dist/invite-extensions/{payload-slices.js → internal/payload-slices.js} +30 -0
- package/dist/invite-extensions/internal/payload-slices.js.map +1 -0
- package/dist/invite-extensions/internal/registry.d.ts +48 -0
- package/dist/invite-extensions/internal/registry.js +77 -0
- package/dist/invite-extensions/internal/registry.js.map +1 -0
- package/dist/invite-extensions/internal/types.d.ts +61 -0
- package/dist/invite-extensions/internal/types.js +3 -0
- package/dist/invite-extensions/internal/types.js.map +1 -0
- package/dist/invite-extensions/registry.d.ts +44 -12
- package/dist/invite-extensions/registry.js +51 -43
- package/dist/invite-extensions/registry.js.map +1 -1
- package/dist/invite-extensions/types.d.ts +59 -34
- package/dist/invite-extensions.d.ts +30 -4
- package/dist/invite-extensions.js +57 -7
- package/dist/invite-extensions.js.map +1 -1
- package/dist/invite-resolution.d.ts +5 -2
- package/dist/invite-resolution.js +16 -46
- package/dist/invite-resolution.js.map +1 -1
- package/dist/invitee-display-name.d.ts +5 -0
- package/dist/invitee-display-name.js +15 -0
- package/dist/invitee-display-name.js.map +1 -0
- package/dist/invites.d.ts +46 -14
- package/dist/invites.js +41 -44
- package/dist/invites.js.map +1 -1
- package/dist/layout-banners.d.ts +68 -0
- package/dist/layout-banners.js +18 -0
- package/dist/layout-banners.js.map +1 -1
- package/dist/notifications/builder.d.ts +3 -1
- package/dist/notifications/builder.js +10 -0
- package/dist/notifications/builder.js.map +1 -1
- package/dist/notifications/index.d.ts +1 -0
- package/dist/notifications/index.js +16 -0
- package/dist/notifications/index.js.map +1 -1
- package/dist/notifications/internal.d.ts +8 -5
- package/dist/notifications/internal.js +6 -0
- package/dist/notifications/internal.js.map +1 -1
- package/dist/notifications/sendable.d.ts +6 -0
- package/dist/notifications/sendable.js +13 -4
- package/dist/notifications/sendable.js.map +1 -1
- package/dist/notifications/types.d.ts +26 -1
- package/dist/page/categories.d.ts +19 -17
- package/dist/page/categories.js +24 -168
- package/dist/page/categories.js.map +1 -1
- package/dist/page/component-tree.d.ts +15 -1
- package/dist/page/component-tree.js +0 -40
- package/dist/page/component-tree.js.map +1 -1
- package/dist/page/controllers.d.ts +135 -0
- package/dist/page/controllers.js +124 -8
- package/dist/page/controllers.js.map +1 -1
- package/dist/page/declaration-conflict.d.ts +9 -0
- package/dist/page/declaration-conflict.js +17 -0
- package/dist/page/declaration-conflict.js.map +1 -0
- package/dist/page/form-page-routes.d.ts +7 -10
- package/dist/page/form-page-routes.js +14 -31
- package/dist/page/form-page-routes.js.map +1 -1
- package/dist/page/internal/categories.d.ts +62 -0
- package/dist/page/internal/categories.js +260 -0
- package/dist/page/internal/categories.js.map +1 -0
- package/dist/page/internal/component-target.d.ts +37 -0
- package/dist/page/{component-target.js → internal/component-target.js} +27 -2
- package/dist/page/internal/component-target.js.map +1 -0
- package/dist/page/internal/component-tree.d.ts +13 -0
- package/dist/page/internal/component-tree.js +61 -0
- package/dist/page/internal/component-tree.js.map +1 -0
- package/dist/page/{extension-assembly.d.ts → internal/extension-assembly.d.ts} +5 -2
- package/dist/page/{extension-assembly.js → internal/extension-assembly.js} +8 -0
- package/dist/page/internal/extension-assembly.js.map +1 -0
- package/dist/page/internal/extension-validation.d.ts +24 -0
- package/dist/page/{extension-validation.js → internal/extension-validation.js} +8 -0
- package/dist/page/internal/extension-validation.js.map +1 -0
- package/dist/page/internal/form-page-routes.d.ts +26 -0
- package/dist/page/internal/form-page-routes.js +40 -0
- package/dist/page/internal/form-page-routes.js.map +1 -0
- package/dist/page/internal/layout-filter.d.ts +21 -0
- package/dist/page/internal/layout-filter.js +101 -0
- package/dist/page/internal/layout-filter.js.map +1 -0
- package/dist/page/{metadata-helpers.d.ts → internal/metadata-helpers.d.ts} +4 -1
- package/dist/page/{metadata-helpers.js → internal/metadata-helpers.js} +19 -2
- package/dist/page/internal/metadata-helpers.js.map +1 -0
- package/dist/page/internal/nav-badges.d.ts +17 -0
- package/dist/page/internal/nav-badges.js +68 -0
- package/dist/page/internal/nav-badges.js.map +1 -0
- package/dist/page/internal/page-registration.d.ts +29 -0
- package/dist/page/internal/page-registration.js +41 -0
- package/dist/page/internal/page-registration.js.map +1 -0
- package/dist/page/internal/registry.d.ts +128 -0
- package/dist/page/internal/registry.js +225 -0
- package/dist/page/internal/registry.js.map +1 -0
- package/dist/page/internal/table-view-ids.d.ts +10 -0
- package/dist/page/internal/table-view-ids.js +39 -0
- package/dist/page/internal/table-view-ids.js.map +1 -0
- package/dist/page/internal/types.d.ts +2 -0
- package/dist/page/internal/types.js +6 -0
- package/dist/page/internal/types.js.map +1 -0
- package/dist/page/layout-filter.d.ts +4 -0
- package/dist/page/layout-filter.js +11 -0
- package/dist/page/layout-filter.js.map +1 -1
- package/dist/page/metadata.d.ts +93 -0
- package/dist/page/metadata.js +236 -28
- package/dist/page/metadata.js.map +1 -1
- package/dist/page/registry.d.ts +17 -36
- package/dist/page/registry.js +25 -127
- package/dist/page/registry.js.map +1 -1
- package/dist/page/roots.d.ts +10 -0
- package/dist/page/roots.js +27 -6
- package/dist/page/roots.js.map +1 -1
- package/dist/page/types.d.ts +186 -1
- package/dist/page/types.js +1 -2
- package/dist/page/types.js.map +1 -1
- package/dist/page.d.ts +23 -1
- package/dist/page.js +24 -2
- package/dist/page.js.map +1 -1
- package/dist/permission-gate.d.ts +14 -0
- package/dist/permission-gate.js +3 -0
- package/dist/permission-gate.js.map +1 -0
- package/dist/permissions-resolver.d.ts +24 -0
- package/dist/permissions-resolver.js +24 -0
- package/dist/permissions-resolver.js.map +1 -1
- package/dist/permissions.d.ts +27 -0
- package/dist/permissions.js +37 -0
- package/dist/permissions.js.map +1 -1
- package/dist/quick-actions.d.ts +27 -0
- package/dist/quick-actions.js +1 -0
- package/dist/quick-actions.js.map +1 -1
- package/dist/realtime.d.ts +29 -0
- package/dist/realtime.js +30 -0
- package/dist/realtime.js.map +1 -1
- package/dist/request-tenant.d.ts +17 -0
- package/dist/request-tenant.js +18 -1
- package/dist/request-tenant.js.map +1 -1
- package/dist/tenant-access.d.ts +38 -6
- package/dist/tenant-access.js +38 -8
- package/dist/tenant-access.js.map +1 -1
- package/dist/tenant-export.d.ts +19 -0
- package/dist/tenant-lifecycle.d.ts +13 -0
- package/dist/tenant-lifecycle.js +22 -1
- package/dist/tenant-lifecycle.js.map +1 -1
- package/dist/tenant-ownership.d.ts +2 -1
- package/dist/tenant-ownership.js +5 -85
- package/dist/tenant-ownership.js.map +1 -1
- package/dist/tenant-scoped-model.d.ts +8 -0
- package/dist/tenant-scoped-model.js +8 -0
- package/dist/tenant-scoped-model.js.map +1 -1
- package/dist/uploads.d.ts +24 -16
- package/dist/uploads.js +24 -0
- package/dist/uploads.js.map +1 -1
- package/dist/utils/fire-and-forget.d.ts +4 -0
- package/dist/utils/fire-and-forget.js +4 -0
- package/dist/utils/fire-and-forget.js.map +1 -1
- package/dist/utils/internal/owned-registry.d.ts +36 -0
- package/dist/utils/internal/owned-registry.js +60 -0
- package/dist/utils/internal/owned-registry.js.map +1 -0
- package/dist/utils/{row-instance.d.ts → internal/row-instance.d.ts} +1 -0
- package/dist/utils/internal/row-instance.js +12 -0
- package/dist/utils/internal/row-instance.js.map +1 -0
- package/dist/utils/internal/saas-mode.d.ts +8 -0
- package/dist/utils/internal/saas-mode.js +3 -0
- package/dist/utils/internal/saas-mode.js.map +1 -0
- package/dist/utils/{time.d.ts → internal/time.d.ts} +4 -0
- package/dist/utils/{time.js → internal/time.js} +4 -0
- package/dist/utils/internal/time.js.map +1 -0
- package/dist/utils/{type-check.d.ts → internal/type-check.d.ts} +12 -0
- package/dist/utils/{type-check.js → internal/type-check.js} +12 -0
- package/dist/utils/internal/type-check.js.map +1 -0
- package/dist/utils/internal/value-parser.d.ts +86 -0
- package/dist/utils/internal/value-parser.js +160 -0
- package/dist/utils/internal/value-parser.js.map +1 -0
- package/dist/utils/saas-mode.d.ts +25 -3
- package/dist/utils/saas-mode.js +24 -0
- package/dist/utils/saas-mode.js.map +1 -1
- package/package.json +3 -3
- package/dist/base/block-registry/describe.d.ts +0 -6
- package/dist/base/block-registry/describe.js.map +0 -1
- package/dist/base/block-registry/ui.d.ts +0 -5
- package/dist/base/block-registry/ui.js +0 -17
- package/dist/base/block-registry/ui.js.map +0 -1
- package/dist/base/table-view/auth.d.ts +0 -9
- package/dist/base/table-view/auth.js.map +0 -1
- package/dist/base/table-view/files.js.map +0 -1
- package/dist/base/table-view/guards.js +0 -85
- package/dist/base/table-view/guards.js.map +0 -1
- package/dist/base/table-view/row-rules.js.map +0 -1
- package/dist/base/tree.d.ts +0 -115
- package/dist/base/tree.js +0 -145
- package/dist/base/tree.js.map +0 -1
- package/dist/db/models/exportJobs.model.js.map +0 -1
- package/dist/db/models/tenantLifecycle.model.js.map +0 -1
- package/dist/db/tables/tenantLifecycle.table.js.map +0 -1
- package/dist/invite-extensions/delivery.d.ts +0 -5
- package/dist/invite-extensions/delivery.js.map +0 -1
- package/dist/invite-extensions/edit.d.ts +0 -4
- package/dist/invite-extensions/edit.js.map +0 -1
- package/dist/invite-extensions/field-ids.d.ts +0 -7
- package/dist/invite-extensions/field-ids.js.map +0 -1
- package/dist/invite-extensions/form-slot.d.ts +0 -2
- package/dist/invite-extensions/form-slot.js.map +0 -1
- package/dist/invite-extensions/internal.d.ts +0 -17
- package/dist/invite-extensions/internal.js +0 -55
- package/dist/invite-extensions/internal.js.map +0 -1
- package/dist/invite-extensions/payload-slices.d.ts +0 -8
- package/dist/invite-extensions/payload-slices.js.map +0 -1
- package/dist/invite-membership.d.ts +0 -3
- package/dist/invite-membership.js.map +0 -1
- package/dist/invite-replacement.d.ts +0 -2
- package/dist/invite-replacement.js.map +0 -1
- package/dist/page/component-target.d.ts +0 -10
- package/dist/page/component-target.js.map +0 -1
- package/dist/page/extension-assembly.js.map +0 -1
- package/dist/page/extension-validation.d.ts +0 -7
- package/dist/page/extension-validation.js.map +0 -1
- package/dist/page/metadata-helpers.js.map +0 -1
- package/dist/page/page-registration.d.ts +0 -13
- package/dist/page/page-registration.js +0 -22
- package/dist/page/page-registration.js.map +0 -1
- package/dist/utils/owned-registry.d.ts +0 -10
- package/dist/utils/owned-registry.js +0 -34
- package/dist/utils/owned-registry.js.map +0 -1
- package/dist/utils/row-instance.js +0 -8
- package/dist/utils/row-instance.js.map +0 -1
- package/dist/utils/time.js.map +0 -1
- package/dist/utils/type-check.js.map +0 -1
- package/dist/utils/value-parser.d.ts +0 -11
- package/dist/utils/value-parser.js +0 -86
- package/dist/utils/value-parser.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/tabs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { TableViewMeta } from "../meta";
|
|
2
|
+
import { type FormContainerPages, type GroupedOptions, type KanbanOptions, type TableViewDisplayOption, type TableViewOptions, type TableViewQuickFilter, type TableViewTab, type TableViewViewsOptions } from "../options";
|
|
3
|
+
/**
|
|
4
|
+
* `pageSize` is a whole number of rows, from 1 up to {@link MAX_TABLE_PAGE_SIZE}.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare function validatePageSize(controllerName: string, pageSize: number | undefined): void;
|
|
9
|
+
/**
|
|
10
|
+
* Throws when a table view option names a column the controller lacks.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare function assertKnownColumns(controllerName: string, meta: Pick<TableViewMeta, "columns">, option: string, keys: string[]): void;
|
|
15
|
+
/**
|
|
16
|
+
* Quick filters must name filterable columns: they filter with `filter_<field>`.
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export declare function validateQuickFilters(controllerName: string, meta: TableViewMeta, quickFilters: TableViewQuickFilter[] | undefined): void;
|
|
21
|
+
/**
|
|
22
|
+
* The kanban groups on an eligible column and shows declared columns on its
|
|
23
|
+
* cards.
|
|
24
|
+
*
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export declare function validateKanbanOptions(controllerName: string, meta: TableViewMeta, kanban: KanbanOptions | undefined): void;
|
|
28
|
+
/**
|
|
29
|
+
* A display a table view offers is a built-in one, named by its reserved id
|
|
30
|
+
* and drawn by the DMS (no `component` of its own), or a module's, named
|
|
31
|
+
* `<module>:<id>`.
|
|
32
|
+
*
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
export declare function validateDisplayIds(controllerName: string, displays: TableViewDisplayOption[] | undefined): void;
|
|
36
|
+
/** What a table view's displays are declared from. */
|
|
37
|
+
interface DisplayDeclarations {
|
|
38
|
+
kanban?: KanbanOptions;
|
|
39
|
+
grouped?: GroupedOptions;
|
|
40
|
+
displays?: TableViewDisplayOption[];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The ids of the displays a table view offers.
|
|
44
|
+
*
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
export declare function offeredDisplayIds(options: DisplayDeclarations): Set<string>;
|
|
48
|
+
/**
|
|
49
|
+
* The default display must be one the table view offers.
|
|
50
|
+
*
|
|
51
|
+
* @internal
|
|
52
|
+
*/
|
|
53
|
+
export declare function validateDefaultDisplay(controllerName: string, options: DisplayDeclarations & {
|
|
54
|
+
defaultDisplay?: string;
|
|
55
|
+
}): void;
|
|
56
|
+
/**
|
|
57
|
+
* The grouped display sorts on its column, which must therefore be a sortable
|
|
58
|
+
* column, and a date one to be grouped by day or week.
|
|
59
|
+
*
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
export declare function validateGroupedOptions(controllerName: string, meta: TableViewMeta, grouped: GroupedOptions | undefined): void;
|
|
63
|
+
/**
|
|
64
|
+
* A hand-ordered table writes its position column through the edit route:
|
|
65
|
+
* the column must be a writable, sortable number, and the edit action on.
|
|
66
|
+
*
|
|
67
|
+
* @internal
|
|
68
|
+
*/
|
|
69
|
+
export declare function validateReorder<T extends Record<string, unknown>>(controllerName: string, meta: TableViewMeta, options: TableViewOptions<T>): void;
|
|
70
|
+
/**
|
|
71
|
+
* Views have unique ids, and each one names columns, a sort and a display the
|
|
72
|
+
* table view has; the default view is one of them.
|
|
73
|
+
*
|
|
74
|
+
* @internal
|
|
75
|
+
*/
|
|
76
|
+
export declare function validateViews(controllerName: string, meta: TableViewMeta, options: DisplayDeclarations & {
|
|
77
|
+
views?: TableViewViewsOptions;
|
|
78
|
+
}): void;
|
|
79
|
+
/**
|
|
80
|
+
* A declared slug for a row-scoped form page must carry the row's `:id`.
|
|
81
|
+
*
|
|
82
|
+
* @internal
|
|
83
|
+
*/
|
|
84
|
+
export declare function assertRowScopedFormSlugs(pages: FormContainerPages | undefined): void;
|
|
85
|
+
/**
|
|
86
|
+
* A tab filters the rows or opens another page, never both.
|
|
87
|
+
*
|
|
88
|
+
* @internal
|
|
89
|
+
*/
|
|
90
|
+
export declare function assertTabTargets(controllerName: string, tabs: TableViewTab[] | undefined): void;
|
|
91
|
+
/**
|
|
92
|
+
* Every declaration check `TableView()` runs before it builds anything: the
|
|
93
|
+
* options naming columns, displays, tabs and sizes name ones the table view
|
|
94
|
+
* can have.
|
|
95
|
+
*
|
|
96
|
+
* @internal
|
|
97
|
+
*/
|
|
98
|
+
export declare function validateTableViewOptions<T extends Record<string, unknown>>(controllerName: string, meta: TableViewMeta, options: TableViewOptions<T>): void;
|
|
99
|
+
export {};
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// The declaration checks the TableView factory runs before building anything:
|
|
3
|
+
// every option naming a column, a display or a form slug must name one the
|
|
4
|
+
// table view actually has.
|
|
5
|
+
//
|
|
6
|
+
// Split out of factory-helpers.ts.
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.validatePageSize = validatePageSize;
|
|
9
|
+
exports.assertKnownColumns = assertKnownColumns;
|
|
10
|
+
exports.validateQuickFilters = validateQuickFilters;
|
|
11
|
+
exports.validateKanbanOptions = validateKanbanOptions;
|
|
12
|
+
exports.validateDisplayIds = validateDisplayIds;
|
|
13
|
+
exports.offeredDisplayIds = offeredDisplayIds;
|
|
14
|
+
exports.validateDefaultDisplay = validateDefaultDisplay;
|
|
15
|
+
exports.validateGroupedOptions = validateGroupedOptions;
|
|
16
|
+
exports.validateReorder = validateReorder;
|
|
17
|
+
exports.validateViews = validateViews;
|
|
18
|
+
exports.assertRowScopedFormSlugs = assertRowScopedFormSlugs;
|
|
19
|
+
exports.assertTabTargets = assertTabTargets;
|
|
20
|
+
exports.validateTableViewOptions = validateTableViewOptions;
|
|
21
|
+
const interface_core_1 = require("@antelopejs/interface-core");
|
|
22
|
+
const metadata_1 = require("@antelopejs/interface-data-api/metadata");
|
|
23
|
+
const data_types_1 = require("../../data-types");
|
|
24
|
+
const options_1 = require("../options");
|
|
25
|
+
/**
|
|
26
|
+
* `pageSize` is a whole number of rows, from 1 up to {@link MAX_TABLE_PAGE_SIZE}.
|
|
27
|
+
*
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
function validatePageSize(controllerName, pageSize) {
|
|
31
|
+
if (pageSize === undefined)
|
|
32
|
+
return;
|
|
33
|
+
if (!Number.isInteger(pageSize) ||
|
|
34
|
+
pageSize < 1 ||
|
|
35
|
+
pageSize > options_1.MAX_TABLE_PAGE_SIZE) {
|
|
36
|
+
throw new Error(`TableView pageSize on ${controllerName} must be a whole number from 1 to ${options_1.MAX_TABLE_PAGE_SIZE} (got ${pageSize})`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Throws when a table view option names a column the controller lacks.
|
|
41
|
+
*
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
function assertKnownColumns(controllerName, meta, option, keys) {
|
|
45
|
+
for (const key of keys) {
|
|
46
|
+
if (!meta.columns[key]) {
|
|
47
|
+
throw new Error(`TableView ${option} on ${controllerName} references unknown column "${key}"`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Quick filters must name filterable columns: they filter with `filter_<field>`.
|
|
53
|
+
*
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
56
|
+
function validateQuickFilters(controllerName, meta, quickFilters) {
|
|
57
|
+
for (const { field } of quickFilters ?? []) {
|
|
58
|
+
const column = meta.columns[field];
|
|
59
|
+
if (!column) {
|
|
60
|
+
throw new Error(`TableView quickFilters on ${controllerName} references unknown column "${field}"`);
|
|
61
|
+
}
|
|
62
|
+
if (!column.filterable) {
|
|
63
|
+
throw new Error(`TableView quickFilters on ${controllerName}: column "${field}" must be filterable`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const KANBAN_GROUP_TYPE_ELIGIBILITY = {
|
|
68
|
+
select: (type) => !type.options?.multiple,
|
|
69
|
+
boolean: () => true,
|
|
70
|
+
status: () => true,
|
|
71
|
+
};
|
|
72
|
+
function validateKanbanField(controllerName, meta, groupByField) {
|
|
73
|
+
const groupColumn = meta.columns[groupByField];
|
|
74
|
+
if (!groupColumn) {
|
|
75
|
+
throw new Error(`TableView kanban groupByField on ${controllerName} references unknown column "${groupByField}"`);
|
|
76
|
+
}
|
|
77
|
+
const typeId = (0, data_types_1.getDataTypeId)(groupColumn.type);
|
|
78
|
+
const isEligible = typeId !== undefined &&
|
|
79
|
+
KANBAN_GROUP_TYPE_ELIGIBILITY[typeId]?.(groupColumn.type);
|
|
80
|
+
if (!isEligible) {
|
|
81
|
+
throw new Error(`TableView kanban groupByField "${groupByField}" on ${controllerName} must be a non-multiple SelectType, a BooleanType or a StatusType column (got "${typeId}")`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* The kanban groups on an eligible column and shows declared columns on its
|
|
86
|
+
* cards.
|
|
87
|
+
*
|
|
88
|
+
* @internal
|
|
89
|
+
*/
|
|
90
|
+
function validateKanbanOptions(controllerName, meta, kanban) {
|
|
91
|
+
if (!kanban)
|
|
92
|
+
return;
|
|
93
|
+
validateKanbanField(controllerName, meta, kanban.groupByField);
|
|
94
|
+
}
|
|
95
|
+
/** Display ids the DMS keeps for its built-in displays. */
|
|
96
|
+
const RESERVED_DISPLAY_IDS = [
|
|
97
|
+
options_1.TABLE_DISPLAY_ID,
|
|
98
|
+
options_1.KANBAN_DISPLAY_ID,
|
|
99
|
+
options_1.CARDS_DISPLAY_ID,
|
|
100
|
+
options_1.GROUPED_DISPLAY_ID,
|
|
101
|
+
];
|
|
102
|
+
// `<module>:<id>`: the module's name, then the display's own id.
|
|
103
|
+
const MODULE_DISPLAY_ID = /^[a-z0-9][\w-]*:[\w-]+$/i;
|
|
104
|
+
/**
|
|
105
|
+
* A display a table view offers is a built-in one, named by its reserved id
|
|
106
|
+
* and drawn by the DMS (no `component` of its own), or a module's, named
|
|
107
|
+
* `<module>:<id>`.
|
|
108
|
+
*
|
|
109
|
+
* @internal
|
|
110
|
+
*/
|
|
111
|
+
function validateDisplayIds(controllerName, displays) {
|
|
112
|
+
for (const { id, component } of displays ?? []) {
|
|
113
|
+
if (RESERVED_DISPLAY_IDS.includes(id)) {
|
|
114
|
+
if (component) {
|
|
115
|
+
throw new Error(`TableView on ${controllerName} gives the built-in display "${id}" a component: a module display takes an id of its own, "<module>:${id}"`);
|
|
116
|
+
}
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
if (!MODULE_DISPLAY_ID.test(id)) {
|
|
120
|
+
throw new Error(`TableView on ${controllerName} offers display "${id}": a module display is named "<module>:<id>", e.g. "saas:plan-cards"`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* The ids of the displays a table view offers.
|
|
126
|
+
*
|
|
127
|
+
* @internal
|
|
128
|
+
*/
|
|
129
|
+
function offeredDisplayIds(options) {
|
|
130
|
+
const { kanban, grouped, displays } = options;
|
|
131
|
+
return new Set([
|
|
132
|
+
options_1.TABLE_DISPLAY_ID,
|
|
133
|
+
...(kanban ? [options_1.KANBAN_DISPLAY_ID] : []),
|
|
134
|
+
...(grouped ? [options_1.GROUPED_DISPLAY_ID] : []),
|
|
135
|
+
...(displays?.map((display) => display.id) ?? []),
|
|
136
|
+
]);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* The default display must be one the table view offers.
|
|
140
|
+
*
|
|
141
|
+
* @internal
|
|
142
|
+
*/
|
|
143
|
+
function validateDefaultDisplay(controllerName, options) {
|
|
144
|
+
const { defaultDisplay } = options;
|
|
145
|
+
if (!defaultDisplay)
|
|
146
|
+
return;
|
|
147
|
+
if (!offeredDisplayIds(options).has(defaultDisplay)) {
|
|
148
|
+
throw new Error(`TableView on ${controllerName} defaults to display "${defaultDisplay}" which is not declared in displays`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
function isSortableColumn(meta, key) {
|
|
152
|
+
const fields = (0, interface_core_1.GetMetadata)(meta.target, metadata_1.DataAPIMeta).fields;
|
|
153
|
+
return fields[key]?.sortable !== undefined;
|
|
154
|
+
}
|
|
155
|
+
const DAY_GROUPING_TYPE_ID = "date";
|
|
156
|
+
/**
|
|
157
|
+
* The grouped display sorts on its column, which must therefore be a sortable
|
|
158
|
+
* column, and a date one to be grouped by day or week.
|
|
159
|
+
*
|
|
160
|
+
* @internal
|
|
161
|
+
*/
|
|
162
|
+
function validateGroupedOptions(controllerName, meta, grouped) {
|
|
163
|
+
if (!grouped)
|
|
164
|
+
return;
|
|
165
|
+
const { groupByField, by } = grouped;
|
|
166
|
+
const column = meta.columns[groupByField];
|
|
167
|
+
if (!column) {
|
|
168
|
+
throw new Error(`TableView grouped groupByField on ${controllerName} references unknown column "${groupByField}"`);
|
|
169
|
+
}
|
|
170
|
+
if (!isSortableColumn(meta, groupByField)) {
|
|
171
|
+
throw new Error(`TableView grouped groupByField "${groupByField}" on ${controllerName} must be @Sortable(): the rows are listed sorted on it`);
|
|
172
|
+
}
|
|
173
|
+
const typeId = (0, data_types_1.getDataTypeId)(column.type);
|
|
174
|
+
if (by && by !== "value" && typeId !== DAY_GROUPING_TYPE_ID) {
|
|
175
|
+
throw new Error(`TableView grouped on ${controllerName} groups "${groupByField}" by ${by}, which needs a DateType column (got "${typeId}")`);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
const NUMBER_TYPE_ID = "number";
|
|
179
|
+
/**
|
|
180
|
+
* A hand-ordered table writes its position column through the edit route:
|
|
181
|
+
* the column must be a writable, sortable number, and the edit action on.
|
|
182
|
+
*
|
|
183
|
+
* @internal
|
|
184
|
+
*/
|
|
185
|
+
function validateReorder(controllerName, meta, options) {
|
|
186
|
+
const field = options.reorder?.field;
|
|
187
|
+
if (!field)
|
|
188
|
+
return;
|
|
189
|
+
const where = `TableView reorder field "${field}" on ${controllerName}`;
|
|
190
|
+
const column = meta.columns[field];
|
|
191
|
+
if (!column || (0, data_types_1.getDataTypeId)(column.type) !== NUMBER_TYPE_ID) {
|
|
192
|
+
throw new Error(`${where} must be a NumberType column`);
|
|
193
|
+
}
|
|
194
|
+
const fieldMeta = (0, interface_core_1.GetMetadata)(meta.target, metadata_1.DataAPIMeta)
|
|
195
|
+
.fields[field];
|
|
196
|
+
if (fieldMeta?.sortable === undefined) {
|
|
197
|
+
throw new Error(`${where} must be @Sortable(): the rows are listed sorted on it`);
|
|
198
|
+
}
|
|
199
|
+
if (fieldMeta.mode === metadata_1.AccessMode.ReadOnly) {
|
|
200
|
+
throw new Error(`${where} must be writable: moving a row edits it`);
|
|
201
|
+
}
|
|
202
|
+
if (options.rowActions?.edit === false) {
|
|
203
|
+
throw new Error(`${where} needs the edit action: moving a row edits it`);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
function assertViewFilters(where, meta, view) {
|
|
207
|
+
for (const { accessorKey } of view.filters ?? []) {
|
|
208
|
+
if (!meta.columns[accessorKey]?.filterable) {
|
|
209
|
+
throw new Error(`${where} filters on "${accessorKey}", which is not a filterable column`);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
for (const { field } of view.sort ?? []) {
|
|
213
|
+
if (!meta.columns[field] || !isSortableColumn(meta, field)) {
|
|
214
|
+
throw new Error(`${where} sorts on "${field}", which is not a @Sortable() column`);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
const { visible = [], hidden = [], order = [] } = view.columns ?? {};
|
|
218
|
+
for (const key of [...visible, ...hidden, ...order]) {
|
|
219
|
+
if (!meta.columns[key]) {
|
|
220
|
+
throw new Error(`${where} references unknown column "${key}"`);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Views have unique ids, and each one names columns, a sort and a display the
|
|
226
|
+
* table view has; the default view is one of them.
|
|
227
|
+
*
|
|
228
|
+
* @internal
|
|
229
|
+
*/
|
|
230
|
+
function validateViews(controllerName, meta, options) {
|
|
231
|
+
const { views } = options;
|
|
232
|
+
if (!views)
|
|
233
|
+
return;
|
|
234
|
+
const displays = offeredDisplayIds(options);
|
|
235
|
+
const ids = new Set();
|
|
236
|
+
for (const view of views.items) {
|
|
237
|
+
const where = `TableView view "${view.id}" on ${controllerName}`;
|
|
238
|
+
if (ids.has(view.id)) {
|
|
239
|
+
throw new Error(`${where} is declared twice: view ids are unique`);
|
|
240
|
+
}
|
|
241
|
+
ids.add(view.id);
|
|
242
|
+
assertViewFilters(where, meta, view);
|
|
243
|
+
if (view.display && !displays.has(view.display)) {
|
|
244
|
+
throw new Error(`${where} opens display "${view.display}", which the table does not offer`);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
if (views.defaultView && !ids.has(views.defaultView)) {
|
|
248
|
+
throw new Error(`TableView on ${controllerName} defaults to view "${views.defaultView}", which is not declared`);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
/** The kinds addressing one row, whose slug therefore has to carry an `:id`. */
|
|
252
|
+
const ROW_SCOPED_FORM_PAGE_KINDS = ["edit", "details"];
|
|
253
|
+
/**
|
|
254
|
+
* A declared slug for a row-scoped form page must carry the row's `:id`.
|
|
255
|
+
*
|
|
256
|
+
* @internal
|
|
257
|
+
*/
|
|
258
|
+
function assertRowScopedFormSlugs(pages) {
|
|
259
|
+
for (const kind of ROW_SCOPED_FORM_PAGE_KINDS) {
|
|
260
|
+
const declared = pages?.[kind]?.urlSlug;
|
|
261
|
+
if (declared && !declared.includes(":id")) {
|
|
262
|
+
throw new Error(`TableView formContainer.pages.${kind}.urlSlug must contain :id placeholder. Got: ${declared}`);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* A tab filters the rows or opens another page, never both.
|
|
268
|
+
*
|
|
269
|
+
* @internal
|
|
270
|
+
*/
|
|
271
|
+
function assertTabTargets(controllerName, tabs) {
|
|
272
|
+
for (const tab of tabs ?? []) {
|
|
273
|
+
if (tab.filter && tab.to) {
|
|
274
|
+
throw new Error(`TableView tab "${tab.id}" on ${controllerName} gives both a filter and a link (to): a tab filters the rows or opens another page, not both`);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Every declaration check `TableView()` runs before it builds anything: the
|
|
280
|
+
* options naming columns, displays, tabs and sizes name ones the table view
|
|
281
|
+
* can have.
|
|
282
|
+
*
|
|
283
|
+
* @internal
|
|
284
|
+
*/
|
|
285
|
+
function validateTableViewOptions(controllerName, meta, options) {
|
|
286
|
+
validateKanbanOptions(controllerName, meta, options.kanban);
|
|
287
|
+
assertKnownColumns(controllerName, meta, "card fields", options.card?.fields ?? []);
|
|
288
|
+
validateGroupedOptions(controllerName, meta, options.grouped);
|
|
289
|
+
validateDisplayIds(controllerName, options.displays);
|
|
290
|
+
validateDefaultDisplay(controllerName, options);
|
|
291
|
+
validateViews(controllerName, meta, options);
|
|
292
|
+
validateReorder(controllerName, meta, options);
|
|
293
|
+
validateQuickFilters(controllerName, meta, options.quickFilters);
|
|
294
|
+
validatePageSize(controllerName, options.pageSize);
|
|
295
|
+
assertTabTargets(controllerName, options.tabs);
|
|
296
|
+
}
|
|
297
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TableViewViewsOptions, TableViewViewsSerialized } from "../options";
|
|
2
|
+
/**
|
|
3
|
+
* The views as the options carry them: their permission stays server-side.
|
|
4
|
+
*
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare function serializeTableViewViews(views: TableViewViewsOptions | undefined): TableViewViewsSerialized | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* The views served to one request: a view whose permission the caller lacks
|
|
10
|
+
* is left out. A default view left out falls back to the table's own state.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare function resolveTableViewViews(permissions: Set<string>, declared: TableViewViewsOptions | undefined, serialized: TableViewViewsSerialized | undefined, componentPermissionId: string): Promise<TableViewViewsSerialized | undefined>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.serializeTableViewViews = serializeTableViewViews;
|
|
4
|
+
exports.resolveTableViewViews = resolveTableViewViews;
|
|
5
|
+
const permission_gate_1 = require("../../../internal/permission-gate");
|
|
6
|
+
/**
|
|
7
|
+
* The views as the options carry them: their permission stays server-side.
|
|
8
|
+
*
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
function serializeTableViewViews(views) {
|
|
12
|
+
if (!views)
|
|
13
|
+
return undefined;
|
|
14
|
+
return {
|
|
15
|
+
...views,
|
|
16
|
+
items: views.items.map(({ permission: _permission, permissionId: _permissionId, ...view }) => view),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The views served to one request: a view whose permission the caller lacks
|
|
21
|
+
* is left out. A default view left out falls back to the table's own state.
|
|
22
|
+
*
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
async function resolveTableViewViews(permissions, declared, serialized, componentPermissionId) {
|
|
26
|
+
if (!declared || !serialized)
|
|
27
|
+
return serialized;
|
|
28
|
+
const items = [];
|
|
29
|
+
for (const [index, view] of serialized.items.entries()) {
|
|
30
|
+
const gate = declared.items[index];
|
|
31
|
+
if (await (0, permission_gate_1.holdsPermissionGate)(permissions, gate, componentPermissionId)) {
|
|
32
|
+
items.push(view);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
const hasDefault = items.some((view) => view.id === serialized.defaultView);
|
|
36
|
+
return {
|
|
37
|
+
...serialized,
|
|
38
|
+
items,
|
|
39
|
+
defaultView: hasDefault ? serialized.defaultView : undefined,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=views.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"views.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/views.ts"],"names":[],"mappings":";;AAYA,0DAcC;AAQD,sDAoBC;AAtDD,uEAAwE;AAOxE;;;;GAIG;AACH,SAAgB,uBAAuB,CACrC,KAAwC;IAExC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO;QACL,GAAG,KAAK;QACR,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CACpB,CAAC,EACC,UAAU,EAAE,WAAW,EACvB,YAAY,EAAE,aAAa,EAC3B,GAAG,IAAI,EACR,EAA2B,EAAE,CAAC,IAAI,CACpC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,qBAAqB,CACzC,WAAwB,EACxB,QAA2C,EAC3C,UAAgD,EAChD,qBAA6B;IAE7B,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU;QAAE,OAAO,UAAU,CAAC;IAChD,MAAM,KAAK,GAA8B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,IAAA,qCAAmB,EAAC,WAAW,EAAE,IAAI,EAAE,qBAAqB,CAAC,EAAE,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,WAAW,CAAC,CAAC;IAC5E,OAAO;QACL,GAAG,UAAU;QACb,KAAK;QACL,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;KAC7D,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { PageMetadata } from "../../../page/metadata";
|
|
2
|
+
import type { TableViewCapabilities } from "./factory-helpers";
|
|
3
|
+
import type { TableViewAccess, TableViewMeta } from "../meta";
|
|
4
|
+
import type { TableViewRowActionOptions } from "../options";
|
|
5
|
+
/**
|
|
6
|
+
* Where the controller derivation that lifts the restriction is documented.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare const DERIVE_CONTROLLER_DOCS = "the DMS docs, \"Show the same data in two writing screens: derive the controller\" (docs/04.components/13.derived-controller.md)";
|
|
11
|
+
/** What a TableView can write, from the routes and forms its controller offers. */
|
|
12
|
+
type TableViewWriteCapabilities = Pick<TableViewCapabilities, "hasNewForm" | "hasEditForm" | "hasDeleteEndpoint" | "archiveMode">;
|
|
13
|
+
/** The writing TableView a page mounted over a controller. */
|
|
14
|
+
interface WritingTableViewClaim {
|
|
15
|
+
/** Permission id of the TableView. */
|
|
16
|
+
owner: string;
|
|
17
|
+
/** The registration of the page carrying it. */
|
|
18
|
+
page: PageMetadata;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* `write` when the TableView enables at least one action that changes rows
|
|
22
|
+
* through the data routes -- add, duplicate, edit, delete, archive or
|
|
23
|
+
* restore -- and the controller offers it; `read` otherwise.
|
|
24
|
+
*
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export declare function tableViewAccess(rowActions: TableViewRowActionOptions<any> | undefined, capabilities: TableViewWriteCapabilities): TableViewAccess;
|
|
28
|
+
/**
|
|
29
|
+
* Record the writing TableView a page mounts over a controller, refusing a
|
|
30
|
+
* second one.
|
|
31
|
+
*
|
|
32
|
+
* A claim only stands in the way while the page registration holding it is
|
|
33
|
+
* live: a page re-registering after a hot reload replaces that registration,
|
|
34
|
+
* and a page that went away leaves the controller to the next writer.
|
|
35
|
+
*
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
38
|
+
export declare function claimWritingTableView(meta: TableViewMeta, controllerName: string, claim: WritingTableViewClaim): void;
|
|
39
|
+
export {};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DERIVE_CONTROLLER_DOCS = void 0;
|
|
4
|
+
exports.tableViewAccess = tableViewAccess;
|
|
5
|
+
exports.claimWritingTableView = claimWritingTableView;
|
|
6
|
+
const registry_1 = require("../../../page/internal/registry");
|
|
7
|
+
const writer_1 = require("../writer");
|
|
8
|
+
/**
|
|
9
|
+
* Where the controller derivation that lifts the restriction is documented.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
exports.DERIVE_CONTROLLER_DOCS = 'the DMS docs, "Show the same data in two writing screens: derive the controller" (docs/04.components/13.derived-controller.md)';
|
|
14
|
+
const isEnabled = (config) => config === undefined ||
|
|
15
|
+
(typeof config === "boolean" ? config : config.isEnabled !== false);
|
|
16
|
+
/**
|
|
17
|
+
* `write` when the TableView enables at least one action that changes rows
|
|
18
|
+
* through the data routes -- add, duplicate, edit, delete, archive or
|
|
19
|
+
* restore -- and the controller offers it; `read` otherwise.
|
|
20
|
+
*
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
function tableViewAccess(rowActions, capabilities) {
|
|
24
|
+
const writes = [
|
|
25
|
+
capabilities.hasNewForm &&
|
|
26
|
+
(isEnabled(rowActions?.add) || isEnabled(rowActions?.duplicate)),
|
|
27
|
+
capabilities.hasEditForm && isEnabled(rowActions?.edit),
|
|
28
|
+
capabilities.hasDeleteEndpoint && isEnabled(rowActions?.delete),
|
|
29
|
+
capabilities.archiveMode &&
|
|
30
|
+
(isEnabled(rowActions?.archive) || isEnabled(rowActions?.restore)),
|
|
31
|
+
];
|
|
32
|
+
return writes.some(Boolean) ? "write" : "read";
|
|
33
|
+
}
|
|
34
|
+
const claims = new WeakMap();
|
|
35
|
+
/**
|
|
36
|
+
* Record the writing TableView a page mounts over a controller, refusing a
|
|
37
|
+
* second one.
|
|
38
|
+
*
|
|
39
|
+
* A claim only stands in the way while the page registration holding it is
|
|
40
|
+
* live: a page re-registering after a hot reload replaces that registration,
|
|
41
|
+
* and a page that went away leaves the controller to the next writer.
|
|
42
|
+
*
|
|
43
|
+
* @internal
|
|
44
|
+
*/
|
|
45
|
+
function claimWritingTableView(meta, controllerName, claim) {
|
|
46
|
+
const held = claims.get(meta);
|
|
47
|
+
const heldPageId = held?.page.pageInfo?.fullId ?? "";
|
|
48
|
+
if (held &&
|
|
49
|
+
held.owner !== claim.owner &&
|
|
50
|
+
registry_1.pageMetadataByFullId.get(heldPageId) === held.page) {
|
|
51
|
+
throw new writer_1.WritingTableViewConflictError(`[dms] TableView "${held.owner}" (page "${heldPageId}") and TableView "${claim.owner}" (page "${claim.page.pageInfo?.fullId}") both write through the data controller ${controllerName}. A data controller has one writing TableView: make the other one read-only (rowActions add, duplicate, edit and delete set to false, no archiveMode), or give it a controller of its own derived from ${controllerName} -- see ${exports.DERIVE_CONTROLLER_DOCS}.`);
|
|
52
|
+
}
|
|
53
|
+
claims.set(meta, claim);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=writer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/writer.ts"],"names":[],"mappings":";;;AAyCA,0CAaC;AAcD,sDAiBC;AApFD,8DAAuE;AAKvE,sCAA0D;AAE1D;;;;GAIG;AACU,QAAA,sBAAsB,GACjC,gIAAgI,CAAC;AAgBnI,MAAM,SAAS,GAAG,CAAC,MAA6C,EAAW,EAAE,CAC3E,MAAM,KAAK,SAAS;IACpB,CAAC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;AAEtE;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,UAAsD,EACtD,YAAwC;IAExC,MAAM,MAAM,GAAG;QACb,YAAY,CAAC,UAAU;YACrB,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAClE,YAAY,CAAC,WAAW,IAAI,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC;QACvD,YAAY,CAAC,iBAAiB,IAAI,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;QAC/D,YAAY,CAAC,WAAW;YACtB,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;KACrE,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACjD,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,OAAO,EAAwC,CAAC;AAEnE;;;;;;;;;GASG;AACH,SAAgB,qBAAqB,CACnC,IAAmB,EACnB,cAAsB,EACtB,KAA4B;IAE5B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,UAAU,GAAG,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC;IACrD,IACE,IAAI;QACJ,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;QAC1B,+BAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,IAAI,EAClD,CAAC;QACD,MAAM,IAAI,sCAA6B,CACrC,oBAAoB,IAAI,CAAC,KAAK,YAAY,UAAU,qBAAqB,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,6CAA6C,cAAc,0MAA0M,cAAc,WAAW,8BAAsB,GAAG,CACnb,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1B,CAAC"}
|