@antelopejs/interface-dms 0.9.0 → 0.10.0
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 +123 -0
- 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.js +3 -6
- 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.js +10 -9
- 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 +15 -2
- 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/8.data-types.md +2 -0
- package/docs/4.notifications/3.sending.md +1 -1
- package/docs/tsconfig.json +5 -1
- package/package.json +3 -9
|
@@ -7,13 +7,6 @@ function compareText(a, b) {
|
|
|
7
7
|
return 0;
|
|
8
8
|
return a < b ? -1 : 1;
|
|
9
9
|
}
|
|
10
|
-
// Placement is anchor-relative first; the comparator only breaks ties inside a
|
|
11
|
-
// single anchor group (or the appended tail). Every criterion after `order` is
|
|
12
|
-
// intrinsic to the declaration — never the order the modules were started in —
|
|
13
|
-
// so the same set of extensions always assembles the same page. Comparison is
|
|
14
|
-
// codepoint-wise rather than locale-aware for the same reason. `key` closes the
|
|
15
|
-
// total order: keys are unique on a page, a collision being a registration
|
|
16
|
-
// error.
|
|
17
10
|
function compareExtensionEntries(a, b) {
|
|
18
11
|
return (a.order - b.order ||
|
|
19
12
|
compareText(a.extensionName, b.extensionName) ||
|
|
@@ -86,6 +79,7 @@ function assembleNestedComponent(component, path, entries) {
|
|
|
86
79
|
/** @internal */
|
|
87
80
|
function assembleLayoutComponents(own, entries) {
|
|
88
81
|
if (entries.length === 0) {
|
|
82
|
+
// oxlint-disable-next-line anti-slop/no-known-value-widening -- Preserve the published component dictionary return type even when no extension changes the shallow copy.
|
|
89
83
|
return { ...own };
|
|
90
84
|
}
|
|
91
85
|
const ownKeys = Object.keys(own);
|
|
@@ -104,6 +98,7 @@ function assembleLayoutComponents(own, entries) {
|
|
|
104
98
|
appendGroup(groups.after.get(key));
|
|
105
99
|
}
|
|
106
100
|
appendGroup(groups.end);
|
|
101
|
+
// oxlint-disable-next-line anti-slop/no-known-value-widening -- Preserve the published component dictionary contract populated from own components and serialized extensions.
|
|
107
102
|
return assembled;
|
|
108
103
|
}
|
|
109
104
|
//# sourceMappingURL=extension-assembly.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-assembly.js","sourceRoot":"","sources":["../../../src/page/internal/extension-assembly.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"extension-assembly.js","sourceRoot":"","sources":["../../../src/page/internal/extension-assembly.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.filterLayoutHeaderActions = filterLayoutHeaderActions;
|
|
4
4
|
exports.withComponentHeaderButtons = withComponentHeaderButtons;
|
|
5
|
-
const button_availability_1 = require("../../
|
|
5
|
+
const button_availability_1 = require("../../component-options/internal/button-availability");
|
|
6
6
|
const component_target_1 = require("./component-target");
|
|
7
7
|
const page_record_1 = require("./page-record");
|
|
8
8
|
const permission_gate_1 = require("../../internal/permission-gate");
|
|
@@ -35,6 +35,7 @@ async function serveHeaderButton(declared, permissions, pagePermissionId, contex
|
|
|
35
35
|
* @internal
|
|
36
36
|
*/
|
|
37
37
|
async function filterLayoutHeaderActions(layout, loadPermissions, context, pagePermissionId, recordStatus) {
|
|
38
|
+
// oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- The published generic helper trusts layout options to carry optional header actions; validating or constraining T would change its current contract.
|
|
38
39
|
const options = layout?.options;
|
|
39
40
|
if (!layout || !options)
|
|
40
41
|
return layout;
|
|
@@ -53,6 +54,7 @@ async function filterLayoutHeaderActions(layout, loadPermissions, context, pageP
|
|
|
53
54
|
}
|
|
54
55
|
if (declaresRecord)
|
|
55
56
|
servedOptions.recordStatus = recordStatus;
|
|
57
|
+
// oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- Filtering rebuilds layout options with transport-only fields; the public generic return promises T although arbitrary T is not runtime-validated.
|
|
56
58
|
return { ...layout, options: servedOptions };
|
|
57
59
|
}
|
|
58
60
|
const HEADER_PLACEMENT = "header";
|
|
@@ -61,7 +63,7 @@ const ADD_BUTTON_ICON = "i-ph-plus";
|
|
|
61
63
|
const ADD_BUTTON_COLOR = "primary";
|
|
62
64
|
/** The header buttons one component of the page places there. */
|
|
63
65
|
function componentHeaderButtons(componentId, component) {
|
|
64
|
-
const options =
|
|
66
|
+
const options = component.options ?? {};
|
|
65
67
|
const buttons = (options.customButtons ?? [])
|
|
66
68
|
.filter((button) => button.placement === HEADER_PLACEMENT)
|
|
67
69
|
.map(({ id, target: _target, placement: _placement, ...button }, index) => ({
|
|
@@ -71,6 +73,7 @@ function componentHeaderButtons(componentId, component) {
|
|
|
71
73
|
buttonId: id,
|
|
72
74
|
}));
|
|
73
75
|
const add = options.rowActions?.add;
|
|
76
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- The declared add-action union uses a boolean or button options; only the object variant can declare header placement.
|
|
74
77
|
if (typeof add === "object" && add.placement === HEADER_PLACEMENT) {
|
|
75
78
|
if (add.isEnabled === false)
|
|
76
79
|
return buttons;
|
|
@@ -106,9 +109,10 @@ function withComponentHeaderButtons(layout, components) {
|
|
|
106
109
|
const placed = Object.entries(components).flatMap(([id, component]) => treeHeaderButtons(id, component));
|
|
107
110
|
if (!layout || placed.length === 0)
|
|
108
111
|
return layout;
|
|
109
|
-
const options =
|
|
112
|
+
const options = layout.options ?? {};
|
|
110
113
|
return {
|
|
111
114
|
...layout,
|
|
115
|
+
// oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- The published generic return retains T after adding header actions, even though arbitrary layout T is not validated at this augmentation boundary.
|
|
112
116
|
options: {
|
|
113
117
|
...options,
|
|
114
118
|
headerActions: [...(options.headerActions ?? []), ...placed],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-filter.js","sourceRoot":"","sources":["../../../src/page/internal/layout-filter.ts"],"names":[],"mappings":";;AA8DA,
|
|
1
|
+
{"version":3,"file":"layout-filter.js","sourceRoot":"","sources":["../../../src/page/internal/layout-filter.ts"],"names":[],"mappings":";;AA8DA,8DAsCC;AAuED,gEAmBC;AA9LD,8FAA+F;AAa/F,yDAA4D;AAC5D,+CAAsE;AACtE,oEAGwC;AAExC,KAAK,UAAU,iBAAiB,CAC9B,QAAkC,EAClC,WAAuC,EACvC,gBAAoC,EACpC,OAA+B,EAC/B,cAAuB;IAEvB,MAAM,MAAM,GAAG,IAAA,4BAAc,EAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACxE,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,EACJ,UAAU,EAAE,WAAW,EACvB,YAAY,EAAE,aAAa,EAC3B,cAAc,EAAE,eAAe,EAC/B,YAAY,EACZ,GAAG,MAAM,EACV,GAAG,MAAM,CAAC;IACX,IACE,IAAA,mCAAiB,EAAC,MAAM,CAAC;QACzB,CAAC,CAAC,MAAM,IAAA,qCAAmB,EAAC,MAAM,WAAW,EAAE,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,EAC3E,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAA,6CAAuB,EAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,UAAU,yBAAyB,CAC7C,MAAoC,EACpC,eAA2C,EAC3C,OAA+B,EAC/B,gBAAoC,EACpC,YAA+B;IAE/B,uOAAuO;IACvO,MAAM,OAAO,GAAG,MAAM,EAAE,OAAqD,CAAC;IAC9E,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IACvC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAC3E,MAAM,cAAc,GAAG,YAAY,KAAK,SAAS,CAAC;IAClD,IAAI,MAAwC,CAAC;IAC7C,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACrB,iBAAiB,CACf,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,OAAO,EACP,cAAc,CACf,CACF,CACF,CAAC;IACF,MAAM,aAAa,GAAmC,EAAE,GAAG,KAAK,EAAE,CAAC;IACnE,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,aAAa,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CACzC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CACjC,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QACpE,aAAa,CAAC,kBAAkB,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QACvD,aAAa,CAAC,mBAAmB,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IAC3D,CAAC;IACD,IAAI,cAAc;QAAE,aAAa,CAAC,YAAY,GAAG,YAAY,CAAC;IAC9D,oOAAoO;IACpO,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,aAAkB,EAAE,CAAC;AACpD,CAAC;AAQD,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAClC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAC9C,MAAM,eAAe,GAAG,WAAW,CAAC;AACpC,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEnC,iEAAiE;AACjE,SAAS,sBAAsB,CAC7B,WAAmB,EACnB,SAAkC;IAElC,MAAM,OAAO,GAAyB,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAiC,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;SACxE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,gBAAgB,CAAC;SACzD,GAAG,CACF,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACrE,GAAG,MAAM;QACT,EAAE,EAAE,GAAG,WAAW,IAAI,EAAE,IAAI,KAAK,EAAE;QACnC,WAAW;QACX,QAAQ,EAAE,EAAE;KACb,CAAC,CACH,CAAC;IACJ,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;IACpC,gLAAgL;IAChL,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;QAClE,IAAI,GAAG,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO,OAAO,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,GAAG,WAAW,MAAM;YACxB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,gBAAgB;YACpC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,eAAe;YACjC,KAAK,EAAE,gBAAgB;YACvB,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,QAAgB,EAChB,SAAkC;IAElC,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1D,iBAAiB,CACf,IAAA,yCAAsB,EAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,EAC1C,KAAK,CAAC,SAAS,CAChB,CACF,CAAC;IACF,OAAO,CAAC,GAAG,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,0BAA0B,CACxC,MAAoC,EACpC,UAAmD;IAEnD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CACpE,iBAAiB,CAAC,EAAE,EAAE,SAAS,CAAC,CACjC,CAAC;IACF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAClD,MAAM,OAAO,GAET,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACzB,OAAO;QACL,GAAG,MAAM;QACT,qOAAqO;QACrO,OAAO,EAAE;YACP,GAAG,OAAO;YACV,aAAa,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC;SACxD;KACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { Component, ComponentInfoSerialized } from "../../component";
|
|
2
|
+
import type { NativeUploadFieldRegistration } from "../../internal/uploads";
|
|
3
|
+
import { type Permission } from "../../permissions";
|
|
4
|
+
import type { ComponentTreeNode } from "../component-tree";
|
|
5
|
+
import type { ComponentNodeMap } from "../layout-filter";
|
|
6
|
+
import type { PageMetadata } from "../metadata";
|
|
7
|
+
import type { PageRegistration } from "./page-registration";
|
|
8
|
+
/** @internal */
|
|
9
|
+
export declare function actionPermissions(component: Component, pageInfo: PageMetadata["pageInfo"]): Permission[];
|
|
10
|
+
/** @internal */
|
|
11
|
+
export declare function notifyPageCreated(page: PageMetadata, node: ComponentTreeNode, notified: () => Set<Component>): void;
|
|
12
|
+
interface ComponentRegistrationContext {
|
|
13
|
+
componentMap(): ComponentNodeMap;
|
|
14
|
+
pageInfo(): PageMetadata["pageInfo"];
|
|
15
|
+
registersComponentPermissions(): boolean;
|
|
16
|
+
actionPermissions(component: Component): Permission[];
|
|
17
|
+
notify(node: ComponentTreeNode): void;
|
|
18
|
+
}
|
|
19
|
+
/** @internal */
|
|
20
|
+
export declare function registerComponentNode(node: ComponentTreeNode, context: ComponentRegistrationContext): void;
|
|
21
|
+
/** @internal */
|
|
22
|
+
export declare function unregisterComponentNode(node: ComponentTreeNode, registers: () => boolean, actions: (node: ComponentTreeNode) => Permission[]): void;
|
|
23
|
+
interface ComponentRemovalContext {
|
|
24
|
+
trees(): Map<string, ComponentTreeNode[]>;
|
|
25
|
+
uploads(): Map<string, NativeUploadFieldRegistration[]>;
|
|
26
|
+
nodes(): ComponentNodeMap;
|
|
27
|
+
notified(): Set<Component>;
|
|
28
|
+
ownsPermissions(): boolean;
|
|
29
|
+
unregister(node: ComponentTreeNode): void;
|
|
30
|
+
}
|
|
31
|
+
/** @internal */
|
|
32
|
+
export declare function unregisterComponent(componentKey: string, context: ComponentRemovalContext): void;
|
|
33
|
+
interface ComponentPreparationContext {
|
|
34
|
+
permissionId(key: string): string;
|
|
35
|
+
trees(): Map<string, ComponentTreeNode[]>;
|
|
36
|
+
registration(): PageRegistration;
|
|
37
|
+
unregister(component: Component, key: string): void;
|
|
38
|
+
register(node: ComponentTreeNode): void;
|
|
39
|
+
detached(): boolean;
|
|
40
|
+
bind(serialized: ComponentInfoSerialized, key: string): Promise<void>;
|
|
41
|
+
}
|
|
42
|
+
/** @internal */
|
|
43
|
+
export declare function prepareComponent(component: Component, componentKey: string, context: ComponentPreparationContext): () => Promise<{
|
|
44
|
+
key: string;
|
|
45
|
+
serialized: ComponentInfoSerialized;
|
|
46
|
+
}>;
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.actionPermissions = actionPermissions;
|
|
4
|
+
exports.notifyPageCreated = notifyPageCreated;
|
|
5
|
+
exports.registerComponentNode = registerComponentNode;
|
|
6
|
+
exports.unregisterComponentNode = unregisterComponentNode;
|
|
7
|
+
exports.unregisterComponent = unregisterComponent;
|
|
8
|
+
exports.prepareComponent = prepareComponent;
|
|
9
|
+
/** @internal */
|
|
10
|
+
const logging_1 = require("@antelopejs/interface-core/logging");
|
|
11
|
+
const permissions_1 = require("../../permissions");
|
|
12
|
+
const uploads_1 = require("../../uploads");
|
|
13
|
+
const declaration_conflict_1 = require("../declaration-conflict");
|
|
14
|
+
const component_tree_1 = require("./component-tree");
|
|
15
|
+
const member_access_1 = require("./member-access");
|
|
16
|
+
const registry_1 = require("./registry");
|
|
17
|
+
/** @internal */
|
|
18
|
+
function actionPermissions(component, pageInfo) {
|
|
19
|
+
const grantsMembers = (0, member_access_1.opensToMembers)(pageInfo?.memberAccess);
|
|
20
|
+
return Object.values(component.actions)
|
|
21
|
+
.map((action) => action.toPermission())
|
|
22
|
+
.filter((permission) => !!permission)
|
|
23
|
+
.map((permission) => grantsMembers ? { ...permission, defaultGranted: true } : permission);
|
|
24
|
+
}
|
|
25
|
+
/** @internal */
|
|
26
|
+
function notifyPageCreated(page, node, notified) {
|
|
27
|
+
if (!node.component.onPageCreated)
|
|
28
|
+
return;
|
|
29
|
+
if (notified().has(node.component))
|
|
30
|
+
return;
|
|
31
|
+
notified().add(node.component);
|
|
32
|
+
if (node.depth === 0) {
|
|
33
|
+
node.component.onPageCreated(page);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
try {
|
|
37
|
+
node.component.onPageCreated(page);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
if (error instanceof declaration_conflict_1.PageDeclarationConflictError)
|
|
41
|
+
throw error;
|
|
42
|
+
logging_1.Logging.Error(`[dms] component "${node.permissionId}" failed its onCreated hook on page "${page.pageInfo?.fullId}": ${String(error)}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/** @internal */
|
|
46
|
+
function registerComponentNode(node, context) {
|
|
47
|
+
const { component, permissionId } = node;
|
|
48
|
+
context.componentMap().set(permissionId, node);
|
|
49
|
+
if (node.access === "withheld")
|
|
50
|
+
return;
|
|
51
|
+
if (node.access === "own" && !registry_1.permissionMap.has(component))
|
|
52
|
+
registry_1.permissionMap.set(component, permissionId);
|
|
53
|
+
if (context.registersComponentPermissions() && node.access === "own") {
|
|
54
|
+
(0, permissions_1.RegisterPermission)(permissionId, {
|
|
55
|
+
id: permissionId,
|
|
56
|
+
title: component.metadata.name,
|
|
57
|
+
icon: component.metadata.icon,
|
|
58
|
+
description: component.metadata.description,
|
|
59
|
+
defaultGranted: (0, member_access_1.opensToMembers)(context.pageInfo()?.memberAccess),
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
context.notify(node);
|
|
63
|
+
if (context.registersComponentPermissions()) {
|
|
64
|
+
for (const actionPermission of context.actionPermissions(component))
|
|
65
|
+
(0, permissions_1.RegisterPermission)(actionPermission.id, actionPermission);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/** @internal */
|
|
69
|
+
function unregisterComponentNode(node, registers, actions) {
|
|
70
|
+
if (node.access === "withheld")
|
|
71
|
+
return;
|
|
72
|
+
if (registers()) {
|
|
73
|
+
for (const actionPermission of actions(node))
|
|
74
|
+
(0, permissions_1.UnregisterPermission)(actionPermission.id);
|
|
75
|
+
}
|
|
76
|
+
if (node.access !== "own")
|
|
77
|
+
return;
|
|
78
|
+
if (registers())
|
|
79
|
+
(0, permissions_1.UnregisterPermission)(node.permissionId);
|
|
80
|
+
if (registry_1.permissionMap.get(node.component) === node.permissionId)
|
|
81
|
+
registry_1.permissionMap.delete(node.component);
|
|
82
|
+
}
|
|
83
|
+
/** @internal */
|
|
84
|
+
function unregisterComponent(componentKey, context) {
|
|
85
|
+
const nodes = context.trees().get(componentKey);
|
|
86
|
+
if (!nodes)
|
|
87
|
+
return;
|
|
88
|
+
context.trees().delete(componentKey);
|
|
89
|
+
for (const node of nodes) {
|
|
90
|
+
for (const field of context.uploads().get(node.permissionId) ?? [])
|
|
91
|
+
uploads_1.internal.RegisterNativeUploadField.unregister(field);
|
|
92
|
+
context.uploads().delete(node.permissionId);
|
|
93
|
+
context.nodes().delete(node.permissionId);
|
|
94
|
+
context.notified().delete(node.component);
|
|
95
|
+
}
|
|
96
|
+
if (!context.ownsPermissions()) {
|
|
97
|
+
for (const node of nodes)
|
|
98
|
+
releaseComponentIdentity(node);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
for (const node of nodes)
|
|
102
|
+
context.unregister(node);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Drop a position's entry from the permission map on behalf of a page that no
|
|
106
|
+
* longer owns its id, unless a live page holds the same component at that
|
|
107
|
+
* position. Only the entry is released: the permissions of the position and of
|
|
108
|
+
* its component's actions stay registered.
|
|
109
|
+
*/
|
|
110
|
+
function releaseComponentIdentity(node) {
|
|
111
|
+
if (node.access !== "own")
|
|
112
|
+
return;
|
|
113
|
+
if (registry_1.permissionMap.get(node.component) !== node.permissionId)
|
|
114
|
+
return;
|
|
115
|
+
const held = [...registry_1.pageMetadataByFullId.values()].some((page) => page.ComponentPermissionIds(node.component).includes(node.permissionId));
|
|
116
|
+
if (!held)
|
|
117
|
+
registry_1.permissionMap.delete(node.component);
|
|
118
|
+
}
|
|
119
|
+
/** @internal */
|
|
120
|
+
function prepareComponent(component, componentKey, context) {
|
|
121
|
+
const nodes = (0, component_tree_1.collectComponentTree)(component, context.permissionId(componentKey));
|
|
122
|
+
context.trees().set(componentKey, nodes);
|
|
123
|
+
context
|
|
124
|
+
.registration()
|
|
125
|
+
.track(() => context.unregister(component, componentKey));
|
|
126
|
+
for (const node of nodes)
|
|
127
|
+
context.register(node);
|
|
128
|
+
return async () => {
|
|
129
|
+
const serialized = await component.serialize();
|
|
130
|
+
if (context.detached() || context.trees().get(componentKey) !== nodes)
|
|
131
|
+
return { key: componentKey, serialized };
|
|
132
|
+
await context.bind(serialized, componentKey);
|
|
133
|
+
return { key: componentKey, serialized };
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=metadata-components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-components.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-components.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PageMetadata } from "../metadata";
|
|
2
|
+
import type { PageExtensionComponent, PageExtensionInfo } from "../types";
|
|
3
|
+
import type { PageExtensionEntry } from "./extension-assembly";
|
|
4
|
+
/** @internal */
|
|
5
|
+
export declare function removeStaleExtensions(page: PageMetadata, infos: PageExtensionInfo[]): void;
|
|
6
|
+
/** @internal */
|
|
7
|
+
export declare function prepareExtensionEntries(page: PageMetadata, info: PageExtensionInfo): PageExtensionEntry[] | undefined;
|
|
8
|
+
/** @internal */
|
|
9
|
+
export declare function prepareExtensionComponent(page: PageMetadata, info: PageExtensionInfo, contribution: PageExtensionComponent): () => Promise<{
|
|
10
|
+
key: string;
|
|
11
|
+
serialized: import("../..").ComponentInfoSerialized;
|
|
12
|
+
}>;
|
|
13
|
+
/** @internal */
|
|
14
|
+
export declare function reportExtensionFailure(page: PageMetadata, entries: PageExtensionEntry[], info: PageExtensionInfo, contribution: PageExtensionComponent, error: unknown): void;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.removeStaleExtensions = removeStaleExtensions;
|
|
4
|
+
exports.prepareExtensionEntries = prepareExtensionEntries;
|
|
5
|
+
exports.prepareExtensionComponent = prepareExtensionComponent;
|
|
6
|
+
exports.reportExtensionFailure = reportExtensionFailure;
|
|
7
|
+
/** @internal */
|
|
8
|
+
const logging_1 = require("@antelopejs/interface-core/logging");
|
|
9
|
+
const declaration_conflict_1 = require("../declaration-conflict");
|
|
10
|
+
const extension_validation_1 = require("./extension-validation");
|
|
11
|
+
const metadata_owner_1 = require("./metadata-owner");
|
|
12
|
+
const registry_1 = require("./registry");
|
|
13
|
+
/** @internal */
|
|
14
|
+
function removeStaleExtensions(page, infos) {
|
|
15
|
+
const owner = (0, metadata_owner_1.metadataOwner)(page);
|
|
16
|
+
const desired = new Set(infos);
|
|
17
|
+
// oxlint-disable-next-line unicorn/no-useless-spread -- Snapshot the keys before drop deletes entries from the same map.
|
|
18
|
+
for (const info of [...owner.extensionEntries.keys()]) {
|
|
19
|
+
if (!desired.has(info))
|
|
20
|
+
owner.drop(info);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/** @internal */
|
|
24
|
+
function prepareExtensionEntries(page, info) {
|
|
25
|
+
const owner = (0, metadata_owner_1.metadataOwner)(page);
|
|
26
|
+
const errors = (0, extension_validation_1.collectExtensionErrors)(info, {
|
|
27
|
+
own: owner.ownComponents,
|
|
28
|
+
taken: owner.takenKeys(),
|
|
29
|
+
});
|
|
30
|
+
const entries = [];
|
|
31
|
+
owner.extensionEntries.set(info, entries);
|
|
32
|
+
if (errors.length > 0) {
|
|
33
|
+
for (const error of errors)
|
|
34
|
+
logging_1.Logging.Error(`[dms] ${error}`);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
return entries;
|
|
38
|
+
}
|
|
39
|
+
/** @internal */
|
|
40
|
+
function prepareExtensionComponent(page, info, contribution) {
|
|
41
|
+
const owner = (0, metadata_owner_1.metadataOwner)(page);
|
|
42
|
+
const componentPath = owner.path(contribution);
|
|
43
|
+
return (0, registry_1.runAsPageExtensionOwner)(info, () => owner.prepareExtension(contribution, componentPath));
|
|
44
|
+
}
|
|
45
|
+
/** @internal */
|
|
46
|
+
function reportExtensionFailure(page, entries, info, contribution,
|
|
47
|
+
// oxlint-disable-next-line anti-slop/no-unknown-parameters -- JavaScript catch values have no owner-declared type; preserve cleanup, conflict rethrow, and late string conversion for arbitrary throws.
|
|
48
|
+
error) {
|
|
49
|
+
const owner = (0, metadata_owner_1.metadataOwner)(page);
|
|
50
|
+
entries.pop();
|
|
51
|
+
owner.unregisterExtension(contribution);
|
|
52
|
+
if (error instanceof declaration_conflict_1.PageDeclarationConflictError)
|
|
53
|
+
throw error;
|
|
54
|
+
logging_1.Logging.Error(`[dms] page extension "${info.extensionName}" could not register component "${contribution.key}" on page "${info.targetFullId}": ${String(error)}`);
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=metadata-extension-contributions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-extension-contributions.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-extension-contributions.ts"],"names":[],"mappings":";;AAWA,sDAUC;AAGD,0DAgBC;AAGD,8DAUC;AAGD,wDAeC;AAvED,gBAAgB;AAChB,gEAA6D;AAC7D,kEAAuE;AAIvE,iEAAgE;AAChE,qDAAiD;AACjD,yCAAqD;AAErD,gBAAgB;AAChB,SAAgB,qBAAqB,CACnC,IAAkB,EAClB,KAA0B;IAE1B,MAAM,KAAK,GAAG,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,yHAAyH;IACzH,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,gBAAgB;AAChB,SAAgB,uBAAuB,CACrC,IAAkB,EAClB,IAAuB;IAEvB,MAAM,KAAK,GAAG,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,IAAA,6CAAsB,EAAC,IAAI,EAAE;QAC1C,GAAG,EAAE,KAAK,CAAC,aAAa;QACxB,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE;KACzB,CAAC,CAAC;IACH,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,iBAAO,CAAC,KAAK,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gBAAgB;AAChB,SAAgB,yBAAyB,CACvC,IAAkB,EAClB,IAAuB,EACvB,YAAoC;IAEpC,MAAM,KAAK,GAAG,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,OAAO,IAAA,kCAAuB,EAAC,IAAI,EAAE,GAAG,EAAE,CACxC,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC,CACpD,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,SAAgB,sBAAsB,CACpC,IAAkB,EAClB,OAA6B,EAC7B,IAAuB,EACvB,YAAoC;AACpC,wMAAwM;AACxM,KAAc;IAEd,MAAM,KAAK,GAAG,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,KAAK,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,KAAK,YAAY,mDAA4B;QAAE,MAAM,KAAK,CAAC;IAC/D,iBAAO,CAAC,KAAK,CACX,yBAAyB,IAAI,CAAC,aAAa,mCAAmC,YAAY,CAAC,GAAG,cAAc,IAAI,CAAC,YAAY,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,CACnJ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** @internal */
|
|
2
|
+
import type { ComponentInfoSerialized } from "../../component";
|
|
3
|
+
import type { PageExtensionComponent, PageExtensionInfo } from "../types";
|
|
4
|
+
import type { PageExtensionEntry } from "./extension-assembly";
|
|
5
|
+
/** @internal */
|
|
6
|
+
export declare function extensionComponentPath(component: PageExtensionComponent): string;
|
|
7
|
+
/** @internal */
|
|
8
|
+
export declare function takenComponentKeys(owner: string, own: Record<string, ComponentInfoSerialized>, extensions: () => Map<PageExtensionInfo, PageExtensionEntry[]>): Map<string, string>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extensionComponentPath = extensionComponentPath;
|
|
4
|
+
exports.takenComponentKeys = takenComponentKeys;
|
|
5
|
+
/** @internal */
|
|
6
|
+
function extensionComponentPath(component) {
|
|
7
|
+
const anchorPath = component.anchorPath ?? [];
|
|
8
|
+
if (anchorPath.length <= 1)
|
|
9
|
+
return component.key;
|
|
10
|
+
return [...anchorPath.slice(0, -1), component.key].join(".");
|
|
11
|
+
}
|
|
12
|
+
/** @internal */
|
|
13
|
+
function takenComponentKeys(owner, own, extensions) {
|
|
14
|
+
const taken = new Map(Object.keys(own).map((key) => [key, owner]));
|
|
15
|
+
for (const [info, entries] of extensions()) {
|
|
16
|
+
for (const entry of entries)
|
|
17
|
+
taken.set(entry.key, info.extensionName);
|
|
18
|
+
}
|
|
19
|
+
return taken;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=metadata-extensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-extensions.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-extensions.ts"],"names":[],"mappings":";;AAMA,wDAMC;AAGD,gDAYC;AAtBD,gBAAgB;AAChB,SAAgB,sBAAsB,CACpC,SAAiC;IAEjC,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;IAC9C,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC,GAAG,CAAC;IACjD,OAAO,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,gBAAgB;AAChB,SAAgB,kBAAkB,CAChC,KAAa,EACb,GAA4C,EAC5C,UAA8D;IAE9D,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAC5C,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,UAAU,EAAE,EAAE,CAAC;QAC3C,KAAK,MAAM,KAAK,IAAI,OAAO;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// The request-tenant decorator and the two module route guards: telling whether
|
|
3
|
-
// a page lives inside a module, and logging once that a route was blocked for
|
|
4
|
-
// that reason.
|
|
5
|
-
//
|
|
6
|
-
// Split out of metadata.ts.
|
|
7
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
3
|
exports.RequestRouteParametersProperty = exports.RequestQueryProperty = exports.RequestTenantIdProperty = void 0;
|
|
9
4
|
exports.readRequestQuery = readRequestQuery;
|
|
@@ -12,16 +7,7 @@ exports.logModuleRouteGated = logModuleRouteGated;
|
|
|
12
7
|
const interface_api_1 = require("@antelopejs/interface-api");
|
|
13
8
|
const decorators_1 = require("@antelopejs/interface-core/decorators");
|
|
14
9
|
const logging_1 = require("@antelopejs/interface-core/logging");
|
|
15
|
-
// Import from the defining leaf, not the dms-base barrel: the barrel pulls in
|
|
16
|
-
// table-view, which imports the page interface back — entering through the
|
|
17
|
-
// barrel would then call DefaultLayout() while the barrel is still
|
|
18
|
-
// mid-evaluation.
|
|
19
10
|
const request_tenant_1 = require("../../request-tenant");
|
|
20
|
-
// Deliberate and documented above: categories resolve controller
|
|
21
|
-
// classes through PageMetadata, and metadata registers pages
|
|
22
|
-
// through the proxies declared in categories. Neither module
|
|
23
|
-
// dereferences the other while it evaluates.
|
|
24
|
-
// oxlint-disable-next-line import/no-cycle
|
|
25
11
|
const types_1 = require("../types");
|
|
26
12
|
/** @internal */
|
|
27
13
|
exports.RequestTenantIdProperty = (0, decorators_1.MakeParameterAndPropertyDecorator)((target, key, index) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-helpers.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metadata-helpers.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-helpers.ts"],"names":[],"mappings":";;;AAuBA,4CAIC;AAwBD,gDAEC;AAKD,kDAIC;AA9DD,6DAGmC;AACnC,sEAA0F;AAC1F,gEAA6D;AAC7D,yDAA8D;AAC9D,oCAA4D;AAC5D,gBAAgB;AACH,QAAA,uBAAuB,GAAG,IAAA,8CAAiC,EACtE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACrB,IAAA,oCAAoB,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE,CAC/D,IAAA,uCAAsB,EAAC,GAAG,CAAC,CAC5B,CAAC;AACJ,CAAC,CACF,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,gBAAgB,CAC9B,GAAgC;IAEhC,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAClD,CAAC;AAED,gBAAgB;AACH,QAAA,oBAAoB,GAAG,IAAA,8CAAiC,EACnE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACrB,IAAA,oCAAoB,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;AAC7D,CAAC,CACF,CAAC;AAEF;;;;;GAKG;AACU,QAAA,8BAA8B,GAAG,IAAA,8CAAiC,EAC7E,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACrB,IAAA,oCAAoB,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE,CAAC,CAAC;QACjE,GAAG,GAAG,CAAC,eAAe;KACvB,CAAC,CAAC,CAAC;AACN,CAAC,CACF,CAAC;AAEF,gBAAgB;AAChB,SAAgB,kBAAkB,CAAC,QAAkB;IACnD,OAAO,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,yBAAiB,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE5C,gBAAgB;AAChB,SAAgB,mBAAmB,CAAC,QAAgB;IAClD,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO;IAC5C,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,iBAAO,CAAC,IAAI,CAAC,sBAAsB,QAAQ,uBAAuB,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ComponentInfo } from "../../component";
|
|
2
|
+
import type { PageMetadata } from "../metadata";
|
|
3
|
+
import type { MenuOptions } from "../types";
|
|
4
|
+
/** @internal */
|
|
5
|
+
export declare function setPageInfo(page: PageMetadata, id: string, fullSlug: string, menuOptions: MenuOptions, pageLayout?: ComponentInfo): void;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setPageInfo = setPageInfo;
|
|
4
|
+
/** @internal @packageDocumentation */
|
|
5
|
+
const page_layout_1 = require("../../component-options/page-layout");
|
|
6
|
+
const page_routes_1 = require("../page-routes");
|
|
7
|
+
// oxlint-disable-next-line import/no-cycle -- Category resolution reads PageMetadata inside functions, after metadata initialization.
|
|
8
|
+
const categories_1 = require("./categories");
|
|
9
|
+
const member_access_1 = require("./member-access");
|
|
10
|
+
/** @internal */
|
|
11
|
+
function setPageInfo(page, id, fullSlug, menuOptions, pageLayout) {
|
|
12
|
+
const { parent, ...menu } = menuOptions;
|
|
13
|
+
const resolvedCategory = (0, categories_1.resolveCategoryInfo)(menu.category);
|
|
14
|
+
const parentFullId = resolvedCategory?.fullId ?? "";
|
|
15
|
+
const fullId = parentFullId ? `${parentFullId}.${id}` : id;
|
|
16
|
+
const location = (0, page_routes_1.pageRoutePath)(fullSlug, "/pagelayout");
|
|
17
|
+
const pageInfo = {
|
|
18
|
+
...menu,
|
|
19
|
+
category: resolvedCategory,
|
|
20
|
+
id,
|
|
21
|
+
fullId,
|
|
22
|
+
fullSlug,
|
|
23
|
+
layoutUrl: location,
|
|
24
|
+
parentSlug: parent ? (0, categories_1.resolveCategoryInfo)(parent)?.fullSlug : undefined,
|
|
25
|
+
hidden: menu.hidden || resolvedCategory?.hidden,
|
|
26
|
+
publicAccess: menu.publicAccess || resolvedCategory?.publicAccess,
|
|
27
|
+
authOnly: menu.authOnly || resolvedCategory?.authOnly,
|
|
28
|
+
memberAccess: menu.memberAccess ||
|
|
29
|
+
(0, member_access_1.inheritedMemberAccess)(resolvedCategory?.memberAccess),
|
|
30
|
+
bypassTenantAccessGate: menu.bypassTenantAccessGate || resolvedCategory?.bypassTenantAccessGate,
|
|
31
|
+
};
|
|
32
|
+
page.layout =
|
|
33
|
+
pageLayout ??
|
|
34
|
+
menu.layout ??
|
|
35
|
+
(0, categories_1.resolveInheritedLayout)(resolvedCategory) ??
|
|
36
|
+
(0, page_layout_1.DefaultLayout)();
|
|
37
|
+
page.pageInfo = pageInfo;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=metadata-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-info.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-info.ts"],"names":[],"mappings":";;AAWA,kCAsCC;AAjDD,sCAAsC;AACtC,qEAAoE;AAGpE,gDAA+C;AAE/C,sIAAsI;AACtI,6CAA2E;AAC3E,mDAAwD;AAExD,gBAAgB;AAChB,SAAgB,WAAW,CACzB,IAAkB,EAClB,EAAU,EACV,QAAgB,EAChB,WAAwB,EACxB,UAA0B;IAE1B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,CAAC;IACxC,MAAM,gBAAgB,GAAG,IAAA,gCAAmB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,gBAAgB,EAAE,MAAM,IAAI,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3D,MAAM,QAAQ,GAAG,IAAA,2BAAa,EAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAa;QACzB,GAAG,IAAI;QACP,QAAQ,EAAE,gBAAgB;QAC1B,EAAE;QACF,MAAM;QACN,QAAQ;QACR,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,IAAA,gCAAmB,EAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;QACtE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,gBAAgB,EAAE,MAAM;QAC/C,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,gBAAgB,EAAE,YAAY;QACjE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,gBAAgB,EAAE,QAAQ;QACrD,YAAY,EACV,IAAI,CAAC,YAAY;YACjB,IAAA,qCAAqB,EAAC,gBAAgB,EAAE,YAAY,CAAC;QACvD,sBAAsB,EACpB,IAAI,CAAC,sBAAsB,IAAI,gBAAgB,EAAE,sBAAsB;KAC1E,CAAC;IAEF,IAAI,CAAC,MAAM;QACT,UAAU;YACV,IAAI,CAAC,MAAM;YACX,IAAA,mCAAsB,EAAC,gBAAgB,CAAC;YACxC,IAAA,2BAAa,GAAE,CAAC;IAClB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ComponentFilterContext } from "../../component";
|
|
2
|
+
import type { PageMetadata } from "../metadata";
|
|
3
|
+
import type { PageLayout, PageLayoutRequest } from "../types";
|
|
4
|
+
import { filterLayoutHeaderActions, withComponentHeaderButtons } from "./layout-filter";
|
|
5
|
+
import type { readPageRecord } from "./page-record";
|
|
6
|
+
/** @internal */
|
|
7
|
+
export declare function registeredLayout(page: PageMetadata): PageLayout;
|
|
8
|
+
/** @internal */
|
|
9
|
+
export declare function tenantGateRequired(page: PageMetadata, enforce: boolean, user: PageLayoutRequest["user"]): user is NonNullable<PageLayoutRequest["user"]>;
|
|
10
|
+
/** @internal */
|
|
11
|
+
export declare function prepareLayoutContext(request: Pick<PageLayoutRequest, "user" | "memberModel" | "roleModel" | "tenantId" | "query" | "params" | "resolverContext">): {
|
|
12
|
+
context: ComponentFilterContext;
|
|
13
|
+
loadPermissions: () => Promise<Set<string>>;
|
|
14
|
+
};
|
|
15
|
+
/** @internal */
|
|
16
|
+
export declare function filterPageHeader(page: PageMetadata, layout: PageLayout, load: Parameters<typeof filterLayoutHeaderActions>[1], context: ComponentFilterContext, read: Awaited<ReturnType<typeof readPageRecord>>): Promise<import("../..").ComponentInfo<unknown, import("../..").Component<unknown>, import("../..").ComponentChild<unknown, import("../..").Component<unknown>>> | undefined>;
|
|
17
|
+
/** @internal */
|
|
18
|
+
export declare function filterPageComponents(page: PageMetadata, components: PageLayout["components"], permissions: Set<string>, context: ComponentFilterContext): Promise<Record<string, import("../..").ComponentInfoSerialized>>;
|
|
19
|
+
/** @internal */
|
|
20
|
+
export declare function permissionLoader(user: PageLayoutRequest["user"], memberModel: PageLayoutRequest["memberModel"], roleModel: PageLayoutRequest["roleModel"], tenantId: PageLayoutRequest["tenantId"], resolverContext: PageLayoutRequest["resolverContext"]): () => Promise<Set<string>>;
|
|
21
|
+
/** @internal */
|
|
22
|
+
export declare function prepareLayoutResponse(layout: PageLayout, components: PageLayout["components"]): (header: Parameters<typeof withComponentHeaderButtons>[0]) => {
|
|
23
|
+
layout: import("../..").ComponentInfo<unknown, import("../..").Component<unknown>, import("../..").ComponentChild<unknown, import("../..").Component<unknown>>> | undefined;
|
|
24
|
+
components: Record<string, import("../..").ComponentInfoSerialized>;
|
|
25
|
+
allComponentsHidden?: true;
|
|
26
|
+
};
|
|
27
|
+
/** @internal */
|
|
28
|
+
export declare function prepareFilteredLayoutResponse(layout: PageLayout, declared: PageLayout["components"], served: PageLayout["components"]): (header: Parameters<typeof withComponentHeaderButtons>[0]) => {
|
|
29
|
+
allComponentsHidden?: true;
|
|
30
|
+
layout: import("../..").ComponentInfo<unknown, import("../..").Component<unknown>, import("../..").ComponentChild<unknown, import("../..").Component<unknown>>> | undefined;
|
|
31
|
+
components: Record<string, import("../..").ComponentInfoSerialized>;
|
|
32
|
+
};
|