@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
|
@@ -5,8 +5,9 @@ const autoScrollSensitivity = 50;
|
|
|
5
5
|
const autoScrollSpeed = 16;
|
|
6
6
|
/**
|
|
7
7
|
*
|
|
8
|
-
* @param el
|
|
9
|
-
* @param includeSelf
|
|
8
|
+
* @param {Element} el - The element to check for ability to scroll
|
|
9
|
+
* @param {Boolean} includeSelf - If true, the element itself will be included in the check
|
|
10
|
+
* @returns {Element | null}
|
|
10
11
|
*/
|
|
11
12
|
function getParentScrollElement(el, includeSelf) {
|
|
12
13
|
if (!el || !el.getBoundingClientRect)
|
|
@@ -40,8 +41,8 @@ function getParentScrollElement(el, includeSelf) {
|
|
|
40
41
|
}
|
|
41
42
|
/**
|
|
42
43
|
*
|
|
43
|
-
* @param element
|
|
44
|
-
* @param ignorerSelectors
|
|
44
|
+
* @param {HTMLElement} element - The element to check
|
|
45
|
+
* @param {string} ignorerSelectors - A comma separated list of selectors to ignore
|
|
45
46
|
*/
|
|
46
47
|
function setupIgnorerElements(element, ignorerSelectors) {
|
|
47
48
|
const selectors = ignorerSelectors.split(',');
|
|
@@ -52,8 +53,8 @@ function setupIgnorerElements(element, ignorerSelectors) {
|
|
|
52
53
|
}
|
|
53
54
|
/**
|
|
54
55
|
*
|
|
55
|
-
* @param element
|
|
56
|
-
* @param ignorerSelectors
|
|
56
|
+
* @param {HTMLElement} element - The element to check
|
|
57
|
+
* @param {string} ignorerSelectors - A comma separated list of selectors to ignore
|
|
57
58
|
*/
|
|
58
59
|
function destroyIgnorerElements(element, ignorerSelectors) {
|
|
59
60
|
const selectors = ignorerSelectors.split(',');
|
|
@@ -64,7 +65,7 @@ function destroyIgnorerElements(element, ignorerSelectors) {
|
|
|
64
65
|
}
|
|
65
66
|
/**
|
|
66
67
|
*
|
|
67
|
-
* @param element
|
|
68
|
+
* @param {Element} element - The element to check
|
|
68
69
|
*/
|
|
69
70
|
function setupPreventEvent(element) {
|
|
70
71
|
element.draggable = false;
|
|
@@ -72,7 +73,7 @@ function setupPreventEvent(element) {
|
|
|
72
73
|
}
|
|
73
74
|
/**
|
|
74
75
|
*
|
|
75
|
-
* @param element
|
|
76
|
+
* @param {Element} element - The element to check
|
|
76
77
|
*/
|
|
77
78
|
function destroyPreventEvent(element) {
|
|
78
79
|
element.draggable = false;
|
|
@@ -130,9 +131,23 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
130
131
|
this.#initialize = () => {
|
|
131
132
|
if (this.#isConnected === false)
|
|
132
133
|
return;
|
|
133
|
-
|
|
134
|
+
if (this.#containerElement) {
|
|
135
|
+
// This can happen, so no need to show an error as it seems to be happening in some cases. We will just reject. [NL]
|
|
136
|
+
//console.error('Container element already initialized', this.#containerElement);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
const containerEl = this.#config.containerSelector
|
|
134
140
|
? this.#host.shadowRoot.querySelector(this.#config.containerSelector)
|
|
135
|
-
: this.#host
|
|
141
|
+
: this.#host;
|
|
142
|
+
if (!containerEl) {
|
|
143
|
+
if (this.#config.containerSelector) {
|
|
144
|
+
throw new Error(`Sorter could not find the container element, using this query selector '${this.#config.containerSelector}'.`);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
throw new Error('Sorter could not get its host element.');
|
|
148
|
+
}
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
136
151
|
this.#containerElement = containerEl;
|
|
137
152
|
this.#useContainerShadowRoot = this.#containerElement === this.#host;
|
|
138
153
|
// Only look at the shadowRoot if the containerElement is host.
|
|
@@ -140,6 +155,7 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
140
155
|
? (this.#containerElement.shadowRoot ?? this.#containerElement)
|
|
141
156
|
: this.#containerElement;
|
|
142
157
|
containerElement.addEventListener('dragover', this.#itemDraggedOver);
|
|
158
|
+
containerElement.addEventListener('drop', this.#itemDropped);
|
|
143
159
|
this.#observer.disconnect();
|
|
144
160
|
containerElement.querySelectorAll(this.#config.itemSelector).forEach((child) => {
|
|
145
161
|
if (child.matches && child.matches(this.#config.itemSelector)) {
|
|
@@ -151,8 +167,8 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
151
167
|
subtree: false,
|
|
152
168
|
});
|
|
153
169
|
};
|
|
154
|
-
this.#itemDraggedOver = (e) => {
|
|
155
|
-
|
|
170
|
+
this.#itemDraggedOver = async (e) => {
|
|
171
|
+
const newDrop = await this.#obtainIncomingItem(e);
|
|
156
172
|
const dropSorter = _a.dropSorter;
|
|
157
173
|
if (!dropSorter || dropSorter.identifier !== this.identifier)
|
|
158
174
|
return;
|
|
@@ -162,7 +178,7 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
162
178
|
e.dataTransfer.dropEffect = 'move';
|
|
163
179
|
}
|
|
164
180
|
// Do nothing as we are the active sorter.
|
|
165
|
-
this.#handleDragMove(e);
|
|
181
|
+
this.#handleDragMove(e, newDrop);
|
|
166
182
|
// Maybe we need to stop the event in this case.
|
|
167
183
|
// Do not bubble up to parent sorters:
|
|
168
184
|
e.stopPropagation();
|
|
@@ -179,6 +195,10 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
179
195
|
e.stopPropagation();
|
|
180
196
|
}
|
|
181
197
|
};
|
|
198
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
199
|
+
this.#itemDropped = async (_e) => {
|
|
200
|
+
this.#handleMoveEnd();
|
|
201
|
+
};
|
|
182
202
|
this.#handleHandleMouseDown = (event) => {
|
|
183
203
|
const target = event.target;
|
|
184
204
|
const composedPath = event.composedPath();
|
|
@@ -224,31 +244,36 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
224
244
|
console.error('drag start ws cancelled due to another drag was still active');
|
|
225
245
|
this.#handleDragEnd();
|
|
226
246
|
}
|
|
227
|
-
event.stopPropagation();
|
|
228
|
-
if (event.dataTransfer) {
|
|
229
|
-
const dragElement = _a.activeDragElement ?? element;
|
|
230
|
-
const activeDragRect = dragElement.getBoundingClientRect();
|
|
231
|
-
event.dataTransfer.setDragImage(dragElement, event.clientX - activeDragRect.x, event.clientY - activeDragRect.y);
|
|
232
|
-
event.dataTransfer.dropEffect = 'move';
|
|
233
|
-
event.dataTransfer.effectAllowed = 'all'; // copyMove when we enhance the drag with clipboard data.// defaults to 'all'
|
|
234
|
-
}
|
|
235
247
|
if (!this.#scrollElement) {
|
|
236
248
|
this.#scrollElement = getParentScrollElement(this.#containerElement, true);
|
|
237
249
|
}
|
|
250
|
+
const containerRect = this.#containerElement.getBoundingClientRect();
|
|
251
|
+
this.#containerElement.style.minHeight = containerRect.height + 'px';
|
|
238
252
|
this.#setCurrentElement(element);
|
|
239
|
-
|
|
253
|
+
//UmbSorterController.activeDragElement?.addEventListener('dragend', this.#handleDragEnd);
|
|
240
254
|
window.addEventListener('mouseup', this.#handleMouseUp);
|
|
241
255
|
window.addEventListener('mouseout', this.#handleMouseUp);
|
|
242
256
|
window.addEventListener('mouseleave', this.#handleMouseUp);
|
|
243
257
|
window.addEventListener('mousemove', this.#handleMouseMove);
|
|
244
258
|
_a.activeItem = this.getItemOfElement(_a.activeElement);
|
|
245
|
-
_a.originalSorter = this;
|
|
246
|
-
// Notice, it is acceptable here to get index via object reference, but only cause there has been no change at this stage, otherwise we cannot trust the object instance is represented in the model — it could have mutated or been cloned [NL]
|
|
247
|
-
_a.originalIndex = this.#model.indexOf(_a.activeItem);
|
|
248
259
|
if (!_a.activeItem) {
|
|
249
260
|
console.error('Could not find item related to this element.', _a.activeElement);
|
|
250
261
|
return;
|
|
251
262
|
}
|
|
263
|
+
const activeUnique = this.#config.getUniqueOfModel(_a.activeItem);
|
|
264
|
+
event.stopPropagation();
|
|
265
|
+
if (event.dataTransfer) {
|
|
266
|
+
const dragElement = _a.activeDragElement ?? element;
|
|
267
|
+
const activeDragRect = dragElement.getBoundingClientRect();
|
|
268
|
+
event.dataTransfer.setDragImage(dragElement, event.clientX - activeDragRect.x, event.clientY - activeDragRect.y);
|
|
269
|
+
event.dataTransfer.dropEffect = 'move';
|
|
270
|
+
event.dataTransfer.effectAllowed = 'all'; // copyMove when we enhance the drag with clipboard data.// defaults to 'all'
|
|
271
|
+
event.dataTransfer.setData('text/umb-sorter-identifier#' + this.identifier.toString(), 'true');
|
|
272
|
+
event.dataTransfer.setData('text/umb-sorter-item-unique#' + activeUnique?.toString(), 'true');
|
|
273
|
+
}
|
|
274
|
+
_a.originalSorter = this;
|
|
275
|
+
// Notice, it is acceptable here to get index via object reference, but only cause there has been no change at this stage, otherwise we cannot trust the object instance is represented in the model — it could have mutated or been cloned [NL]
|
|
276
|
+
_a.originalIndex = this.#model.findIndex((x) => this.#config.getUniqueOfModel(x) === activeUnique);
|
|
252
277
|
// Get the current index of the item:
|
|
253
278
|
_a.activeIndex = _a.originalIndex;
|
|
254
279
|
_a.activeDragElement.style.transform = 'translateZ(0)'; // Solves problem with FireFox and ShadowDom in the drag-image.
|
|
@@ -281,6 +306,10 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
281
306
|
// Revert move, to start position.
|
|
282
307
|
_a.originalSorter.moveItemInModel(_a.originalIndex ?? 0, _a.activeSorter);
|
|
283
308
|
}
|
|
309
|
+
else if (_a.originalSorter === undefined) {
|
|
310
|
+
// The external dropped item, should be reverted back to where it came from.
|
|
311
|
+
// TODO: Revert back to original position.
|
|
312
|
+
}
|
|
284
313
|
this.#handleMoveEnd();
|
|
285
314
|
};
|
|
286
315
|
/**
|
|
@@ -299,14 +328,14 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
299
328
|
};
|
|
300
329
|
this.#updateDragMove = () => {
|
|
301
330
|
_a.rqaId = undefined;
|
|
302
|
-
if (!_a.
|
|
331
|
+
if (!_a.activeItem) {
|
|
303
332
|
return;
|
|
304
333
|
}
|
|
305
334
|
if (_a.dropSorter !== this) {
|
|
306
335
|
throw new Error('Drop sorter is not this sorter');
|
|
307
336
|
}
|
|
308
337
|
// Maybe no need to check this twice, like we do it before the RAF an inside it, I think its fine to choose one of them.
|
|
309
|
-
const currentElementRect = _a.activeElement
|
|
338
|
+
const currentElementRect = _a.activeElement?.getBoundingClientRect() ?? new DOMRect(0, 0, 0, 0);
|
|
310
339
|
const insideCurrentRect = isWithinRect(this.#dragX, this.#dragY, currentElementRect);
|
|
311
340
|
if (insideCurrentRect) {
|
|
312
341
|
return;
|
|
@@ -354,7 +383,8 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
354
383
|
placeAfter = this.#dragX > centerX;
|
|
355
384
|
}
|
|
356
385
|
});
|
|
357
|
-
|
|
386
|
+
const activeUnique = this.#config.getUniqueOfModel(_a.activeItem);
|
|
387
|
+
let activeIndex = this.#model.findIndex((x) => this.#config.getUniqueOfModel(x) === activeUnique);
|
|
358
388
|
if (activeIndex === -1) {
|
|
359
389
|
activeIndex = null;
|
|
360
390
|
}
|
|
@@ -531,7 +561,7 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
531
561
|
return;
|
|
532
562
|
this.#enabled = true;
|
|
533
563
|
if (this.#isConnected) {
|
|
534
|
-
this.#initialize
|
|
564
|
+
requestAnimationFrame(this.#initialize);
|
|
535
565
|
}
|
|
536
566
|
}
|
|
537
567
|
/**
|
|
@@ -552,7 +582,7 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
552
582
|
}
|
|
553
583
|
/**
|
|
554
584
|
* Returns the model of the sorter.
|
|
555
|
-
* @returns {Array<T>}
|
|
585
|
+
* @returns {Array<T>} The model of this sorter.
|
|
556
586
|
* @memberof UmbSorterController
|
|
557
587
|
*/
|
|
558
588
|
getModel() {
|
|
@@ -565,6 +595,8 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
565
595
|
return this.#model.find((x) => this.#config.getUniqueOfModel(x) === unique);
|
|
566
596
|
}
|
|
567
597
|
hostConnected() {
|
|
598
|
+
if (this.#isConnected)
|
|
599
|
+
return;
|
|
568
600
|
this.#isConnected = true;
|
|
569
601
|
if (this.#enabled) {
|
|
570
602
|
requestAnimationFrame(this.#initialize);
|
|
@@ -578,19 +610,84 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
578
610
|
}
|
|
579
611
|
#initialize;
|
|
580
612
|
#uninitialize() {
|
|
581
|
-
//
|
|
613
|
+
// Do something when host element is disconnected.
|
|
614
|
+
if (_a.activeSorter === this) {
|
|
615
|
+
_a.activeSorter = undefined;
|
|
616
|
+
if (_a.activeElement) {
|
|
617
|
+
this.#handleDragEnd();
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
if (_a.dropSorter === this) {
|
|
621
|
+
// If we are the drop sorter, we can now remove out self to get into pure Native Drag n' drop.
|
|
622
|
+
_a.dropSorter = undefined;
|
|
623
|
+
}
|
|
624
|
+
if (_a.lastIndicationSorter === this) {
|
|
625
|
+
// If we are the lastIndicationSorter, we can now remove out self to get into pure Native Drag n' drop.
|
|
626
|
+
_a.lastIndicationSorter = undefined;
|
|
627
|
+
}
|
|
582
628
|
this.#observer.disconnect();
|
|
629
|
+
// For auto scroller:
|
|
630
|
+
this.#scrollElement = null;
|
|
583
631
|
if (this.#containerElement) {
|
|
584
632
|
// Only look at the shadowRoot if the containerElement is host.
|
|
585
633
|
const containerElement = this.#useContainerShadowRoot
|
|
586
634
|
? (this.#containerElement.shadowRoot ?? this.#containerElement)
|
|
587
635
|
: this.#containerElement;
|
|
588
636
|
containerElement.removeEventListener('dragover', this.#itemDraggedOver);
|
|
637
|
+
containerElement.removeEventListener('drop', this.#itemDropped);
|
|
589
638
|
this.#containerElement = undefined;
|
|
590
639
|
}
|
|
591
640
|
this.#elements.forEach((item) => this.destroyItem(item));
|
|
592
641
|
}
|
|
642
|
+
async #obtainIncomingItem(e) {
|
|
643
|
+
if (!_a.dropSorter &&
|
|
644
|
+
e.dataTransfer?.types.includes('text/umb-sorter-identifier#' + this.identifier.toString())) {
|
|
645
|
+
// If we have no drop-sorter, and we share the same identifier, then we like to accept this drag.
|
|
646
|
+
const activeType = e.dataTransfer?.types.find((x) => x.startsWith('text/umb-sorter-item-unique#'));
|
|
647
|
+
if (activeType) {
|
|
648
|
+
const activeUnique = activeType.split('#')?.[1];
|
|
649
|
+
let activeItem = this.#model.find((x) => this.#config.getUniqueOfModel(x) === activeUnique);
|
|
650
|
+
if (activeItem) {
|
|
651
|
+
_a.activeSorter = this;
|
|
652
|
+
}
|
|
653
|
+
// test if unique is already in the model:
|
|
654
|
+
if (!activeItem) {
|
|
655
|
+
// Find the active item:
|
|
656
|
+
activeItem = await this.#config.onRequestDrop?.({ unique: activeUnique });
|
|
657
|
+
_a.activeSorter = undefined; // Important as we use this to know if we can remove the item via these Sorter references or if it is a Native Drop.
|
|
658
|
+
if (!activeItem) {
|
|
659
|
+
// Then we assume this item was not part of this sorters scope. This is the spot where inserting a new item from dataTransfer could be implemented.
|
|
660
|
+
return false;
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
if (this.hasItem(activeUnique)) {
|
|
664
|
+
return false;
|
|
665
|
+
}
|
|
666
|
+
e.dataTransfer.setData('text/umb-sorter-item-accepted', 'true');
|
|
667
|
+
// Set states:
|
|
668
|
+
_a.activeItem = activeItem;
|
|
669
|
+
_a.activeElement = undefined;
|
|
670
|
+
_a.activeDragElement = undefined;
|
|
671
|
+
_a.dropSorter = this;
|
|
672
|
+
_a.originalIndex = undefined;
|
|
673
|
+
_a.originalSorter = undefined;
|
|
674
|
+
//UmbSorterController.activeSorter = this as unknown as UmbSorterController<unknown>;
|
|
675
|
+
//UmbSorterController.originalSorter = this as unknown as UmbSorterController<unknown>;
|
|
676
|
+
window.addEventListener('mouseup', this.#handleMouseUp);
|
|
677
|
+
window.addEventListener('mouseout', this.#handleMouseUp);
|
|
678
|
+
window.addEventListener('mouseleave', this.#handleMouseUp);
|
|
679
|
+
window.addEventListener('mousemove', this.#handleMouseMove);
|
|
680
|
+
if (!this.#scrollElement) {
|
|
681
|
+
this.#scrollElement = getParentScrollElement(this.#containerElement, true);
|
|
682
|
+
}
|
|
683
|
+
return true;
|
|
684
|
+
}
|
|
685
|
+
}
|
|
686
|
+
return false;
|
|
687
|
+
}
|
|
593
688
|
#itemDraggedOver;
|
|
689
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
690
|
+
#itemDropped;
|
|
594
691
|
#getDraggableElement(element) {
|
|
595
692
|
if (this.#config.draggableSelector) {
|
|
596
693
|
// Concept for enabling getting element within ShadowRoot: (But it might need to be configurable, so its still possible to get light dom element(slotted), despite the host is a web-component with shadow-dom.) [NL]
|
|
@@ -628,6 +725,10 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
628
725
|
return element;
|
|
629
726
|
}
|
|
630
727
|
setupItem(element) {
|
|
728
|
+
if (this.#elements.includes(element)) {
|
|
729
|
+
console.error('Element already setup', element);
|
|
730
|
+
return;
|
|
731
|
+
}
|
|
631
732
|
if (this.#config.ignorerSelector) {
|
|
632
733
|
setupIgnorerElements(element, this.#config.ignorerSelector);
|
|
633
734
|
}
|
|
@@ -690,6 +791,7 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
690
791
|
this.#config.draggableSelector +
|
|
691
792
|
'"');
|
|
692
793
|
}
|
|
794
|
+
//UmbSorterController.activeDragElement?.addEventListener('dragend', this.#handleDragEnd);
|
|
693
795
|
this.#setupPlaceholderStyle();
|
|
694
796
|
}
|
|
695
797
|
#handleHandleMouseDown;
|
|
@@ -704,28 +806,24 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
704
806
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
705
807
|
#handleMouseUp;
|
|
706
808
|
#handleMoveEnd() {
|
|
707
|
-
|
|
708
|
-
|
|
809
|
+
this.#cleanupMove();
|
|
810
|
+
this.#stopAutoScroll();
|
|
811
|
+
this.removeAllowIndication();
|
|
812
|
+
if (_a.activeElement && _a.activeItem) {
|
|
813
|
+
const element = _a.activeElement;
|
|
814
|
+
if (this.#config.onEnd) {
|
|
815
|
+
this.#config.onEnd({
|
|
816
|
+
item: _a.activeItem,
|
|
817
|
+
element: element,
|
|
818
|
+
});
|
|
819
|
+
}
|
|
709
820
|
}
|
|
710
|
-
const element = _a.activeElement;
|
|
711
821
|
if (_a.activeDragElement) {
|
|
712
822
|
_a.activeDragElement.style.transform = '';
|
|
713
823
|
_a.activeDragElement.draggable = false;
|
|
714
824
|
_a.activeDragElement.removeEventListener('dragend', this.#handleDragEnd);
|
|
715
825
|
}
|
|
716
|
-
window.removeEventListener('mouseup', this.#handleMouseUp);
|
|
717
|
-
window.removeEventListener('mouseout', this.#handleMouseUp);
|
|
718
|
-
window.removeEventListener('mouseleave', this.#handleMouseUp);
|
|
719
|
-
window.removeEventListener('mousemove', this.#handleMouseMove);
|
|
720
826
|
this.#removePlaceholderStyle();
|
|
721
|
-
this.#stopAutoScroll();
|
|
722
|
-
this.removeAllowIndication();
|
|
723
|
-
if (this.#config.onEnd) {
|
|
724
|
-
this.#config.onEnd({
|
|
725
|
-
item: _a.activeItem,
|
|
726
|
-
element: element,
|
|
727
|
-
});
|
|
728
|
-
}
|
|
729
827
|
if (_a.rqaId) {
|
|
730
828
|
cancelAnimationFrame(_a.rqaId);
|
|
731
829
|
_a.rqaId = undefined;
|
|
@@ -740,8 +838,17 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
740
838
|
this.#dragX = 0;
|
|
741
839
|
this.#dragY = 0;
|
|
742
840
|
}
|
|
743
|
-
#
|
|
744
|
-
if (
|
|
841
|
+
#cleanupMove() {
|
|
842
|
+
if (this.#containerElement) {
|
|
843
|
+
this.#containerElement.style.minHeight = '';
|
|
844
|
+
}
|
|
845
|
+
window.removeEventListener('mouseup', this.#handleMouseUp);
|
|
846
|
+
window.removeEventListener('mouseout', this.#handleMouseUp);
|
|
847
|
+
window.removeEventListener('mouseleave', this.#handleMouseUp);
|
|
848
|
+
window.removeEventListener('mousemove', this.#handleMouseMove);
|
|
849
|
+
}
|
|
850
|
+
#handleDragMove(event, instant) {
|
|
851
|
+
if (!_a.activeItem) {
|
|
745
852
|
return;
|
|
746
853
|
}
|
|
747
854
|
const clientX = event.touches
|
|
@@ -757,8 +864,12 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
757
864
|
this.#dragX = clientX;
|
|
758
865
|
this.#dragY = clientY;
|
|
759
866
|
this.handleAutoScroll(this.#dragX, this.#dragY);
|
|
760
|
-
|
|
761
|
-
|
|
867
|
+
if (instant) {
|
|
868
|
+
this.#updateDragMove();
|
|
869
|
+
return;
|
|
870
|
+
}
|
|
871
|
+
const activeDragRect = _a.activeDragElement?.getBoundingClientRect();
|
|
872
|
+
const insideCurrentRect = activeDragRect ? isWithinRect(this.#dragX, this.#dragY, activeDragRect) : false;
|
|
762
873
|
if (!insideCurrentRect) {
|
|
763
874
|
if (_a.rqaId === undefined) {
|
|
764
875
|
_a.rqaId = requestAnimationFrame(this.#updateDragMove);
|
|
@@ -798,8 +909,9 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
798
909
|
return null;
|
|
799
910
|
}
|
|
800
911
|
//
|
|
912
|
+
// TODO: Should rename to move item to.. [NL]
|
|
801
913
|
async #moveElementTo(newIndex) {
|
|
802
|
-
if (!_a.
|
|
914
|
+
if (!_a.activeItem) {
|
|
803
915
|
return;
|
|
804
916
|
}
|
|
805
917
|
const requestingSorter = _a.dropSorter;
|
|
@@ -843,10 +955,9 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
843
955
|
return (await this.#config.performItemRemove({ item })) ?? false;
|
|
844
956
|
}
|
|
845
957
|
else {
|
|
846
|
-
const
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
newModel.splice(oldIndex, 1);
|
|
958
|
+
const itemUnique = this.#config.getUniqueOfModel(item);
|
|
959
|
+
const newModel = this.#model.filter((x) => this.#config.getUniqueOfModel(x) !== itemUnique);
|
|
960
|
+
if (this.#model.length !== newModel.length) {
|
|
850
961
|
this.#model = newModel;
|
|
851
962
|
this.#config.onChange?.({ model: newModel, item });
|
|
852
963
|
return true;
|
|
@@ -867,29 +978,73 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
867
978
|
console.error('Failed to retrieve active item unique');
|
|
868
979
|
return false;
|
|
869
980
|
}
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
981
|
+
let item;
|
|
982
|
+
if (fromCtrl) {
|
|
983
|
+
// If we got a fromCtrl, we should use it to get the item, to verify that it holds the model.
|
|
984
|
+
// We use the getItem method to find the current item/object of this entry, as we cannot trust the object instance(activeItem) to be the same as in the model. [NL]
|
|
985
|
+
// So notice, item in this method is the real modal entry reference, where in many other cases we use the activeItem which might not be up to date with the real entry of the model. [NL]
|
|
986
|
+
const foundTheItem = fromCtrl.getItem(itemUnique);
|
|
987
|
+
if (!foundTheItem) {
|
|
988
|
+
console.error('Could not find item of model to move', itemUnique, this.#model);
|
|
989
|
+
return false;
|
|
990
|
+
}
|
|
991
|
+
item = foundTheItem;
|
|
876
992
|
}
|
|
877
|
-
|
|
993
|
+
else {
|
|
994
|
+
item = _a.activeItem; //this.#model.find((x) => this.#config.getUniqueOfModel(x) === itemUnique) as T | undefined;
|
|
995
|
+
if (!item) {
|
|
996
|
+
return false;
|
|
997
|
+
}
|
|
998
|
+
}
|
|
999
|
+
// If we do not have a formCtrl, then it means that we dont know where it comes from, like via native drag across the Sorters awareness.
|
|
1000
|
+
if (this.notifyRequestMove({ item }) === false) {
|
|
878
1001
|
return false;
|
|
879
1002
|
}
|
|
880
|
-
|
|
1003
|
+
let localMove = fromCtrl === this;
|
|
881
1004
|
if (!localMove) {
|
|
882
1005
|
// Not a local move, so we have to switch container to continue:
|
|
883
|
-
if
|
|
884
|
-
|
|
885
|
-
|
|
1006
|
+
// Notice if fromCtrl is not defined this is properly a native drop.
|
|
1007
|
+
if (fromCtrl) {
|
|
1008
|
+
if ((await fromCtrl.removeItem(item)) !== true) {
|
|
1009
|
+
console.error('Sorter could not remove item before moving to a new container');
|
|
1010
|
+
return false;
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
1013
|
+
else if (!fromCtrl) {
|
|
1014
|
+
// Before we react to the external factor, lets see if we already got it in our model.
|
|
1015
|
+
// Remove from the external model.
|
|
1016
|
+
if (!this.#config.requestExternalRemove) {
|
|
1017
|
+
console.error('Sorter needs the requestExternalRemove to be defined, therefor we cannot drop the external item');
|
|
1018
|
+
return false;
|
|
1019
|
+
}
|
|
1020
|
+
_a.activeSorter = this;
|
|
1021
|
+
fromCtrl = this;
|
|
1022
|
+
if ((await this.#config.requestExternalRemove({ item })) !== true) {
|
|
1023
|
+
console.error('Sorter could not remove the item before moving to a new container');
|
|
1024
|
+
return false;
|
|
1025
|
+
}
|
|
1026
|
+
if ((await this.#config.requestExternalInsert?.({ item })) !== true) {
|
|
1027
|
+
console.error('Sorter could not insert the item into the new container');
|
|
1028
|
+
return false;
|
|
1029
|
+
}
|
|
1030
|
+
// This requestExternalInsert ^^ could have updated the model already. if so we should skip ahead to just move the item as a local move.
|
|
1031
|
+
if (this.#model.find((x) => this.#config.getUniqueOfModel(x) === itemUnique)) {
|
|
1032
|
+
localMove = true;
|
|
1033
|
+
}
|
|
886
1034
|
}
|
|
1035
|
+
}
|
|
1036
|
+
if (!localMove) {
|
|
887
1037
|
if (this.#config.performItemInsert) {
|
|
888
1038
|
const result = await this.#config.performItemInsert({ item, newIndex });
|
|
889
1039
|
if (result === false) {
|
|
890
1040
|
console.error('Sync could not insert after a move a new container');
|
|
891
1041
|
return false;
|
|
892
1042
|
}
|
|
1043
|
+
// If everything went well, we can set the new activeSorter (and dropSorter) to this, as we are switching container. [NL]
|
|
1044
|
+
_a.activeSorter = this;
|
|
1045
|
+
_a.dropSorter = this;
|
|
1046
|
+
_a.activeIndex =
|
|
1047
|
+
this.#model.findIndex((x) => this.#config.getUniqueOfModel(x) === itemUnique) ?? 0;
|
|
893
1048
|
}
|
|
894
1049
|
else {
|
|
895
1050
|
const newModel = [...this.#model];
|
|
@@ -910,7 +1065,7 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
910
1065
|
}
|
|
911
1066
|
if (localMove) {
|
|
912
1067
|
// Local move:
|
|
913
|
-
const oldIndex = this.#model.
|
|
1068
|
+
const oldIndex = this.#model.findIndex((x) => this.#config.getUniqueOfModel(x) === itemUnique);
|
|
914
1069
|
if (oldIndex === -1) {
|
|
915
1070
|
console.error('Could not find item in model when performing internal move', this.getHostElement(), this.#model);
|
|
916
1071
|
return false;
|
|
@@ -941,7 +1096,7 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
941
1096
|
_a.lastIndicationSorter.notifyAllowed();
|
|
942
1097
|
}
|
|
943
1098
|
_a.lastIndicationSorter = this;
|
|
944
|
-
if (this.
|
|
1099
|
+
if (this.notifyRequestMove({ item: item }) === true) {
|
|
945
1100
|
this.notifyAllowed();
|
|
946
1101
|
return true;
|
|
947
1102
|
}
|
|
@@ -1019,23 +1174,11 @@ export class UmbSorterController extends UmbControllerBase {
|
|
|
1019
1174
|
});
|
|
1020
1175
|
}
|
|
1021
1176
|
}
|
|
1022
|
-
|
|
1177
|
+
notifyRequestMove(data) {
|
|
1023
1178
|
if (this.#config.onRequestMove) {
|
|
1024
1179
|
return this.#config.onRequestMove(data) || false;
|
|
1025
1180
|
}
|
|
1026
1181
|
return true;
|
|
1027
1182
|
}
|
|
1028
|
-
destroy() {
|
|
1029
|
-
super.destroy();
|
|
1030
|
-
// Do something when host element is destroyed.
|
|
1031
|
-
if (_a.activeElement) {
|
|
1032
|
-
this.#handleDragEnd();
|
|
1033
|
-
}
|
|
1034
|
-
_a.lastIndicationSorter = undefined;
|
|
1035
|
-
// TODO: Clean up items??
|
|
1036
|
-
this.#observer.disconnect();
|
|
1037
|
-
// For auto scroller:
|
|
1038
|
-
this.#scrollElement = null;
|
|
1039
|
-
}
|
|
1040
1183
|
}
|
|
1041
1184
|
_a = UmbSorterController;
|
|
@@ -10,6 +10,7 @@ export declare class UmbTemporaryFileConfigRepository extends UmbRepositoryBase
|
|
|
10
10
|
*/
|
|
11
11
|
initialized: Promise<void>;
|
|
12
12
|
constructor(host: UmbControllerHost);
|
|
13
|
+
requestTemporaryFileConfiguration(): Promise<import("../../backend-api/types.gen.js").TemporaryFileConfigurationResponseModel>;
|
|
13
14
|
/**
|
|
14
15
|
* Subscribe to the entire configuration.
|
|
15
16
|
*/
|
|
@@ -22,11 +22,15 @@ export class UmbTemporaryFileConfigRepository extends UmbRepositoryBase {
|
|
|
22
22
|
if (this.#dataStore?.getState()) {
|
|
23
23
|
return;
|
|
24
24
|
}
|
|
25
|
-
const
|
|
26
|
-
if (
|
|
27
|
-
this.#dataStore?.update(
|
|
25
|
+
const temporaryFileConfig = await this.requestTemporaryFileConfiguration();
|
|
26
|
+
if (temporaryFileConfig) {
|
|
27
|
+
this.#dataStore?.update(temporaryFileConfig);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
+
async requestTemporaryFileConfiguration() {
|
|
31
|
+
const { data } = await this.#dataSource.getConfig();
|
|
32
|
+
return data;
|
|
33
|
+
}
|
|
30
34
|
/**
|
|
31
35
|
* Subscribe to the entire configuration.
|
|
32
36
|
*/
|
|
@@ -9,6 +9,6 @@ export class UmbTemporaryFileConfigServerDataSource {
|
|
|
9
9
|
* Get the temporary file configuration.
|
|
10
10
|
*/
|
|
11
11
|
getConfig() {
|
|
12
|
-
return tryExecute(this.#host, TemporaryFileService.getTemporaryFileConfiguration());
|
|
12
|
+
return tryExecute(this.#host, TemporaryFileService.getTemporaryFileConfiguration(), { disableNotifications: true });
|
|
13
13
|
}
|
|
14
14
|
}
|