@umbraco-cms/backoffice 16.0.0-rc → 16.0.0-rc3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-cms/apps/preview/apps/manifests.js +7 -0
- package/dist-cms/apps/preview/apps/preview-segment.element.d.ts +16 -0
- package/dist-cms/apps/preview/apps/preview-segment.element.js +96 -0
- package/dist-cms/apps/preview/preview.context.d.ts +9 -6
- package/dist-cms/apps/preview/preview.context.js +61 -24
- package/dist-cms/assets/lang/{da-dk.js → da.js} +3 -2
- package/dist-cms/assets/lang/{da-dk.ts → da.ts} +3 -2
- package/dist-cms/assets/lang/en-us.js +19 -2354
- package/dist-cms/assets/lang/en-us.ts +22 -2548
- package/dist-cms/assets/lang/en.js +244 -198
- package/dist-cms/assets/lang/en.ts +250 -216
- package/dist-cms/assets/lang/pt-br.d.ts +2 -2
- package/dist-cms/assets/lang/pt-br.ts +2 -2
- package/dist-cms/assets/lang/pt.d.ts +13 -0
- package/dist-cms/assets/lang/pt.js +1 -0
- package/dist-cms/assets/lang/pt.ts +12 -0
- package/dist-cms/custom-elements.json +116 -16
- package/dist-cms/libs/observable-api/states/array-state.d.ts +6 -6
- package/dist-cms/libs/observable-api/states/array-state.js +3 -3
- package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-properties.element.d.ts +1 -1
- package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-properties.element.js +7 -7
- package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-property.element.js +1 -1
- package/dist-cms/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.js +6 -0
- package/dist-cms/packages/block/block-grid/property-editors/block-grid-area-type-permission/block-grid-area-type-permission.element.d.ts +2 -3
- package/dist-cms/packages/block/block-grid/property-editors/block-grid-area-type-permission/block-grid-area-type-permission.element.js +8 -3
- package/dist-cms/packages/block/block-list/components/block-list-entry/block-list-entry.element.js +6 -0
- package/dist-cms/packages/block/block-rte/components/block-rte-entry/block-rte-entry.element.js +7 -0
- package/dist-cms/packages/block/block-type/components/input-block-type/input-block-type.element.js +7 -2
- package/dist-cms/packages/clipboard/clipboard-entry/picker/clipboard-entry-picker.element.js +1 -1
- package/dist-cms/packages/clipboard/property/value-translator/copy/clipboard-copy-translator-value-resolver.js +6 -1
- package/dist-cms/packages/content/content/controller/merge-content-variant-data.controller.js +1 -0
- package/dist-cms/packages/content/content/property-dataset-context/element-property-dataset.context.js +4 -1
- package/dist-cms/packages/content/content/workspace/content-detail-workspace-base.d.ts +8 -2
- package/dist-cms/packages/content/content/workspace/content-detail-workspace-base.js +20 -13
- package/dist-cms/packages/content/content/workspace/views/edit/content-editor-properties.element.d.ts +1 -1
- package/dist-cms/packages/content/content/workspace/views/edit/content-editor-properties.element.js +7 -7
- package/dist-cms/packages/content/content/workspace/views/edit/content-editor-property.element.js +1 -1
- package/dist-cms/packages/content/content-type/global-components/content-type-workspace-editor-header.element.js +4 -1
- package/dist-cms/packages/content/content-type/modals/composition-picker/composition-picker-modal.element.d.ts +1 -0
- package/dist-cms/packages/content/content-type/modals/composition-picker/composition-picker-modal.element.js +18 -2
- package/dist-cms/packages/content/content-type/modals/composition-picker/composition-picker-modal.token.d.ts +1 -0
- package/dist-cms/packages/content/content-type/structure/content-type-structure-manager.class.d.ts +21 -3
- package/dist-cms/packages/content/content-type/structure/content-type-structure-manager.class.js +62 -43
- package/dist-cms/packages/content/content-type/workspace/content-type-workspace-context-base.js +1 -1
- package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-properties.element.js +36 -3
- package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-tab.element.js +25 -1
- package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor.element.js +17 -6
- package/dist-cms/packages/core/auth/auth.context.js +1 -1
- package/dist-cms/packages/core/auth/modals/umb-app-auth-modal.element.js +5 -5
- package/dist-cms/packages/core/backend-api/types.gen.d.ts +2 -0
- package/dist-cms/packages/core/collection/default/collection-default.context.d.ts +2 -0
- package/dist-cms/packages/core/collection/default/collection-default.context.js +22 -1
- package/dist-cms/packages/core/collection/default/collection-default.element.d.ts +1 -0
- package/dist-cms/packages/core/collection/default/collection-default.element.js +9 -1
- package/dist-cms/packages/core/collection/extensions/collection.extension.d.ts +1 -0
- package/dist-cms/packages/core/collection/types.d.ts +1 -0
- package/dist-cms/packages/core/components/body-layout/body-layout.element.js +7 -8
- package/dist-cms/packages/core/components/dropdown/dropdown.element.d.ts +4 -2
- package/dist-cms/packages/core/components/dropdown/dropdown.element.js +19 -13
- package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.d.ts +1 -1
- package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.js +16 -12
- package/dist-cms/packages/core/culture/manifests.d.ts +1 -1
- package/dist-cms/packages/core/entity/constants.d.ts +1 -0
- package/dist-cms/packages/core/entity/constants.js +1 -0
- package/dist-cms/packages/core/entity/contexts/parent/constants.d.ts +1 -0
- package/dist-cms/packages/core/entity/contexts/parent/constants.js +1 -0
- package/dist-cms/packages/core/entity/contexts/parent/index.d.ts +1 -0
- package/dist-cms/packages/core/entity/contexts/parent/index.js +1 -0
- package/dist-cms/packages/core/entity/contexts/parent/parent.entity-context-token.d.ts +3 -0
- package/dist-cms/packages/core/entity/contexts/parent/parent.entity-context-token.js +2 -0
- package/dist-cms/packages/core/entity/contexts/parent/parent.entity-context.d.ts +26 -0
- package/dist-cms/packages/core/entity/contexts/parent/parent.entity-context.js +33 -0
- package/dist-cms/packages/core/entity/index.d.ts +1 -0
- package/dist-cms/packages/core/entity/index.js +1 -0
- package/dist-cms/packages/core/entity-action/common/create/create.action.js +1 -0
- package/dist-cms/packages/core/entity-action/default/entity-action.element.d.ts +2 -1
- package/dist-cms/packages/core/entity-action/default/entity-action.element.js +5 -4
- package/dist-cms/packages/core/entity-action/global-components/entity-actions-table-column-view/entity-actions-table-column-view.element.d.ts +2 -2
- package/dist-cms/packages/core/entity-action/global-components/entity-actions-table-column-view/entity-actions-table-column-view.element.js +4 -1
- package/dist-cms/packages/core/entity-item/entity-item-ref/entity-item-ref.element.d.ts +9 -0
- package/dist-cms/packages/core/entity-item/entity-item-ref/entity-item-ref.element.js +80 -2
- package/dist-cms/packages/core/entity-item/index.d.ts +1 -0
- package/dist-cms/packages/core/entity-item/index.js +1 -0
- package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/index.d.ts +1 -0
- package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/index.js +1 -0
- package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/item-data-api-get-request.controller.d.ts +12 -0
- package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/item-data-api-get-request.controller.js +46 -0
- package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/types.d.ts +7 -0
- package/dist-cms/packages/core/entity-item/item-data-api-get-request-controller/types.js +1 -0
- package/dist-cms/packages/core/entity-item/types.d.ts +1 -0
- package/dist-cms/packages/core/localization/components/ui-culture-input/ui-culture-input.element.d.ts +5 -6
- package/dist-cms/packages/core/localization/components/ui-culture-input/ui-culture-input.element.js +57 -39
- package/dist-cms/packages/core/localization/manifests.js +99 -119
- package/dist-cms/packages/core/menu/components/menu-item-layout/menu-item-layout.element.js +8 -3
- package/dist-cms/packages/core/menu/index.d.ts +2 -0
- package/dist-cms/packages/core/menu/index.js +2 -0
- package/dist-cms/packages/core/menu/menu-structure-workspace-context.context-token.d.ts +3 -0
- package/dist-cms/packages/core/menu/menu-structure-workspace-context.context-token.js +2 -0
- package/dist-cms/packages/core/menu/menu-tree-structure-workspace-context-base.d.ts +3 -0
- package/dist-cms/packages/core/menu/menu-tree-structure-workspace-context-base.js +53 -10
- package/dist-cms/packages/core/menu/menu-variant-structure-workspace-context.context-token.d.ts +3 -0
- package/dist-cms/packages/core/menu/menu-variant-structure-workspace-context.context-token.js +2 -0
- package/dist-cms/packages/core/menu/menu-variant-structure-workspace-context.interface.d.ts +6 -0
- package/dist-cms/packages/core/menu/menu-variant-structure-workspace-context.interface.js +1 -0
- package/dist-cms/packages/core/menu/menu-variant-tree-structure-workspace-context-base.d.ts +4 -0
- package/dist-cms/packages/core/menu/menu-variant-tree-structure-workspace-context-base.js +55 -21
- package/dist-cms/packages/core/menu/section-sidebar-menu-with-entity-actions/section-sidebar-menu-with-entity-actions.element.d.ts +5 -0
- package/dist-cms/packages/core/menu/section-sidebar-menu-with-entity-actions/section-sidebar-menu-with-entity-actions.element.js +22 -3
- package/dist-cms/packages/core/picker/search/picker-search-result.element.d.ts +3 -0
- package/dist-cms/packages/core/picker/search/picker-search-result.element.js +13 -6
- package/dist-cms/packages/core/picker/search/result-item/default/default-picker-search-result-item.element.js +2 -1
- package/dist-cms/packages/core/picker/search/result-item/picker-search-result-item-element-base.d.ts +1 -0
- package/dist-cms/packages/core/picker/search/result-item/picker-search-result-item-element-base.js +5 -1
- package/dist-cms/packages/core/property/manifests.d.ts +1 -1
- package/dist-cms/packages/core/property/property-dataset/property-dataset-base-context.js +7 -2
- package/dist-cms/packages/core/property/property-guard-manager/variant-property-guard.manager.d.ts +15 -2
- package/dist-cms/packages/core/property/property-guard-manager/variant-property-guard.manager.js +22 -15
- package/dist-cms/packages/core/property/property-value-cloner/property-value-clone.controller.js +2 -0
- package/dist-cms/packages/core/property/property-value-preset/property-value-preset-builder.controller.js +6 -1
- package/dist-cms/packages/core/property-action/components/property-action-menu/property-action-menu.element.js +6 -1
- package/dist-cms/packages/core/repository/item/item-server-data-source-base.d.ts +5 -6
- package/dist-cms/packages/core/repository/item/item-server-data-source-base.js +14 -9
- package/dist-cms/packages/core/repository/repository-details.manager.d.ts +1 -1
- package/dist-cms/packages/core/repository/repository-details.manager.js +6 -3
- package/dist-cms/packages/core/resources/api-interceptor.controller.d.ts +6 -0
- package/dist-cms/packages/core/resources/api-interceptor.controller.js +16 -0
- package/dist-cms/packages/core/resources/data-api/types.d.ts +7 -0
- package/dist-cms/packages/core/resources/data-api/types.js +1 -0
- package/dist-cms/packages/core/resources/index.d.ts +4 -7
- package/dist-cms/packages/core/resources/index.js +4 -7
- package/dist-cms/packages/core/resources/try-execute/batch-try-execute.function.d.ts +9 -0
- package/dist-cms/packages/core/resources/try-execute/batch-try-execute.function.js +11 -0
- package/dist-cms/packages/core/resources/try-execute/index.d.ts +5 -0
- package/dist-cms/packages/core/resources/try-execute/index.js +5 -0
- package/dist-cms/packages/core/resources/{try-execute.controller.d.ts → try-execute/try-execute.controller.d.ts} +2 -2
- package/dist-cms/packages/core/resources/{try-execute.controller.js → try-execute/try-execute.controller.js} +3 -3
- package/dist-cms/packages/core/resources/{tryExecute.function.d.ts → try-execute/tryExecute.function.d.ts} +1 -1
- package/dist-cms/packages/core/resources/{tryExecuteAndNotify.function.d.ts → try-execute/tryExecuteAndNotify.function.d.ts} +1 -1
- package/dist-cms/packages/core/resources/{tryXhrRequest.function.d.ts → try-execute/tryXhrRequest.function.d.ts} +1 -1
- package/dist-cms/packages/core/resources/{tryXhrRequest.function.js → try-execute/tryXhrRequest.function.js} +3 -3
- package/dist-cms/packages/core/resources/types.d.ts +1 -0
- package/dist-cms/packages/core/section/section-default.element.js +3 -0
- package/dist-cms/packages/core/sorter/sorter.controller.d.ts +23 -6
- package/dist-cms/packages/core/sorter/sorter.controller.js +224 -81
- package/dist-cms/packages/core/temporary-file/config/config.repository.d.ts +1 -0
- package/dist-cms/packages/core/temporary-file/config/config.repository.js +7 -3
- package/dist-cms/packages/core/temporary-file/config/config.server.data-source.js +1 -1
- package/dist-cms/packages/core/temporary-file/manifests.d.ts +1 -1
- package/dist-cms/packages/core/temporary-file/temporary-file-manager.class.js +15 -4
- package/dist-cms/packages/core/themes/manifests.d.ts +1 -1
- package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-context-base.d.ts +1 -1
- package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-context-base.js +17 -3
- package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.d.ts +1 -0
- package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.js +7 -4
- package/dist-cms/packages/core/tree/tree-picker-modal/tree-picker-modal.element.js +1 -1
- package/dist-cms/packages/core/utils/array/batch-array.d.ts +7 -0
- package/dist-cms/packages/core/utils/array/batch-array.js +13 -0
- package/dist-cms/packages/core/utils/array/index.d.ts +1 -0
- package/dist-cms/packages/core/utils/array/index.js +1 -0
- package/dist-cms/packages/core/utils/index.d.ts +1 -0
- package/dist-cms/packages/core/utils/index.js +1 -0
- package/dist-cms/packages/core/utils/media/image-size.function.d.ts +5 -3
- package/dist-cms/packages/core/utils/media/image-size.function.js +9 -11
- package/dist-cms/packages/core/validation/controllers/bind-server-validation-to-form-control.controller.js +1 -1
- package/dist-cms/packages/core/validation/controllers/form-control-validator.controller.js +4 -4
- package/dist-cms/packages/core/validation/controllers/validation-path-translation/validation-property-path-translation.controller.js +1 -0
- package/dist-cms/packages/core/validation/controllers/validation.controller.js +4 -4
- package/dist-cms/packages/core/variant/constants.d.ts +1 -0
- package/dist-cms/packages/core/variant/constants.js +1 -0
- package/dist-cms/packages/core/variant/context/constants.d.ts +1 -0
- package/dist-cms/packages/core/variant/context/constants.js +1 -0
- package/dist-cms/packages/core/variant/context/index.d.ts +1 -0
- package/dist-cms/packages/core/variant/context/index.js +1 -0
- package/dist-cms/packages/core/variant/context/variant.context.d.ts +91 -0
- package/dist-cms/packages/core/variant/context/variant.context.js +141 -0
- package/dist-cms/packages/core/variant/context/variant.context.token.d.ts +3 -0
- package/dist-cms/packages/core/variant/context/variant.context.token.js +2 -0
- package/dist-cms/packages/core/variant/index.d.ts +2 -0
- package/dist-cms/packages/core/variant/index.js +2 -0
- package/dist-cms/packages/core/workspace/components/workspace-action/common/index.d.ts +1 -0
- package/dist-cms/packages/core/workspace/components/workspace-action/common/index.js +1 -0
- package/dist-cms/packages/core/workspace/components/workspace-action/common/save/index.d.ts +2 -0
- package/dist-cms/packages/core/workspace/components/workspace-action/common/save/index.js +1 -0
- package/dist-cms/packages/core/workspace/components/workspace-action/common/save/save.action.d.ts +13 -0
- package/dist-cms/packages/core/workspace/components/workspace-action/common/save/save.action.js +31 -0
- package/dist-cms/packages/core/workspace/components/workspace-action/common/save/types.d.ts +6 -0
- package/dist-cms/packages/core/workspace/components/workspace-action/common/save/types.js +1 -0
- package/dist-cms/packages/core/workspace/components/workspace-action/common/submit/submit.action.d.ts +0 -1
- package/dist-cms/packages/core/workspace/components/workspace-action/common/submit/submit.action.js +0 -4
- package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-menu-breadcrumb/workspace-menu-breadcrumb.element.d.ts +1 -1
- package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-menu-breadcrumb/workspace-menu-breadcrumb.element.js +3 -6
- package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-variant-menu-breadcrumb/workspace-variant-menu-breadcrumb.element.d.ts +1 -1
- package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-variant-menu-breadcrumb/workspace-variant-menu-breadcrumb.element.js +3 -5
- package/dist-cms/packages/core/workspace/components/workspace-editor/workspace-editor.element.js +1 -2
- package/dist-cms/packages/core/workspace/components/workspace-entity-action-menu/workspace-entity-action-menu.element.js +3 -3
- package/dist-cms/packages/core/workspace/components/workspace-split-view/workspace-split-view-variant-selector.element.js +1 -0
- package/dist-cms/packages/core/workspace/contexts/tokens/index.d.ts +5 -1
- package/dist-cms/packages/core/workspace/contexts/tokens/index.js +2 -0
- package/dist-cms/packages/core/workspace/contexts/tokens/saveable-workspace-context.interface.d.ts +4 -0
- package/dist-cms/packages/core/workspace/contexts/tokens/saveable-workspace-context.interface.js +1 -0
- package/dist-cms/packages/core/workspace/contexts/tokens/saveable-workspace.context-token.d.ts +4 -0
- package/dist-cms/packages/core/workspace/contexts/tokens/saveable-workspace.context-token.js +2 -0
- package/dist-cms/packages/core/workspace/contexts/tokens/submittable-tree-entity-workspace-context.interface.d.ts +36 -0
- package/dist-cms/packages/core/workspace/contexts/tokens/submittable-tree-entity-workspace-context.interface.js +1 -0
- package/dist-cms/packages/core/workspace/contexts/tokens/submittable-tree-entity-workspace.context-token.d.ts +4 -0
- package/dist-cms/packages/core/workspace/contexts/tokens/submittable-tree-entity-workspace.context-token.js +2 -0
- package/dist-cms/packages/core/workspace/entity-detail/entity-detail-workspace-base.d.ts +33 -1
- package/dist-cms/packages/core/workspace/entity-detail/entity-detail-workspace-base.js +46 -9
- package/dist-cms/packages/core/workspace/info-app/global-components/workspace-info-app-layout.element.js +0 -4
- package/dist-cms/packages/core/workspace/submittable/submittable-workspace-context-base.d.ts +1 -0
- package/dist-cms/packages/core/workspace/submittable/submittable-workspace-context-base.js +8 -3
- package/dist-cms/packages/core/workspace/workspace-property-dataset/invariant-workspace-property-dataset-context.js +4 -1
- package/dist-cms/packages/data-type/constants.d.ts +1 -0
- package/dist-cms/packages/data-type/constants.js +1 -0
- package/dist-cms/packages/data-type/modals/data-type-picker-flow/data-type-picker-flow-data-type-picker-modal.element.js +1 -1
- package/dist-cms/packages/data-type/repository/item/data-type-item.server.data-source.d.ts +4 -0
- package/dist-cms/packages/data-type/repository/item/data-type-item.server.data-source.js +12 -3
- package/dist-cms/packages/data-type/search/constants.d.ts +2 -0
- package/dist-cms/packages/data-type/search/constants.js +2 -0
- package/dist-cms/packages/data-type/search/global-search/constants.d.ts +1 -0
- package/dist-cms/packages/data-type/search/global-search/constants.js +1 -0
- package/dist-cms/packages/data-type/search/global-search/manifests.d.ts +1 -0
- package/dist-cms/packages/data-type/search/global-search/manifests.js +22 -0
- package/dist-cms/packages/data-type/search/manifests.js +2 -0
- package/dist-cms/packages/data-type/tree/tree-item-children/collection/views/data-type-tree-item-table-collection-view.element.js +1 -0
- package/dist-cms/packages/dictionary/repository/item/dictionary-item.server.data-source.d.ts +4 -0
- package/dist-cms/packages/dictionary/repository/item/dictionary-item.server.data-source.js +12 -3
- package/dist-cms/packages/dictionary/search/constants.d.ts +1 -0
- package/dist-cms/packages/dictionary/search/constants.js +1 -0
- package/dist-cms/packages/dictionary/search/global-search/constants.d.ts +1 -0
- package/dist-cms/packages/dictionary/search/global-search/constants.js +1 -0
- package/dist-cms/packages/dictionary/search/global-search/manifests.d.ts +1 -0
- package/dist-cms/packages/dictionary/search/global-search/manifests.js +22 -0
- package/dist-cms/packages/dictionary/search/manifests.js +2 -0
- package/dist-cms/packages/documents/document-blueprints/entity-actions/create/manifests.js +1 -1
- package/dist-cms/packages/documents/document-blueprints/repository/item/document-blueprint-item.server.data-source.d.ts +4 -1
- package/dist-cms/packages/documents/document-blueprints/repository/item/document-blueprint-item.server.data-source.js +13 -6
- package/dist-cms/packages/documents/document-types/components/input-document-type/input-document-type.element.js +4 -1
- package/dist-cms/packages/documents/document-types/picker/document-type-picker-search-result-item.element.js +2 -1
- package/dist-cms/packages/documents/document-types/repository/item/document-type-item.server.data-source.d.ts +4 -0
- package/dist-cms/packages/documents/document-types/repository/item/document-type-item.server.data-source.js +13 -3
- package/dist-cms/packages/documents/document-types/search/constants.d.ts +1 -0
- package/dist-cms/packages/documents/document-types/search/constants.js +1 -0
- package/dist-cms/packages/documents/document-types/search/global-search/constants.d.ts +1 -0
- package/dist-cms/packages/documents/document-types/search/global-search/constants.js +1 -0
- package/dist-cms/packages/documents/document-types/search/global-search/manifests.d.ts +1 -0
- package/dist-cms/packages/documents/document-types/search/global-search/manifests.js +22 -0
- package/dist-cms/packages/documents/document-types/search/manifests.js +2 -0
- package/dist-cms/packages/documents/document-types/tree/tree-item-children/collection/views/document-type-tree-item-table-collection-view.element.js +1 -0
- package/dist-cms/packages/documents/documents/collection/document-collection.context.d.ts +2 -0
- package/dist-cms/packages/documents/documents/collection/document-collection.context.js +23 -0
- package/dist-cms/packages/documents/documents/collection/views/table/column-layouts/document-entity-actions-table-column-view.element.js +1 -0
- package/dist-cms/packages/documents/documents/components/input-document/input-document.context.js +4 -0
- package/dist-cms/packages/documents/documents/entity-actions/duplicate/repository/document-duplicate.server.data-source.js +1 -1
- package/dist-cms/packages/documents/documents/entity-actions/move-to/repository/document-move.server.data-source.js +1 -1
- package/dist-cms/packages/documents/documents/item/document-item-data-resolver.d.ts +2 -2
- package/dist-cms/packages/documents/documents/item/document-item-data-resolver.js +55 -68
- package/dist-cms/packages/documents/documents/item/document-item-ref.element.d.ts +4 -0
- package/dist-cms/packages/documents/documents/item/document-item-ref.element.js +33 -2
- package/dist-cms/packages/documents/documents/item/repository/document-item.server.data-source.d.ts +4 -0
- package/dist-cms/packages/documents/documents/item/repository/document-item.server.data-source.js +12 -3
- package/dist-cms/packages/documents/documents/modals/save-modal/document-save-modal.element.js +1 -5
- package/dist-cms/packages/documents/documents/picker/document-picker-search-result-item.element.d.ts +1 -0
- package/dist-cms/packages/documents/documents/picker/document-picker-search-result-item.element.js +16 -9
- package/dist-cms/packages/documents/documents/property-dataset-context/document-property-dataset.context.d.ts +4 -1
- package/dist-cms/packages/documents/documents/property-dataset-context/document-property-dataset.context.js +3 -0
- package/dist-cms/packages/documents/documents/publishing/publish/modal/document-publish-modal.element.js +9 -13
- package/dist-cms/packages/documents/documents/publishing/publish/modal/document-publish-modal.token.d.ts +1 -0
- package/dist-cms/packages/documents/documents/publishing/schedule-publish/modal/document-schedule-modal.element.js +0 -10
- package/dist-cms/packages/documents/documents/publishing/unpublish/entity-action/unpublish.action.js +5 -19
- package/dist-cms/packages/documents/documents/publishing/unpublish/modal/document-unpublish-modal.element.js +3 -12
- package/dist-cms/packages/documents/documents/publishing/workspace-context/document-publishing.workspace-context.js +3 -7
- package/dist-cms/packages/documents/documents/search/constants.d.ts +1 -0
- package/dist-cms/packages/documents/documents/search/constants.js +1 -0
- package/dist-cms/packages/documents/documents/search/document-search.server.data-source.js +3 -2
- package/dist-cms/packages/documents/documents/search/global-search/constants.d.ts +1 -0
- package/dist-cms/packages/documents/documents/search/global-search/constants.js +1 -0
- package/dist-cms/packages/documents/documents/search/global-search/document-global-search.d.ts +6 -0
- package/dist-cms/packages/documents/documents/search/global-search/document-global-search.js +15 -0
- package/dist-cms/packages/documents/documents/search/global-search/manifests.d.ts +1 -0
- package/dist-cms/packages/documents/documents/search/global-search/manifests.js +23 -0
- package/dist-cms/packages/documents/documents/search/manifests.js +2 -0
- package/dist-cms/packages/documents/documents/search/types.d.ts +1 -0
- package/dist-cms/packages/documents/documents/url/document-urls-data-resolver.d.ts +37 -0
- package/dist-cms/packages/documents/documents/url/document-urls-data-resolver.js +78 -0
- package/dist-cms/packages/documents/documents/url/index.d.ts +1 -0
- package/dist-cms/packages/documents/documents/url/index.js +1 -0
- package/dist-cms/packages/documents/documents/url/info-app/document-links-workspace-info-app.element.d.ts +0 -1
- package/dist-cms/packages/documents/documents/url/info-app/document-links-workspace-info-app.element.js +29 -24
- package/dist-cms/packages/documents/documents/url/repository/document-url.server.data-source.d.ts +4 -0
- package/dist-cms/packages/documents/documents/url/repository/document-url.server.data-source.js +13 -3
- package/dist-cms/packages/documents/documents/url/repository/types.d.ts +1 -1
- package/dist-cms/packages/documents/documents/workspace/actions/save.action.d.ts +3 -3
- package/dist-cms/packages/documents/documents/workspace/actions/save.action.js +2 -2
- package/dist-cms/packages/documents/documents/workspace/document-workspace.context-token.d.ts +2 -2
- package/dist-cms/packages/documents/documents/workspace/document-workspace.context.d.ts +1 -5
- package/dist-cms/packages/documents/documents/workspace/document-workspace.context.js +45 -59
- package/dist-cms/packages/extension-insights/collection/views/table/extension-table-collection-view.element.js +1 -0
- package/dist-cms/packages/language/app-language-select/app-language-select.element.js +7 -2
- package/dist-cms/packages/language/collection/views/table/language-table-collection-view.element.js +1 -0
- package/dist-cms/packages/language/global-contexts/app-language.context.js +14 -12
- package/dist-cms/packages/language/menu/language-menu-structure.context.d.ts +1 -1
- package/dist-cms/packages/language/menu/language-menu-structure.context.js +4 -2
- package/dist-cms/packages/language/repository/item/language-item.server.data-source.d.ts +4 -0
- package/dist-cms/packages/language/repository/item/language-item.server.data-source.js +12 -3
- package/dist-cms/packages/markdown-editor/components/input-markdown-editor/input-markdown.element.js +3 -0
- package/dist-cms/packages/media/media/collection/media-collection.element.js +1 -0
- package/dist-cms/packages/media/media/collection/views/table/media-table-collection-view.element.js +1 -0
- package/dist-cms/packages/media/media/components/input-media/input-media.context.js +4 -0
- package/dist-cms/packages/media/media/constants.d.ts +1 -1
- package/dist-cms/packages/media/media/constants.js +1 -1
- package/dist-cms/packages/media/media/modals/media-picker/media-picker-modal.element.js +8 -0
- package/dist-cms/packages/media/media/repository/item/media-item.server.data-source.d.ts +4 -1
- package/dist-cms/packages/media/media/repository/item/media-item.server.data-source.js +13 -6
- package/dist-cms/packages/media/media/search/constants.d.ts +1 -0
- package/dist-cms/packages/media/media/search/constants.js +1 -0
- package/dist-cms/packages/media/media/search/global-search/constants.d.ts +1 -0
- package/dist-cms/packages/media/media/search/global-search/constants.js +1 -0
- package/dist-cms/packages/media/media/search/global-search/manifests.d.ts +1 -0
- package/dist-cms/packages/media/media/search/global-search/manifests.js +23 -0
- package/dist-cms/packages/media/media/search/global-search/media-global-search.d.ts +15 -0
- package/dist-cms/packages/media/media/search/global-search/media-global-search.js +15 -0
- package/dist-cms/packages/media/media/search/manifests.js +2 -0
- package/dist-cms/packages/media/media/search/media-search.server.data-source.js +3 -2
- package/dist-cms/packages/media/media/search/types.d.ts +1 -0
- package/dist-cms/packages/media/media/url/repository/media-url.server.data-source.d.ts +4 -0
- package/dist-cms/packages/media/media/url/repository/media-url.server.data-source.js +12 -3
- package/dist-cms/packages/media/media-types/constants.d.ts +1 -0
- package/dist-cms/packages/media/media-types/constants.js +1 -0
- package/dist-cms/packages/media/media-types/repository/item/media-type-item.server.data-source.d.ts +4 -0
- package/dist-cms/packages/media/media-types/repository/item/media-type-item.server.data-source.js +12 -3
- package/dist-cms/packages/media/media-types/search/constants.d.ts +2 -0
- package/dist-cms/packages/media/media-types/search/constants.js +2 -0
- package/dist-cms/packages/media/media-types/search/global-search/constants.d.ts +1 -0
- package/dist-cms/packages/media/media-types/search/global-search/constants.js +1 -0
- package/dist-cms/packages/media/media-types/search/global-search/manifests.d.ts +1 -0
- package/dist-cms/packages/media/media-types/search/global-search/manifests.js +22 -0
- package/dist-cms/packages/media/media-types/search/manifests.js +4 -1
- package/dist-cms/packages/media/media-types/tree/tree-item-children/collection/views/media-type-tree-item-table-collection-view.element.js +1 -0
- package/dist-cms/packages/members/member/collection/views/table/member-table-collection-view.element.js +1 -0
- package/dist-cms/packages/members/member/item/repository/member-item.server.data-source.d.ts +4 -0
- package/dist-cms/packages/members/member/item/repository/member-item.server.data-source.js +12 -3
- package/dist-cms/packages/members/member/picker/member-picker-search-result-item.element.js +2 -1
- package/dist-cms/packages/members/member/search/constants.d.ts +1 -0
- package/dist-cms/packages/members/member/search/constants.js +1 -0
- package/dist-cms/packages/members/member/search/global-search/constants.d.ts +1 -0
- package/dist-cms/packages/members/member/search/global-search/constants.js +1 -0
- package/dist-cms/packages/members/member/search/global-search/manifests.d.ts +1 -0
- package/dist-cms/packages/members/member/search/global-search/manifests.js +22 -0
- package/dist-cms/packages/members/member/search/manifests.js +2 -0
- package/dist-cms/packages/members/member-group/collection/views/table/member-group-table-collection-view.element.js +1 -0
- package/dist-cms/packages/members/member-group/repository/item/member-group-item.server.data-source.d.ts +4 -0
- package/dist-cms/packages/members/member-group/repository/item/member-group-item.server.data-source.js +12 -3
- package/dist-cms/packages/members/member-type/constants.d.ts +1 -0
- package/dist-cms/packages/members/member-type/constants.js +1 -0
- package/dist-cms/packages/members/member-type/repository/item/member-type-item.server.data-source.d.ts +4 -0
- package/dist-cms/packages/members/member-type/repository/item/member-type-item.server.data-source.js +12 -3
- package/dist-cms/packages/members/member-type/search/constants.d.ts +2 -0
- package/dist-cms/packages/members/member-type/search/constants.js +2 -0
- package/dist-cms/packages/members/member-type/search/global-search/constants.d.ts +1 -0
- package/dist-cms/packages/members/member-type/search/global-search/constants.js +1 -0
- package/dist-cms/packages/members/member-type/search/global-search/manifests.d.ts +1 -0
- package/dist-cms/packages/members/member-type/search/global-search/manifests.js +22 -0
- package/dist-cms/packages/members/member-type/search/manifests.js +4 -1
- package/dist-cms/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.d.ts +4 -0
- package/dist-cms/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.js +48 -1
- package/dist-cms/packages/multi-url-picker/link-picker-modal/link-picker-modal.element.d.ts +3 -2
- package/dist-cms/packages/multi-url-picker/link-picker-modal/link-picker-modal.element.js +129 -39
- package/dist-cms/packages/packages/package-section/views/installed/installed-packages-section-view-item.element.js +1 -1
- package/dist-cms/packages/relations/relations/reference/workspace-info-app/entity-references-workspace-view-info.element.js +6 -1
- package/dist-cms/packages/search/global-search/global-search-base.d.ts +11 -0
- package/dist-cms/packages/search/global-search/global-search-base.js +49 -0
- package/dist-cms/packages/search/global-search/global-search.extension.d.ts +15 -0
- package/dist-cms/packages/search/global-search/global-search.extension.js +1 -0
- package/dist-cms/packages/search/global-search/index.d.ts +1 -0
- package/dist-cms/packages/search/global-search/index.js +1 -0
- package/dist-cms/packages/search/global-search/types.d.ts +4 -0
- package/dist-cms/packages/search/global-search/types.js +1 -0
- package/dist-cms/packages/search/index.d.ts +1 -0
- package/dist-cms/packages/search/index.js +1 -0
- package/dist-cms/packages/search/search-modal/search-modal.element.d.ts +4 -4
- package/dist-cms/packages/search/search-modal/search-modal.element.js +40 -29
- package/dist-cms/packages/search/types.d.ts +1 -0
- package/dist-cms/packages/static-file/repository/item/static-file-item.server.data-source.d.ts +4 -0
- package/dist-cms/packages/static-file/repository/item/static-file-item.server.data-source.js +14 -7
- package/dist-cms/packages/sysinfo/components/sysinfo.element.js +49 -9
- package/dist-cms/packages/sysinfo/repository/sysinfo.repository.d.ts +3 -0
- package/dist-cms/packages/sysinfo/repository/sysinfo.repository.js +8 -0
- package/dist-cms/packages/templating/templates/constants.d.ts +1 -0
- package/dist-cms/packages/templating/templates/constants.js +1 -0
- package/dist-cms/packages/templating/templates/repository/item/template-item.server.data-source.d.ts +4 -0
- package/dist-cms/packages/templating/templates/repository/item/template-item.server.data-source.js +12 -3
- package/dist-cms/packages/templating/templates/search/constants.d.ts +2 -0
- package/dist-cms/packages/templating/templates/search/constants.js +2 -0
- package/dist-cms/packages/templating/templates/search/global-search/constants.d.ts +1 -0
- package/dist-cms/packages/templating/templates/search/global-search/constants.js +1 -0
- package/dist-cms/packages/templating/templates/search/global-search/manifests.d.ts +1 -0
- package/dist-cms/packages/templating/templates/search/global-search/manifests.js +22 -0
- package/dist-cms/packages/templating/templates/search/manifests.js +4 -1
- package/dist-cms/packages/tiptap/extensions/core/media-upload.tiptap-api.d.ts +6 -1
- package/dist-cms/packages/tiptap/extensions/core/media-upload.tiptap-api.js +16 -6
- package/dist-cms/packages/tiptap/extensions/toolbar/media-picker.tiptap-toolbar-api.d.ts +6 -1
- package/dist-cms/packages/tiptap/extensions/toolbar/media-picker.tiptap-toolbar-api.js +27 -6
- package/dist-cms/packages/user/current-user/action/current-user-app-button.element.d.ts +1 -1
- package/dist-cms/packages/user/current-user/action/current-user-app-button.element.js +4 -8
- package/dist-cms/packages/user/current-user/current-user-action.extension.d.ts +0 -11
- package/dist-cms/packages/user/current-user/external-login/manifests.js +0 -1
- package/dist-cms/packages/user/current-user/mfa-login/manifests.js +0 -1
- package/dist-cms/packages/user/user/collection/views/table/user-table-collection-view.element.js +1 -0
- package/dist-cms/packages/user/user/repository/item/user-item.server.data-source.d.ts +4 -0
- package/dist-cms/packages/user/user/repository/item/user-item.server.data-source.js +12 -3
- package/dist-cms/packages/user/user/workspace/user/components/user-workspace-profile-settings/user-workspace-profile-settings.element.js +25 -22
- package/dist-cms/packages/user/user-group/collection/views/user-group-table-collection-view.element.js +1 -0
- package/dist-cms/packages/user/user-group/repository/item/user-group-item.server.data-source.d.ts +4 -0
- package/dist-cms/packages/user/user-group/repository/item/user-group-item.server.data-source.js +12 -3
- package/dist-cms/packages/webhook/webhook/collection/views/table/webhook-table-collection-view.element.js +1 -0
- package/dist-cms/packages/webhook/webhook/repository/item/webhook-item.server.data-source.d.ts +4 -0
- package/dist-cms/packages/webhook/webhook/repository/item/webhook-item.server.data-source.js +12 -3
- package/dist-cms/packages/webhook/webhook/workspace/webhook-workspace-editor.element.js +2 -0
- package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
- package/dist-cms/umbraco-package-schema.json +298 -0
- package/dist-cms/umbraco-package.json +1 -1
- package/dist-cms/vscode-html-custom-data.json +71 -20
- package/examples/block-custom-view/block-custom-view.ts +8 -0
- package/package.json +1 -1
- package/dist-cms/assets/lang/de-ch.d.ts +0 -3
- package/dist-cms/assets/lang/de-ch.js +0 -15
- package/dist-cms/assets/lang/de-ch.ts +0 -17
- package/dist-cms/assets/lang/fr-ch.d.ts +0 -3
- package/dist-cms/assets/lang/fr-ch.js +0 -15
- package/dist-cms/assets/lang/fr-ch.ts +0 -17
- package/dist-cms/assets/lang/it-ch.d.ts +0 -3
- package/dist-cms/assets/lang/it-ch.js +0 -15
- package/dist-cms/assets/lang/it-ch.ts +0 -17
- /package/dist-cms/assets/lang/{cs-cz.d.ts → cs.d.ts} +0 -0
- /package/dist-cms/assets/lang/{cs-cz.js → cs.js} +0 -0
- /package/dist-cms/assets/lang/{cs-cz.ts → cs.ts} +0 -0
- /package/dist-cms/assets/lang/{cy-gb.d.ts → cy.d.ts} +0 -0
- /package/dist-cms/assets/lang/{cy-gb.js → cy.js} +0 -0
- /package/dist-cms/assets/lang/{cy-gb.ts → cy.ts} +0 -0
- /package/dist-cms/assets/lang/{da-dk.d.ts → da.d.ts} +0 -0
- /package/dist-cms/assets/lang/{de-de.d.ts → de.d.ts} +0 -0
- /package/dist-cms/assets/lang/{de-de.js → de.js} +0 -0
- /package/dist-cms/assets/lang/{de-de.ts → de.ts} +0 -0
- /package/dist-cms/assets/lang/{es-es.d.ts → es.d.ts} +0 -0
- /package/dist-cms/assets/lang/{es-es.js → es.js} +0 -0
- /package/dist-cms/assets/lang/{es-es.ts → es.ts} +0 -0
- /package/dist-cms/assets/lang/{fr-fr.d.ts → fr.d.ts} +0 -0
- /package/dist-cms/assets/lang/{fr-fr.js → fr.js} +0 -0
- /package/dist-cms/assets/lang/{fr-fr.ts → fr.ts} +0 -0
- /package/dist-cms/assets/lang/{he-il.d.ts → he.d.ts} +0 -0
- /package/dist-cms/assets/lang/{he-il.js → he.js} +0 -0
- /package/dist-cms/assets/lang/{he-il.ts → he.ts} +0 -0
- /package/dist-cms/assets/lang/{hr-hr.d.ts → hr.d.ts} +0 -0
- /package/dist-cms/assets/lang/{hr-hr.js → hr.js} +0 -0
- /package/dist-cms/assets/lang/{hr-hr.ts → hr.ts} +0 -0
- /package/dist-cms/assets/lang/{it-it.d.ts → it.d.ts} +0 -0
- /package/dist-cms/assets/lang/{it-it.js → it.js} +0 -0
- /package/dist-cms/assets/lang/{it-it.ts → it.ts} +0 -0
- /package/dist-cms/assets/lang/{ja-jp.d.ts → ja.d.ts} +0 -0
- /package/dist-cms/assets/lang/{ja-jp.js → ja.js} +0 -0
- /package/dist-cms/assets/lang/{ja-jp.ts → ja.ts} +0 -0
- /package/dist-cms/assets/lang/{ko-kr.d.ts → ko.d.ts} +0 -0
- /package/dist-cms/assets/lang/{ko-kr.js → ko.js} +0 -0
- /package/dist-cms/assets/lang/{ko-kr.ts → ko.ts} +0 -0
- /package/dist-cms/assets/lang/{nb-no.d.ts → nb.d.ts} +0 -0
- /package/dist-cms/assets/lang/{nb-no.js → nb.js} +0 -0
- /package/dist-cms/assets/lang/{nb-no.ts → nb.ts} +0 -0
- /package/dist-cms/assets/lang/{nl-nl.d.ts → nl.d.ts} +0 -0
- /package/dist-cms/assets/lang/{nl-nl.js → nl.js} +0 -0
- /package/dist-cms/assets/lang/{nl-nl.ts → nl.ts} +0 -0
- /package/dist-cms/assets/lang/{pl-pl.d.ts → pl.d.ts} +0 -0
- /package/dist-cms/assets/lang/{pl-pl.js → pl.js} +0 -0
- /package/dist-cms/assets/lang/{pl-pl.ts → pl.ts} +0 -0
- /package/dist-cms/assets/lang/{ro-ro.d.ts → ro.d.ts} +0 -0
- /package/dist-cms/assets/lang/{ro-ro.js → ro.js} +0 -0
- /package/dist-cms/assets/lang/{ro-ro.ts → ro.ts} +0 -0
- /package/dist-cms/assets/lang/{ru-ru.d.ts → ru.d.ts} +0 -0
- /package/dist-cms/assets/lang/{ru-ru.js → ru.js} +0 -0
- /package/dist-cms/assets/lang/{ru-ru.ts → ru.ts} +0 -0
- /package/dist-cms/assets/lang/{sv-se.d.ts → sv.d.ts} +0 -0
- /package/dist-cms/assets/lang/{sv-se.js → sv.js} +0 -0
- /package/dist-cms/assets/lang/{sv-se.ts → sv.ts} +0 -0
- /package/dist-cms/assets/lang/{tr-tr.d.ts → tr.d.ts} +0 -0
- /package/dist-cms/assets/lang/{tr-tr.js → tr.js} +0 -0
- /package/dist-cms/assets/lang/{tr-tr.ts → tr.ts} +0 -0
- /package/dist-cms/assets/lang/{uk-ua.d.ts → uk.d.ts} +0 -0
- /package/dist-cms/assets/lang/{uk-ua.js → uk.js} +0 -0
- /package/dist-cms/assets/lang/{uk-ua.ts → uk.ts} +0 -0
- /package/dist-cms/assets/lang/{zh-cn.d.ts → zh.d.ts} +0 -0
- /package/dist-cms/assets/lang/{zh-cn.js → zh.js} +0 -0
- /package/dist-cms/assets/lang/{zh-cn.ts → zh.ts} +0 -0
- /package/dist-cms/packages/core/resources/{tryExecute.function.js → try-execute/tryExecute.function.js} +0 -0
- /package/dist-cms/packages/core/resources/{tryExecuteAndNotify.function.js → try-execute/tryExecuteAndNotify.function.js} +0 -0
|
@@ -4,11 +4,12 @@ export declare class UmbLinkPickerModalElement extends UmbModalBaseElement<UmbLi
|
|
|
4
4
|
#private;
|
|
5
5
|
private _allowedMediaTypeUniques?;
|
|
6
6
|
private _config;
|
|
7
|
+
private _missingLinkUrl;
|
|
7
8
|
private _documentPickerElement?;
|
|
8
9
|
private _mediaPickerElement?;
|
|
9
|
-
|
|
10
|
+
constructor();
|
|
10
11
|
connectedCallback(): void;
|
|
11
|
-
|
|
12
|
+
populateLinkUrl(): Promise<void>;
|
|
12
13
|
render(): import("lit-html").TemplateResult<1>;
|
|
13
14
|
static styles: import("lit").CSSResult[];
|
|
14
15
|
}
|
|
@@ -6,22 +6,68 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { css, customElement, html, nothing, query, state, when } from '@umbraco-cms/backoffice/external/lit';
|
|
8
8
|
import { isUmbracoFolder, UmbMediaTypeStructureRepository } from '@umbraco-cms/backoffice/media-type';
|
|
9
|
-
import { umbBindToValidation, UmbValidationContext } from '@umbraco-cms/backoffice/validation';
|
|
9
|
+
import { UMB_VALIDATION_CONTEXT, umbBindToValidation, UmbObserveValidationStateController, UmbValidationContext, } from '@umbraco-cms/backoffice/validation';
|
|
10
10
|
import { umbConfirmModal, UmbModalBaseElement } from '@umbraco-cms/backoffice/modal';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
11
|
+
import { UmbDocumentItemDataResolver, UmbDocumentItemRepository, UmbDocumentUrlRepository, UmbDocumentUrlsDataResolver, } from '@umbraco-cms/backoffice/document';
|
|
12
|
+
import { UmbMediaItemRepository, UmbMediaUrlRepository } from '@umbraco-cms/backoffice/media';
|
|
13
|
+
import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api';
|
|
14
|
+
import { umbFocus } from '@umbraco-cms/backoffice/lit-element';
|
|
15
|
+
class UmbLinkPickerValueValidator extends UmbControllerBase {
|
|
16
|
+
#context;
|
|
17
|
+
#isValid = true;
|
|
18
|
+
get isValid() {
|
|
19
|
+
return this.#isValid;
|
|
20
|
+
}
|
|
21
|
+
#value;
|
|
22
|
+
#unique = 'UmbLinkPickerValueValidator';
|
|
23
|
+
setValue(value) {
|
|
24
|
+
this.#value = value;
|
|
25
|
+
this.validate();
|
|
26
|
+
}
|
|
27
|
+
getValue() {
|
|
28
|
+
return this.#value;
|
|
29
|
+
}
|
|
30
|
+
// The path to the data that this validator is validating.
|
|
31
|
+
#dataPath;
|
|
32
|
+
constructor(host, dataPath) {
|
|
33
|
+
super(host);
|
|
34
|
+
this.#dataPath = dataPath;
|
|
35
|
+
this.consumeContext(UMB_VALIDATION_CONTEXT, (context) => {
|
|
36
|
+
if (this.#context) {
|
|
37
|
+
this.#context.removeValidator(this);
|
|
38
|
+
}
|
|
39
|
+
this.#context = context;
|
|
40
|
+
context?.addValidator(this);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
async validate() {
|
|
44
|
+
this.#isValid = !!this.getValue();
|
|
45
|
+
if (this.#isValid) {
|
|
46
|
+
this.#context?.messages.removeMessageByKey(this.#unique);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
this.#context?.messages.addMessage('client', this.#dataPath, '#linkPicker_modalAnchorValidationMessage', this.#unique);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
reset() { }
|
|
53
|
+
focusFirstInvalidElement() { }
|
|
54
|
+
}
|
|
13
55
|
let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModalBaseElement {
|
|
56
|
+
#propertyLayoutOrientation;
|
|
57
|
+
#validationContext;
|
|
14
58
|
constructor() {
|
|
15
|
-
super(
|
|
59
|
+
super();
|
|
16
60
|
this.#propertyLayoutOrientation = 'vertical';
|
|
17
61
|
this.#validationContext = new UmbValidationContext(this);
|
|
18
62
|
this._config = {
|
|
19
63
|
hideAnchor: false,
|
|
20
64
|
hideTarget: false,
|
|
21
65
|
};
|
|
66
|
+
this._missingLinkUrl = false;
|
|
67
|
+
new UmbObserveValidationStateController(this, '$.type', (invalid) => {
|
|
68
|
+
this._missingLinkUrl = invalid;
|
|
69
|
+
});
|
|
22
70
|
}
|
|
23
|
-
#propertyLayoutOrientation;
|
|
24
|
-
#validationContext;
|
|
25
71
|
connectedCallback() {
|
|
26
72
|
super.connectedCallback();
|
|
27
73
|
if (this.data?.config) {
|
|
@@ -35,9 +81,11 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
|
|
|
35
81
|
});
|
|
36
82
|
}
|
|
37
83
|
this.#getMediaTypes();
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
this.
|
|
84
|
+
this.populateLinkUrl();
|
|
85
|
+
const validator = new UmbLinkPickerValueValidator(this, '$.type');
|
|
86
|
+
this.observe(this.modalContext?.value, (value) => {
|
|
87
|
+
validator.setValue(value?.link.type);
|
|
88
|
+
});
|
|
41
89
|
}
|
|
42
90
|
async #getMediaTypes() {
|
|
43
91
|
// Get all the media types, excluding the folders, so that files are selectable media items.
|
|
@@ -46,6 +94,28 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
|
|
|
46
94
|
this._allowedMediaTypeUniques =
|
|
47
95
|
mediaTypes?.items.map((x) => x.unique).filter((x) => x && !isUmbracoFolder(x)) ?? [];
|
|
48
96
|
}
|
|
97
|
+
async populateLinkUrl() {
|
|
98
|
+
// Documents and media have URLs saved in the local link format. Display the actual URL to align with what
|
|
99
|
+
// the user sees when they selected it initially.
|
|
100
|
+
if (!this.value.link?.unique)
|
|
101
|
+
return;
|
|
102
|
+
let url = undefined;
|
|
103
|
+
switch (this.value.link.type) {
|
|
104
|
+
case 'document': {
|
|
105
|
+
url = await this.#getUrlForDocument(this.value.link.unique);
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
case 'media': {
|
|
109
|
+
url = await this.#getUrlForMedia(this.value.link.unique);
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
default:
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
if (url) {
|
|
116
|
+
this.#partialUpdateLink({ url });
|
|
117
|
+
}
|
|
118
|
+
}
|
|
49
119
|
#partialUpdateLink(linkObject) {
|
|
50
120
|
this.modalContext?.updateValue({ link: { ...this.value.link, ...linkObject } });
|
|
51
121
|
}
|
|
@@ -97,36 +167,40 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
|
|
|
97
167
|
if (unique) {
|
|
98
168
|
switch (type) {
|
|
99
169
|
case 'document': {
|
|
100
|
-
const documentRepository = new
|
|
101
|
-
const { data:
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
170
|
+
const documentRepository = new UmbDocumentItemRepository(this);
|
|
171
|
+
const { data: documentItems } = await documentRepository.requestItems([unique]);
|
|
172
|
+
const documentItem = documentItems?.[0];
|
|
173
|
+
if (documentItem) {
|
|
174
|
+
const itemDataResolver = new UmbDocumentItemDataResolver(this);
|
|
175
|
+
itemDataResolver.setData(documentItem);
|
|
176
|
+
icon = await itemDataResolver.getIcon();
|
|
177
|
+
name = await itemDataResolver.getName();
|
|
178
|
+
url = await this.#getUrlForDocument(unique);
|
|
108
179
|
}
|
|
109
180
|
break;
|
|
110
181
|
}
|
|
111
182
|
case 'media': {
|
|
112
|
-
const mediaRepository = new
|
|
113
|
-
const { data: mediaData } = await mediaRepository.
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
url = mediaUrlData?.[0].url ?? '';
|
|
183
|
+
const mediaRepository = new UmbMediaItemRepository(this);
|
|
184
|
+
const { data: mediaData } = await mediaRepository.requestItems([unique]);
|
|
185
|
+
const mediaItem = mediaData?.[0];
|
|
186
|
+
if (mediaItem) {
|
|
187
|
+
icon = mediaItem.mediaType.icon;
|
|
188
|
+
name = mediaItem.variants[0].name;
|
|
189
|
+
url = await this.#getUrlForMedia(unique);
|
|
120
190
|
}
|
|
121
191
|
break;
|
|
122
192
|
}
|
|
123
193
|
default:
|
|
124
194
|
break;
|
|
125
195
|
}
|
|
196
|
+
// The selection was removed
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
this.#resetUrl();
|
|
126
200
|
}
|
|
127
201
|
const link = {
|
|
128
202
|
icon,
|
|
129
|
-
name: this.value.link.name
|
|
203
|
+
name: name || this.value.link.name,
|
|
130
204
|
type: unique ? type : undefined,
|
|
131
205
|
unique,
|
|
132
206
|
url: url ?? this.value.link.url,
|
|
@@ -134,6 +208,20 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
|
|
|
134
208
|
this.#partialUpdateLink(link);
|
|
135
209
|
await this.#validationContext.validate();
|
|
136
210
|
}
|
|
211
|
+
async #getUrlForDocument(unique) {
|
|
212
|
+
const documentUrlRepository = new UmbDocumentUrlRepository(this);
|
|
213
|
+
const { data: documentUrlData } = await documentUrlRepository.requestItems([unique]);
|
|
214
|
+
const urlsItem = documentUrlData?.[0];
|
|
215
|
+
const dataResolver = new UmbDocumentUrlsDataResolver(this);
|
|
216
|
+
dataResolver.setData(urlsItem?.urls);
|
|
217
|
+
const resolvedUrls = await dataResolver.getUrls();
|
|
218
|
+
return resolvedUrls?.[0]?.url ?? '';
|
|
219
|
+
}
|
|
220
|
+
async #getUrlForMedia(unique) {
|
|
221
|
+
const mediaUrlRepository = new UmbMediaUrlRepository(this);
|
|
222
|
+
const { data: mediaUrlData } = await mediaUrlRepository.requestItems([unique]);
|
|
223
|
+
return mediaUrlData?.[0].url ?? '';
|
|
224
|
+
}
|
|
137
225
|
async #onResetUrl() {
|
|
138
226
|
if (this.value.link.url) {
|
|
139
227
|
await umbConfirmModal(this, {
|
|
@@ -143,6 +231,9 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
|
|
|
143
231
|
confirmLabel: this.localize.term('linkPicker_resetUrlLabel'),
|
|
144
232
|
});
|
|
145
233
|
}
|
|
234
|
+
this.#resetUrl();
|
|
235
|
+
}
|
|
236
|
+
#resetUrl() {
|
|
146
237
|
this.#partialUpdateLink({ type: null, url: null });
|
|
147
238
|
}
|
|
148
239
|
async #onSubmit() {
|
|
@@ -161,7 +252,7 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
|
|
|
161
252
|
render() {
|
|
162
253
|
return html `
|
|
163
254
|
<umb-body-layout
|
|
164
|
-
headline=${this.localize.term(this.modalContext?.data
|
|
255
|
+
headline=${this.localize.term(this.modalContext?.data?.isNew ? 'defaultdialogs_addLink' : 'defaultdialogs_updateLink')}>
|
|
165
256
|
<uui-box>
|
|
166
257
|
${this.#renderLinkType()} ${this.#renderLinkAnchorInput()} ${this.#renderLinkTitleInput()}
|
|
167
258
|
${this.#renderLinkTargetInput()}
|
|
@@ -171,8 +262,7 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
|
|
|
171
262
|
<uui-button
|
|
172
263
|
color="positive"
|
|
173
264
|
look="primary"
|
|
174
|
-
label=${this.localize.term(this.modalContext?.data
|
|
175
|
-
?disabled=${!this.value.link.type}
|
|
265
|
+
label=${this.localize.term(this.modalContext?.data?.isNew ? 'general_add' : 'general_update')}
|
|
176
266
|
@click=${this.#onSubmit}></uui-button>
|
|
177
267
|
</div>
|
|
178
268
|
</umb-body-layout>
|
|
@@ -183,7 +273,8 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
|
|
|
183
273
|
<umb-property-layout
|
|
184
274
|
orientation=${this.#propertyLayoutOrientation}
|
|
185
275
|
label=${this.localize.term('linkPicker_modalSource')}
|
|
186
|
-
mandatory
|
|
276
|
+
mandatory
|
|
277
|
+
?invalid=${this._missingLinkUrl}>
|
|
187
278
|
<div slot="editor">
|
|
188
279
|
${this.#renderLinkTypeSelection()} ${this.#renderDocumentPicker()} ${this.#renderMediaPicker()}
|
|
189
280
|
${this.#renderLinkUrlInput()} ${this.#renderLinkUrlInputReadOnly()}
|
|
@@ -244,9 +335,10 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
|
|
|
244
335
|
placeholder=${this.localize.term('placeholders_enterUrl')}
|
|
245
336
|
.value=${this.value.link.url ?? ''}
|
|
246
337
|
?disabled=${!!this.value.link.unique}
|
|
247
|
-
|
|
248
|
-
@
|
|
249
|
-
${umbBindToValidation(this)}
|
|
338
|
+
required
|
|
339
|
+
@input=${this.#onLinkUrlInput}
|
|
340
|
+
${umbBindToValidation(this)}
|
|
341
|
+
${umbFocus()}>
|
|
250
342
|
${when(!this.value.link.unique, () => html `
|
|
251
343
|
<div slot="append">
|
|
252
344
|
<uui-button
|
|
@@ -276,12 +368,10 @@ let UmbLinkPickerModalElement = class UmbLinkPickerModalElement extends UmbModal
|
|
|
276
368
|
<uui-input
|
|
277
369
|
data-mark="input:anchor"
|
|
278
370
|
slot="editor"
|
|
279
|
-
id="link-anchor"
|
|
280
371
|
label=${this.localize.term('placeholders_anchor')}
|
|
281
372
|
placeholder=${this.localize.term('placeholders_anchor')}
|
|
282
373
|
.value=${this.value.link.queryString ?? ''}
|
|
283
|
-
@change=${this.#onLinkAnchorInput}
|
|
284
|
-
${umbBindToValidation(this)}></uui-input>
|
|
374
|
+
@change=${this.#onLinkAnchorInput}></uui-input>
|
|
285
375
|
</umb-property-layout>
|
|
286
376
|
`;
|
|
287
377
|
}
|
|
@@ -342,15 +432,15 @@ __decorate([
|
|
|
342
432
|
__decorate([
|
|
343
433
|
state()
|
|
344
434
|
], UmbLinkPickerModalElement.prototype, "_config", void 0);
|
|
435
|
+
__decorate([
|
|
436
|
+
state()
|
|
437
|
+
], UmbLinkPickerModalElement.prototype, "_missingLinkUrl", void 0);
|
|
345
438
|
__decorate([
|
|
346
439
|
query('umb-input-document')
|
|
347
440
|
], UmbLinkPickerModalElement.prototype, "_documentPickerElement", void 0);
|
|
348
441
|
__decorate([
|
|
349
442
|
query('umb-input-media')
|
|
350
443
|
], UmbLinkPickerModalElement.prototype, "_mediaPickerElement", void 0);
|
|
351
|
-
__decorate([
|
|
352
|
-
query('#link-anchor', true)
|
|
353
|
-
], UmbLinkPickerModalElement.prototype, "_linkAnchorInput", void 0);
|
|
354
444
|
UmbLinkPickerModalElement = __decorate([
|
|
355
445
|
customElement('umb-link-picker-modal')
|
|
356
446
|
], UmbLinkPickerModalElement);
|
|
@@ -98,7 +98,7 @@ let UmbInstalledPackagesSectionViewItemElement = class UmbInstalledPackagesSecti
|
|
|
98
98
|
.state=${this._migrationButtonState}
|
|
99
99
|
color="warning"
|
|
100
100
|
look="primary"
|
|
101
|
-
label=${this.localize.term('
|
|
101
|
+
label=${this.localize.term('packager_packageMigrationsRun')}></uui-button>`
|
|
102
102
|
: nothing}
|
|
103
103
|
</div>
|
|
104
104
|
</uui-ref-node-package>
|
|
@@ -78,7 +78,7 @@ let UmbEntityReferencesWorkspaceInfoAppElement = class UmbEntityReferencesWorksp
|
|
|
78
78
|
return nothing;
|
|
79
79
|
return html `
|
|
80
80
|
<umb-workspace-info-app-layout headline="#references_labelUsedByItems">
|
|
81
|
-
|
|
81
|
+
<div id="content">${this.#renderItems()} ${this.#renderReferencePagination()}</div>
|
|
82
82
|
</umb-workspace-info-app-layout>
|
|
83
83
|
`;
|
|
84
84
|
}
|
|
@@ -110,6 +110,11 @@ let UmbEntityReferencesWorkspaceInfoAppElement = class UmbEntityReferencesWorksp
|
|
|
110
110
|
display: contents;
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
+
#content {
|
|
114
|
+
display: block;
|
|
115
|
+
padding: var(--uui-size-space-3) var(--uui-size-space-4);
|
|
116
|
+
}
|
|
117
|
+
|
|
113
118
|
.pagination-container {
|
|
114
119
|
display: flex;
|
|
115
120
|
justify-content: center;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ManifestGlobalSearch, UmbGlobalSearchApi, UmbSearchProvider, UmbSearchRequestArgs } from '../types.js';
|
|
2
|
+
import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api';
|
|
3
|
+
export declare abstract class UmbGlobalSearchBase<SearchProviderType extends UmbSearchProvider = UmbSearchProvider> extends UmbControllerBase implements UmbGlobalSearchApi {
|
|
4
|
+
#private;
|
|
5
|
+
protected _manifest?: ManifestGlobalSearch;
|
|
6
|
+
protected _searchProvider?: SearchProviderType;
|
|
7
|
+
protected _init: Promise<void>;
|
|
8
|
+
set manifest(manifest: ManifestGlobalSearch | undefined);
|
|
9
|
+
get manifest(): ManifestGlobalSearch | undefined;
|
|
10
|
+
search(args: UmbSearchRequestArgs): Promise<import("@umbraco-cms/backoffice/repository").UmbRepositoryResponse<import("@umbraco-cms/backoffice/repository").UmbPagedModel<import("../types.js").UmbSearchResultItemModel>>>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { UmbExtensionApiInitializer } from '@umbraco-cms/backoffice/extension-api';
|
|
2
|
+
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
|
|
3
|
+
import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api';
|
|
4
|
+
export class UmbGlobalSearchBase extends UmbControllerBase {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.#initialized = false;
|
|
8
|
+
this._init = new Promise((resolve) => {
|
|
9
|
+
if (this.#initialized) {
|
|
10
|
+
resolve();
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
this.#initResolver = resolve;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
#initResolver;
|
|
18
|
+
#initialized;
|
|
19
|
+
#checkIfInitialized() {
|
|
20
|
+
if (this._searchProvider) {
|
|
21
|
+
this.#initialized = true;
|
|
22
|
+
this.#initResolver?.();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
set manifest(manifest) {
|
|
26
|
+
if (this._manifest === manifest)
|
|
27
|
+
return;
|
|
28
|
+
this._manifest = manifest;
|
|
29
|
+
this.#observeSearchProvider(this._manifest?.meta.searchProviderAlias);
|
|
30
|
+
}
|
|
31
|
+
get manifest() {
|
|
32
|
+
return this._manifest;
|
|
33
|
+
}
|
|
34
|
+
#observeSearchProvider(alias) {
|
|
35
|
+
if (!alias)
|
|
36
|
+
throw new Error('Search provider alias is required');
|
|
37
|
+
new UmbExtensionApiInitializer(this, umbExtensionsRegistry, alias, [this], (permitted, ctrl) => {
|
|
38
|
+
this._searchProvider = permitted ? ctrl.api : undefined;
|
|
39
|
+
this.#checkIfInitialized();
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
async search(args) {
|
|
43
|
+
await this._init;
|
|
44
|
+
if (!this._searchProvider) {
|
|
45
|
+
throw new Error('Search provider is not available');
|
|
46
|
+
}
|
|
47
|
+
return await this._searchProvider.search({ query: args.query });
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { UmbGlobalSearchApi } from './types.js';
|
|
2
|
+
import type { ManifestWithDynamicConditions, ManifestApi } from '@umbraco-cms/backoffice/extension-api';
|
|
3
|
+
export interface ManifestGlobalSearch extends ManifestApi<UmbGlobalSearchApi>, ManifestWithDynamicConditions<UmbExtensionConditionConfig> {
|
|
4
|
+
type: 'globalSearch';
|
|
5
|
+
meta: MetaGlobalSearch;
|
|
6
|
+
}
|
|
7
|
+
export interface MetaGlobalSearch {
|
|
8
|
+
label: string;
|
|
9
|
+
searchProviderAlias: string;
|
|
10
|
+
}
|
|
11
|
+
declare global {
|
|
12
|
+
interface UmbExtensionManifestMap {
|
|
13
|
+
umbGlobalSearch: ManifestGlobalSearch;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './global-search-base.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './global-search-base.js';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { UmbSearchProvider, UmbSearchRequestArgs, UmbSearchResultItemModel } from '../types.js';
|
|
2
|
+
export interface UmbGlobalSearchApi<SearchResultItemType extends UmbSearchResultItemModel = UmbSearchResultItemModel, SearchRequestArgsType extends UmbSearchRequestArgs = UmbSearchRequestArgs> extends UmbSearchProvider<SearchResultItemType, SearchRequestArgsType> {
|
|
3
|
+
}
|
|
4
|
+
export type * from './global-search.extension.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -2,9 +2,9 @@ import type { UmbSearchProvider, UmbSearchResultItemModel } from '../types.js';
|
|
|
2
2
|
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
|
|
3
3
|
import type { UmbModalContext } from '@umbraco-cms/backoffice/modal';
|
|
4
4
|
import '../search-result/search-result-item.element.js';
|
|
5
|
-
type
|
|
5
|
+
type GlobalSearchers = {
|
|
6
6
|
name: string;
|
|
7
|
-
api
|
|
7
|
+
api?: UmbSearchProvider<UmbSearchResultItemModel>;
|
|
8
8
|
alias: string;
|
|
9
9
|
};
|
|
10
10
|
export declare class UmbSearchModalElement extends UmbLitElement {
|
|
@@ -14,8 +14,8 @@ export declare class UmbSearchModalElement extends UmbLitElement {
|
|
|
14
14
|
modalContext?: UmbModalContext;
|
|
15
15
|
private _search;
|
|
16
16
|
private _searchResults;
|
|
17
|
-
private
|
|
18
|
-
|
|
17
|
+
private _globalSearchers;
|
|
18
|
+
_currentGlobalSearcher?: GlobalSearchers;
|
|
19
19
|
_loading: boolean;
|
|
20
20
|
constructor();
|
|
21
21
|
connectedCallback(): void;
|
|
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { css, html, nothing, repeat, customElement, query, state, property, when, } from '@umbraco-cms/backoffice/external/lit';
|
|
8
8
|
import { UmbExtensionsManifestInitializer, createExtensionApi } from '@umbraco-cms/backoffice/extension-api';
|
|
9
|
-
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
|
|
9
|
+
import { createExtensionApiByAlias, umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
|
|
10
10
|
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
|
|
11
11
|
import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
|
|
12
12
|
import '../search-result/search-result-item.element.js';
|
|
@@ -18,7 +18,7 @@ let UmbSearchModalElement = class UmbSearchModalElement extends UmbLitElement {
|
|
|
18
18
|
super();
|
|
19
19
|
this._search = '';
|
|
20
20
|
this._searchResults = [];
|
|
21
|
-
this.
|
|
21
|
+
this._globalSearchers = [];
|
|
22
22
|
this._loading = false;
|
|
23
23
|
this.#searchItemNavIndex = 0;
|
|
24
24
|
this.#inputTimerAmount = 300;
|
|
@@ -28,7 +28,7 @@ let UmbSearchModalElement = class UmbSearchModalElement extends UmbLitElement {
|
|
|
28
28
|
return;
|
|
29
29
|
this.modalContext?.reject();
|
|
30
30
|
};
|
|
31
|
-
this.#
|
|
31
|
+
this.#observeGlobalSearchers();
|
|
32
32
|
}
|
|
33
33
|
connectedCallback() {
|
|
34
34
|
super.connectedCallback();
|
|
@@ -44,22 +44,33 @@ let UmbSearchModalElement = class UmbSearchModalElement extends UmbLitElement {
|
|
|
44
44
|
document.removeEventListener('click', this.#onDocumentClick);
|
|
45
45
|
}
|
|
46
46
|
#onDocumentClick;
|
|
47
|
-
#
|
|
48
|
-
new UmbExtensionsManifestInitializer(this, umbExtensionsRegistry, '
|
|
49
|
-
const
|
|
50
|
-
for (const
|
|
51
|
-
|
|
52
|
-
if (api) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
api
|
|
56
|
-
|
|
57
|
-
}
|
|
47
|
+
#observeGlobalSearchers() {
|
|
48
|
+
new UmbExtensionsManifestInitializer(this, umbExtensionsRegistry, 'globalSearch', null, async (controllers) => {
|
|
49
|
+
const globalSearch = [];
|
|
50
|
+
for (const controller of controllers) {
|
|
51
|
+
let searchApi = undefined;
|
|
52
|
+
if (controller.manifest.api) {
|
|
53
|
+
searchApi = await createExtensionApi(this, controller.manifest);
|
|
54
|
+
if (searchApi) {
|
|
55
|
+
// TODO: we need to investigate if it makes sense to have a function that does this when creating a new extension api? [MR]
|
|
56
|
+
searchApi.manifest = controller.manifest;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
searchApi = await createExtensionApiByAlias(this, controller.manifest.meta?.searchProviderAlias);
|
|
61
|
+
}
|
|
62
|
+
if (searchApi) {
|
|
63
|
+
const searcher = {
|
|
64
|
+
name: controller.manifest.meta?.label || controller.manifest.name,
|
|
65
|
+
api: searchApi,
|
|
66
|
+
alias: controller.alias,
|
|
67
|
+
};
|
|
68
|
+
globalSearch.push(searcher);
|
|
58
69
|
}
|
|
59
70
|
}
|
|
60
|
-
this.
|
|
61
|
-
if (this.
|
|
62
|
-
this.
|
|
71
|
+
this._globalSearchers = globalSearch;
|
|
72
|
+
if (this._globalSearchers.length > 0) {
|
|
73
|
+
this._currentGlobalSearcher = this._globalSearchers[0];
|
|
63
74
|
}
|
|
64
75
|
});
|
|
65
76
|
}
|
|
@@ -89,18 +100,18 @@ let UmbSearchModalElement = class UmbSearchModalElement extends UmbLitElement {
|
|
|
89
100
|
this._inputFakeCursor.style.display = 'none';
|
|
90
101
|
}
|
|
91
102
|
}
|
|
92
|
-
#
|
|
93
|
-
if (this.
|
|
103
|
+
#setCurrentSearcher(searcher) {
|
|
104
|
+
if (this._currentGlobalSearcher === searcher)
|
|
94
105
|
return;
|
|
95
|
-
this.
|
|
106
|
+
this._currentGlobalSearcher = searcher;
|
|
96
107
|
this.#focusInput();
|
|
97
108
|
this._loading = true;
|
|
98
109
|
this._searchResults = [];
|
|
99
110
|
this.#updateSearchResults();
|
|
100
111
|
}
|
|
101
112
|
async #updateSearchResults() {
|
|
102
|
-
if (this._search && this.
|
|
103
|
-
const { data } = await this.
|
|
113
|
+
if (this._search && this._currentGlobalSearcher?.api) {
|
|
114
|
+
const { data } = await this._currentGlobalSearcher.api.search({ query: this._search });
|
|
104
115
|
if (!data)
|
|
105
116
|
return;
|
|
106
117
|
this._searchResults = data.items;
|
|
@@ -246,13 +257,13 @@ let UmbSearchModalElement = class UmbSearchModalElement extends UmbLitElement {
|
|
|
246
257
|
#renderSearchTags() {
|
|
247
258
|
return html `
|
|
248
259
|
<div id="search-providers">
|
|
249
|
-
${repeat(this.
|
|
260
|
+
${repeat(this._globalSearchers, (searcher) => searcher.alias, (searcher) => html `
|
|
250
261
|
<button
|
|
251
|
-
class="search-provider ${this.
|
|
252
|
-
data-provider-alias=${
|
|
253
|
-
@click=${() => this.#
|
|
262
|
+
class="search-provider ${this._currentGlobalSearcher?.alias === searcher.alias ? 'active' : ''}"
|
|
263
|
+
data-provider-alias=${searcher.alias}
|
|
264
|
+
@click=${() => this.#setCurrentSearcher(searcher)}
|
|
254
265
|
@keydown=${() => ''}>
|
|
255
|
-
${
|
|
266
|
+
${searcher.name}
|
|
256
267
|
</button>
|
|
257
268
|
`)}
|
|
258
269
|
</div>
|
|
@@ -487,10 +498,10 @@ __decorate([
|
|
|
487
498
|
], UmbSearchModalElement.prototype, "_searchResults", void 0);
|
|
488
499
|
__decorate([
|
|
489
500
|
state()
|
|
490
|
-
], UmbSearchModalElement.prototype, "
|
|
501
|
+
], UmbSearchModalElement.prototype, "_globalSearchers", void 0);
|
|
491
502
|
__decorate([
|
|
492
503
|
state()
|
|
493
|
-
], UmbSearchModalElement.prototype, "
|
|
504
|
+
], UmbSearchModalElement.prototype, "_currentGlobalSearcher", void 0);
|
|
494
505
|
__decorate([
|
|
495
506
|
state()
|
|
496
507
|
], UmbSearchModalElement.prototype, "_loading", void 0);
|
|
@@ -5,6 +5,7 @@ import type { UmbPagedModel, UmbRepositoryResponse } from '@umbraco-cms/backoffi
|
|
|
5
5
|
export type { UmbSearchDataSource } from './search-data-source.interface.js';
|
|
6
6
|
export type { UmbSearchRepository } from './search-repository.interface.js';
|
|
7
7
|
export type * from './extensions/types.js';
|
|
8
|
+
export type * from './global-search/types.js';
|
|
8
9
|
export type UmbSearchResultModel = SearchResultResponseModelReadable;
|
|
9
10
|
export type UmbSearchResultItemModel = {
|
|
10
11
|
entityType: string;
|
package/dist-cms/packages/static-file/repository/item/static-file-item.server.data-source.d.ts
CHANGED
|
@@ -14,4 +14,8 @@ export declare class UmbStaticFileItemServerDataSource extends UmbItemServerData
|
|
|
14
14
|
* @memberof UmbStaticFileItemServerDataSource
|
|
15
15
|
*/
|
|
16
16
|
constructor(host: UmbControllerHost);
|
|
17
|
+
getItems(uniques: Array<string>): Promise<{
|
|
18
|
+
data: UmbStaticFileItemModel[] | undefined;
|
|
19
|
+
error: Error | import("@umbraco-cms/backoffice/resources").UmbError | import("@umbraco-cms/backoffice/resources").UmbApiError | import("@umbraco-cms/backoffice/resources").UmbCancelError | undefined;
|
|
20
|
+
}>;
|
|
17
21
|
}
|
package/dist-cms/packages/static-file/repository/item/static-file-item.server.data-source.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { UmbItemServerDataSourceBase } from '@umbraco-cms/backoffice/repository';
|
|
2
2
|
import { StaticFileService } from '@umbraco-cms/backoffice/external/backend-api';
|
|
3
3
|
import { UmbServerFilePathUniqueSerializer } from '@umbraco-cms/backoffice/server-file-system';
|
|
4
|
+
import { UmbItemDataApiGetRequestController } from '@umbraco-cms/backoffice/entity-item';
|
|
4
5
|
/**
|
|
5
6
|
* A server data source for Static File items
|
|
6
7
|
* @class UmbStaticFileItemServerDataSource
|
|
@@ -14,17 +15,23 @@ export class UmbStaticFileItemServerDataSource extends UmbItemServerDataSourceBa
|
|
|
14
15
|
*/
|
|
15
16
|
constructor(host) {
|
|
16
17
|
super(host, {
|
|
17
|
-
getItems,
|
|
18
18
|
mapper,
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
|
+
async getItems(uniques) {
|
|
22
|
+
if (!uniques)
|
|
23
|
+
throw new Error('Uniques are missing');
|
|
24
|
+
const serializer = new UmbServerFilePathUniqueSerializer();
|
|
25
|
+
const paths = uniques.map((unique) => serializer.toServerPath(unique));
|
|
26
|
+
const itemRequestManager = new UmbItemDataApiGetRequestController(this, {
|
|
27
|
+
// eslint-disable-next-line local-rules/no-direct-api-import
|
|
28
|
+
api: (args) => StaticFileService.getItemStaticFile({ query: { path: args.uniques } }),
|
|
29
|
+
uniques: paths,
|
|
30
|
+
});
|
|
31
|
+
const { data, error } = await itemRequestManager.request();
|
|
32
|
+
return { data: this._getMappedItems(data), error };
|
|
33
|
+
}
|
|
21
34
|
}
|
|
22
|
-
const getItems = (uniques) => {
|
|
23
|
-
const serializer = new UmbServerFilePathUniqueSerializer();
|
|
24
|
-
const path = uniques.map((unique) => serializer.toServerPath(unique));
|
|
25
|
-
/* eslint-disable local-rules/no-direct-api-import */
|
|
26
|
-
return StaticFileService.getItemStaticFile({ query: { path } });
|
|
27
|
-
};
|
|
28
35
|
const mapper = (item) => {
|
|
29
36
|
const serializer = new UmbServerFilePathUniqueSerializer();
|
|
30
37
|
return {
|