@antelopejs/interface-dms 0.9.1 → 0.10.1
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 +126 -0
- package/README.md +1 -1
- package/dist/attachments.js +3 -1
- package/dist/attachments.js.map +1 -1
- package/dist/auth/db/models/sessions.model.js +1 -5
- package/dist/auth/db/models/sessions.model.js.map +1 -1
- package/dist/auth/db/tables/users.table.js.map +1 -1
- package/dist/auth/index.js +4 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/internal/jwt-auth-decorator.js +7 -5
- package/dist/auth/internal/jwt-auth-decorator.js.map +1 -1
- package/dist/auth/internal/request-authenticators.js +4 -1
- package/dist/auth/internal/request-authenticators.js.map +1 -1
- package/dist/auth/internal/request-principal.js +1 -0
- package/dist/auth/internal/request-principal.js.map +1 -1
- package/dist/base/activity-feed.d.ts +26 -26
- package/dist/base/banner.d.ts +14 -14
- package/dist/base/banner.js +1 -0
- package/dist/base/banner.js.map +1 -1
- package/dist/base/block-registry/helpers.js +1 -0
- package/dist/base/block-registry/helpers.js.map +1 -1
- package/dist/base/block-registry/internal/describe.js +107 -85
- package/dist/base/block-registry/internal/describe.js.map +1 -1
- package/dist/base/block-registry/presentation.js +0 -5
- package/dist/base/block-registry/presentation.js.map +1 -1
- package/dist/base/block-registry/registry.js +4 -1
- package/dist/base/block-registry/registry.js.map +1 -1
- package/dist/base/block-types.js +0 -2
- package/dist/base/block-types.js.map +1 -1
- package/dist/base/card.d.ts +8 -8
- package/dist/base/chart-card.d.ts +2 -2
- package/dist/base/chart-card.js +2 -2
- package/dist/base/chart-card.js.map +1 -1
- package/dist/base/chart-schemas.d.ts +66 -66
- package/dist/base/chart-schemas.js +19 -21
- package/dist/base/chart-schemas.js.map +1 -1
- package/dist/base/chart.js +1 -0
- package/dist/base/chart.js.map +1 -1
- package/dist/base/code-block.js +1 -0
- package/dist/base/code-block.js.map +1 -1
- package/dist/base/confirm-dialog.d.ts +2 -6
- package/dist/base/confirm-dialog.js +36 -15
- package/dist/base/confirm-dialog.js.map +1 -1
- package/dist/base/data-sources.js +6 -2
- package/dist/base/data-sources.js.map +1 -1
- package/dist/base/data-types/compare-types.js +82 -68
- package/dist/base/data-types/compare-types.js.map +1 -1
- package/dist/base/data-types/core.d.ts +8 -101
- package/dist/base/data-types/core.js +40 -143
- package/dist/base/data-types/core.js.map +1 -1
- package/dist/base/data-types/default/address.d.ts +126 -0
- package/dist/base/data-types/default/address.js +57 -0
- package/dist/base/data-types/default/address.js.map +1 -0
- package/dist/base/data-types/default/choices.d.ts +54 -0
- package/dist/base/data-types/default/choices.js +135 -0
- package/dist/base/data-types/default/choices.js.map +1 -0
- package/dist/base/data-types/default/files.d.ts +86 -0
- package/dist/base/data-types/default/files.js +214 -0
- package/dist/base/data-types/default/files.js.map +1 -0
- package/dist/base/data-types/default/inputs.d.ts +11 -0
- package/dist/base/data-types/default/inputs.js +26 -0
- package/dist/base/data-types/default/inputs.js.map +1 -0
- package/dist/base/data-types/default/numbers.d.ts +62 -0
- package/dist/base/data-types/default/numbers.js +287 -0
- package/dist/base/data-types/default/numbers.js.map +1 -0
- package/dist/base/data-types/default/options.d.ts +133 -0
- package/dist/base/data-types/default/options.js +3 -0
- package/dist/base/data-types/default/options.js.map +1 -0
- package/dist/base/data-types/default/relations.d.ts +267 -0
- package/dist/base/data-types/default/relations.js +149 -0
- package/dist/base/data-types/default/relations.js.map +1 -0
- package/dist/base/data-types/default/strings.d.ts +35 -0
- package/dist/base/data-types/default/strings.js +154 -0
- package/dist/base/data-types/default/strings.js.map +1 -0
- package/dist/base/data-types/default-types.d.ts +73 -753
- package/dist/base/data-types/default-types.js +39 -991
- package/dist/base/data-types/default-types.js.map +1 -1
- package/dist/base/data-types/field-types.js +2 -6
- package/dist/base/data-types/field-types.js.map +1 -1
- package/dist/base/data-types/index.js +1 -20
- package/dist/base/data-types/index.js.map +1 -1
- package/dist/base/data-types/internal/compare-types.js +0 -2
- package/dist/base/data-types/internal/compare-types.js.map +1 -1
- package/dist/base/data-types/internal/relation-add-form.d.ts +7 -0
- package/dist/base/data-types/internal/relation-add-form.js +21 -0
- package/dist/base/data-types/internal/relation-add-form.js.map +1 -0
- package/dist/base/data-types/internal/relation-endpoints.d.ts +8 -0
- package/dist/base/data-types/internal/relation-endpoints.js +36 -0
- package/dist/base/data-types/internal/relation-endpoints.js.map +1 -0
- package/dist/base/data-types/status-type.js +0 -6
- package/dist/base/data-types/status-type.js.map +1 -1
- package/dist/base/display.d.ts +6 -6
- package/dist/base/display.js +15 -10
- package/dist/base/display.js.map +1 -1
- package/dist/base/empty-state.d.ts +8 -8
- package/dist/base/export-jobs.js.map +1 -1
- package/dist/base/form-block-schema.d.ts +36 -36
- package/dist/base/form-block-schema.js +0 -5
- package/dist/base/form-block-schema.js.map +1 -1
- package/dist/base/form-schema.d.ts +5 -1
- package/dist/base/form-schema.js +44 -206
- package/dist/base/form-schema.js.map +1 -1
- package/dist/base/form-types.d.ts +4 -84
- package/dist/base/form-types.js.map +1 -1
- package/dist/base/form.js +0 -7
- package/dist/base/form.js.map +1 -1
- package/dist/base/guard.d.ts +14 -14
- package/dist/base/helpers/archive-mode-helpers.js +11 -11
- package/dist/base/helpers/archive-mode-helpers.js.map +1 -1
- package/dist/base/helpers/file-refs.js +20 -7
- package/dist/base/helpers/file-refs.js.map +1 -1
- package/dist/base/index.js +0 -5
- package/dist/base/index.js.map +1 -1
- package/dist/base/internal/button-availability.d.ts +3 -17
- package/dist/base/internal/button-availability.js +36 -31
- package/dist/base/internal/button-availability.js.map +1 -1
- package/dist/base/internal/chart-schemas.js +0 -2
- package/dist/base/internal/chart-schemas.js.map +1 -1
- package/dist/base/internal/composed-text.js +0 -2
- package/dist/base/internal/composed-text.js.map +1 -1
- package/dist/base/internal/confirm-dialog.d.ts +3 -13
- package/dist/base/internal/confirm-dialog.js +37 -21
- package/dist/base/internal/confirm-dialog.js.map +1 -1
- package/dist/base/internal/display.js +3 -1
- package/dist/base/internal/display.js.map +1 -1
- package/dist/base/internal/form-schema-components.d.ts +12 -0
- package/dist/base/internal/form-schema-components.js +61 -0
- package/dist/base/internal/form-schema-components.js.map +1 -0
- package/dist/base/internal/form-schema-validation.d.ts +16 -0
- package/dist/base/internal/form-schema-validation.js +68 -0
- package/dist/base/internal/form-schema-validation.js.map +1 -0
- package/dist/base/internal/form-schema.d.ts +2 -7
- package/dist/base/internal/form-schema.js +36 -28
- package/dist/base/internal/form-schema.js.map +1 -1
- package/dist/base/internal/layouts.d.ts +1 -59
- package/dist/base/internal/searchable.js +3 -1
- package/dist/base/internal/searchable.js.map +1 -1
- package/dist/base/key-value-list.d.ts +12 -12
- package/dist/base/kpi-card.d.ts +2 -2
- package/dist/base/kpi-card.js +2 -0
- package/dist/base/kpi-card.js.map +1 -1
- package/dist/base/layouts.d.ts +6 -80
- package/dist/base/layouts.js +38 -54
- package/dist/base/layouts.js.map +1 -1
- package/dist/base/live-toggle.d.ts +2 -2
- package/dist/base/meter.d.ts +25 -25
- package/dist/base/meter.js +0 -1
- package/dist/base/meter.js.map +1 -1
- package/dist/base/nav-card-grid.d.ts +13 -13
- package/dist/base/page-toolbar.d.ts +2 -2
- package/dist/base/page-toolbar.js +0 -6
- package/dist/base/page-toolbar.js.map +1 -1
- package/dist/base/period-selector.d.ts +2 -2
- package/dist/base/period-selector.js +0 -4
- package/dist/base/period-selector.js.map +1 -1
- package/dist/base/query-response.js +3 -5
- package/dist/base/query-response.js.map +1 -1
- package/dist/base/resource-form-schema.js +0 -4
- package/dist/base/resource-form-schema.js.map +1 -1
- package/dist/base/searchable.d.ts +5 -0
- package/dist/base/searchable.js +11 -2
- package/dist/base/searchable.js.map +1 -1
- package/dist/base/stat-group.d.ts +15 -15
- package/dist/base/tab.d.ts +8 -8
- package/dist/base/tab.js +1 -0
- package/dist/base/tab.js.map +1 -1
- package/dist/base/table-view/column-display.js +0 -1
- package/dist/base/table-view/column-display.js.map +1 -1
- package/dist/base/table-view/data-functions.d.ts +10 -10
- package/dist/base/table-view/data-functions.js.map +1 -1
- package/dist/base/table-view/factory.js +32 -204
- package/dist/base/table-view/factory.js.map +1 -1
- package/dist/base/table-view/internal/auth.js +5 -19
- package/dist/base/table-view/internal/auth.js.map +1 -1
- package/dist/base/table-view/internal/column-conditions.js +0 -5
- package/dist/base/table-view/internal/column-conditions.js.map +1 -1
- package/dist/base/table-view/internal/column-display.js +5 -3
- package/dist/base/table-view/internal/column-display.js.map +1 -1
- package/dist/base/table-view/internal/factory-helpers.js +24 -158
- package/dist/base/table-view/internal/factory-helpers.js.map +1 -1
- package/dist/base/table-view/internal/factory-lifecycle-created.d.ts +21 -0
- package/dist/base/table-view/internal/factory-lifecycle-created.js +96 -0
- package/dist/base/table-view/internal/factory-lifecycle-created.js.map +1 -0
- package/dist/base/table-view/internal/factory-lifecycle-filter.d.ts +15 -0
- package/dist/base/table-view/internal/factory-lifecycle-filter.js +37 -0
- package/dist/base/table-view/internal/factory-lifecycle-filter.js.map +1 -0
- package/dist/base/table-view/internal/factory-lifecycle-options.d.ts +41 -0
- package/dist/base/table-view/internal/factory-lifecycle-options.js +99 -0
- package/dist/base/table-view/internal/factory-lifecycle-options.js.map +1 -0
- package/dist/base/table-view/internal/factory-private-actions.d.ts +32 -0
- package/dist/base/table-view/internal/factory-private-actions.js +77 -0
- package/dist/base/table-view/internal/factory-private-actions.js.map +1 -0
- package/dist/base/table-view/internal/factory-private-displays.d.ts +5 -0
- package/dist/base/table-view/internal/factory-private-displays.js +21 -0
- package/dist/base/table-view/internal/factory-private-displays.js.map +1 -0
- package/dist/base/table-view/internal/factory-private-urls.d.ts +15 -0
- package/dist/base/table-view/internal/factory-private-urls.js +43 -0
- package/dist/base/table-view/internal/factory-private-urls.js.map +1 -0
- package/dist/base/table-view/internal/files.js +3 -4
- package/dist/base/table-view/internal/files.js.map +1 -1
- package/dist/base/table-view/internal/footer.js +5 -3
- package/dist/base/table-view/internal/footer.js.map +1 -1
- package/dist/base/table-view/internal/guards.js +7 -10
- package/dist/base/table-view/internal/guards.js.map +1 -1
- package/dist/base/table-view/internal/meta-helpers.d.ts +27 -0
- package/dist/base/table-view/internal/meta-helpers.js +75 -0
- package/dist/base/table-view/internal/meta-helpers.js.map +1 -0
- package/dist/base/table-view/internal/meta.js +8 -2
- package/dist/base/table-view/internal/meta.js.map +1 -1
- package/dist/base/table-view/internal/nav-badges.js +5 -3
- package/dist/base/table-view/internal/nav-badges.js.map +1 -1
- package/dist/base/table-view/internal/option-contract.d.ts +403 -0
- package/dist/base/table-view/internal/option-contract.js +3 -0
- package/dist/base/table-view/internal/option-contract.js.map +1 -0
- package/dist/base/table-view/internal/option-displays.d.ts +125 -0
- package/dist/base/table-view/internal/option-displays.js +3 -0
- package/dist/base/table-view/internal/option-displays.js.map +1 -0
- package/dist/base/table-view/internal/option-empty-states.d.ts +43 -0
- package/dist/base/table-view/internal/option-empty-states.js +3 -0
- package/dist/base/table-view/internal/option-empty-states.js.map +1 -0
- package/dist/base/table-view/internal/option-expandable.d.ts +66 -0
- package/dist/base/table-view/internal/option-expandable.js +3 -0
- package/dist/base/table-view/internal/option-expandable.js.map +1 -0
- package/dist/base/table-view/internal/option-filtering.d.ts +85 -0
- package/dist/base/table-view/internal/option-filtering.js +4 -0
- package/dist/base/table-view/internal/option-filtering.js.map +1 -0
- package/dist/base/table-view/internal/option-footer.d.ts +64 -0
- package/dist/base/table-view/internal/option-footer.js +3 -0
- package/dist/base/table-view/internal/option-footer.js.map +1 -0
- package/dist/base/table-view/internal/option-forms.d.ts +62 -0
- package/dist/base/table-view/internal/option-forms.js +3 -0
- package/dist/base/table-view/internal/option-forms.js.map +1 -0
- package/dist/base/table-view/internal/option-row-actions.d.ts +76 -0
- package/dist/base/table-view/internal/option-row-actions.js +3 -0
- package/dist/base/table-view/internal/option-row-actions.js.map +1 -0
- package/dist/base/table-view/internal/option-views.d.ts +199 -0
- package/dist/base/table-view/internal/option-views.js +3 -0
- package/dist/base/table-view/internal/option-views.js.map +1 -0
- package/dist/base/table-view/internal/options.d.ts +2 -6
- package/dist/base/table-view/internal/options.js +35 -6
- package/dist/base/table-view/internal/options.js.map +1 -1
- package/dist/base/table-view/internal/realtime.js +15 -5
- package/dist/base/table-view/internal/realtime.js.map +1 -1
- package/dist/base/table-view/internal/request-filter.js +12 -12
- package/dist/base/table-view/internal/request-filter.js.map +1 -1
- package/dist/base/table-view/internal/resource-form.js +1 -10
- package/dist/base/table-view/internal/resource-form.js.map +1 -1
- package/dist/base/table-view/internal/row-actions-schema.js +0 -6
- package/dist/base/table-view/internal/row-actions-schema.js.map +1 -1
- package/dist/base/table-view/internal/row-rule-shape.d.ts +10 -0
- package/dist/base/table-view/internal/row-rule-shape.js +43 -0
- package/dist/base/table-view/internal/row-rule-shape.js.map +1 -0
- package/dist/base/table-view/internal/row-rules.js +1 -4
- package/dist/base/table-view/internal/row-rules.js.map +1 -1
- package/dist/base/table-view/internal/tabs.d.ts +1 -1
- package/dist/base/table-view/internal/tabs.js +6 -9
- package/dist/base/table-view/internal/tabs.js.map +1 -1
- package/dist/base/table-view/internal/validation.js +2 -16
- package/dist/base/table-view/internal/validation.js.map +1 -1
- package/dist/base/table-view/internal/writer.js +1 -0
- package/dist/base/table-view/internal/writer.js.map +1 -1
- package/dist/base/table-view/meta.js +11 -93
- package/dist/base/table-view/meta.js.map +1 -1
- package/dist/base/table-view/options.d.ts +61 -1099
- package/dist/base/table-view/options.js.map +1 -1
- package/dist/base/table-view/resource-form.js +0 -2
- package/dist/base/table-view/resource-form.js.map +1 -1
- package/dist/base/table-view/routes.d.ts +3 -1
- package/dist/base/table-view/routes.js +33 -28
- package/dist/base/table-view/routes.js.map +1 -1
- package/dist/base/table-view/schema.d.ts +93 -93
- package/dist/base/table-view/schema.js +4 -22
- package/dist/base/table-view/schema.js.map +1 -1
- package/dist/base/table-view/source.js +0 -5
- package/dist/base/table-view/source.js.map +1 -1
- package/dist/base/table-view/views.js +0 -3
- package/dist/base/table-view/views.js.map +1 -1
- package/dist/base/table-view/writer.js +0 -5
- package/dist/base/table-view/writer.js.map +1 -1
- package/dist/base/top-list-card.d.ts +13 -13
- package/dist/base/top-list-card.js +2 -0
- package/dist/base/top-list-card.js.map +1 -1
- package/dist/base/types/action-target.d.ts +1 -302
- package/dist/base/types/button.d.ts +2 -7
- package/dist/base/types/button.js +35 -8
- package/dist/base/types/button.js.map +1 -1
- package/dist/base/types/confirm-dialog.d.ts +1 -127
- package/dist/base/types/custom-button.d.ts +1 -87
- package/dist/base/types/error.js +2 -1
- package/dist/base/types/error.js.map +1 -1
- package/dist/base/types/export-status.d.ts +2 -8
- package/dist/base/types/export-status.js +35 -9
- package/dist/base/types/export-status.js.map +1 -1
- package/dist/base/types/form-values.d.ts +1 -4
- package/dist/base/types/internal/action-target.d.ts +2 -8
- package/dist/base/types/internal/action-target.js +36 -15
- package/dist/base/types/internal/action-target.js.map +1 -1
- package/dist/base/types/row-action-operators.d.ts +3 -29
- package/dist/base/types/row-action-operators.js +35 -18
- package/dist/base/types/row-action-operators.js.map +1 -1
- package/dist/base/types/row-action.d.ts +3 -36
- package/dist/base/types/size.d.ts +1 -3
- package/dist/base/types/size.js +0 -3
- package/dist/base/types/size.js.map +1 -1
- package/dist/base/types/tone.d.ts +3 -8
- package/dist/base/types/tone.js +35 -15
- package/dist/base/types/tone.js.map +1 -1
- package/dist/base/types/watch.d.ts +5 -19
- package/dist/base/types/watch.js +35 -3
- package/dist/base/types/watch.js.map +1 -1
- package/dist/component-options/action-target.d.ts +304 -0
- package/dist/component-options/action-target.js +3 -0
- package/dist/component-options/action-target.js.map +1 -0
- package/dist/component-options/button.d.ts +93 -0
- package/dist/component-options/button.js +12 -0
- package/dist/component-options/button.js.map +1 -0
- package/dist/component-options/confirm-dialog.d.ts +132 -0
- package/dist/component-options/confirm-dialog.js +18 -0
- package/dist/component-options/confirm-dialog.js.map +1 -0
- package/dist/component-options/data-type.d.ts +101 -0
- package/dist/component-options/data-type.js +146 -0
- package/dist/component-options/data-type.js.map +1 -0
- package/dist/component-options/form-field.d.ts +88 -0
- package/dist/component-options/form-field.js +3 -0
- package/dist/component-options/form-field.js.map +1 -0
- package/dist/component-options/internal/action-target.d.ts +8 -0
- package/dist/component-options/internal/action-target.js +18 -0
- package/dist/component-options/internal/action-target.js.map +1 -0
- package/dist/component-options/internal/button-availability.d.ts +17 -0
- package/dist/component-options/internal/button-availability.js +34 -0
- package/dist/component-options/internal/button-availability.js.map +1 -0
- package/dist/component-options/internal/confirm-dialog.d.ts +13 -0
- package/dist/component-options/internal/confirm-dialog.js +24 -0
- package/dist/component-options/internal/confirm-dialog.js.map +1 -0
- package/dist/component-options/internal/form-field.d.ts +7 -0
- package/dist/component-options/internal/form-field.js +31 -0
- package/dist/component-options/internal/form-field.js.map +1 -0
- package/dist/component-options/internal/page-layout.d.ts +71 -0
- package/dist/component-options/internal/page-layout.js +10 -0
- package/dist/component-options/internal/page-layout.js.map +1 -0
- package/dist/component-options/page-layout.d.ts +80 -0
- package/dist/component-options/page-layout.js +57 -0
- package/dist/component-options/page-layout.js.map +1 -0
- package/dist/component-options/row-action.d.ts +66 -0
- package/dist/component-options/row-action.js +22 -0
- package/dist/component-options/row-action.js.map +1 -0
- package/dist/component-slots.js.map +1 -1
- package/dist/component.d.ts +2 -2
- package/dist/component.js +38 -193
- package/dist/component.js.map +1 -1
- package/dist/data-controllers/members.js +2 -8
- package/dist/data-controllers/members.js.map +1 -1
- package/dist/data-controllers/roles.js +0 -5
- package/dist/data-controllers/roles.js.map +1 -1
- package/dist/db/internal/exportJobs.model.js +10 -6
- package/dist/db/internal/exportJobs.model.js.map +1 -1
- package/dist/db/internal/tenantLifecycle.model.js +0 -2
- package/dist/db/internal/tenantLifecycle.model.js.map +1 -1
- package/dist/db/tables/exportJobs.table.d.ts +1 -1
- package/dist/db/tables/roles.table.js.map +1 -1
- package/dist/db/tables/user_invites.table.d.ts +1 -1
- package/dist/db/tables/user_invites.table.js.map +1 -1
- package/dist/export-status.d.ts +8 -0
- package/dist/export-status.js +13 -0
- package/dist/export-status.js.map +1 -0
- package/dist/hooks.d.ts +1 -1
- package/dist/hooks.js +2 -4
- package/dist/hooks.js.map +1 -1
- package/dist/index.js +0 -9
- package/dist/index.js.map +1 -1
- package/dist/internal/component-builder.d.ts +17 -0
- package/dist/internal/component-builder.js +58 -0
- package/dist/internal/component-builder.js.map +1 -0
- package/dist/internal/component-permissions.d.ts +13 -0
- package/dist/internal/component-permissions.js +45 -0
- package/dist/internal/component-permissions.js.map +1 -0
- package/dist/internal/component-serialization.d.ts +10 -0
- package/dist/internal/component-serialization.js +42 -0
- package/dist/internal/component-serialization.js.map +1 -0
- package/dist/internal/component-slots.js +7 -4
- package/dist/internal/component-slots.js.map +1 -1
- package/dist/internal/component-watches.d.ts +17 -0
- package/dist/internal/component-watches.js +110 -0
- package/dist/internal/component-watches.js.map +1 -0
- package/dist/internal/invite-membership.js +0 -1
- package/dist/internal/invite-membership.js.map +1 -1
- package/dist/invite-extension-payloads.d.ts +2 -0
- package/dist/invite-extension-payloads.js +3 -0
- package/dist/invite-extension-payloads.js.map +1 -0
- package/dist/invite-extensions/internal/delivery.js +4 -1
- package/dist/invite-extensions/internal/delivery.js.map +1 -1
- package/dist/invite-extensions/internal/edit.js +5 -4
- package/dist/invite-extensions/internal/edit.js.map +1 -1
- package/dist/invite-extensions/internal/form-slot.js +5 -35
- package/dist/invite-extensions/internal/form-slot.js.map +1 -1
- package/dist/invite-extensions/internal/payload-slices.js +10 -3
- package/dist/invite-extensions/internal/payload-slices.js.map +1 -1
- package/dist/invite-extensions/internal/registry.js +3 -5
- package/dist/invite-extensions/internal/registry.js.map +1 -1
- package/dist/invite-extensions/registry.js +3 -8
- package/dist/invite-extensions/registry.js.map +1 -1
- package/dist/invite-extensions/types.d.ts +1 -2
- package/dist/invite-resolution.js +2 -1
- package/dist/invite-resolution.js.map +1 -1
- package/dist/layout-banners.js.map +1 -1
- package/dist/notifications/builder.js +25 -5
- package/dist/notifications/builder.js.map +1 -1
- package/dist/notifications/internal.js +0 -3
- package/dist/notifications/internal.js.map +1 -1
- package/dist/notifications/sendable.js.map +1 -1
- package/dist/page/categories.js +1 -4
- package/dist/page/categories.js.map +1 -1
- package/dist/page/controllers.js +9 -55
- package/dist/page/controllers.js.map +1 -1
- package/dist/page/form-page-routes.js +0 -7
- package/dist/page/form-page-routes.js.map +1 -1
- package/dist/page/internal/categories.d.ts +1 -1
- package/dist/page/internal/categories.js +12 -36
- package/dist/page/internal/categories.js.map +1 -1
- package/dist/page/internal/category-permission.d.ts +10 -0
- package/dist/page/internal/category-permission.js +20 -0
- package/dist/page/internal/category-permission.js.map +1 -0
- package/dist/page/internal/component-target.js +2 -2
- package/dist/page/internal/component-target.js.map +1 -1
- package/dist/page/internal/component-tree.js +0 -2
- package/dist/page/internal/component-tree.js.map +1 -1
- package/dist/page/internal/controller-options.d.ts +6 -0
- package/dist/page/internal/controller-options.js +40 -0
- package/dist/page/internal/controller-options.js.map +1 -0
- package/dist/page/internal/extension-assembly.js +2 -7
- package/dist/page/internal/extension-assembly.js.map +1 -1
- package/dist/page/internal/layout-filter.js +7 -3
- package/dist/page/internal/layout-filter.js.map +1 -1
- package/dist/page/internal/metadata-components.d.ts +47 -0
- package/dist/page/internal/metadata-components.js +136 -0
- package/dist/page/internal/metadata-components.js.map +1 -0
- package/dist/page/internal/metadata-extension-contributions.d.ts +14 -0
- package/dist/page/internal/metadata-extension-contributions.js +56 -0
- package/dist/page/internal/metadata-extension-contributions.js.map +1 -0
- package/dist/page/internal/metadata-extensions.d.ts +8 -0
- package/dist/page/internal/metadata-extensions.js +21 -0
- package/dist/page/internal/metadata-extensions.js.map +1 -0
- package/dist/page/internal/metadata-helpers.js +0 -14
- package/dist/page/internal/metadata-helpers.js.map +1 -1
- package/dist/page/internal/metadata-info.d.ts +5 -0
- package/dist/page/internal/metadata-info.js +39 -0
- package/dist/page/internal/metadata-info.js.map +1 -0
- package/dist/page/internal/metadata-layout-response.d.ts +32 -0
- package/dist/page/internal/metadata-layout-response.js +76 -0
- package/dist/page/internal/metadata-layout-response.js.map +1 -0
- package/dist/page/internal/metadata-layout.d.ts +10 -0
- package/dist/page/internal/metadata-layout.js +44 -0
- package/dist/page/internal/metadata-layout.js.map +1 -0
- package/dist/page/internal/metadata-lifecycle.d.ts +52 -0
- package/dist/page/internal/metadata-lifecycle.js +241 -0
- package/dist/page/internal/metadata-lifecycle.js.map +1 -0
- package/dist/page/internal/metadata-owner.d.ts +53 -0
- package/dist/page/internal/metadata-owner.js +14 -0
- package/dist/page/internal/metadata-owner.js.map +1 -0
- package/dist/page/internal/metadata-publish.d.ts +20 -0
- package/dist/page/internal/metadata-publish.js +55 -0
- package/dist/page/internal/metadata-publish.js.map +1 -0
- package/dist/page/internal/metadata-registration.d.ts +8 -0
- package/dist/page/internal/metadata-registration.js +72 -0
- package/dist/page/internal/metadata-registration.js.map +1 -0
- package/dist/page/internal/metadata-upload-registration.d.ts +16 -0
- package/dist/page/internal/metadata-upload-registration.js +64 -0
- package/dist/page/internal/metadata-upload-registration.js.map +1 -0
- package/dist/page/internal/metadata-uploads.d.ts +18 -0
- package/dist/page/internal/metadata-uploads.js +46 -0
- package/dist/page/internal/metadata-uploads.js.map +1 -0
- package/dist/page/internal/nav-badges.d.ts +1 -1
- package/dist/page/internal/nav-badges.js +3 -1
- package/dist/page/internal/nav-badges.js.map +1 -1
- package/dist/page/internal/page-record.d.ts +2 -9
- package/dist/page/internal/page-record.js +8 -5
- package/dist/page/internal/page-record.js.map +1 -1
- package/dist/page/internal/page-registration.js +0 -4
- package/dist/page/internal/page-registration.js.map +1 -1
- package/dist/page/internal/registry.js +2 -1
- package/dist/page/internal/registry.js.map +1 -1
- package/dist/page/internal/table-view-ids.js +3 -2
- package/dist/page/internal/table-view-ids.js.map +1 -1
- package/dist/page/layout-filter.js +1 -0
- package/dist/page/layout-filter.js.map +1 -1
- package/dist/page/metadata.js +192 -558
- package/dist/page/metadata.js.map +1 -1
- package/dist/page/roots.js +3 -5
- package/dist/page/roots.js.map +1 -1
- package/dist/page/types.d.ts +1 -1
- package/dist/page/types.js.map +1 -1
- package/dist/permissions.js +0 -18
- package/dist/permissions.js.map +1 -1
- package/dist/realtime.js +0 -3
- package/dist/realtime.js.map +1 -1
- package/dist/request-tenant.js +4 -1
- package/dist/request-tenant.js.map +1 -1
- package/dist/tenant-lifecycle.js +2 -2
- package/dist/tenant-lifecycle.js.map +1 -1
- package/dist/tones.d.ts +8 -0
- package/dist/tones.js +19 -0
- package/dist/tones.js.map +1 -0
- package/dist/uploads.js +15 -4
- package/dist/uploads.js.map +1 -1
- package/dist/utils/internal/row-instance.js +2 -3
- package/dist/utils/internal/row-instance.js.map +1 -1
- package/dist/utils/internal/type-check.d.ts +10 -1
- package/dist/utils/internal/type-check.js +12 -3
- package/dist/utils/internal/type-check.js.map +1 -1
- package/dist/utils/internal/value-parser.js +7 -2
- package/dist/utils/internal/value-parser.js.map +1 -1
- package/dist/watch-actions.d.ts +19 -0
- package/dist/watch-actions.js +7 -0
- package/dist/watch-actions.js.map +1 -0
- package/docs/3.base/2.types.md +1 -1
- package/docs/3.base/4.tables.md +1 -1
- package/docs/3.base/8.data-types.md +2 -0
- package/docs/4.notifications/3.sending.md +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/** @internal @packageDocumentation */
|
|
2
|
+
import type { Component, ComponentInfoSerialized } from "../../../component";
|
|
3
|
+
/**
|
|
4
|
+
* The card the `kanban` and `cards` displays draw for each row. Left out,
|
|
5
|
+
* a card shows the row's label and its first few listable columns (on the
|
|
6
|
+
* board, besides the one it groups on).
|
|
7
|
+
*/
|
|
8
|
+
export interface TableViewCardOptions {
|
|
9
|
+
/**
|
|
10
|
+
* Columns shown on the card below its title (`labelKey`), each value
|
|
11
|
+
* drawn like a cell: through its column's `display`, else its data type.
|
|
12
|
+
*/
|
|
13
|
+
fields?: string[];
|
|
14
|
+
/**
|
|
15
|
+
* Frontend component drawing the whole card, resolved by name from the
|
|
16
|
+
* global registry; its directory must be declared globally. Both displays
|
|
17
|
+
* hand it the same props: `row`, `rowId`, `columns`, `labelKey`, `actions`
|
|
18
|
+
* (the table's row actions), `selected` and `select(value?)` (the row's
|
|
19
|
+
* selection), and `open()` (what a click on the row does). The kanban adds
|
|
20
|
+
* `groupValue`, the value of the column the card sits in; the `cards`
|
|
21
|
+
* display of a hand-ordered table (`reorder`) adds `reorder`, the card's
|
|
22
|
+
* move handle (`{ enabled, dragging, handle }`, `handle` bound with
|
|
23
|
+
* `v-bind` on a button).
|
|
24
|
+
*/
|
|
25
|
+
component?: Component;
|
|
26
|
+
/**
|
|
27
|
+
* `cards` display only: the narrowest a card gets, as a CSS length
|
|
28
|
+
* (`"300px"`, `"20rem"`). Defaults to `"230px"`. The row fits as many
|
|
29
|
+
* cards of that width as it can and stretches them to fill it; a list too
|
|
30
|
+
* short to fill a row stretches its cards up to twice that width.
|
|
31
|
+
*/
|
|
32
|
+
minWidth?: string;
|
|
33
|
+
/**
|
|
34
|
+
* `cards` display only: the height of a placeholder card while the page
|
|
35
|
+
* loads, as a CSS length (`"260px"`). Left out, a placeholder is as tall as
|
|
36
|
+
* the built-in card. A `component` taller than that sets it to its own
|
|
37
|
+
* height, so the pagination footer below the grid stands where the loaded
|
|
38
|
+
* cards put it. The cards themselves keep their own height.
|
|
39
|
+
*/
|
|
40
|
+
skeletonHeight?: string;
|
|
41
|
+
}
|
|
42
|
+
/** The card of the `kanban` and `cards` displays as it reaches the client. */
|
|
43
|
+
export interface TableViewCardOptionsSerialized {
|
|
44
|
+
fields?: string[];
|
|
45
|
+
component?: ComponentInfoSerialized;
|
|
46
|
+
minWidth?: string;
|
|
47
|
+
skeletonHeight?: string;
|
|
48
|
+
}
|
|
49
|
+
/** The kanban options as its display entry carries them. */
|
|
50
|
+
export interface KanbanOptionsSerialized extends Omit<KanbanOptions, "card"> {
|
|
51
|
+
card?: TableViewCardOptionsSerialized;
|
|
52
|
+
}
|
|
53
|
+
export interface TableViewDisplayCapabilities {
|
|
54
|
+
columnManagement?: boolean;
|
|
55
|
+
filters?: boolean;
|
|
56
|
+
search?: boolean;
|
|
57
|
+
sorting?: boolean;
|
|
58
|
+
tabs?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Whether the table keeps its own chrome (caption, toolbar, tabs, filters
|
|
61
|
+
* row, bulk bar) around a display that draws a complete interface itself.
|
|
62
|
+
* Defaults to true.
|
|
63
|
+
*/
|
|
64
|
+
header?: boolean;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* A display a table view offers besides its grid: a built-in one by its id
|
|
68
|
+
* (`"cards"`), or a module's, named `<module>:<id>` (`"saas:plan-cards"`) and
|
|
69
|
+
* registered on the frontend with `registerTableViewDisplay`.
|
|
70
|
+
*/
|
|
71
|
+
export interface TableViewDisplayOption {
|
|
72
|
+
id: string;
|
|
73
|
+
options?: Record<string, unknown>;
|
|
74
|
+
component?: Component;
|
|
75
|
+
selfManagedData?: boolean;
|
|
76
|
+
capabilities?: TableViewDisplayCapabilities;
|
|
77
|
+
}
|
|
78
|
+
export interface TableViewDisplayOptionSerialized extends Omit<TableViewDisplayOption, "component"> {
|
|
79
|
+
component?: ComponentInfoSerialized;
|
|
80
|
+
}
|
|
81
|
+
export interface KanbanOptions {
|
|
82
|
+
/**
|
|
83
|
+
* Field used to group cards into kanban columns. Must be declared as a
|
|
84
|
+
* @Column with a non-multiple SelectType (one column per item), a
|
|
85
|
+
* BooleanType (two columns), or a StatusType (one column per status). This
|
|
86
|
+
* is the default; users can switch to any other eligible field from the
|
|
87
|
+
* board.
|
|
88
|
+
*/
|
|
89
|
+
groupByField: string;
|
|
90
|
+
/**
|
|
91
|
+
* Allow dragging cards between columns to update the group field.
|
|
92
|
+
* Defaults to true.
|
|
93
|
+
*/
|
|
94
|
+
draggable?: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* CSS max-height of a kanban column card list before it scrolls
|
|
97
|
+
* (e.g. "60vh", "480px"). Defaults to "60vh". The number of items fetched
|
|
98
|
+
* per column follows the user-adjustable table page size preference.
|
|
99
|
+
*/
|
|
100
|
+
columnMaxHeight?: string;
|
|
101
|
+
}
|
|
102
|
+
/** How the `grouped` display cuts the rows into groups. */
|
|
103
|
+
export type TableViewGroupBy = "value" | "day" | "week";
|
|
104
|
+
/**
|
|
105
|
+
* The `grouped` display: the table's own columns, with a header row before
|
|
106
|
+
* each group of rows sharing a value of `groupByField` (a status, a day of a
|
|
107
|
+
* date). The rows are listed sorted on that column and paged as usual, and a
|
|
108
|
+
* page starting inside a group repeats its header on top. No aggregates.
|
|
109
|
+
*/
|
|
110
|
+
export interface GroupedOptions {
|
|
111
|
+
/**
|
|
112
|
+
* Column the rows are grouped on. It must be a `@Sortable()` column: the
|
|
113
|
+
* list sorts on it so a group's rows follow each other.
|
|
114
|
+
*/
|
|
115
|
+
groupByField: string;
|
|
116
|
+
/**
|
|
117
|
+
* `value` (the default): one group per value; `day` or `week`: one group
|
|
118
|
+
* per calendar day or week of a date column.
|
|
119
|
+
*/
|
|
120
|
+
by?: TableViewGroupBy;
|
|
121
|
+
/** A click on a group header folds its rows. */
|
|
122
|
+
collapsible?: boolean;
|
|
123
|
+
/** Group headers show how many rows the group holds. */
|
|
124
|
+
count?: boolean;
|
|
125
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"option-displays.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/option-displays.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/** @internal @packageDocumentation */
|
|
2
|
+
import type { BlockLinkAction } from "../../display";
|
|
3
|
+
import type { Component, ComponentInfoSerialized } from "../../../component";
|
|
4
|
+
/**
|
|
5
|
+
* What a table's empty body says for one reason it is empty, in place of the
|
|
6
|
+
* built-in texts. Texts are `$`-prefixed i18n keys or literals; both receive
|
|
7
|
+
* `{ search }`, the text searched. Action labels receive no parameter.
|
|
8
|
+
*/
|
|
9
|
+
export interface TableViewEmptyState {
|
|
10
|
+
title: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
icon?: string;
|
|
13
|
+
/** Link buttons, after the ones the table adds itself. */
|
|
14
|
+
actions?: BlockLinkAction[];
|
|
15
|
+
/**
|
|
16
|
+
* Frontend component drawing the whole state instead (a gallery of
|
|
17
|
+
* templates), resolved by name from the global registry. It receives
|
|
18
|
+
* `state` (`firstRun`, `filtered` or `error`), `search`, `refresh()`, and
|
|
19
|
+
* `clearSearch()` / `clearFilters()` while a search or a filter chip
|
|
20
|
+
* narrows the rows (unset otherwise); `useTableViewEmptyState()` reads the
|
|
21
|
+
* same from deeper in its tree.
|
|
22
|
+
*/
|
|
23
|
+
component?: Component;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The empty states of a table: `firstRun` while it has no row yet (it keeps
|
|
27
|
+
* the add button), `filtered` when its filters or search match nothing (it
|
|
28
|
+
* keeps "Clear search", "Clear filters" or "Clear filters and search"),
|
|
29
|
+
* `error` when the list failed (it keeps "Try again"). The grid and the
|
|
30
|
+
* `cards` display draw them; the kanban board and a module's own display do
|
|
31
|
+
* not.
|
|
32
|
+
*/
|
|
33
|
+
export interface TableViewEmptyStates {
|
|
34
|
+
firstRun?: TableViewEmptyState;
|
|
35
|
+
filtered?: TableViewEmptyState;
|
|
36
|
+
error?: TableViewEmptyState;
|
|
37
|
+
}
|
|
38
|
+
/** An empty state as it reaches the client. */
|
|
39
|
+
export interface TableViewEmptyStateSerialized extends Omit<TableViewEmptyState, "component"> {
|
|
40
|
+
component?: ComponentInfoSerialized;
|
|
41
|
+
}
|
|
42
|
+
/** The empty states as they reach the client. */
|
|
43
|
+
export type TableViewEmptyStatesSerialized = Partial<Record<keyof TableViewEmptyStates, TableViewEmptyStateSerialized>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"option-empty-states.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/option-empty-states.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/** @internal @packageDocumentation */
|
|
2
|
+
import type { Component, ComponentInfoSerialized } from "../../../component";
|
|
3
|
+
/** A field of the expanded row's detail band. */
|
|
4
|
+
export interface TableViewExpandableField {
|
|
5
|
+
/** Column key; the value renders through that column's data type. */
|
|
6
|
+
key: string;
|
|
7
|
+
/** Label shown instead of the column's name. `$`-prefixed: an i18n key. */
|
|
8
|
+
label?: string;
|
|
9
|
+
}
|
|
10
|
+
/** Which rows open on arrival and after the listed set changes. */
|
|
11
|
+
export type TableViewExpandedDefault = "none" | "first" | "all";
|
|
12
|
+
/** How expandable rows open, whatever their band shows. */
|
|
13
|
+
export interface TableViewExpandableBehavior {
|
|
14
|
+
/**
|
|
15
|
+
* Rows open when the table loads and whenever a new page, filter, search,
|
|
16
|
+
* sort, tab or archive view is listed. Defaults to "none".
|
|
17
|
+
*/
|
|
18
|
+
defaultExpanded?: TableViewExpandedDefault;
|
|
19
|
+
/** Keep at most one row open: opening a row closes the previous one. */
|
|
20
|
+
single?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Load the row again when it opens, from the data API's `get` route, and
|
|
23
|
+
* show the band with that answer: the band can then show fields the list
|
|
24
|
+
* does not return. The band shows a placeholder while it loads and an
|
|
25
|
+
* error with a retry if it fails. Kept until the listed rows reload. Not
|
|
26
|
+
* for a table on a `source`, which has no `get` route.
|
|
27
|
+
*/
|
|
28
|
+
lazyLoad?: boolean;
|
|
29
|
+
}
|
|
30
|
+
/** A detail band listing columns of the row as a label/value list. */
|
|
31
|
+
export interface TableViewExpandableFields extends TableViewExpandableBehavior {
|
|
32
|
+
/**
|
|
33
|
+
* Columns listed in the band, each value rendered with its column's data
|
|
34
|
+
* type. A column must be listable to carry a value, unless `lazyLoad`
|
|
35
|
+
* reads the row from `get`; hide it from the grid with `isVisible: false`
|
|
36
|
+
* on its `@Column` to show it only here.
|
|
37
|
+
*/
|
|
38
|
+
fields: Array<string | TableViewExpandableField>;
|
|
39
|
+
/** Eyebrow above the field list. `$`-prefixed: an i18n key. */
|
|
40
|
+
fieldsLabel?: string;
|
|
41
|
+
component?: never;
|
|
42
|
+
}
|
|
43
|
+
/** A detail band drawn entirely by a frontend component. */
|
|
44
|
+
export interface TableViewExpandableComponent extends TableViewExpandableBehavior {
|
|
45
|
+
/**
|
|
46
|
+
* Frontend component rendered as the whole band, resolved by name from the
|
|
47
|
+
* global registry. It receives the row (the listed one, or the one
|
|
48
|
+
* `lazyLoad` read), its id, the column metadata, the table's row actions,
|
|
49
|
+
* `open` (what a click on the row does) and `refresh` (reloads the table).
|
|
50
|
+
*/
|
|
51
|
+
component: Component;
|
|
52
|
+
fields?: never;
|
|
53
|
+
fieldsLabel?: never;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Expandable rows: a caret column opens a detail band under the row. The band
|
|
57
|
+
* shows either `fields` as a label/value list, or a `component` that replaces
|
|
58
|
+
* that rendering altogether — never both.
|
|
59
|
+
*/
|
|
60
|
+
export type TableViewExpandableOptions = TableViewExpandableFields | TableViewExpandableComponent;
|
|
61
|
+
/** The detail band of expandable rows as it reaches the client. */
|
|
62
|
+
export interface TableViewExpandableSerialized extends TableViewExpandableBehavior {
|
|
63
|
+
fields?: TableViewExpandableField[];
|
|
64
|
+
fieldsLabel?: string;
|
|
65
|
+
component?: ComponentInfoSerialized;
|
|
66
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"option-expandable.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/option-expandable.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/** @internal @packageDocumentation */
|
|
2
|
+
/**
|
|
3
|
+
* How much a table draws around its rows.
|
|
4
|
+
*
|
|
5
|
+
* - `"full"`: the dashboard grid — caption and count, a search button,
|
|
6
|
+
* filters, sort, refresh, the ⋯ table menu, column header menus and a
|
|
7
|
+
* footer with the page size picker.
|
|
8
|
+
* - `"compact"`: the list of a settings page — tabs, an always-open search
|
|
9
|
+
* field, quick filters, custom buttons and a footer with the page size
|
|
10
|
+
* picker; no caption, filters row, sort menu, refresh, ⋯ menu nor column
|
|
11
|
+
* menus.
|
|
12
|
+
*
|
|
13
|
+
* Either way a control shows only when it means something: the search when
|
|
14
|
+
* the controller has `@Searchable` fields, the filters when a column is
|
|
15
|
+
* `filterable`, the caption when `caption` is set, the export entry when the
|
|
16
|
+
* caller may export.
|
|
17
|
+
*/
|
|
18
|
+
export type TableViewLayout = "full" | "compact";
|
|
19
|
+
/** How a quick filter compares its column with the picked value. */
|
|
20
|
+
export type TableViewQuickFilterMode = "is" | "is_not" | "include" | "exclude" | "array_contains_string";
|
|
21
|
+
/**
|
|
22
|
+
* A one-click filter drawn in the toolbar as a dropdown button listing the
|
|
23
|
+
* values of a column: a select's items, a boolean's two labels, a tags
|
|
24
|
+
* column's `suggestions`, or the rows a relation points to. The picked value
|
|
25
|
+
* is the column's filter, the very one the filters row edits: kept with the
|
|
26
|
+
* table's state, counted as an active filter and cleared by "Reset filters".
|
|
27
|
+
* In the `compact` layout, which has no filters row, the button names the
|
|
28
|
+
* column and its value ("Role: Admin") next to a clear button.
|
|
29
|
+
*/
|
|
30
|
+
export interface TableViewQuickFilter {
|
|
31
|
+
/** Filterable column the control filters on. */
|
|
32
|
+
field: string;
|
|
33
|
+
/** Button text while no value is picked; defaults to the column name. */
|
|
34
|
+
label?: string;
|
|
35
|
+
/** Button icon; defaults to a funnel. */
|
|
36
|
+
icon?: string;
|
|
37
|
+
/** Text of the entry that clears the filter; defaults to "All". */
|
|
38
|
+
allLabel?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Compare mode of the filter. Defaults to `array_contains_string` for a
|
|
41
|
+
* multiple relation or select and for a type whose default compare mode it
|
|
42
|
+
* is (tags), `is` otherwise.
|
|
43
|
+
*/
|
|
44
|
+
mode?: TableViewQuickFilterMode;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* How the rows beyond the first page are reached: a pager (`pages`), a
|
|
48
|
+
* "Load more" button appending the next page (`loadMore`), or the next page
|
|
49
|
+
* appended as the end of the list scrolls into view (`infinite`, a feed).
|
|
50
|
+
*/
|
|
51
|
+
export type TableViewPaginationMode = "pages" | "loadMore" | "infinite";
|
|
52
|
+
/**
|
|
53
|
+
* Rows the user orders by hand: a drag handle (or the arrow keys on it)
|
|
54
|
+
* moves a row, and the rows it moved get a new value of `field`. The handle
|
|
55
|
+
* shows on the grid and on the `cards` display (in front of each row, on
|
|
56
|
+
* each card), to a caller who may edit the rows.
|
|
57
|
+
*/
|
|
58
|
+
export interface TableViewReorderOptions {
|
|
59
|
+
/**
|
|
60
|
+
* The number column holding a row's position, `@Sortable()` and
|
|
61
|
+
* writable: the rows are listed sorted on it.
|
|
62
|
+
*/
|
|
63
|
+
field: string;
|
|
64
|
+
}
|
|
65
|
+
export interface QueryParamFilter {
|
|
66
|
+
field: string;
|
|
67
|
+
mode?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Shows the filter, while the URL applies it, as a chip of the filters row
|
|
70
|
+
* that the user can remove (which drops the parameter from the URL). Off by
|
|
71
|
+
* default: the filter stays hidden and cannot be cleared.
|
|
72
|
+
*/
|
|
73
|
+
visible?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Names the chip of a `visible` filter (a `$`-prefixed key is translated).
|
|
76
|
+
* Defaults to the label of the `field` column, else the parameter's name.
|
|
77
|
+
*/
|
|
78
|
+
label?: string;
|
|
79
|
+
}
|
|
80
|
+
export type QueryParamFilters = Record<string, QueryParamFilter>;
|
|
81
|
+
export interface RouteParamFilter {
|
|
82
|
+
field: string;
|
|
83
|
+
mode?: string;
|
|
84
|
+
}
|
|
85
|
+
export type RouteParamFilters = Record<string, RouteParamFilter>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"option-filtering.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/option-filtering.ts"],"names":[],"mappings":";AAAA,sCAAsC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/** @internal @packageDocumentation */
|
|
2
|
+
import type { RowActionRule } from "../../types/row-action";
|
|
3
|
+
/** What a footer summary computes over the rows the table lists. */
|
|
4
|
+
export type TableViewSummaryOperation = "sum" | "count";
|
|
5
|
+
/**
|
|
6
|
+
* How a footer summary's figure reads, the options of `Intl.NumberFormat`
|
|
7
|
+
* a backend can send. Left out, a sum reads like its column's cells (a
|
|
8
|
+
* price as a price) and a count as a whole number.
|
|
9
|
+
*/
|
|
10
|
+
export interface TableViewSummaryFormat {
|
|
11
|
+
style?: "decimal" | "percent" | "currency";
|
|
12
|
+
/** ISO 4217 code, for the `currency` style. */
|
|
13
|
+
currency?: string;
|
|
14
|
+
notation?: "standard" | "compact";
|
|
15
|
+
minimumFractionDigits?: number;
|
|
16
|
+
maximumFractionDigits?: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* A figure of the footer band ("MRR €12,480", "3 failed"), computed by the
|
|
20
|
+
* server over every row the table's filters, search and tab list — not only
|
|
21
|
+
* the page shown.
|
|
22
|
+
*/
|
|
23
|
+
export interface TableViewFooterSummary<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
24
|
+
/** Shown before the figure. `$`-prefixed: an i18n key. */
|
|
25
|
+
label: string;
|
|
26
|
+
/** Column summed; required by `sum`. */
|
|
27
|
+
field?: string;
|
|
28
|
+
op: TableViewSummaryOperation;
|
|
29
|
+
/**
|
|
30
|
+
* Only the rows this rule accepts are summed or counted ("failed"). It
|
|
31
|
+
* reads the stored fields of a row, in the database.
|
|
32
|
+
*/
|
|
33
|
+
where?: RowActionRule<T>;
|
|
34
|
+
format?: TableViewSummaryFormat;
|
|
35
|
+
}
|
|
36
|
+
/** A footer summary as it reaches the client: `where` stays on the server. */
|
|
37
|
+
export interface TableViewFooterSummarySerialized extends Omit<TableViewFooterSummary, "where"> {
|
|
38
|
+
/** Id the `summary` route computes it under. */
|
|
39
|
+
id: string;
|
|
40
|
+
}
|
|
41
|
+
/** Texts and figures of the footer band. */
|
|
42
|
+
export interface TableViewFooterOptions<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
43
|
+
/**
|
|
44
|
+
* Row count text, an i18n key with `$` receiving `{ count }` and pluralized
|
|
45
|
+
* on it ("7 members"). Defaults to "{count} items".
|
|
46
|
+
*/
|
|
47
|
+
countLabel?: string;
|
|
48
|
+
/** A hint at the right of the count. `$`-prefixed: an i18n key. */
|
|
49
|
+
hint?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Figures computed over the listed rows, next to the count. The
|
|
52
|
+
* controller mounts `summary: TableViewRoutes.Summary` to serve them.
|
|
53
|
+
*/
|
|
54
|
+
summary?: TableViewFooterSummary<T>[];
|
|
55
|
+
/**
|
|
56
|
+
* A `SelectType` column whose items, with their colors, the footer lists
|
|
57
|
+
* as a legend.
|
|
58
|
+
*/
|
|
59
|
+
legend?: string;
|
|
60
|
+
}
|
|
61
|
+
/** The footer band's options as they reach the client. */
|
|
62
|
+
export interface TableViewFooterSerialized extends Omit<TableViewFooterOptions, "summary"> {
|
|
63
|
+
summary?: TableViewFooterSummarySerialized[];
|
|
64
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"option-footer.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/option-footer.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/** @internal @packageDocumentation */
|
|
2
|
+
import type { ModalSize } from "../../types/size";
|
|
3
|
+
import type { FormBuilder } from "../../form-types";
|
|
4
|
+
/**
|
|
5
|
+
* Heading texts of one of the forms a table view opens, whatever container
|
|
6
|
+
* opens it: the page, drawer or modal title and the line under it. Left out,
|
|
7
|
+
* the forms read "New entry", "Edit entry" and "Entry details".
|
|
8
|
+
*/
|
|
9
|
+
export interface FormContainerPageTexts {
|
|
10
|
+
/** Title of the page, drawer or modal. `$`-prefixed: an i18n key. */
|
|
11
|
+
displayName?: string;
|
|
12
|
+
/** Line under the title. `$`-prefixed: an i18n key. */
|
|
13
|
+
description?: string;
|
|
14
|
+
}
|
|
15
|
+
/** One form of a page-mode table view: its texts, and the page it opens on. */
|
|
16
|
+
export interface FormContainerPageConfig extends FormContainerPageTexts {
|
|
17
|
+
urlSlug?: string;
|
|
18
|
+
/**
|
|
19
|
+
* When true, the DMS will not auto-create a form page for this action.
|
|
20
|
+
* Use this when you have a manually registered page (via CustomComponent) at the same URL.
|
|
21
|
+
* The urlSlug will still be used for navigation.
|
|
22
|
+
*/
|
|
23
|
+
customPage?: boolean;
|
|
24
|
+
}
|
|
25
|
+
/** The forms a table view opens: add (`new`), edit and `details`. */
|
|
26
|
+
export interface FormContainerPages<Page extends FormContainerPageTexts = FormContainerPageConfig> {
|
|
27
|
+
new?: Page;
|
|
28
|
+
edit?: Page;
|
|
29
|
+
details?: Page;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Where the add, edit and details forms of a table view open, and their
|
|
33
|
+
* titles: `pages` names them in every container ("New task", "Edit task",
|
|
34
|
+
* "Task details"); a page-mode entry also sets the page's URL.
|
|
35
|
+
*/
|
|
36
|
+
export type FormContainer = {
|
|
37
|
+
type: "drawer";
|
|
38
|
+
pages?: FormContainerPages<FormContainerPageTexts>;
|
|
39
|
+
} | {
|
|
40
|
+
type: "modal";
|
|
41
|
+
size?: ModalSize;
|
|
42
|
+
pages?: FormContainerPages<FormContainerPageTexts>;
|
|
43
|
+
} | {
|
|
44
|
+
type: "page";
|
|
45
|
+
pages?: FormContainerPages;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Settles one of the forms a table view generates, as a module writes its own
|
|
49
|
+
* `Form`: it receives the builder, and what it declares on it (`.watch()`…)
|
|
50
|
+
* holds wherever the form opens.
|
|
51
|
+
*/
|
|
52
|
+
export type TableViewFormSetup = (form: FormBuilder) => void;
|
|
53
|
+
/**
|
|
54
|
+
* Page-mode form URLs, resolved against the slug of the page the table view is
|
|
55
|
+
* mounted on. They keep the `:id` placeholder of their slug: the frontend
|
|
56
|
+
* substitutes the row id when it navigates.
|
|
57
|
+
*/
|
|
58
|
+
export interface TableViewFormPageUrls {
|
|
59
|
+
new: string;
|
|
60
|
+
edit: string;
|
|
61
|
+
view: string;
|
|
62
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"option-forms.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/option-forms.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/** @internal @packageDocumentation */
|
|
2
|
+
import type { BulkRowActionConfig, RowActionConfig, AddRowActionConfig, CustomRowAction, RowActionConfigSerialized, CustomRowActionSerialized } from "../../types/row-action";
|
|
3
|
+
export interface TableViewRowActionOptions<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
4
|
+
/**
|
|
5
|
+
* Delete action configuration
|
|
6
|
+
* @example true
|
|
7
|
+
* @example { isEnabled: true, rule: { field: 'status', notEquals: 'completed' } }
|
|
8
|
+
*/
|
|
9
|
+
delete?: boolean | BulkRowActionConfig<T>;
|
|
10
|
+
/**
|
|
11
|
+
* Archive action configuration
|
|
12
|
+
*/
|
|
13
|
+
archive?: boolean | BulkRowActionConfig<T>;
|
|
14
|
+
/**
|
|
15
|
+
* Restore action configuration
|
|
16
|
+
*/
|
|
17
|
+
restore?: boolean | BulkRowActionConfig<T>;
|
|
18
|
+
/**
|
|
19
|
+
* Duplicate action configuration
|
|
20
|
+
* @example true
|
|
21
|
+
* @example { isEnabled: true, rule: { field: 'template', equals: true } }
|
|
22
|
+
*/
|
|
23
|
+
duplicate?: boolean | RowActionConfig<T>;
|
|
24
|
+
/**
|
|
25
|
+
* Details/view action configuration
|
|
26
|
+
* @example true
|
|
27
|
+
* @example { isEnabled: true, rule: { field: 'published', equals: true } }
|
|
28
|
+
*/
|
|
29
|
+
details?: boolean | RowActionConfig<T>;
|
|
30
|
+
/**
|
|
31
|
+
* Edit action configuration
|
|
32
|
+
* @example true
|
|
33
|
+
* @example { isEnabled: true, rule: { field: 'locked', equals: false } }
|
|
34
|
+
*/
|
|
35
|
+
edit?: boolean | RowActionConfig<T>;
|
|
36
|
+
/**
|
|
37
|
+
* Copy link action configuration
|
|
38
|
+
*/
|
|
39
|
+
copyLink?: boolean | RowActionConfig<T>;
|
|
40
|
+
/**
|
|
41
|
+
* Add/new row action configuration; `placement: "header"` draws its button
|
|
42
|
+
* in the page header instead of the toolbar.
|
|
43
|
+
*/
|
|
44
|
+
add?: boolean | AddRowActionConfig<T>;
|
|
45
|
+
/**
|
|
46
|
+
* Enable the row selection feature
|
|
47
|
+
*/
|
|
48
|
+
hasSelection?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Custom row actions. A label may name the row's fields in braces
|
|
51
|
+
* (`"Translate {name}"`), as a translation's parameters; a `$` key's
|
|
52
|
+
* translation receives them as parameters.
|
|
53
|
+
*/
|
|
54
|
+
custom?: CustomRowAction<T>[];
|
|
55
|
+
/**
|
|
56
|
+
* Accessible name of the ⋯ button opening a row's menu of actions, its
|
|
57
|
+
* `{field}` braces filled from the row (`"Actions for {name}"`). `$`: an
|
|
58
|
+
* i18n key, whose translation receives the row's fields as parameters.
|
|
59
|
+
* Defaults to "Actions for <label>" with `labelKey`, "Row actions" without.
|
|
60
|
+
*/
|
|
61
|
+
menuLabel?: string;
|
|
62
|
+
}
|
|
63
|
+
export interface TableViewRowActionOptionsSerialized {
|
|
64
|
+
delete?: boolean | RowActionConfigSerialized;
|
|
65
|
+
archive?: boolean | RowActionConfigSerialized;
|
|
66
|
+
restore?: boolean | RowActionConfigSerialized;
|
|
67
|
+
showArchived?: boolean;
|
|
68
|
+
duplicate?: boolean | RowActionConfigSerialized;
|
|
69
|
+
details?: boolean | RowActionConfigSerialized;
|
|
70
|
+
edit?: boolean | RowActionConfigSerialized;
|
|
71
|
+
copyLink?: boolean | RowActionConfigSerialized;
|
|
72
|
+
add?: boolean | RowActionConfigSerialized;
|
|
73
|
+
hasSelection?: boolean;
|
|
74
|
+
custom?: CustomRowActionSerialized[];
|
|
75
|
+
menuLabel?: string;
|
|
76
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"option-row-actions.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/option-row-actions.ts"],"names":[],"mappings":""}
|