@cohesivesystems/presentation-core 0.1.0-alpha.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/LICENSE +55 -0
- package/dist/api-scope-request.d.ts +43 -0
- package/dist/api-scope-request.d.ts.map +1 -0
- package/dist/api-scope-request.js +96 -0
- package/dist/api-scope-request.js.map +1 -0
- package/dist/collection-chrome-icons.d.ts +18 -0
- package/dist/collection-chrome-icons.d.ts.map +1 -0
- package/dist/collection-chrome-icons.js +57 -0
- package/dist/collection-chrome-icons.js.map +1 -0
- package/dist/collection-chrome-runtime.d.ts +25 -0
- package/dist/collection-chrome-runtime.d.ts.map +1 -0
- package/dist/collection-chrome-runtime.js +72 -0
- package/dist/collection-chrome-runtime.js.map +1 -0
- package/dist/collection-chrome-slot-renderer-registry.d.ts +110 -0
- package/dist/collection-chrome-slot-renderer-registry.d.ts.map +1 -0
- package/dist/collection-chrome-slot-renderer-registry.js +136 -0
- package/dist/collection-chrome-slot-renderer-registry.js.map +1 -0
- package/dist/collection-selection-state.d.ts +18 -0
- package/dist/collection-selection-state.d.ts.map +1 -0
- package/dist/collection-selection-state.js +2 -0
- package/dist/collection-selection-state.js.map +1 -0
- package/dist/data-source-projection.d.ts +475 -0
- package/dist/data-source-projection.d.ts.map +1 -0
- package/dist/data-source-projection.js +880 -0
- package/dist/data-source-projection.js.map +1 -0
- package/dist/data-source-query-lowering.d.ts +35 -0
- package/dist/data-source-query-lowering.d.ts.map +1 -0
- package/dist/data-source-query-lowering.js +104 -0
- package/dist/data-source-query-lowering.js.map +1 -0
- package/dist/date-time-filter-model.d.ts +20 -0
- package/dist/date-time-filter-model.d.ts.map +1 -0
- package/dist/date-time-filter-model.js +115 -0
- package/dist/date-time-filter-model.js.map +1 -0
- package/dist/document-badge-icons.d.ts +4 -0
- package/dist/document-badge-icons.d.ts.map +1 -0
- package/dist/document-badge-icons.js +4 -0
- package/dist/document-badge-icons.js.map +1 -0
- package/dist/document-module.d.ts +268 -0
- package/dist/document-module.d.ts.map +1 -0
- package/dist/document-module.js +347 -0
- package/dist/document-module.js.map +1 -0
- package/dist/document-summary-model.d.ts +2 -0
- package/dist/document-summary-model.d.ts.map +1 -0
- package/dist/document-summary-model.js +2 -0
- package/dist/document-summary-model.js.map +1 -0
- package/dist/document-workspace-chrome-projection.d.ts +18 -0
- package/dist/document-workspace-chrome-projection.d.ts.map +1 -0
- package/dist/document-workspace-chrome-projection.js +35 -0
- package/dist/document-workspace-chrome-projection.js.map +1 -0
- package/dist/document-workspace-surface-slots.d.ts +75 -0
- package/dist/document-workspace-surface-slots.d.ts.map +1 -0
- package/dist/document-workspace-surface-slots.js +268 -0
- package/dist/document-workspace-surface-slots.js.map +1 -0
- package/dist/endpoint-executor.d.ts +62 -0
- package/dist/endpoint-executor.d.ts.map +1 -0
- package/dist/endpoint-executor.js +35 -0
- package/dist/endpoint-executor.js.map +1 -0
- package/dist/field-display-resolution.d.ts +5 -0
- package/dist/field-display-resolution.d.ts.map +1 -0
- package/dist/field-display-resolution.js +50 -0
- package/dist/field-display-resolution.js.map +1 -0
- package/dist/index.d.ts +90 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +89 -0
- package/dist/index.js.map +1 -0
- package/dist/module.d.ts +48 -0
- package/dist/module.d.ts.map +1 -0
- package/dist/module.js +108 -0
- package/dist/module.js.map +1 -0
- package/dist/navigation-shell-frame-renderer-registry.d.ts +12 -0
- package/dist/navigation-shell-frame-renderer-registry.d.ts.map +1 -0
- package/dist/navigation-shell-frame-renderer-registry.js +29 -0
- package/dist/navigation-shell-frame-renderer-registry.js.map +1 -0
- package/dist/navigation-shell-layout-runtime.d.ts +29 -0
- package/dist/navigation-shell-layout-runtime.d.ts.map +1 -0
- package/dist/navigation-shell-layout-runtime.js +50 -0
- package/dist/navigation-shell-layout-runtime.js.map +1 -0
- package/dist/navigation-shell-region-component-registry.d.ts +96 -0
- package/dist/navigation-shell-region-component-registry.d.ts.map +1 -0
- package/dist/navigation-shell-region-component-registry.js +108 -0
- package/dist/navigation-shell-region-component-registry.js.map +1 -0
- package/dist/navigation-shell-runtime.d.ts +48 -0
- package/dist/navigation-shell-runtime.d.ts.map +1 -0
- package/dist/navigation-shell-runtime.js +457 -0
- package/dist/navigation-shell-runtime.js.map +1 -0
- package/dist/navigation-shell-slot-renderer-registry.d.ts +15 -0
- package/dist/navigation-shell-slot-renderer-registry.d.ts.map +1 -0
- package/dist/navigation-shell-slot-renderer-registry.js +48 -0
- package/dist/navigation-shell-slot-renderer-registry.js.map +1 -0
- package/dist/navigation.d.ts +84 -0
- package/dist/navigation.d.ts.map +1 -0
- package/dist/navigation.js +167 -0
- package/dist/navigation.js.map +1 -0
- package/dist/object-path.d.ts +23 -0
- package/dist/object-path.d.ts.map +1 -0
- package/dist/object-path.js +63 -0
- package/dist/object-path.js.map +1 -0
- package/dist/page-host-renderer-registry.d.ts +119 -0
- package/dist/page-host-renderer-registry.d.ts.map +1 -0
- package/dist/page-host-renderer-registry.js +305 -0
- package/dist/page-host-renderer-registry.js.map +1 -0
- package/dist/presentation-action-endpoint-request-projection.d.ts +23 -0
- package/dist/presentation-action-endpoint-request-projection.d.ts.map +1 -0
- package/dist/presentation-action-endpoint-request-projection.js +117 -0
- package/dist/presentation-action-endpoint-request-projection.js.map +1 -0
- package/dist/presentation-action-endpoint.d.ts +24 -0
- package/dist/presentation-action-endpoint.d.ts.map +1 -0
- package/dist/presentation-action-endpoint.js +56 -0
- package/dist/presentation-action-endpoint.js.map +1 -0
- package/dist/presentation-action-icons.d.ts +4 -0
- package/dist/presentation-action-icons.d.ts.map +1 -0
- package/dist/presentation-action-icons.js +4 -0
- package/dist/presentation-action-icons.js.map +1 -0
- package/dist/presentation-action-result-state.d.ts +48 -0
- package/dist/presentation-action-result-state.d.ts.map +1 -0
- package/dist/presentation-action-result-state.js +109 -0
- package/dist/presentation-action-result-state.js.map +1 -0
- package/dist/presentation-action-runtime-binding.d.ts +48 -0
- package/dist/presentation-action-runtime-binding.d.ts.map +1 -0
- package/dist/presentation-action-runtime-binding.js +52 -0
- package/dist/presentation-action-runtime-binding.js.map +1 -0
- package/dist/presentation-action-runtime-diagnostics.d.ts +18 -0
- package/dist/presentation-action-runtime-diagnostics.d.ts.map +1 -0
- package/dist/presentation-action-runtime-diagnostics.js +69 -0
- package/dist/presentation-action-runtime-diagnostics.js.map +1 -0
- package/dist/presentation-action-runtime-labels.d.ts +15 -0
- package/dist/presentation-action-runtime-labels.d.ts.map +1 -0
- package/dist/presentation-action-runtime-labels.js +28 -0
- package/dist/presentation-action-runtime-labels.js.map +1 -0
- package/dist/presentation-action-runtime-projection.d.ts +17 -0
- package/dist/presentation-action-runtime-projection.d.ts.map +1 -0
- package/dist/presentation-action-runtime-projection.js +31 -0
- package/dist/presentation-action-runtime-projection.js.map +1 -0
- package/dist/presentation-badge-resolution.d.ts +8 -0
- package/dist/presentation-badge-resolution.d.ts.map +1 -0
- package/dist/presentation-badge-resolution.js +73 -0
- package/dist/presentation-badge-resolution.js.map +1 -0
- package/dist/presentation-collection-pagination.d.ts +32 -0
- package/dist/presentation-collection-pagination.d.ts.map +1 -0
- package/dist/presentation-collection-pagination.js +275 -0
- package/dist/presentation-collection-pagination.js.map +1 -0
- package/dist/presentation-content-diagnostics.d.ts +17 -0
- package/dist/presentation-content-diagnostics.d.ts.map +1 -0
- package/dist/presentation-content-diagnostics.js +61 -0
- package/dist/presentation-content-diagnostics.js.map +1 -0
- package/dist/presentation-content-resolution.d.ts +9 -0
- package/dist/presentation-content-resolution.d.ts.map +1 -0
- package/dist/presentation-content-resolution.js +19 -0
- package/dist/presentation-content-resolution.js.map +1 -0
- package/dist/presentation-data-source-binding-model.d.ts +81 -0
- package/dist/presentation-data-source-binding-model.d.ts.map +1 -0
- package/dist/presentation-data-source-binding-model.js +56 -0
- package/dist/presentation-data-source-binding-model.js.map +1 -0
- package/dist/presentation-data-source-runtime.d.ts +62 -0
- package/dist/presentation-data-source-runtime.d.ts.map +1 -0
- package/dist/presentation-data-source-runtime.js +80 -0
- package/dist/presentation-data-source-runtime.js.map +1 -0
- package/dist/presentation-design-intent-diagnostics.d.ts +25 -0
- package/dist/presentation-design-intent-diagnostics.d.ts.map +1 -0
- package/dist/presentation-design-intent-diagnostics.js +55 -0
- package/dist/presentation-design-intent-diagnostics.js.map +1 -0
- package/dist/presentation-icon-diagnostics.d.ts +45 -0
- package/dist/presentation-icon-diagnostics.d.ts.map +1 -0
- package/dist/presentation-icon-diagnostics.js +235 -0
- package/dist/presentation-icon-diagnostics.js.map +1 -0
- package/dist/presentation-icon-registry.d.ts +36 -0
- package/dist/presentation-icon-registry.d.ts.map +1 -0
- package/dist/presentation-icon-registry.js +81 -0
- package/dist/presentation-icon-registry.js.map +1 -0
- package/dist/presentation-navigation-action-runtime-bindings.d.ts +13 -0
- package/dist/presentation-navigation-action-runtime-bindings.d.ts.map +1 -0
- package/dist/presentation-navigation-action-runtime-bindings.js +29 -0
- package/dist/presentation-navigation-action-runtime-bindings.js.map +1 -0
- package/dist/presentation-pagination.d.ts +98 -0
- package/dist/presentation-pagination.d.ts.map +1 -0
- package/dist/presentation-pagination.js +427 -0
- package/dist/presentation-pagination.js.map +1 -0
- package/dist/presentation-projection-coverage.d.ts +38 -0
- package/dist/presentation-projection-coverage.d.ts.map +1 -0
- package/dist/presentation-projection-coverage.js +2429 -0
- package/dist/presentation-projection-coverage.js.map +1 -0
- package/dist/presentation-projection-diagnostics.d.ts +33 -0
- package/dist/presentation-projection-diagnostics.d.ts.map +1 -0
- package/dist/presentation-projection-diagnostics.js +17 -0
- package/dist/presentation-projection-diagnostics.js.map +1 -0
- package/dist/presentation-projection-trace.d.ts +97 -0
- package/dist/presentation-projection-trace.d.ts.map +1 -0
- package/dist/presentation-projection-trace.js +110 -0
- package/dist/presentation-projection-trace.js.map +1 -0
- package/dist/presentation-query-form-state.d.ts +15 -0
- package/dist/presentation-query-form-state.d.ts.map +1 -0
- package/dist/presentation-query-form-state.js +20 -0
- package/dist/presentation-query-form-state.js.map +1 -0
- package/dist/presentation-renderer-registry.d.ts +86 -0
- package/dist/presentation-renderer-registry.d.ts.map +1 -0
- package/dist/presentation-renderer-registry.js +108 -0
- package/dist/presentation-renderer-registry.js.map +1 -0
- package/dist/presentation-semantics.d.ts +288 -0
- package/dist/presentation-semantics.d.ts.map +1 -0
- package/dist/presentation-semantics.js +560 -0
- package/dist/presentation-semantics.js.map +1 -0
- package/dist/presentation-standards.d.ts +8 -0
- package/dist/presentation-standards.d.ts.map +1 -0
- package/dist/presentation-standards.js +9 -0
- package/dist/presentation-standards.js.map +1 -0
- package/dist/presentation-test-selectors.d.ts +146 -0
- package/dist/presentation-test-selectors.d.ts.map +1 -0
- package/dist/presentation-test-selectors.js +113 -0
- package/dist/presentation-test-selectors.js.map +1 -0
- package/dist/presentation-value-formatting.d.ts +12 -0
- package/dist/presentation-value-formatting.d.ts.map +1 -0
- package/dist/presentation-value-formatting.js +33 -0
- package/dist/presentation-value-formatting.js.map +1 -0
- package/dist/presentation-value-resolution.d.ts +7 -0
- package/dist/presentation-value-resolution.d.ts.map +1 -0
- package/dist/presentation-value-resolution.js +69 -0
- package/dist/presentation-value-resolution.js.map +1 -0
- package/dist/presentation-view-tree.d.ts +6 -0
- package/dist/presentation-view-tree.d.ts.map +1 -0
- package/dist/presentation-view-tree.js +15 -0
- package/dist/presentation-view-tree.js.map +1 -0
- package/dist/process-task-model.d.ts +80 -0
- package/dist/process-task-model.d.ts.map +1 -0
- package/dist/process-task-model.js +52 -0
- package/dist/process-task-model.js.map +1 -0
- package/dist/process-task-projection.d.ts +46 -0
- package/dist/process-task-projection.d.ts.map +1 -0
- package/dist/process-task-projection.js +233 -0
- package/dist/process-task-projection.js.map +1 -0
- package/dist/projected-action-status-projection.d.ts +18 -0
- package/dist/projected-action-status-projection.d.ts.map +1 -0
- package/dist/projected-action-status-projection.js +19 -0
- package/dist/projected-action-status-projection.js.map +1 -0
- package/dist/projected-activity-state-model.d.ts +22 -0
- package/dist/projected-activity-state-model.d.ts.map +1 -0
- package/dist/projected-activity-state-model.js +87 -0
- package/dist/projected-activity-state-model.js.map +1 -0
- package/dist/projected-collection-action-runtime-bindings.d.ts +12 -0
- package/dist/projected-collection-action-runtime-bindings.d.ts.map +1 -0
- package/dist/projected-collection-action-runtime-bindings.js +37 -0
- package/dist/projected-collection-action-runtime-bindings.js.map +1 -0
- package/dist/projected-collection-action-runtime-diagnostics.d.ts +23 -0
- package/dist/projected-collection-action-runtime-diagnostics.d.ts.map +1 -0
- package/dist/projected-collection-action-runtime-diagnostics.js +168 -0
- package/dist/projected-collection-action-runtime-diagnostics.js.map +1 -0
- package/dist/projected-collection-runtime.d.ts +475 -0
- package/dist/projected-collection-runtime.d.ts.map +1 -0
- package/dist/projected-collection-runtime.js +832 -0
- package/dist/projected-collection-runtime.js.map +1 -0
- package/dist/projected-document-action-diagnostics.d.ts +16 -0
- package/dist/projected-document-action-diagnostics.d.ts.map +1 -0
- package/dist/projected-document-action-diagnostics.js +113 -0
- package/dist/projected-document-action-diagnostics.js.map +1 -0
- package/dist/projected-document-action-enablements.d.ts +25 -0
- package/dist/projected-document-action-enablements.d.ts.map +1 -0
- package/dist/projected-document-action-enablements.js +38 -0
- package/dist/projected-document-action-enablements.js.map +1 -0
- package/dist/projected-document-action-projection.d.ts +45 -0
- package/dist/projected-document-action-projection.d.ts.map +1 -0
- package/dist/projected-document-action-projection.js +201 -0
- package/dist/projected-document-action-projection.js.map +1 -0
- package/dist/projected-document-action-runtime-profile-diagnostics.d.ts +16 -0
- package/dist/projected-document-action-runtime-profile-diagnostics.d.ts.map +1 -0
- package/dist/projected-document-action-runtime-profile-diagnostics.js +168 -0
- package/dist/projected-document-action-runtime-profile-diagnostics.js.map +1 -0
- package/dist/projected-document-action-runtime-profile.d.ts +64 -0
- package/dist/projected-document-action-runtime-profile.d.ts.map +1 -0
- package/dist/projected-document-action-runtime-profile.js +33 -0
- package/dist/projected-document-action-runtime-profile.js.map +1 -0
- package/dist/projected-document-action-status-notice-diagnostics.d.ts +10 -0
- package/dist/projected-document-action-status-notice-diagnostics.d.ts.map +1 -0
- package/dist/projected-document-action-status-notice-diagnostics.js +64 -0
- package/dist/projected-document-action-status-notice-diagnostics.js.map +1 -0
- package/dist/projected-document-badge-formatting.d.ts +2 -0
- package/dist/projected-document-badge-formatting.d.ts.map +1 -0
- package/dist/projected-document-badge-formatting.js +7 -0
- package/dist/projected-document-badge-formatting.js.map +1 -0
- package/dist/projected-document-editor-model.d.ts +4 -0
- package/dist/projected-document-editor-model.d.ts.map +1 -0
- package/dist/projected-document-editor-model.js +2 -0
- package/dist/projected-document-editor-model.js.map +1 -0
- package/dist/projected-document-field-navigation.d.ts +72 -0
- package/dist/projected-document-field-navigation.d.ts.map +1 -0
- package/dist/projected-document-field-navigation.js +143 -0
- package/dist/projected-document-field-navigation.js.map +1 -0
- package/dist/projected-document-field-semantics.d.ts +5 -0
- package/dist/projected-document-field-semantics.d.ts.map +1 -0
- package/dist/projected-document-field-semantics.js +16 -0
- package/dist/projected-document-field-semantics.js.map +1 -0
- package/dist/projected-document-workspace-data-source-bindings.d.ts +69 -0
- package/dist/projected-document-workspace-data-source-bindings.d.ts.map +1 -0
- package/dist/projected-document-workspace-data-source-bindings.js +81 -0
- package/dist/projected-document-workspace-data-source-bindings.js.map +1 -0
- package/dist/projected-document-workspace-notice-diagnostics.d.ts +12 -0
- package/dist/projected-document-workspace-notice-diagnostics.d.ts.map +1 -0
- package/dist/projected-document-workspace-notice-diagnostics.js +13 -0
- package/dist/projected-document-workspace-notice-diagnostics.js.map +1 -0
- package/dist/projected-input-form-runtime.d.ts +62 -0
- package/dist/projected-input-form-runtime.d.ts.map +1 -0
- package/dist/projected-input-form-runtime.js +2 -0
- package/dist/projected-input-form-runtime.js.map +1 -0
- package/dist/projected-process-task-notice-diagnostics.d.ts +13 -0
- package/dist/projected-process-task-notice-diagnostics.d.ts.map +1 -0
- package/dist/projected-process-task-notice-diagnostics.js +170 -0
- package/dist/projected-process-task-notice-diagnostics.js.map +1 -0
- package/dist/projected-query-form-runtime.d.ts +46 -0
- package/dist/projected-query-form-runtime.d.ts.map +1 -0
- package/dist/projected-query-form-runtime.js +2 -0
- package/dist/projected-query-form-runtime.js.map +1 -0
- package/dist/prompt-document-preview-projection.d.ts +46 -0
- package/dist/prompt-document-preview-projection.d.ts.map +1 -0
- package/dist/prompt-document-preview-projection.js +173 -0
- package/dist/prompt-document-preview-projection.js.map +1 -0
- package/dist/prompt-icons.d.ts +4 -0
- package/dist/prompt-icons.d.ts.map +1 -0
- package/dist/prompt-icons.js +4 -0
- package/dist/prompt-icons.js.map +1 -0
- package/dist/prompt-status-message-resolution.d.ts +18 -0
- package/dist/prompt-status-message-resolution.d.ts.map +1 -0
- package/dist/prompt-status-message-resolution.js +83 -0
- package/dist/prompt-status-message-resolution.js.map +1 -0
- package/dist/query-form-lowering.d.ts +16 -0
- package/dist/query-form-lowering.d.ts.map +1 -0
- package/dist/query-form-lowering.js +38 -0
- package/dist/query-form-lowering.js.map +1 -0
- package/dist/query-form-url-state.d.ts +44 -0
- package/dist/query-form-url-state.d.ts.map +1 -0
- package/dist/query-form-url-state.js +197 -0
- package/dist/query-form-url-state.js.map +1 -0
- package/dist/query-offset-page.d.ts +13 -0
- package/dist/query-offset-page.d.ts.map +1 -0
- package/dist/query-offset-page.js +24 -0
- package/dist/query-offset-page.js.map +1 -0
- package/dist/relation-query-input-form-target.d.ts +10 -0
- package/dist/relation-query-input-form-target.d.ts.map +1 -0
- package/dist/relation-query-input-form-target.js +30 -0
- package/dist/relation-query-input-form-target.js.map +1 -0
- package/dist/scope-selection.d.ts +94 -0
- package/dist/scope-selection.d.ts.map +1 -0
- package/dist/scope-selection.js +95 -0
- package/dist/scope-selection.js.map +1 -0
- package/dist/target-bindings.d.ts +39 -0
- package/dist/target-bindings.d.ts.map +1 -0
- package/dist/target-bindings.js +40 -0
- package/dist/target-bindings.js.map +1 -0
- package/dist/view-chrome-content-diagnostics.d.ts +8 -0
- package/dist/view-chrome-content-diagnostics.d.ts.map +1 -0
- package/dist/view-chrome-content-diagnostics.js +84 -0
- package/dist/view-chrome-content-diagnostics.js.map +1 -0
- package/dist/view-chrome-icons.d.ts +12 -0
- package/dist/view-chrome-icons.d.ts.map +1 -0
- package/dist/view-chrome-icons.js +50 -0
- package/dist/view-chrome-icons.js.map +1 -0
- package/dist/view-chrome-slot-renderer-registry.d.ts +19 -0
- package/dist/view-chrome-slot-renderer-registry.d.ts.map +1 -0
- package/dist/view-chrome-slot-renderer-registry.js +62 -0
- package/dist/view-chrome-slot-renderer-registry.js.map +1 -0
- package/package.json +53 -0
- package/src/api-scope-request.ts +186 -0
- package/src/collection-chrome-icons.ts +89 -0
- package/src/collection-chrome-runtime.ts +151 -0
- package/src/collection-chrome-slot-renderer-registry.ts +227 -0
- package/src/collection-selection-state.ts +32 -0
- package/src/data-source-projection.ts +2149 -0
- package/src/data-source-query-lowering.ts +217 -0
- package/src/date-time-filter-model.ts +156 -0
- package/src/document-badge-icons.ts +3 -0
- package/src/document-module.ts +741 -0
- package/src/document-summary-model.ts +1 -0
- package/src/document-workspace-chrome-projection.ts +62 -0
- package/src/document-workspace-surface-slots.ts +458 -0
- package/src/endpoint-executor.ts +122 -0
- package/src/field-display-resolution.ts +99 -0
- package/src/index.ts +104 -0
- package/src/module.ts +281 -0
- package/src/navigation-shell-frame-renderer-registry.ts +65 -0
- package/src/navigation-shell-layout-runtime.ts +124 -0
- package/src/navigation-shell-region-component-registry.ts +242 -0
- package/src/navigation-shell-runtime.ts +579 -0
- package/src/navigation-shell-slot-renderer-registry.ts +94 -0
- package/src/navigation.ts +364 -0
- package/src/object-path.ts +99 -0
- package/src/page-host-renderer-registry.ts +615 -0
- package/src/presentation-action-endpoint-request-projection.ts +223 -0
- package/src/presentation-action-endpoint.ts +130 -0
- package/src/presentation-action-icons.ts +3 -0
- package/src/presentation-action-result-state.ts +189 -0
- package/src/presentation-action-runtime-binding.ts +177 -0
- package/src/presentation-action-runtime-diagnostics.ts +120 -0
- package/src/presentation-action-runtime-labels.ts +57 -0
- package/src/presentation-action-runtime-projection.ts +67 -0
- package/src/presentation-badge-resolution.ts +138 -0
- package/src/presentation-collection-pagination.ts +436 -0
- package/src/presentation-content-diagnostics.ts +121 -0
- package/src/presentation-content-resolution.ts +46 -0
- package/src/presentation-data-source-binding-model.ts +140 -0
- package/src/presentation-data-source-runtime.ts +190 -0
- package/src/presentation-design-intent-diagnostics.ts +104 -0
- package/src/presentation-icon-diagnostics.ts +368 -0
- package/src/presentation-icon-registry.ts +181 -0
- package/src/presentation-navigation-action-runtime-bindings.ts +54 -0
- package/src/presentation-pagination.ts +694 -0
- package/src/presentation-projection-coverage.ts +3257 -0
- package/src/presentation-projection-diagnostics.ts +71 -0
- package/src/presentation-projection-trace.ts +293 -0
- package/src/presentation-query-form-state.ts +54 -0
- package/src/presentation-renderer-registry.ts +269 -0
- package/src/presentation-semantics.ts +1028 -0
- package/src/presentation-standards.ts +14 -0
- package/src/presentation-test-selectors.ts +312 -0
- package/src/presentation-value-formatting.ts +65 -0
- package/src/presentation-value-resolution.ts +100 -0
- package/src/presentation-view-tree.ts +33 -0
- package/src/process-task-model.ts +158 -0
- package/src/process-task-projection.ts +398 -0
- package/src/projected-action-status-projection.ts +43 -0
- package/src/projected-activity-state-model.ts +123 -0
- package/src/projected-collection-action-runtime-bindings.ts +76 -0
- package/src/projected-collection-action-runtime-diagnostics.ts +289 -0
- package/src/projected-collection-runtime.ts +1772 -0
- package/src/projected-document-action-diagnostics.ts +196 -0
- package/src/projected-document-action-enablements.ts +99 -0
- package/src/projected-document-action-projection.ts +464 -0
- package/src/projected-document-action-runtime-profile-diagnostics.ts +250 -0
- package/src/projected-document-action-runtime-profile.ts +133 -0
- package/src/projected-document-action-status-notice-diagnostics.ts +116 -0
- package/src/projected-document-badge-formatting.ts +7 -0
- package/src/projected-document-editor-model.ts +7 -0
- package/src/projected-document-field-navigation.ts +300 -0
- package/src/projected-document-field-semantics.ts +27 -0
- package/src/projected-document-workspace-data-source-bindings.ts +182 -0
- package/src/projected-document-workspace-notice-diagnostics.ts +41 -0
- package/src/projected-input-form-runtime.ts +86 -0
- package/src/projected-process-task-notice-diagnostics.ts +283 -0
- package/src/projected-query-form-runtime.ts +62 -0
- package/src/prompt-document-preview-projection.ts +345 -0
- package/src/prompt-icons.ts +3 -0
- package/src/prompt-status-message-resolution.ts +158 -0
- package/src/query-form-lowering.ts +77 -0
- package/src/query-form-url-state.ts +346 -0
- package/src/query-offset-page.ts +50 -0
- package/src/relation-query-input-form-target.ts +61 -0
- package/src/scope-selection.ts +201 -0
- package/src/target-bindings.ts +123 -0
- package/src/view-chrome-content-diagnostics.ts +139 -0
- package/src/view-chrome-icons.ts +81 -0
- package/src/view-chrome-slot-renderer-registry.ts +128 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { findPresentationAction, } from './module.js';
|
|
2
|
+
import { findDocumentProcessPreviewActions, } from './projected-document-action-projection.js';
|
|
3
|
+
/**
|
|
4
|
+
* Reports process-preview actions that are declared on a document profile but
|
|
5
|
+
* have no matching document action runtime profile.
|
|
6
|
+
*/
|
|
7
|
+
export function projectDocumentActionRuntimeProfileDiagnostics({ actionPlacements, dataSourceId, documentProfile, module, source = 'document-action-runtime-profile-projection', }) {
|
|
8
|
+
const actionRuntimeProfiles = documentProfile.ActionRuntimeProfiles ?? [];
|
|
9
|
+
const placedActionIds = new Set(actionPlacements.map((placement) => placement.ActionId));
|
|
10
|
+
const profiledActionIds = new Set(actionRuntimeProfiles.map((profile) => profile.ActionId));
|
|
11
|
+
const processPreviewActions = distinctActionsById(findDocumentProcessPreviewActions({
|
|
12
|
+
actionPlacements,
|
|
13
|
+
dataSourceId,
|
|
14
|
+
module,
|
|
15
|
+
}));
|
|
16
|
+
const processPreviewActionIds = new Set(processPreviewActions.map((action) => action.Id));
|
|
17
|
+
const missingProfileDiagnostics = processPreviewActions
|
|
18
|
+
.filter((action) => !profiledActionIds.has(action.Id))
|
|
19
|
+
.map((action) => createMissingActionRuntimeProfileDiagnostic({
|
|
20
|
+
action,
|
|
21
|
+
documentProfile,
|
|
22
|
+
source,
|
|
23
|
+
}));
|
|
24
|
+
const invalidProfileDiagnostics = actionRuntimeProfiles.flatMap((profile) => {
|
|
25
|
+
const action = findPresentationAction(module, profile.ActionId);
|
|
26
|
+
if (!action) {
|
|
27
|
+
return [
|
|
28
|
+
createInvalidActionRuntimeProfileDiagnostic({
|
|
29
|
+
details: {
|
|
30
|
+
actionId: profile.ActionId,
|
|
31
|
+
documentProfileId: documentProfile.Id,
|
|
32
|
+
runtimeProfileId: profile.Id,
|
|
33
|
+
},
|
|
34
|
+
documentProfile,
|
|
35
|
+
message: `Document action runtime profile '${profile.Name ?? profile.Id}' references ` +
|
|
36
|
+
`action '${profile.ActionId}', but that action is not present in the catalog.`,
|
|
37
|
+
reason: 'missing-action',
|
|
38
|
+
severity: 'error',
|
|
39
|
+
source,
|
|
40
|
+
subject: {
|
|
41
|
+
id: profile.Id,
|
|
42
|
+
kind: 'document-action-runtime-profile',
|
|
43
|
+
name: profile.Name,
|
|
44
|
+
},
|
|
45
|
+
}),
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
if (!placedActionIds.has(profile.ActionId)) {
|
|
49
|
+
return [
|
|
50
|
+
createInvalidActionRuntimeProfileDiagnostic({
|
|
51
|
+
details: {
|
|
52
|
+
actionId: profile.ActionId,
|
|
53
|
+
documentProfileId: documentProfile.Id,
|
|
54
|
+
runtimeProfileId: profile.Id,
|
|
55
|
+
},
|
|
56
|
+
documentProfile,
|
|
57
|
+
message: `Document action runtime profile '${profile.Name ?? profile.Id}' references ` +
|
|
58
|
+
`action '${action.Name}', but that action is not placed on this document profile.`,
|
|
59
|
+
reason: 'unplaced-action',
|
|
60
|
+
severity: 'warning',
|
|
61
|
+
source,
|
|
62
|
+
subject: {
|
|
63
|
+
id: profile.ActionId,
|
|
64
|
+
kind: 'action',
|
|
65
|
+
name: action.Name,
|
|
66
|
+
},
|
|
67
|
+
}),
|
|
68
|
+
];
|
|
69
|
+
}
|
|
70
|
+
if (!processPreviewActionIds.has(profile.ActionId)) {
|
|
71
|
+
return [
|
|
72
|
+
createInvalidActionRuntimeProfileDiagnostic({
|
|
73
|
+
details: {
|
|
74
|
+
actionId: profile.ActionId,
|
|
75
|
+
bindingKind: action.Binding.Kind,
|
|
76
|
+
documentProfileId: documentProfile.Id,
|
|
77
|
+
flowId: action.Preparation?.FlowId ?? null,
|
|
78
|
+
kind: action.Kind,
|
|
79
|
+
runtimeProfileId: profile.Id,
|
|
80
|
+
},
|
|
81
|
+
documentProfile,
|
|
82
|
+
message: `Document action runtime profile '${profile.Name ?? profile.Id}' references ` +
|
|
83
|
+
`action '${action.Name}', but that action is not a document process-preview action.`,
|
|
84
|
+
reason: 'unsupported-action',
|
|
85
|
+
severity: 'warning',
|
|
86
|
+
source,
|
|
87
|
+
subject: {
|
|
88
|
+
id: profile.ActionId,
|
|
89
|
+
kind: 'action',
|
|
90
|
+
name: action.Name,
|
|
91
|
+
},
|
|
92
|
+
}),
|
|
93
|
+
];
|
|
94
|
+
}
|
|
95
|
+
if (profile.FlowId &&
|
|
96
|
+
action.Preparation?.FlowId &&
|
|
97
|
+
profile.FlowId !== action.Preparation.FlowId) {
|
|
98
|
+
return [
|
|
99
|
+
createInvalidActionRuntimeProfileDiagnostic({
|
|
100
|
+
details: {
|
|
101
|
+
actionFlowId: action.Preparation.FlowId,
|
|
102
|
+
actionId: profile.ActionId,
|
|
103
|
+
documentProfileId: documentProfile.Id,
|
|
104
|
+
runtimeProfileFlowId: profile.FlowId,
|
|
105
|
+
runtimeProfileId: profile.Id,
|
|
106
|
+
},
|
|
107
|
+
documentProfile,
|
|
108
|
+
message: `Document action runtime profile '${profile.Name ?? profile.Id}' declares flow ` +
|
|
109
|
+
`'${profile.FlowId}', but action '${action.Name}' prepares flow ` +
|
|
110
|
+
`'${action.Preparation.FlowId}'.`,
|
|
111
|
+
reason: 'flow-mismatch',
|
|
112
|
+
severity: 'error',
|
|
113
|
+
source,
|
|
114
|
+
subject: {
|
|
115
|
+
id: profile.ActionId,
|
|
116
|
+
kind: 'action',
|
|
117
|
+
name: action.Name,
|
|
118
|
+
},
|
|
119
|
+
}),
|
|
120
|
+
];
|
|
121
|
+
}
|
|
122
|
+
return [];
|
|
123
|
+
});
|
|
124
|
+
return [
|
|
125
|
+
...missingProfileDiagnostics,
|
|
126
|
+
...invalidProfileDiagnostics,
|
|
127
|
+
];
|
|
128
|
+
}
|
|
129
|
+
function createMissingActionRuntimeProfileDiagnostic({ action, documentProfile, source, }) {
|
|
130
|
+
return {
|
|
131
|
+
details: {
|
|
132
|
+
actionId: action.Id,
|
|
133
|
+
documentProfileId: documentProfile.Id,
|
|
134
|
+
flowId: action.Preparation?.FlowId ?? null,
|
|
135
|
+
},
|
|
136
|
+
id: `document-action-runtime-profile.${documentProfile.Id}.${action.Id}.missing`,
|
|
137
|
+
message: `Document profile '${documentProfile.Name ?? documentProfile.Id}' places ` +
|
|
138
|
+
`process-preview action '${action.Name}', but does not declare an action runtime profile.`,
|
|
139
|
+
severity: 'warning',
|
|
140
|
+
source,
|
|
141
|
+
subject: {
|
|
142
|
+
id: action.Id,
|
|
143
|
+
kind: 'action',
|
|
144
|
+
name: action.Name,
|
|
145
|
+
},
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
function createInvalidActionRuntimeProfileDiagnostic({ details, documentProfile, message, reason, severity, source, subject, }) {
|
|
149
|
+
return {
|
|
150
|
+
details,
|
|
151
|
+
id: `document-action-runtime-profile.${documentProfile.Id}.${details.runtimeProfileId}.${reason}`,
|
|
152
|
+
message,
|
|
153
|
+
severity,
|
|
154
|
+
source,
|
|
155
|
+
subject,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
function distinctActionsById(actions) {
|
|
159
|
+
const seen = new Set();
|
|
160
|
+
return actions.filter((action) => {
|
|
161
|
+
if (seen.has(action.Id)) {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
seen.add(action.Id);
|
|
165
|
+
return true;
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=projected-document-action-runtime-profile-diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projected-document-action-runtime-profile-diagnostics.js","sourceRoot":"","sources":["../src/projected-document-action-runtime-profile-diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { DocumentProfileProjection } from './document-module.js';
|
|
2
|
+
import type { ActionPlacementDefinition } from './module.js';
|
|
3
|
+
export type ProjectedDocumentActionRuntimeProfile = NonNullable<DocumentProfileProjection['ActionRuntimeProfiles']>[number];
|
|
4
|
+
/**
|
|
5
|
+
* Frontend runtime selection contract derived from a document action runtime
|
|
6
|
+
* profile declared by the presentation module.
|
|
7
|
+
*
|
|
8
|
+
* The spec keeps semantic identifiers and state conventions in core while
|
|
9
|
+
* allowing application adapters to supply concrete preview/start request and
|
|
10
|
+
* response types.
|
|
11
|
+
*
|
|
12
|
+
* @typeParam TPreviewRequest - Request shape sent to the action preview endpoint.
|
|
13
|
+
* @typeParam TPreviewResponse - Response shape returned from the action preview endpoint.
|
|
14
|
+
* @typeParam TStartInput - Input shape used to start the action after preview.
|
|
15
|
+
* @typeParam TStartResult - Result shape returned when the action is started.
|
|
16
|
+
* @typeParam TMetadata - Metadata shape associated with the action runtime.
|
|
17
|
+
*/
|
|
18
|
+
export interface ProjectedDocumentActionRuntimeProfileSpec<TPreviewRequest extends object = Record<string, unknown>, TPreviewResponse = unknown, TStartInput = TPreviewRequest, TStartResult = unknown, TMetadata = unknown> {
|
|
19
|
+
/** Action id that this runtime profile handles. */
|
|
20
|
+
readonly actionId?: string;
|
|
21
|
+
/** Prefix used when registering diagnostics for this runtime profile. */
|
|
22
|
+
readonly diagnosticsKeyPrefix?: string;
|
|
23
|
+
/** Presentation flow id used for preview/review UI, when one is modeled. */
|
|
24
|
+
readonly flowId?: string | null;
|
|
25
|
+
/** Runtime profile id selected from the document profile projection. */
|
|
26
|
+
readonly profileId?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Optional suffix used to partition process input state for this action.
|
|
29
|
+
*/
|
|
30
|
+
readonly processInputStateKeySuffix?: string | null;
|
|
31
|
+
/** Source identifier for tracing where this runtime profile was projected. */
|
|
32
|
+
readonly source?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Compile-time-only type anchors for application adapters. These values are
|
|
35
|
+
* not populated by projection; they preserve strongly typed request,
|
|
36
|
+
* response, result, and metadata shapes through generic inference.
|
|
37
|
+
*/
|
|
38
|
+
readonly typeHints?: {
|
|
39
|
+
/** Metadata shape associated with the runtime profile. */
|
|
40
|
+
readonly metadata?: TMetadata;
|
|
41
|
+
/** Preview request shape sent before starting the action. */
|
|
42
|
+
readonly previewRequest?: TPreviewRequest;
|
|
43
|
+
/** Preview response shape rendered by the review flow. */
|
|
44
|
+
readonly previewResponse?: TPreviewResponse;
|
|
45
|
+
/** Start input shape submitted when the action is accepted. */
|
|
46
|
+
readonly startInput?: TStartInput;
|
|
47
|
+
/** Start result shape returned after the action is accepted. */
|
|
48
|
+
readonly startResult?: TStartResult;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export interface SelectDocumentActionRuntimeProfileOptions {
|
|
52
|
+
readonly actionPlacements?: readonly ActionPlacementDefinition[];
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Selects the document action runtime profile that best matches placed actions
|
|
56
|
+
* for a document workspace profile.
|
|
57
|
+
*/
|
|
58
|
+
export declare function selectDocumentActionRuntimeProfile(documentProfile: Pick<DocumentProfileProjection, 'ActionRuntimeProfiles' | 'Actions'> | null, options?: SelectDocumentActionRuntimeProfileOptions): ProjectedDocumentActionRuntimeProfile | null;
|
|
59
|
+
/**
|
|
60
|
+
* Projects a backend-declared document action runtime profile into the frontend
|
|
61
|
+
* action-runtime spec consumed by document workspace adapters.
|
|
62
|
+
*/
|
|
63
|
+
export declare function projectDocumentActionRuntimeProfileSpec<TPreviewRequest extends object = Record<string, unknown>, TPreviewResponse = unknown, TStartInput = TPreviewRequest, TStartResult = unknown, TMetadata = unknown>(documentProfile: Pick<DocumentProfileProjection, 'ActionRuntimeProfiles' | 'Actions'> | null, options?: SelectDocumentActionRuntimeProfileOptions): ProjectedDocumentActionRuntimeProfileSpec<TPreviewRequest, TPreviewResponse, TStartInput, TStartResult, TMetadata> | null;
|
|
64
|
+
//# sourceMappingURL=projected-document-action-runtime-profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projected-document-action-runtime-profile.d.ts","sourceRoot":"","sources":["../src/projected-document-action-runtime-profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EAC1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EACV,yBAAyB,EAC1B,MAAM,UAAU,CAAA;AAEjB,MAAM,MAAM,qCAAqC,GAC/C,WAAW,CAAC,yBAAyB,CAAC,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAEzE;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,yCAAyC,CACxD,eAAe,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxD,gBAAgB,GAAG,OAAO,EAC1B,WAAW,GAAG,eAAe,EAC7B,YAAY,GAAG,OAAO,EACtB,SAAS,GAAG,OAAO;IAEnB,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAE1B,yEAAyE;IACzE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAEtC,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE/B,wEAAwE;IACxE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACH,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEnD,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAExB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE;QACnB,0DAA0D;QAC1D,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;QAE7B,6DAA6D;QAC7D,QAAQ,CAAC,cAAc,CAAC,EAAE,eAAe,CAAA;QAEzC,0DAA0D;QAC1D,QAAQ,CAAC,eAAe,CAAC,EAAE,gBAAgB,CAAA;QAE3C,+DAA+D;QAC/D,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAA;QAEjC,gEAAgE;QAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,CAAA;KACpC,CAAA;CACF;AAED,MAAM,WAAW,yCAAyC;IACxD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,yBAAyB,EAAE,CAAA;CACjE;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,eAAe,EAAE,IAAI,CAAC,yBAAyB,EAAE,uBAAuB,GAAG,SAAS,CAAC,GAAG,IAAI,EAC5F,OAAO,GAAE,yCAA8C,GACtD,qCAAqC,GAAG,IAAI,CAc9C;AAED;;;GAGG;AACH,wBAAgB,uCAAuC,CACrD,eAAe,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxD,gBAAgB,GAAG,OAAO,EAC1B,WAAW,GAAG,eAAe,EAC7B,YAAY,GAAG,OAAO,EACtB,SAAS,GAAG,OAAO,EAEnB,eAAe,EAAE,IAAI,CAAC,yBAAyB,EAAE,uBAAuB,GAAG,SAAS,CAAC,GAAG,IAAI,EAC5F,OAAO,GAAE,yCAA8C,GACtD,yCAAyC,CAC1C,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,CACV,GAAG,IAAI,CAYP"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Selects the document action runtime profile that best matches placed actions
|
|
3
|
+
* for a document workspace profile.
|
|
4
|
+
*/
|
|
5
|
+
export function selectDocumentActionRuntimeProfile(documentProfile, options = {}) {
|
|
6
|
+
const profiles = documentProfile?.ActionRuntimeProfiles ?? [];
|
|
7
|
+
if (profiles.length <= 1) {
|
|
8
|
+
return profiles[0] ?? null;
|
|
9
|
+
}
|
|
10
|
+
const actionPlacements = options.actionPlacements ?? documentProfile?.Actions ?? [];
|
|
11
|
+
const placedActionIds = new Set(actionPlacements.map((placement) => placement.ActionId));
|
|
12
|
+
return (profiles.find((profile) => placedActionIds.has(profile.ActionId)) ??
|
|
13
|
+
profiles[0] ??
|
|
14
|
+
null);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Projects a backend-declared document action runtime profile into the frontend
|
|
18
|
+
* action-runtime spec consumed by document workspace adapters.
|
|
19
|
+
*/
|
|
20
|
+
export function projectDocumentActionRuntimeProfileSpec(documentProfile, options = {}) {
|
|
21
|
+
const profile = selectDocumentActionRuntimeProfile(documentProfile, options);
|
|
22
|
+
return profile
|
|
23
|
+
? {
|
|
24
|
+
actionId: profile.ActionId,
|
|
25
|
+
diagnosticsKeyPrefix: profile.DiagnosticsKeyPrefix,
|
|
26
|
+
flowId: profile.FlowId,
|
|
27
|
+
profileId: profile.Id,
|
|
28
|
+
processInputStateKeySuffix: profile.ProcessInputStateKeySuffix,
|
|
29
|
+
source: profile.Source,
|
|
30
|
+
}
|
|
31
|
+
: null;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=projected-document-action-runtime-profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projected-document-action-runtime-profile.js","sourceRoot":"","sources":["../src/projected-document-action-runtime-profile.ts"],"names":[],"mappings":"AA8EA;;;GAGG;AACH,MAAM,UAAU,kCAAkC,CAChD,eAA4F,EAC5F,UAAqD,EAAE;IAEvD,MAAM,QAAQ,GAAG,eAAe,EAAE,qBAAqB,IAAI,EAAE,CAAA;IAC7D,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAC5B,CAAC;IAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,eAAe,EAAE,OAAO,IAAI,EAAE,CAAA;IACnF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;IAExF,OAAO,CACL,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjE,QAAQ,CAAC,CAAC,CAAC;QACX,IAAI,CACL,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uCAAuC,CAOrD,eAA4F,EAC5F,UAAqD,EAAE;IAQvD,MAAM,OAAO,GAAG,kCAAkC,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;IAC5E,OAAO,OAAO;QACZ,CAAC,CAAC;YACE,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,0BAA0B,EAAE,OAAO,CAAC,0BAA0B;YAC9D,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB;QACH,CAAC,CAAC,IAAI,CAAA;AACV,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { DocumentProfileProjection } from './document-module.js';
|
|
2
|
+
import type { PresentationModuleDefinition } from './module.js';
|
|
3
|
+
import type { PresentationProjectionDiagnostic } from './presentation-projection-diagnostics.js';
|
|
4
|
+
export interface ProjectDocumentActionStatusNoticeDiagnosticsOptions {
|
|
5
|
+
readonly module: Pick<PresentationModuleDefinition, 'Actions'> | null;
|
|
6
|
+
readonly profile: Pick<DocumentProfileProjection, 'ActionStatusNotices'> | null;
|
|
7
|
+
readonly region?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function projectDocumentActionStatusNoticeDiagnostics({ module, profile, region, }: ProjectDocumentActionStatusNoticeDiagnosticsOptions): readonly PresentationProjectionDiagnostic[];
|
|
10
|
+
//# sourceMappingURL=projected-document-action-status-notice-diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projected-document-action-status-notice-diagnostics.d.ts","sourceRoot":"","sources":["../src/projected-document-action-status-notice-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAIlE,OAAO,KAAK,EAEV,4BAA4B,EAC7B,MAAM,UAAU,CAAA;AAIjB,OAAO,KAAK,EACV,gCAAgC,EACjC,MAAM,uCAAuC,CAAA;AAE9C,MAAM,WAAW,mDAAmD;IAClE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,4BAA4B,EAAE,SAAS,CAAC,GAAG,IAAI,CAAA;IACrE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,yBAAyB,EAAE,qBAAqB,CAAC,GAAG,IAAI,CAAA;IAC/E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,wBAAgB,4CAA4C,CAAC,EAC3D,MAAM,EACN,OAAO,EACP,MAAM,GACP,EAAE,mDAAmD,GAAG,SAAS,gCAAgC,EAAE,CAKnG"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { findPresentationAction, } from './module.js';
|
|
2
|
+
import { projectPresentationContentDiagnostics, } from './presentation-content-diagnostics.js';
|
|
3
|
+
export function projectDocumentActionStatusNoticeDiagnostics({ module, profile, region, }) {
|
|
4
|
+
return getRegionActionStatusNotices(profile, region).flatMap((notice) => [
|
|
5
|
+
...projectDocumentActionStatusNoticeContentDiagnostics(notice),
|
|
6
|
+
...projectDocumentActionStatusNoticeActionDiagnostics(module, notice),
|
|
7
|
+
]);
|
|
8
|
+
}
|
|
9
|
+
function projectDocumentActionStatusNoticeContentDiagnostics(notice) {
|
|
10
|
+
return projectPresentationContentDiagnostics({
|
|
11
|
+
content: notice.Content,
|
|
12
|
+
contentFallbackDescription: 'local action status error message fallback semantics',
|
|
13
|
+
descriptionFallbackDescription: 'local action status error message fallback semantics',
|
|
14
|
+
details: createDocumentActionStatusNoticeDiagnosticDetails(notice),
|
|
15
|
+
diagnosticIdPrefix: `action-status-notice.${notice.Id}.content`,
|
|
16
|
+
requireDescription: true,
|
|
17
|
+
source: 'document-workspace-notice-projection',
|
|
18
|
+
subject: createDocumentActionStatusNoticeDiagnosticSubject(notice),
|
|
19
|
+
surfaceLabel: `Action status notice '${notice.Name}'`,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function projectDocumentActionStatusNoticeActionDiagnostics(module, notice) {
|
|
23
|
+
if (findPresentationAction(module, notice.ActionId)) {
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
return [
|
|
27
|
+
createDocumentActionStatusNoticeDiagnostic({
|
|
28
|
+
message: `Action status notice '${notice.Name}' references action ` +
|
|
29
|
+
`'${notice.ActionId}', but the presentation module does not define it.`,
|
|
30
|
+
notice,
|
|
31
|
+
reason: 'missing-action',
|
|
32
|
+
severity: 'warning',
|
|
33
|
+
}),
|
|
34
|
+
];
|
|
35
|
+
}
|
|
36
|
+
function getRegionActionStatusNotices(profile, region) {
|
|
37
|
+
return profile?.ActionStatusNotices?.filter((notice) => !region || notice.Region === region) ?? [];
|
|
38
|
+
}
|
|
39
|
+
function createDocumentActionStatusNoticeDiagnostic({ message, notice, reason, severity, }) {
|
|
40
|
+
return {
|
|
41
|
+
details: createDocumentActionStatusNoticeDiagnosticDetails(notice),
|
|
42
|
+
id: `action-status-notice.${notice.Id}.${reason}`,
|
|
43
|
+
message,
|
|
44
|
+
severity,
|
|
45
|
+
source: 'document-workspace-notice-projection',
|
|
46
|
+
subject: createDocumentActionStatusNoticeDiagnosticSubject(notice),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function createDocumentActionStatusNoticeDiagnosticDetails(notice) {
|
|
50
|
+
return {
|
|
51
|
+
actionId: notice.ActionId,
|
|
52
|
+
kind: notice.Kind,
|
|
53
|
+
noticeId: notice.Id,
|
|
54
|
+
region: notice.Region,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function createDocumentActionStatusNoticeDiagnosticSubject(notice) {
|
|
58
|
+
return {
|
|
59
|
+
id: notice.Id,
|
|
60
|
+
kind: 'document-action-status-notice',
|
|
61
|
+
name: notice.Name,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=projected-document-action-status-notice-diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projected-document-action-status-notice-diagnostics.js","sourceRoot":"","sources":["../src/projected-document-action-status-notice-diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,GACvB,MAAM,UAAU,CAAA;AAKjB,OAAO,EACL,qCAAqC,GACtC,MAAM,oCAAoC,CAAA;AAW3C,MAAM,UAAU,4CAA4C,CAAC,EAC3D,MAAM,EACN,OAAO,EACP,MAAM,GAC8C;IACpD,OAAO,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACvE,GAAG,mDAAmD,CAAC,MAAM,CAAC;QAC9D,GAAG,kDAAkD,CAAC,MAAM,EAAE,MAAM,CAAC;KACtE,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,mDAAmD,CAC1D,MAA4C;IAE5C,OAAO,qCAAqC,CAAC;QAC3C,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,0BAA0B,EAAE,sDAAsD;QAClF,8BAA8B,EAAE,sDAAsD;QACtF,OAAO,EAAE,iDAAiD,CAAC,MAAM,CAAC;QAClE,kBAAkB,EAAE,wBAAwB,MAAM,CAAC,EAAE,UAAU;QAC/D,kBAAkB,EAAE,IAAI;QACxB,MAAM,EAAE,sCAAsC;QAC9C,OAAO,EAAE,iDAAiD,CAAC,MAAM,CAAC;QAClE,YAAY,EAAE,yBAAyB,MAAM,CAAC,IAAI,GAAG;KACtD,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,kDAAkD,CACzD,MAA4D,EAC5D,MAA4C;IAE5C,IAAI,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO;QACL,0CAA0C,CAAC;YACzC,OAAO,EACL,yBAAyB,MAAM,CAAC,IAAI,sBAAsB;gBAC1D,IAAI,MAAM,CAAC,QAAQ,oDAAoD;YACzE,MAAM;YACN,MAAM,EAAE,gBAAgB;YACxB,QAAQ,EAAE,SAAS;SACpB,CAAC;KACH,CAAA;AACH,CAAC;AAED,SAAS,4BAA4B,CACnC,OAAsE,EACtE,MAAe;IAEf,OAAO,OAAO,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,EAAE,CAAA;AACpG,CAAC;AAED,SAAS,0CAA0C,CAAC,EAClD,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAQ,GAMT;IACC,OAAO;QACL,OAAO,EAAE,iDAAiD,CAAC,MAAM,CAAC;QAClE,EAAE,EAAE,wBAAwB,MAAM,CAAC,EAAE,IAAI,MAAM,EAAE;QACjD,OAAO;QACP,QAAQ;QACR,MAAM,EAAE,sCAAsC;QAC9C,OAAO,EAAE,iDAAiD,CAAC,MAAM,CAAC;KACnE,CAAA;AACH,CAAC;AAED,SAAS,iDAAiD,CACxD,MAA4C;IAE5C,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAA;AACH,CAAC;AAED,SAAS,iDAAiD,CACxD,MAA4C;IAE5C,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,+BAA+B;QACrC,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projected-document-badge-formatting.d.ts","sourceRoot":"","sources":["../src/projected-document-badge-formatting.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,iBAM9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projected-document-badge-formatting.js","sourceRoot":"","sources":["../src/projected-document-badge-formatting.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACzF,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;IACzB,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projected-document-editor-model.d.ts","sourceRoot":"","sources":["../src/projected-document-editor-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC5B,MAAM,UAAU,CAAA;AAEjB,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,OAAO,CAAA;AAErD,MAAM,MAAM,oCAAoC,GAAG,2BAA2B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projected-document-editor-model.js","sourceRoot":"","sources":["../src/projected-document-editor-model.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { FieldPresentationDefinition, PresentationModuleDefinition } from './module.js';
|
|
2
|
+
import type { NavigationRouteParameters, PresentationNavigationHrefFactory } from './navigation.js';
|
|
3
|
+
/**
|
|
4
|
+
* Inputs used to project a document field value into a navigation binding.
|
|
5
|
+
*/
|
|
6
|
+
export interface ProjectDocumentFieldNavigationBindingOptions {
|
|
7
|
+
/** Optional route-to-href factory supplied by the host navigation runtime. */
|
|
8
|
+
readonly createHref?: PresentationNavigationHrefFactory;
|
|
9
|
+
/** Presentation field whose target binding may declare a navigation route. */
|
|
10
|
+
readonly field: FieldPresentationDefinition;
|
|
11
|
+
/** Presentation module target bindings used to find the field route binding. */
|
|
12
|
+
readonly module: Pick<PresentationModuleDefinition, 'Targets'> | null;
|
|
13
|
+
/** Resource that contains route parameter source fields. */
|
|
14
|
+
readonly resource: unknown;
|
|
15
|
+
/** Field value rendered as the navigation label and default route parameter. */
|
|
16
|
+
readonly value: unknown;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Concrete navigation binding projected from a document field.
|
|
20
|
+
*/
|
|
21
|
+
export interface ProjectedDocumentFieldNavigationBinding {
|
|
22
|
+
/** Host-generated href, or `null` when no href factory was supplied. */
|
|
23
|
+
readonly href: string | null;
|
|
24
|
+
/** Scalar label rendered for the navigable field value. */
|
|
25
|
+
readonly label: string;
|
|
26
|
+
/** Required route parameter names that could not be resolved. */
|
|
27
|
+
readonly missingParameterNames: readonly string[];
|
|
28
|
+
/** Route parameter values projected from the field value and resource. */
|
|
29
|
+
readonly parameters: NavigationRouteParameters;
|
|
30
|
+
/** Human-facing prefix rendered before the navigation label. */
|
|
31
|
+
readonly prefix: string;
|
|
32
|
+
/** Semantic navigation route id selected by the field target binding. */
|
|
33
|
+
readonly routeId: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Route projection for a document field before href generation is applied.
|
|
37
|
+
*/
|
|
38
|
+
export interface ProjectedDocumentFieldNavigationProjection {
|
|
39
|
+
/** Scalar label rendered for the navigable field value. */
|
|
40
|
+
readonly label: string;
|
|
41
|
+
/** Required route parameter names that could not be resolved. */
|
|
42
|
+
readonly missingParameterNames: readonly string[];
|
|
43
|
+
/** Route parameter values projected from the field value and resource. */
|
|
44
|
+
readonly parameters: NavigationRouteParameters;
|
|
45
|
+
/** Human-facing prefix rendered before the navigation label. */
|
|
46
|
+
readonly prefix: string;
|
|
47
|
+
/** Semantic navigation route id selected by the field target binding. */
|
|
48
|
+
readonly routeId: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Projects a document field into a complete navigation binding.
|
|
52
|
+
*
|
|
53
|
+
* Returns `null` when the field has no navigation route binding or the field
|
|
54
|
+
* value cannot be rendered as a scalar navigation label.
|
|
55
|
+
*/
|
|
56
|
+
export declare function projectDocumentFieldNavigationBinding({ createHref, field, module, resource, value, }: ProjectDocumentFieldNavigationBindingOptions): ProjectedDocumentFieldNavigationBinding | null;
|
|
57
|
+
/**
|
|
58
|
+
* Projects a document field into route id, label, prefix, and route parameters.
|
|
59
|
+
*
|
|
60
|
+
* The projection uses target binding options to map route parameters from the
|
|
61
|
+
* current field value or backing resource. If no parameter mapping is declared,
|
|
62
|
+
* it defaults to an `id` parameter sourced from the field value.
|
|
63
|
+
*/
|
|
64
|
+
export declare function projectDocumentFieldNavigation({ field, module, resource, value, }: Omit<ProjectDocumentFieldNavigationBindingOptions, 'createHref'>): ProjectedDocumentFieldNavigationProjection | null;
|
|
65
|
+
/**
|
|
66
|
+
* Finds the navigation-route target binding declared for a presentation field.
|
|
67
|
+
*
|
|
68
|
+
* Route-bearing bindings are preferred when multiple target bindings share the
|
|
69
|
+
* same field id; otherwise the first matching binding is returned.
|
|
70
|
+
*/
|
|
71
|
+
export declare function findDocumentFieldNavigationRouteBinding(module: Pick<PresentationModuleDefinition, 'Targets'> | null, field: FieldPresentationDefinition): import("@cohesivesystems/presentation-contracts").PresentationBindingDefinition;
|
|
72
|
+
//# sourceMappingURL=projected-document-field-navigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projected-document-field-navigation.d.ts","sourceRoot":"","sources":["../src/projected-document-field-navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EACV,yBAAyB,EACzB,iCAAiC,EAClC,MAAM,cAAc,CAAA;AAYrB;;GAEG;AACH,MAAM,WAAW,4CAA4C;IAC3D,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,CAAC,EAAE,iCAAiC,CAAA;IAEvD,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,2BAA2B,CAAA;IAE3C,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,4BAA4B,EAAE,SAAS,CAAC,GAAG,IAAI,CAAA;IAErE,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAE1B,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,uCAAuC;IACtD,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAE5B,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAEtB,iEAAiE;IACjE,QAAQ,CAAC,qBAAqB,EAAE,SAAS,MAAM,EAAE,CAAA;IAEjD,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAA;IAE9C,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAEvB,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,0CAA0C;IACzD,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAEtB,iEAAiE;IACjE,QAAQ,CAAC,qBAAqB,EAAE,SAAS,MAAM,EAAE,CAAA;IAEjD,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAA;IAE9C,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAEvB,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAaD;;;;;GAKG;AACH,wBAAgB,qCAAqC,CAAC,EACpD,UAAU,EACV,KAAK,EACL,MAAM,EACN,QAAQ,EACR,KAAK,GACN,EAAE,4CAA4C,GAAG,uCAAuC,GAAG,IAAI,CAe/F;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,EAC7C,KAAK,EACL,MAAM,EACN,QAAQ,EACR,KAAK,GACN,EAAE,IAAI,CAAC,4CAA4C,EAAE,YAAY,CAAC,GAAG,0CAA0C,GAAG,IAAI,CAyBtH;AAED;;;;;GAKG;AACH,wBAAgB,uCAAuC,CACrD,MAAM,EAAE,IAAI,CAAC,4BAA4B,EAAE,SAAS,CAAC,GAAG,IAAI,EAC5D,KAAK,EAAE,2BAA2B,mFASnC"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { readObjectPath, } from './object-path.js';
|
|
2
|
+
import { createPresentationEnumDiscriminator, matchesPresentationEnum, } from './target-bindings.js';
|
|
3
|
+
import { presentationBindingKinds, } from '@cohesivesystems/presentation-contracts';
|
|
4
|
+
/**
|
|
5
|
+
* Projects a document field into a complete navigation binding.
|
|
6
|
+
*
|
|
7
|
+
* Returns `null` when the field has no navigation route binding or the field
|
|
8
|
+
* value cannot be rendered as a scalar navigation label.
|
|
9
|
+
*/
|
|
10
|
+
export function projectDocumentFieldNavigationBinding({ createHref, field, module, resource, value, }) {
|
|
11
|
+
const projection = projectDocumentFieldNavigation({
|
|
12
|
+
field,
|
|
13
|
+
module,
|
|
14
|
+
resource,
|
|
15
|
+
value,
|
|
16
|
+
});
|
|
17
|
+
if (!projection) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
...projection,
|
|
22
|
+
href: createHref?.(projection.routeId, projection.parameters) ?? null,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Projects a document field into route id, label, prefix, and route parameters.
|
|
27
|
+
*
|
|
28
|
+
* The projection uses target binding options to map route parameters from the
|
|
29
|
+
* current field value or backing resource. If no parameter mapping is declared,
|
|
30
|
+
* it defaults to an `id` parameter sourced from the field value.
|
|
31
|
+
*/
|
|
32
|
+
export function projectDocumentFieldNavigation({ field, module, resource, value, }) {
|
|
33
|
+
const binding = findDocumentFieldNavigationRouteBinding(module, field);
|
|
34
|
+
if (!binding?.RouteId) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
const label = readNavigationScalar(value);
|
|
38
|
+
if (!label) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
const options = readDocumentFieldNavigationBindingOptions(binding.Options);
|
|
42
|
+
const parameterProjection = projectNavigationRouteParameters({
|
|
43
|
+
options,
|
|
44
|
+
resource,
|
|
45
|
+
value,
|
|
46
|
+
});
|
|
47
|
+
return {
|
|
48
|
+
label,
|
|
49
|
+
missingParameterNames: parameterProjection.missingParameterNames,
|
|
50
|
+
parameters: parameterProjection.parameters,
|
|
51
|
+
prefix: options.labelPrefix ?? field.Label,
|
|
52
|
+
routeId: binding.RouteId,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Finds the navigation-route target binding declared for a presentation field.
|
|
57
|
+
*
|
|
58
|
+
* Route-bearing bindings are preferred when multiple target bindings share the
|
|
59
|
+
* same field id; otherwise the first matching binding is returned.
|
|
60
|
+
*/
|
|
61
|
+
export function findDocumentFieldNavigationRouteBinding(module, field) {
|
|
62
|
+
const bindings = module?.Targets
|
|
63
|
+
.flatMap((target) => target.Bindings)
|
|
64
|
+
.filter((binding) => matchesPresentationEnum(binding.Kind, navigationRouteBindingKind) &&
|
|
65
|
+
binding.Id === field.Id) ?? [];
|
|
66
|
+
return bindings.find((binding) => binding.RouteId) ?? bindings[0] ?? null;
|
|
67
|
+
}
|
|
68
|
+
function projectNavigationRouteParameters({ options, resource, value, }) {
|
|
69
|
+
const parameterBindings = options.parameters?.length
|
|
70
|
+
? options.parameters
|
|
71
|
+
: [{ name: 'id', source: 'value' }];
|
|
72
|
+
const parameters = {};
|
|
73
|
+
const missingParameterNames = [];
|
|
74
|
+
for (const parameter of parameterBindings) {
|
|
75
|
+
const parameterValue = projectNavigationRouteParameterValue({
|
|
76
|
+
parameter,
|
|
77
|
+
resource,
|
|
78
|
+
value,
|
|
79
|
+
});
|
|
80
|
+
if (parameterValue === null || parameterValue === undefined) {
|
|
81
|
+
missingParameterNames.push(parameter.name);
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
parameters[parameter.name] = parameterValue;
|
|
85
|
+
}
|
|
86
|
+
return {
|
|
87
|
+
missingParameterNames,
|
|
88
|
+
parameters,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function projectNavigationRouteParameterValue({ parameter, resource, value, }) {
|
|
92
|
+
const source = parameter.source ?? 'value';
|
|
93
|
+
const resolvedValue = source === 'resource' && parameter.fieldPath
|
|
94
|
+
? readObjectPath(resource, parameter.fieldPath)
|
|
95
|
+
: value;
|
|
96
|
+
return readNavigationScalar(resolvedValue);
|
|
97
|
+
}
|
|
98
|
+
function readDocumentFieldNavigationBindingOptions(value) {
|
|
99
|
+
if (!value || typeof value !== 'object') {
|
|
100
|
+
return {};
|
|
101
|
+
}
|
|
102
|
+
const source = value;
|
|
103
|
+
const labelPrefix = readOptionalString(source.labelPrefix ?? source.LabelPrefix);
|
|
104
|
+
const rawParameters = source.parameters ?? source.Parameters;
|
|
105
|
+
const parameters = Array.isArray(rawParameters)
|
|
106
|
+
? rawParameters
|
|
107
|
+
.map(readDocumentFieldNavigationParameterBinding)
|
|
108
|
+
.filter((parameter) => Boolean(parameter))
|
|
109
|
+
: undefined;
|
|
110
|
+
return {
|
|
111
|
+
labelPrefix,
|
|
112
|
+
parameters,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
function readDocumentFieldNavigationParameterBinding(value) {
|
|
116
|
+
if (!value || typeof value !== 'object') {
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
const source = value;
|
|
120
|
+
const name = readOptionalString(source.name ?? source.Name);
|
|
121
|
+
if (!name) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
return {
|
|
125
|
+
fieldPath: readOptionalString(source.fieldPath ?? source.FieldPath),
|
|
126
|
+
name,
|
|
127
|
+
source: readOptionalString(source.source ?? source.Source),
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
function readNavigationScalar(value) {
|
|
131
|
+
if (typeof value === 'string' && value.length > 0) {
|
|
132
|
+
return value;
|
|
133
|
+
}
|
|
134
|
+
if (typeof value === 'number' || typeof value === 'bigint' || typeof value === 'boolean') {
|
|
135
|
+
return value.toString();
|
|
136
|
+
}
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
139
|
+
function readOptionalString(value) {
|
|
140
|
+
return typeof value === 'string' && value.length > 0 ? value : null;
|
|
141
|
+
}
|
|
142
|
+
const navigationRouteBindingKind = createPresentationEnumDiscriminator(presentationBindingKinds, 'navigationRoute', 'NavigationRoute');
|
|
143
|
+
//# sourceMappingURL=projected-document-field-navigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projected-document-field-navigation.js","sourceRoot":"","sources":["../src/projected-document-field-navigation.ts"],"names":[],"mappings":"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"}
|