From 3da8f41292b7a025471a943afb1a71cfa9f8f85a Mon Sep 17 00:00:00 2001 From: Lee Kelleher Date: Thu, 2 Oct 2025 08:14:55 +0100 Subject: [PATCH] Deprecations: Client-side removal of v17 deprecated code (#20294) * Webhooks: Removal of client-side deprecations for v17 * User: Removal of client-side deprecations for v17 * UFM: Removal of client-side deprecations for v17 * Tiptap: Removal of client-side deprecations for v17 * Templating: Removal of client-side deprecations for v17 * RTE: Removal of client-side deprecations for v17 * Relations: Removal of client-side deprecations for v17 * Search: Removal of client-side deprecations for v17 * Property Editors: Removal of client-side deprecations for v17 * URL Picker: Removal of client-side deprecations for v17 * Members: Removal of client-side deprecations for v17 * Media: Removal of client-side deprecations for v17 * Extension Insights: Removal of client-side deprecations for v17 * Documents: Removal of client-side deprecations for v17 * Media: Removal of client-side deprecations for v17 (part 2) * Data Types: Removal of client-side deprecations for v17 * Core: Removal of client-side deprecations for v17 * Content: Removal of client-side deprecations for v17 * Clipboard: Removal of client-side deprecations for v17 * Blocks: Removal of client-side deprecations for v17 * Mocks: Removal of client-side deprecations for v17 * Libs: Removal of client-side deprecations for v17 * Apps: Removal of client-side deprecations for v17 * DevOps: Removal of client-side deprecations for v17 * Document Publishing Workspace: Removal of client-side deprecations for v17 Refactored to use `UmbDocumentPublishingWorkspaceContext` * Reverted/modified some of my TODO comments * Updated TODO comment * Code cleanup sweep of TODO comments and tweaks * Updated OpenApi.json, re-gen TS client Tried to fix up mock data. * Refactored the document variant name/fields * Implemented co-pilot suggestions --------- Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> --- src/Umbraco.Cms.Api.Management/OpenApi.json | 805 +++++++++++++----- .../umbraco/UmbracoBackOffice/Index.cshtml | 5 +- .../eslint/rules/no-direct-api-import.cjs | 2 +- .../devops/icons/index.js | 6 - .../consume/context-request.event.ts | 5 - .../context-api/provide/context-boundary.ts | 1 - .../localization.controller.ts | 5 +- .../mocks/data/data-type/data-type.data.ts | 8 +- .../document/data/permissions-test.data.ts | 12 - .../src/mocks/data/document/document.data.ts | 33 - .../src/mocks/data/document/document.db.ts | 2 - .../src/mocks/data/media/media.data.ts | 9 - .../src/mocks/data/media/media.db.ts | 2 - .../handlers/document/publishing.handlers.ts | 1 - .../mocks/handlers/media/imaging.handlers.ts | 3 +- .../mocks/handlers/modelsbuilder.handlers.ts | 6 +- .../block-grid-manager.context.ts | 15 +- .../block-grid-area-type-workspace.context.ts | 4 +- .../block-list-manager.context-token.ts | 2 +- .../context/block-list-manager.context.ts | 12 - .../context/block-rte-manager.context.ts | 12 - .../workspace/block-type-workspace.context.ts | 4 +- .../block/context/block-manager.context.ts | 12 - ...a-validation-path-translator.controller.ts | 30 - ...s-validation-path-translator.controller.ts | 26 - .../packages/block/block/validation/index.ts | 2 - .../clipboard/clipboard-entry/types.ts | 13 - .../content/content-type/conditions/types.ts | 5 - .../packages/content/content-type/index.ts | 6 - ...t-type-container-structure-helper.class.ts | 2 +- .../content-type-structure-manager.class.ts | 24 +- .../packages/content/content-type/types.ts | 7 - .../content-type-design-editor.element.ts | 3 +- .../workspace-has-content-collection/types.ts | 5 - .../merge-content-variant-data.controller.ts | 3 +- .../content-property-dataset.context.ts | 7 - .../content-detail-workspace-base.ts | 29 +- .../content/property-type/utils/index.ts | 4 +- .../property-type-workspace.context.ts | 7 +- .../src/packages/core/backend-api/sdk.gen.ts | 109 ++- .../packages/core/backend-api/types.gen.ts | 332 ++++++-- ...ection-bulk-action-permission.condition.ts | 26 - .../core/collection/conditions/constants.ts | 3 - .../core/collection/conditions/index.ts | 1 - .../core/collection/conditions/manifests.ts | 9 +- .../core/collection/conditions/types.ts | 12 +- .../src/packages/core/collection/types.ts | 11 - .../common/trash/constants.ts | 1 - .../entity-bulk-action/common/trash/index.ts | 2 - .../common/trash/manifests.ts | 4 - .../trash/trash-repository.interface.ts | 12 - .../common/trash/trash.action.kind.ts | 23 - .../common/trash/trash.action.ts | 72 -- .../entity-bulk-action/common/trash/types.ts | 3 - .../core/entity-bulk-action/common/types.ts | 1 - .../packages/core/entity-bulk-action/index.ts | 2 - .../core/entity-bulk-action/manifests.ts | 2 - .../extension-registry/conditions/types.ts | 6 - .../core/extension-registry/models/types.ts | 23 - .../core/extension-registry/registry.ts | 5 - .../core/icon-registry/icon.stories.ts | 2 +- .../src/packages/core/icon-registry/icons.ts | 218 ----- .../src/packages/core/icon-registry/types.ts | 4 - .../confirm/confirm-modal.controller.ts | 4 - .../core/picker-input/picker-input.context.ts | 20 +- .../components/property/property.element.ts | 2 + .../property-value-clone.controller.ts | 3 +- .../property-value-resolver.extension.ts | 8 +- .../bulk-trash/bulk-trash.action.kind.ts | 5 +- .../repository/repository-items.manager.ts | 38 +- .../packages/core/sorter/sorter.controller.ts | 11 +- .../src/packages/core/tree/data/types.ts | 8 +- .../context/server-model-validator.context.ts | 7 +- .../validation/context/validation.context.ts | 9 - .../controllers/validation.controller.ts | 45 - .../validation/mixins/form-control.mixin.ts | 6 +- .../core/validation/translators/index.ts | 2 - ...s-validation-path-translator.controller.ts | 22 - ...s-validation-path-translator.controller.ts | 22 - .../packages/core/variant/variant-id.class.ts | 17 - .../workspace-entity-is-new/types.ts | 6 - .../conditions/workspace-entity-type/types.ts | 5 - ...publishable-workspace-context.interface.ts | 4 +- .../entity-detail-workspace-base.ts | 11 +- .../data-type/entity-actions/constants.ts | 1 - .../entity-actions/create/constants.ts | 1 - .../entity-actions/create/manifests.ts | 7 - .../entity-actions/create/modal/constants.ts | 16 - .../data-type-create-options-modal.element.ts | 84 -- .../entity-actions/constants.ts | 1 - .../entity-actions/create/constants.ts | 1 - .../entity-actions/create/create.action.ts | 18 - .../entity-actions/create/modal/constants.ts | 18 - ...ument-type-create-options-modal.element.ts | 139 --- ...document-type-detail.server.data-source.ts | 4 +- .../document-type-item.server.data-source.ts | 4 +- .../document-types/repository/item/types.ts | 4 +- ...document-type-search.server.data-source.ts | 2 +- .../document-type-workspace.context.ts | 10 - ...nt-type-workspace-view-settings.element.ts | 5 +- ...t-type-workspace-view-structure.element.ts | 6 +- ...t-type-workspace-view-templates.element.ts | 3 +- .../document-collection-toolbar.element.ts | 62 -- .../collection/document-collection.element.ts | 1 - .../document-collection.server.data-source.ts | 22 +- .../documents/documents/collection/types.ts | 44 +- .../document-grid-collection-card.element.ts | 170 ++++ .../document-grid-collection-view.element.ts | 90 +- .../documents/collection/views/index.ts | 34 - ...ntity-actions-table-column-view.element.ts | 29 +- .../document-table-column-name.element.ts | 34 +- ...ent-table-column-property-value.element.ts | 89 ++ .../document-table-column-state.element.ts | 69 +- .../document-table-collection-view.element.ts | 15 +- .../input-document/input-document.context.ts | 2 +- .../item/document-item-data-resolver.ts | 75 +- .../item/document-item-ref.element.ts | 6 +- .../document-item.server.data-source.ts | 4 +- .../documents/item/repository/types.ts | 3 +- .../document-publishing.workspace-context.ts | 10 +- .../documents/recycle-bin/constants.ts | 1 - .../entity-action/bulk-trash/constants.ts | 1 - .../entity-action/bulk-trash/index.ts | 1 - .../entity-action/bulk-trash/manifests.ts | 2 - .../bulk-trash/repository/constants.ts | 1 - .../bulk-trash/repository/index.ts | 2 - .../bulk-trash/repository/manifests.ts | 10 - .../bulk-trash/repository/trash.repository.ts | 53 -- .../recycle-bin/entity-action/constants.ts | 1 - .../document-reference-table.element.ts | 160 ---- .../documents/reference/components/index.ts | 1 - .../documents/documents/reference/index.ts | 1 - ...ference-response.management-api.mapping.ts | 21 +- .../documents/documents/reference/types.ts | 20 - .../document-search-result-item.element.ts | 6 +- .../documents/documents/search/types.ts | 2 + .../property-type-modal.element.ts | 2 +- ...-property-value-user-permission.element.ts | 2 +- ...cument-granular-user-permission.element.ts | 1 - .../workspace/document-workspace.context.ts | 87 +- .../document-workspace-view-info.element.ts | 4 +- .../extension-collection.element.ts | 1 - .../media-types/entity-actions/constants.ts | 1 - .../entity-actions/create/constants.ts | 1 - .../entity-actions/create/manifests.ts | 8 - .../entity-actions/create/modal/constants.ts | 16 - ...media-type-create-options-modal.element.ts | 89 -- .../media-type-detail.server.data-source.ts | 4 +- .../workspace/media-type-workspace.context.ts | 10 - ...a-type-workspace-view-structure.element.ts | 4 +- .../media-collection-toolbar.element.ts | 62 -- .../collection/media-collection.context.ts | 6 - .../collection/media-collection.element.ts | 1 - .../media-table-collection-view.element.ts | 6 +- .../input-rich-media.element.ts | 19 - .../media/media/property-editors/types.ts | 6 - .../media/media/recycle-bin/constants.ts | 1 - .../entity-action/bulk-trash/constants.ts | 1 - .../entity-action/bulk-trash/index.ts | 1 - .../entity-action/bulk-trash/manifests.ts | 3 +- .../bulk-trash/repository/constants.ts | 1 - .../bulk-trash/repository/index.ts | 1 - .../bulk-trash/repository/manifests.ts | 10 - .../bulk-trash/repository/trash.repository.ts | 53 -- .../recycle-bin/entity-action/constants.ts | 1 - .../repository/item/media-item.repository.ts | 18 - .../item/media-item.server.data-source.ts | 22 - .../modal/public-access-modal.element.ts | 2 +- .../member-type-detail.server.data-source.ts | 4 +- .../member-type-workspace.context.ts | 23 - .../collection/member-collection.element.ts | 1 - .../members/member/item/repository/types.ts | 9 - .../models-builder-dashboard.element.ts | 12 +- .../input-multi-url.element.ts | 22 +- .../bulk-action-permissions/manifests.ts | 14 - .../permissions.element.ts | 117 --- .../permissions.stories.ts | 14 - .../permissions.test.ts | 23 - .../property-editors/collection/manifests.ts | 2 - ...ut-content-picker-document-root.element.ts | 3 +- .../packages/property-editors/slider/types.ts | 5 - .../relation-type-collection.element.ts | 1 - .../src/packages/rte/types.ts | 6 - .../views/section-view-examine-overview.ts | 4 +- .../search-modal/search-modal.element.ts | 3 +- .../workspace/stylesheet-workspace.context.ts | 12 - .../toolbar/tiptap-toolbar-menu.element.ts | 6 +- .../style-select.tiptap-toolbar-api.ts | 4 - .../components/table-column-menu.element.ts | 52 -- .../components/table-row-menu.element.ts | 52 -- .../extensions/tiptap-toolbar.extension.ts | 6 - .../packages/tiptap/property-editors/types.ts | 3 - .../src/packages/tiptap/types.ts | 9 - .../content-name/content-name.component.ts | 8 - .../content-name/content-name.element.ts | 10 +- .../ufm/components/link/link.element.ts | 3 +- .../src/packages/ufm/components/manifests.ts | 2 +- .../user-group-collection-header.element.ts | 63 -- .../user-group-collection.element.ts | 2 - ...ser-group-table-collection-view.element.ts | 8 +- ...ty-user-permission-settings-modal.token.ts | 7 - .../collection/user-collection.element.ts | 1 - .../detail/webhook-detail.repository.ts | 25 - 203 files changed, 1506 insertions(+), 3117 deletions(-) delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/block/block/validation/block-element-data-validation-path-translator.controller.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/block/block/validation/block-element-values-validation-path-translator.controller.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/collection-bulk-action-permission.condition.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/constants.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/index.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/manifests.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/trash-repository.interface.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/trash.action.kind.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/trash.action.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/types.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/validation/translators/variant-values-validation-path-translator.controller.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/validation/translators/variants-validation-path-translator.controller.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/create/constants.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/create/modal/constants.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/create/modal/data-type-create-options-modal.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/constants.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/create.action.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/modal/constants.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/modal/document-type-create-options-modal.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/document-collection-toolbar.element.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/grid/document-grid-collection-card.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/index.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/column-layouts/document-table-column-property-value.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/constants.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/index.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/repository/constants.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/repository/index.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/repository/manifests.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/repository/trash.repository.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/constants.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/components/document-reference-table.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/components/index.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/create/constants.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/create/modal/constants.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/create/modal/media-type-create-options-modal.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/media/media/collection/media-collection-toolbar.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/constants.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/index.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/repository/constants.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/repository/index.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/repository/manifests.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/repository/trash.repository.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/constants.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/config/bulk-action-permissions/manifests.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/config/bulk-action-permissions/permissions.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/config/bulk-action-permissions/permissions.stories.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/config/bulk-action-permissions/permissions.test.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/style-select/style-select.tiptap-toolbar-api.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/table/components/table-column-menu.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/table/components/table-row-menu.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/user/user-group/collection/user-group-collection-header.element.ts diff --git a/src/Umbraco.Cms.Api.Management/OpenApi.json b/src/Umbraco.Cms.Api.Management/OpenApi.json index e0dff28806..93c1042924 100644 --- a/src/Umbraco.Cms.Api.Management/OpenApi.json +++ b/src/Umbraco.Cms.Api.Management/OpenApi.json @@ -880,70 +880,6 @@ ] } }, - "/umbraco/management/api/v1/data-type/{id}/references": { - "get": { - "tags": [ - "Data Type" - ], - "operationId": "GetDataTypeByIdReferences", - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/DataTypeReferenceResponseModel" - } - ] - } - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/ProblemDetails" - } - ] - } - } - } - }, - "401": { - "description": "The resource is protected and requires an authentication token" - }, - "403": { - "description": "The authenticated user does not have access to this resource" - } - }, - "deprecated": true, - "security": [ - { - "Backoffice-User": [ ] - } - ] - } - }, "/umbraco/management/api/v1/data-type/configuration": { "get": { "tags": [ @@ -11098,6 +11034,75 @@ ] } }, + "/umbraco/management/api/v1/recycle-bin/document/siblings": { + "get": { + "tags": [ + "Document" + ], + "operationId": "GetRecycleBinDocumentSiblings", + "parameters": [ + { + "name": "target", + "in": "query", + "schema": { + "type": "string", + "format": "uuid" + } + }, + { + "name": "before", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "after", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "dataTypeId", + "in": "query", + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/SubsetDocumentRecycleBinItemResponseModel" + } + ] + } + } + } + }, + "401": { + "description": "The resource is protected and requires an authentication token" + }, + "403": { + "description": "The authenticated user does not have access to this resource" + } + }, + "security": [ + { + "Backoffice-User": [ ] + } + ] + } + }, "/umbraco/management/api/v1/tree/document/ancestors": { "get": { "tags": [ @@ -18458,6 +18463,75 @@ ] } }, + "/umbraco/management/api/v1/recycle-bin/media/siblings": { + "get": { + "tags": [ + "Media" + ], + "operationId": "GetRecycleBinMediaSiblings", + "parameters": [ + { + "name": "target", + "in": "query", + "schema": { + "type": "string", + "format": "uuid" + } + }, + { + "name": "before", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "after", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "dataTypeId", + "in": "query", + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/SubsetMediaRecycleBinItemResponseModel" + } + ] + } + } + } + }, + "401": { + "description": "The resource is protected and requires an authentication token" + }, + "403": { + "description": "The authenticated user does not have access to this resource" + } + }, + "security": [ + { + "Backoffice-User": [ ] + } + ] + } + }, "/umbraco/management/api/v1/tree/media/ancestors": { "get": { "tags": [ @@ -20207,6 +20281,67 @@ ] } }, + "/umbraco/management/api/v1/tree/member-type/siblings": { + "get": { + "tags": [ + "Member Type" + ], + "operationId": "GetTreeMemberTypeSiblings", + "parameters": [ + { + "name": "target", + "in": "query", + "schema": { + "type": "string", + "format": "uuid" + } + }, + { + "name": "before", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "after", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/SubsetMemberTypeTreeItemResponseModel" + } + ] + } + } + } + }, + "401": { + "description": "The resource is protected and requires an authentication token" + }, + "403": { + "description": "The authenticated user does not have access to this resource" + } + }, + "security": [ + { + "Backoffice-User": [ ] + } + ] + } + }, "/umbraco/management/api/v1/filter/member": { "get": { "tags": [ @@ -23625,6 +23760,66 @@ ] } }, + "/umbraco/management/api/v1/tree/partial-view/siblings": { + "get": { + "tags": [ + "Partial View" + ], + "operationId": "GetTreePartialViewSiblings", + "parameters": [ + { + "name": "path", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "before", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "after", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/SubsetFileSystemTreeItemPresentationModel" + } + ] + } + } + } + }, + "401": { + "description": "The resource is protected and requires an authentication token" + }, + "403": { + "description": "The authenticated user does not have access to this resource" + } + }, + "security": [ + { + "Backoffice-User": [ ] + } + ] + } + }, "/umbraco/management/api/v1/preview": { "delete": { "tags": [ @@ -25615,6 +25810,66 @@ ] } }, + "/umbraco/management/api/v1/tree/script/siblings": { + "get": { + "tags": [ + "Script" + ], + "operationId": "GetTreeScriptSiblings", + "parameters": [ + { + "name": "path", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "before", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "after", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/SubsetFileSystemTreeItemPresentationModel" + } + ] + } + } + } + }, + "401": { + "description": "The resource is protected and requires an authentication token" + }, + "403": { + "description": "The authenticated user does not have access to this resource" + } + }, + "security": [ + { + "Backoffice-User": [ ] + } + ] + } + }, "/umbraco/management/api/v1/searcher": { "get": { "tags": [ @@ -27701,6 +27956,66 @@ ] } }, + "/umbraco/management/api/v1/tree/stylesheet/siblings": { + "get": { + "tags": [ + "Stylesheet" + ], + "operationId": "GetTreeStylesheetSiblings", + "parameters": [ + { + "name": "path", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "before", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "after", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/SubsetFileSystemTreeItemPresentationModel" + } + ] + } + } + } + }, + "401": { + "description": "The resource is protected and requires an authentication token" + }, + "403": { + "description": "The authenticated user does not have access to this resource" + } + }, + "security": [ + { + "Backoffice-User": [ ] + } + ] + } + }, "/umbraco/management/api/v1/tag": { "get": { "tags": [ @@ -29711,6 +30026,92 @@ "Backoffice-User": [ ] } ] + }, + "delete": { + "tags": [ + "User Data" + ], + "operationId": "DeleteUserDataById", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Umb-Notifications": { + "description": "The list of notifications produced during the request.", + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationHeaderModel" + }, + "nullable": true + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "Umb-Notifications": { + "description": "The list of notifications produced during the request.", + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationHeaderModel" + }, + "nullable": true + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserDataOperationStatusModel" + } + } + } + }, + "404": { + "description": "Not Found", + "headers": { + "Umb-Notifications": { + "description": "The list of notifications produced during the request.", + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationHeaderModel" + }, + "nullable": true + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserDataOperationStatusModel" + } + } + } + }, + "401": { + "description": "The resource is protected and requires an authentication token" + } + }, + "security": [ + { + "Backoffice-User": [ ] + } + ] } }, "/umbraco/management/api/v1/filter/user-group": { @@ -36857,9 +37258,6 @@ { "$ref": "#/components/schemas/DocumentPropertyValuePermissionPresentationModel" }, - { - "$ref": "#/components/schemas/DocumentTypePermissionPresentationModel" - }, { "$ref": "#/components/schemas/UnknownTypePermissionPresentationModel" } @@ -37146,9 +37544,6 @@ { "$ref": "#/components/schemas/DocumentPropertyValuePermissionPresentationModel" }, - { - "$ref": "#/components/schemas/DocumentTypePermissionPresentationModel" - }, { "$ref": "#/components/schemas/UnknownTypePermissionPresentationModel" } @@ -37176,34 +37571,6 @@ ], "type": "string" }, - "DataTypeContentTypeReferenceModel": { - "required": [ - "icon", - "id", - "name", - "type" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uuid" - }, - "type": { - "type": "string", - "nullable": true - }, - "name": { - "type": "string", - "nullable": true - }, - "icon": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - }, "DataTypeItemResponseModel": { "required": [ "editorAlias", @@ -37259,49 +37626,6 @@ }, "additionalProperties": false }, - "DataTypePropertyReferenceModel": { - "required": [ - "alias", - "name" - ], - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "alias": { - "type": "string" - } - }, - "additionalProperties": false - }, - "DataTypeReferenceResponseModel": { - "required": [ - "contentType", - "properties" - ], - "type": "object", - "properties": { - "contentType": { - "oneOf": [ - { - "$ref": "#/components/schemas/DataTypeContentTypeReferenceModel" - } - ] - }, - "properties": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/DataTypePropertyReferenceModel" - } - ] - } - } - }, - "additionalProperties": false - }, "DataTypeResponseModel": { "required": [ "canIgnoreStartNodes", @@ -38254,7 +38578,6 @@ "flags", "id", "isTrashed", - "urls", "values", "variants" ], @@ -38301,17 +38624,6 @@ } ] }, - "urls": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/DocumentUrlInfoModel" - } - ] - }, - "deprecated": true - }, "template": { "oneOf": [ { @@ -38629,36 +38941,6 @@ }, "additionalProperties": false }, - "DocumentTypePermissionPresentationModel": { - "required": [ - "$type", - "documentTypeAlias", - "verbs" - ], - "type": "object", - "properties": { - "$type": { - "type": "string" - }, - "verbs": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - }, - "documentTypeAlias": { - "type": "string" - } - }, - "additionalProperties": false, - "discriminator": { - "propertyName": "$type", - "mapping": { - "DocumentTypePermissionPresentationModel": "#/components/schemas/DocumentTypePermissionPresentationModel" - } - } - }, "DocumentTypePropertyTypeContainerResponseModel": { "required": [ "id", @@ -40607,7 +40889,6 @@ "id", "isTrashed", "mediaType", - "urls", "values", "variants" ], @@ -40647,17 +40928,6 @@ ] } }, - "urls": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/MediaUrlInfoModel" - } - ] - }, - "deprecated": true - }, "isTrashed": { "type": "boolean" }, @@ -42191,7 +42461,7 @@ "type": "object", "properties": { "mode": { - "$ref": "#/components/schemas/ModelsModeModel" + "type": "string" }, "canGenerate": { "type": "boolean" @@ -42217,15 +42487,6 @@ }, "additionalProperties": false }, - "ModelsModeModel": { - "enum": [ - "Nothing", - "InMemoryAuto", - "SourceCodeManual", - "SourceCodeAuto" - ], - "type": "string" - }, "MoveDataTypeRequestModel": { "type": "object", "properties": { @@ -44422,7 +44683,6 @@ "flags", "id", "isTrashed", - "urls", "values", "variants" ], @@ -44469,17 +44729,6 @@ } ] }, - "urls": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/DocumentUrlInfoModel" - } - ] - }, - "deprecated": true - }, "template": { "oneOf": [ { @@ -45374,6 +45623,35 @@ }, "additionalProperties": false }, + "SubsetDocumentRecycleBinItemResponseModel": { + "required": [ + "items", + "totalAfter", + "totalBefore" + ], + "type": "object", + "properties": { + "totalBefore": { + "type": "integer", + "format": "int64" + }, + "totalAfter": { + "type": "integer", + "format": "int64" + }, + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/DocumentRecycleBinItemResponseModel" + } + ] + } + } + }, + "additionalProperties": false + }, "SubsetDocumentTreeItemResponseModel": { "required": [ "items", @@ -45432,6 +45710,64 @@ }, "additionalProperties": false }, + "SubsetFileSystemTreeItemPresentationModel": { + "required": [ + "items", + "totalAfter", + "totalBefore" + ], + "type": "object", + "properties": { + "totalBefore": { + "type": "integer", + "format": "int64" + }, + "totalAfter": { + "type": "integer", + "format": "int64" + }, + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/FileSystemTreeItemPresentationModel" + } + ] + } + } + }, + "additionalProperties": false + }, + "SubsetMediaRecycleBinItemResponseModel": { + "required": [ + "items", + "totalAfter", + "totalBefore" + ], + "type": "object", + "properties": { + "totalBefore": { + "type": "integer", + "format": "int64" + }, + "totalAfter": { + "type": "integer", + "format": "int64" + }, + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/MediaRecycleBinItemResponseModel" + } + ] + } + } + }, + "additionalProperties": false + }, "SubsetMediaTreeItemResponseModel": { "required": [ "items", @@ -45490,6 +45826,35 @@ }, "additionalProperties": false }, + "SubsetMemberTypeTreeItemResponseModel": { + "required": [ + "items", + "totalAfter", + "totalBefore" + ], + "type": "object", + "properties": { + "totalBefore": { + "type": "integer", + "format": "int64" + }, + "totalAfter": { + "type": "integer", + "format": "int64" + }, + "items": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/MemberTypeTreeItemResponseModel" + } + ] + } + } + }, + "additionalProperties": false + }, "SubsetNamedEntityTreeItemResponseModel": { "required": [ "items", @@ -47268,9 +47633,6 @@ { "$ref": "#/components/schemas/DocumentPropertyValuePermissionPresentationModel" }, - { - "$ref": "#/components/schemas/DocumentTypePermissionPresentationModel" - }, { "$ref": "#/components/schemas/UnknownTypePermissionPresentationModel" } @@ -47708,9 +48070,6 @@ { "$ref": "#/components/schemas/DocumentPropertyValuePermissionPresentationModel" }, - { - "$ref": "#/components/schemas/DocumentTypePermissionPresentationModel" - }, { "$ref": "#/components/schemas/UnknownTypePermissionPresentationModel" } diff --git a/src/Umbraco.Cms.StaticAssets/umbraco/UmbracoBackOffice/Index.cshtml b/src/Umbraco.Cms.StaticAssets/umbraco/UmbracoBackOffice/Index.cshtml index 3ef3d0999b..4f8600ae73 100644 --- a/src/Umbraco.Cms.StaticAssets/umbraco/UmbracoBackOffice/Index.cshtml +++ b/src/Umbraco.Cms.StaticAssets/umbraco/UmbracoBackOffice/Index.cshtml @@ -12,15 +12,12 @@ @inject IJsonSerializer JsonSerializer @inject IProfilerHtml ProfilerHtml @inject IOptions GlobalSettings - @{ bool.TryParse(Context.Request.Query["umbDebug"], out var isDebug); var backOfficePath = BackOfficePathGenerator.BackOfficePath; var backOfficeAssetsPath = BackOfficePathGenerator.BackOfficeAssetsPath; var loginLogoImageAlternative = Url.RouteUrl(BackOfficeGraphicsController.LoginLogoAlternativeRouteName, new {Version= "1"}); -} - - +} diff --git a/src/Umbraco.Web.UI.Client/devops/eslint/rules/no-direct-api-import.cjs b/src/Umbraco.Web.UI.Client/devops/eslint/rules/no-direct-api-import.cjs index bd0b06de69..de895f3e07 100644 --- a/src/Umbraco.Web.UI.Client/devops/eslint/rules/no-direct-api-import.cjs +++ b/src/Umbraco.Web.UI.Client/devops/eslint/rules/no-direct-api-import.cjs @@ -3,7 +3,7 @@ module.exports = { meta: { docs: { description: - 'Ensures that any API resources from the `@umbraco-cms/backoffice/external/backend-api` module are not used directly. Instead you should use the `tryExecuteAndNotify` function from the `@umbraco-cms/backoffice/resources` module.', + 'Ensures that any API resources from the `@umbraco-cms/backoffice/external/backend-api` module are not used directly. Instead you should use the `tryExecute` function from the `@umbraco-cms/backoffice/resources` module.', category: 'Best Practices', recommended: true, }, diff --git a/src/Umbraco.Web.UI.Client/devops/icons/index.js b/src/Umbraco.Web.UI.Client/devops/icons/index.js index 811e031200..ecf10d0a77 100644 --- a/src/Umbraco.Web.UI.Client/devops/icons/index.js +++ b/src/Umbraco.Web.UI.Client/devops/icons/index.js @@ -52,7 +52,6 @@ const collectDictionaryIcons = async () => { const icon = { name: iconDef.name, - legacy: iconDef.legacy, // TODO: Deprecated, remove in v.17. hidden: iconDef.legacy ?? iconDef.internal, fileName: iconFileName, svg, @@ -147,10 +146,8 @@ const collectDiskIcons = async (icons) => { // Only append not already defined icons: if (!icons.find((x) => x.name === iconName)) { - // remove legacy for v.17 (Deprecated) const icon = { name: iconName, - legacy: true, hidden: true, fileName: iconFileName, svg, @@ -184,11 +181,8 @@ const generateJS = (icons) => { const JSPath = `${moduleDirectory}/icons.ts`; const iconDescriptors = icons.map((icon) => { - // remove legacy for v.17 (Deprecated) - // Notice how legacy also makes an icon hidden. Legacy will be removed in v.17, but still used in the dictionary for legacy icons. But outward they are both hidden. [NL] return `{ name: "${icon.name}", - ${icon.legacy ? 'legacy: true,' : ''} ${icon.hidden || icon.legacy ? 'hidden: true,' : ''} path: () => import("./icons/${icon.fileName}.js"), }` diff --git a/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-request.event.ts b/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-request.event.ts index b22f4fda8b..8fce976b5d 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-request.event.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-request.event.ts @@ -1,9 +1,4 @@ export const UMB_CONTEXT_REQUEST_EVENT_TYPE = 'umb:context-request'; -/** - * @deprecated use UMB_CONTEXT_REQUEST_EVENT_TYPE - * This will be removed in Umbraco 17 - */ -export const UMB_CONTENT_REQUEST_EVENT_TYPE = UMB_CONTEXT_REQUEST_EVENT_TYPE; export const UMB_DEBUG_CONTEXT_EVENT_TYPE = 'umb:debug-contexts'; export type UmbContextCallback = (instance: T | undefined) => void; diff --git a/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-boundary.ts b/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-boundary.ts index 56244997c6..e8ff41d067 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-boundary.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-boundary.ts @@ -45,7 +45,6 @@ export class UmbContextBoundary { * @memberof UmbContextBoundary */ public hostConnected(): void { - //this.hostElement.addEventListener(UMB_CONTENT_REQUEST_EVENT_TYPE, this.#handleContextRequest); this.#eventTarget.dispatchEvent(new UmbContextProvideEventImplementation(this.#contextAlias)); } diff --git a/src/Umbraco.Web.UI.Client/src/libs/localization-api/localization.controller.ts b/src/Umbraco.Web.UI.Client/src/libs/localization-api/localization.controller.ts index 018ffe8921..97cc518e61 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/localization-api/localization.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/localization-api/localization.controller.ts @@ -241,16 +241,15 @@ export class UmbLocalizationController = [ isFolder: false, isDeletable: true, canIgnoreStartNodes: false, - signs: [], + flags: [], values: [], }, { @@ -1285,7 +1285,7 @@ export const data: Array = [ isFolder: false, isDeletable: true, canIgnoreStartNodes: false, - signs: [], + flags: [], values: [], }, { @@ -1298,7 +1298,7 @@ export const data: Array = [ isFolder: false, isDeletable: true, canIgnoreStartNodes: false, - signs: [], + flags: [], values: [], }, { @@ -1311,7 +1311,7 @@ export const data: Array = [ isFolder: false, isDeletable: true, canIgnoreStartNodes: false, - signs: [], + flags: [], values: [ { alias: 'timeZones', diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/document/data/permissions-test.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/document/data/permissions-test.data.ts index fb6bc5b672..5bb1d07ec6 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/document/data/permissions-test.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/document/data/permissions-test.data.ts @@ -46,12 +46,6 @@ export const data: Array = [ hasChildren: false, id: 'permissions-1-document-id', parent: { id: 'permissions-document-id' }, - urls: [ - { - culture: null, - url: '/permission-1', - }, - ], variants: permissionsTestDocument.variants.map((variant) => ({ ...variant, name: 'Permissions 1', @@ -65,12 +59,6 @@ export const data: Array = [ hasChildren: true, id: 'permissions-2-document-id', parent: { id: 'permissions-document-id' }, - urls: [ - { - culture: null, - url: '/permissions-2', - }, - ], variants: permissionsTestDocument.variants.map((variant) => ({ ...variant, name: 'Permissions 2', diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/document/document.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/document/document.data.ts index ae1337b231..c793e56431 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/document/document.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/document/document.data.ts @@ -11,7 +11,6 @@ export type UmbMockDocumentModel = DocumentResponseModel & DocumentTreeItemRespo export const data: Array = [ { ancestors: [], - urls: [], template: null, id: 'the-simplest-document-id', createDate: '2023-02-06T15:32:05.350038', @@ -50,12 +49,6 @@ export const data: Array = [ }, { ancestors: [], - urls: [ - { - culture: 'en-US', - url: '/', - }, - ], template: null, id: 'all-property-editors-document-id', createDate: '2023-02-06T15:32:05.350038', @@ -677,12 +670,6 @@ export const data: Array = [ }, { ancestors: [], - urls: [ - { - culture: 'en-US', - url: '/', - }, - ], template: null, id: 'c05da24d-7740-447b-9cdc-bd8ce2172e38', createDate: '2023-02-06T15:32:05.350038', @@ -828,7 +815,6 @@ export const data: Array = [ }, { ancestors: [], - urls: [], template: null, id: 'fd56a0b5-01a0-4da2-b428-52773bfa9cc4', createDate: '2023-02-06T15:32:05.350038', @@ -916,12 +902,6 @@ export const data: Array = [ }, { ancestors: [], - urls: [ - { - culture: 'en-US', - url: '/', - }, - ], template: null, id: 'simple-document-id', createDate: '2023-02-06T15:32:05.350038', @@ -968,12 +948,6 @@ export const data: Array = [ }, { ancestors: [], - urls: [ - { - culture: 'en-US', - url: '/', - }, - ], template: null, id: 'all-rtes-id', createDate: '2023-02-06T15:32:05.350038', @@ -1038,12 +1012,6 @@ export const data: Array = [ }, { ancestors: [], - urls: [ - { - culture: 'en-US', - url: '/', - }, - ], template: null, id: 'block-editors-document-id', createDate: '2023-02-06T15:32:05.350038', @@ -1308,7 +1276,6 @@ export const data: Array = [ }, { ancestors: [], - urls: [], template: null, id: 'forbidden', createDate: '2023-02-06T15:32:05.350038', diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/document/document.db.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/document/document.db.ts index 8223b6d7b9..9d9cd122ef 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/document/document.db.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/document/document.db.ts @@ -123,7 +123,6 @@ const createMockDocumentMapper = (request: CreateDocumentRequestModel): UmbMockD flags: [], }; }), - urls: [], flags: [], }; }; @@ -134,7 +133,6 @@ const detailResponseMapper = (model: UmbMockDocumentModel): DocumentResponseMode id: model.id, isTrashed: model.isTrashed, template: model.template, - urls: model.urls, values: model.values, variants: model.variants, flags: model.flags, diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/media/media.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/media/media.data.ts index 8d4f41a2df..6b8519e6d1 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/media/media.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/media/media.data.ts @@ -42,7 +42,6 @@ export const data: Array = [ updateDate: '2023-02-06T15:31:51.354764', }, ], - urls: [], flags: [], }, { @@ -73,7 +72,6 @@ export const data: Array = [ updateDate: '2023-02-06T15:31:51.354764', }, ], - urls: [], flags: [], }, { @@ -99,7 +97,6 @@ export const data: Array = [ updateDate: '2023-02-06T15:31:51.354764', }, ], - urls: [], flags: [], }, { @@ -125,7 +122,6 @@ export const data: Array = [ updateDate: '2023-02-06T15:31:51.354764', }, ], - urls: [], flags: [], }, { @@ -156,7 +152,6 @@ export const data: Array = [ updateDate: '2023-02-06T15:31:51.354764', }, ], - urls: [], flags: [], }, { @@ -187,7 +182,6 @@ export const data: Array = [ updateDate: '2023-02-06T15:31:51.354764', }, ], - urls: [], flags: [], }, { @@ -218,7 +212,6 @@ export const data: Array = [ updateDate: '2023-02-06T15:31:51.354764', }, ], - urls: [], flags: [], }, { @@ -249,7 +242,6 @@ export const data: Array = [ updateDate: '2023-02-06T15:31:51.354764', }, ], - urls: [], flags: [], }, { @@ -282,7 +274,6 @@ export const data: Array = [ updateDate: '2023-02-06T15:31:51.354764', }, ], - urls: [], flags: [], }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/media/media.db.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/media/media.db.ts index 7310663712..1d1bb133d5 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/media/media.db.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/media/media.db.ts @@ -80,7 +80,6 @@ const createMockMediaMapper = (request: CreateMediaRequestModel): UmbMockMediaMo publishDate: null, }; }), - urls: [], flags: [], }; }; @@ -90,7 +89,6 @@ const detailResponseMapper = (model: UmbMockMediaModel): MediaResponseModel => { mediaType: model.mediaType, id: model.id, isTrashed: model.isTrashed, - urls: model.urls, values: model.values, variants: model.variants, flags: model.flags, diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/document/publishing.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/document/publishing.handlers.ts index 4966bf9a71..10a0e5b8c7 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/document/publishing.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/document/publishing.handlers.ts @@ -90,7 +90,6 @@ export const publishingHandlers = [ documentType: document.documentType, id: document.id, isTrashed: document.isTrashed, - urls: document.urls, values: document.values, variants: document.variants, template: document.template, diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/media/imaging.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/media/imaging.handlers.ts index 79ed72a98e..4f3b73d33c 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/media/imaging.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/media/imaging.handlers.ts @@ -12,7 +12,8 @@ export const imagingHandlers = [ const response: GetImagingResizeUrlsResponse = media.map((item) => ({ id: item.id, - urlInfos: item.urls, + // TODO: Figure out where to populate the `urlInfos` array, as the server's `MediaResponseModel` removed the deprecated `urls` property. [LK] + urlInfos: [], // item.urls, })); return res( diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/modelsbuilder.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/modelsbuilder.handlers.ts index a4a4e5157d..334c767e26 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/modelsbuilder.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/modelsbuilder.handlers.ts @@ -5,7 +5,7 @@ import type { ModelsBuilderResponseModel, OutOfDateStatusResponseModel, } from '@umbraco-cms/backoffice/external/backend-api'; -import { ModelsModeModel, OutOfDateTypeModel } from '@umbraco-cms/backoffice/external/backend-api'; +import { OutOfDateTypeModel } from '@umbraco-cms/backoffice/external/backend-api'; export const handlers = [ rest.post(umbracoPath('/models-builder/build'), async (_req, res, ctx) => { @@ -35,7 +35,7 @@ export const handlers = [ // Mock Data for now const modelBeforeBuild: ModelsBuilderResponseModel = { - mode: ModelsModeModel.IN_MEMORY_AUTO, + mode: 'InMemoryAuto', canGenerate: true, outOfDateModels: true, lastError: `[plugin:vite:import-analysis] Missing "./directives/unsafe-html.js" export in "lit" package @@ -56,7 +56,7 @@ at async TransformContext.transform (file:///C:/Users/Umbraco/Documents/Umbraco. }; const modelAfterBuild: ModelsBuilderResponseModel = { - mode: ModelsModeModel.IN_MEMORY_AUTO, + mode: 'InMemoryAuto', canGenerate: true, outOfDateModels: false, lastError: '', diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/block-grid-manager/block-grid-manager.context.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/block-grid-manager/block-grid-manager.context.ts index 4ed978fc11..7f25db8bf5 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/block-grid-manager/block-grid-manager.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/block-grid-manager/block-grid-manager.context.ts @@ -94,21 +94,8 @@ export class UmbBlockGridManagerContext< /** * @param contentElementTypeKey * @param partialLayoutEntry - * @param _originData - * @deprecated Use createWithPresets instead. Will be removed in v.17. + * @param originData */ - create( - // eslint-disable-next-line @typescript-eslint/no-unused-vars - contentElementTypeKey: string, - // eslint-disable-next-line @typescript-eslint/no-unused-vars - partialLayoutEntry?: Omit, - // This property is used by some implementations, but not used in this. Do not remove. [NL] - // eslint-disable-next-line @typescript-eslint/no-unused-vars - _originData?: UmbBlockGridWorkspaceOriginData, - ): never { - throw new Error('Method deparecated use createWithPresets'); - } - async createWithPresets( contentElementTypeKey: string, partialLayoutEntry?: Omit, diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-area-config-entry/workspace/block-grid-area-type-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-area-config-entry/workspace/block-grid-area-type-workspace.context.ts index fd4f1cdb50..bd55f7fe71 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-area-config-entry/workspace/block-grid-area-type-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/components/block-grid-area-config-entry/workspace/block-grid-area-type-workspace.context.ts @@ -136,10 +136,8 @@ export class UmbBlockGridAreaTypeWorkspaceContext return this.#data.getValue()?.alias; } - // TODO: [v15] ignoring unused name parameter to avoid breaking changes - // eslint-disable-next-line @typescript-eslint/no-unused-vars setName(name: string | undefined) { - throw new Error('You cannot set a name of a area-type.'); + throw new Error(`You cannot set a name of an area-type to "${name}".`); } /** diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-list/context/block-list-manager.context-token.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-list/context/block-list-manager.context-token.ts index 43f4621c9f..5e1c38addc 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block-list/context/block-list-manager.context-token.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-list/context/block-list-manager.context-token.ts @@ -1,7 +1,7 @@ import type { UmbBlockListManagerContext } from './block-list-manager.context.js'; import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; -// TODO: Make discriminator method for this: (Aim to do this for v.16) +// TODO: Make discriminator method for this: (Aim to do this for v.16) [NL] export const UMB_BLOCK_LIST_MANAGER_CONTEXT = new UmbContextToken< UmbBlockListManagerContext, UmbBlockListManagerContext diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-list/context/block-list-manager.context.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-list/context/block-list-manager.context.ts index 1f9b8da98f..6670faf5b9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block-list/context/block-list-manager.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-list/context/block-list-manager.context.ts @@ -25,19 +25,7 @@ export class UmbBlockListManagerContext< * @param contentElementTypeKey * @param partialLayoutEntry * @param _originData - * @deprecated Use createWithPresets instead. Will be removed in v.17. */ - create( - // eslint-disable-next-line @typescript-eslint/no-unused-vars - contentElementTypeKey: string, - // eslint-disable-next-line @typescript-eslint/no-unused-vars - partialLayoutEntry?: Omit, - // This property is used by some implementations, but not used in this. Do not remove. [NL] - // eslint-disable-next-line @typescript-eslint/no-unused-vars - _originData?: UmbBlockListWorkspaceOriginData, - ): never { - throw new Error('Method deparecated use createWithPresets'); - } async createWithPresets( contentElementTypeKey: string, partialLayoutEntry?: Omit, diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-rte/context/block-rte-manager.context.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-rte/context/block-rte-manager.context.ts index c18d7b9b7c..a016017a81 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block-rte/context/block-rte-manager.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-rte/context/block-rte-manager.context.ts @@ -22,19 +22,7 @@ export class UmbBlockRteManagerContext< * @param contentElementTypeKey * @param partialLayoutEntry * @param _originData - * @deprecated Use createWithPresets instead. Will be removed in v.17. */ - create( - // eslint-disable-next-line @typescript-eslint/no-unused-vars - contentElementTypeKey: string, - // eslint-disable-next-line @typescript-eslint/no-unused-vars - partialLayoutEntry?: Omit, - // This property is used by some implementations, but not used in this. Do not remove. [NL] - // eslint-disable-next-line @typescript-eslint/no-unused-vars - _originData?: UmbBlockRteWorkspaceOriginData, - ): never { - throw new Error('Method deparecated use createWithPresets'); - } async createWithPresets( contentElementTypeKey: string, partialLayoutEntry?: Omit, diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-type/workspace/block-type-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-type/workspace/block-type-workspace.context.ts index 22bc74416d..215ca2a2b6 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block-type/workspace/block-type-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-type/workspace/block-type-workspace.context.ts @@ -147,10 +147,8 @@ export class UmbBlockTypeWorkspaceContext, - originData?: BlockOriginDataType, - ): never; - abstract createWithPresets( contentElementTypeKey: string, partialLayoutEntry?: Omit, diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block/validation/block-element-data-validation-path-translator.controller.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block/validation/block-element-data-validation-path-translator.controller.ts deleted file mode 100644 index a05afbc946..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block/validation/block-element-data-validation-path-translator.controller.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { UmbDataPathBlockElementDataQuery } from './data-path-element-data-query.function.js'; -import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { UmbDeprecation } from '@umbraco-cms/backoffice/utils'; -import { UmbAbstractArrayValidationPathTranslator } from '@umbraco-cms/backoffice/validation'; - -export class UmbBlockElementDataValidationPathTranslator extends UmbAbstractArrayValidationPathTranslator { - #propertyName: string; - - constructor(host: UmbControllerHost, propertyName: 'contentData' | 'settingsData') { - super(host, '$.' + propertyName + '[', UmbDataPathBlockElementDataQuery); - this.#propertyName = propertyName; - - new UmbDeprecation({ - removeInVersion: '17', - deprecated: 'UmbBlockElementDataValidationPathTranslator', - solution: 'UmbBlockElementDataValidationPathTranslator is deprecated.', - }).warn(); - } - - getDataFromIndex(index: number) { - if (!this._context) return; - const data = this._context.getTranslationData(); - const entry = data[this.#propertyName][index]; - if (!entry || !entry.key) { - console.error('block did not have key', `${this.#propertyName}[${index}]`, entry); - return false; - } - return entry; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block/validation/block-element-values-validation-path-translator.controller.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block/validation/block-element-values-validation-path-translator.controller.ts deleted file mode 100644 index 7870ba5622..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block/validation/block-element-values-validation-path-translator.controller.ts +++ /dev/null @@ -1,26 +0,0 @@ -import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { UmbDeprecation } from '@umbraco-cms/backoffice/utils'; -import { - UmbAbstractArrayValidationPathTranslator, - UmbDataPathPropertyValueQuery, -} from '@umbraco-cms/backoffice/validation'; - -const ctrlAlias = Symbol(); - -export class UmbBlockElementValuesDataValidationPathTranslator extends UmbAbstractArrayValidationPathTranslator { - constructor(host: UmbControllerHost) { - super(host, '$.values[', UmbDataPathPropertyValueQuery, ctrlAlias); - - new UmbDeprecation({ - removeInVersion: '17', - deprecated: 'UmbBlockElementValuesDataValidationPathTranslator', - solution: 'UmbBlockElementValuesDataValidationPathTranslator is deprecated.', - }).warn(); - } - - getDataFromIndex(index: number) { - if (!this._context) return; - const data = this._context.getTranslationData(); - return data.values[index]; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block/validation/index.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block/validation/index.ts index 32951f2c92..c3bc5f595e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block/validation/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block/validation/index.ts @@ -1,4 +1,2 @@ -export * from './block-element-values-validation-path-translator.controller.js'; -export * from './block-element-data-validation-path-translator.controller.js'; export * from './data-path-element-data-query.function.js'; export * from './block-editor-validation-property-path-translator-base.api.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/clipboard/clipboard-entry/types.ts b/src/Umbraco.Web.UI.Client/src/packages/clipboard/clipboard-entry/types.ts index 622f237317..07bab2b51d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/clipboard/clipboard-entry/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/clipboard/clipboard-entry/types.ts @@ -17,16 +17,3 @@ export interface UmbClipboardEntryDetailModel extends UmbClip */ values: UmbClipboardEntryValuesType; } - -/** - * @deprecated - * @see UmbClipboardEntryDetailModel - */ -export interface UmbClipboardEntry { - type: Type; - unique: string; - name: string; - icons: Array; - meta: MetaType; - data: Array; -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/content/content-type/conditions/types.ts b/src/Umbraco.Web.UI.Client/src/packages/content/content-type/conditions/types.ts index 2e6aedc4c0..e0a50062e2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/content/content-type/conditions/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/content/content-type/conditions/types.ts @@ -17,11 +17,6 @@ export type UmbWorkspaceContentTypeAliasConditionConfig = UmbConditionConfigBase */ oneOf?: Array; }; -/** - * @deprecated Use `UmbWorkspaceContentTypeAliasConditionConfig` instead. This will be removed in Umbraco 17. - */ -// eslint-disable-next-line @typescript-eslint/naming-convention -export type WorkspaceContentTypeAliasConditionConfig = UmbWorkspaceContentTypeAliasConditionConfig; declare global { interface UmbExtensionConditionConfigMap { diff --git a/src/Umbraco.Web.UI.Client/src/packages/content/content-type/index.ts b/src/Umbraco.Web.UI.Client/src/packages/content/content-type/index.ts index 2d487a5e7d..f99be185e4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/content/content-type/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/content/content-type/index.ts @@ -7,9 +7,3 @@ export * from './workspace/index.js'; export type * from './composition/index.js'; export type * from './types.js'; - -/** - * @deprecated Use `UmbPropertyTypeBasedPropertyElement` from `@umbraco-cms/backoffice/content` instead. - * Export will be removed in version 17. - */ -export { UmbPropertyTypeBasedPropertyElement } from '../content/components/property-type-based-property/property-type-based-property.element.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/content/content-type/structure/content-type-container-structure-helper.class.ts b/src/Umbraco.Web.UI.Client/src/packages/content/content-type/structure/content-type-container-structure-helper.class.ts index 83c4e57277..ad03867571 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/content/content-type/structure/content-type-container-structure-helper.class.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/content/content-type/structure/content-type-container-structure-helper.class.ts @@ -59,7 +59,7 @@ export class UmbContentTypeContainerStructureHelper (a.sortOrder || 0) - (b.sortOrder || 0)); } - // TODO: Implement UmbDeprecated and Obsolete this from v.17 [NL] + // TODO: Implement UmbDeprecation and Obsolete this from v.17 [NL] #legacyMergeLogic = false; #startLegacy() { if (this.#legacyMergeLogic) return; diff --git a/src/Umbraco.Web.UI.Client/src/packages/content/content-type/structure/content-type-structure-manager.class.ts b/src/Umbraco.Web.UI.Client/src/packages/content/content-type/structure/content-type-structure-manager.class.ts index 4c1ad32a4d..7a37638299 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/content/content-type/structure/content-type-structure-manager.class.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/content/content-type/structure/content-type-structure-manager.class.ts @@ -431,7 +431,7 @@ export class UmbContentTypeStructureManager< const newName = 'Unnamed'; this.#editedTypes.appendOne(contentTypeUnique); this.updateContainer(null, container.id, { - name: this.makeContainerNameUniqueForOwnerContentType(container.id, newName, type, parentId) ?? newName, + name: this.makeContainerNameUniqueForOwnerContentType(container.id, newName) ?? newName, }); } }); @@ -495,32 +495,16 @@ export class UmbContentTypeStructureManager< return newContainer; } - makeEmptyContainerName( - containerId: string, - legacyContainerType?: UmbPropertyContainerTypes, - legacyParentId?: string | null, - ): string { - return ( - this.makeContainerNameUniqueForOwnerContentType(containerId, 'Unnamed', legacyContainerType, legacyParentId) ?? - 'Unnamed' - ); + makeEmptyContainerName(containerId: string): string { + return this.makeContainerNameUniqueForOwnerContentType(containerId, 'Unnamed') ?? 'Unnamed'; } /** * * @param {string} containerId - The id of the container to make unique * @param {string} newName - The new name to make unique - * @param {never} _legacyContainerType - do not use, has no effect. Is deprecated and will be removed in v.17 - * @param {never} _legacyParentId - do not use, has no effect. Is deprecated and will be removed in v.17 * @returns */ - makeContainerNameUniqueForOwnerContentType( - containerId: string, - newName: string, - // eslint-disable-next-line @typescript-eslint/no-unused-vars - _legacyContainerType?: UmbPropertyContainerTypes, - // eslint-disable-next-line @typescript-eslint/no-unused-vars - _legacyParentId?: string | null, - ) { + makeContainerNameUniqueForOwnerContentType(containerId: string, newName: string) { const container = this.getOwnerContainerById(containerId); if (!container) { console.warn(`Container with id ${containerId} not found in owner content type.`); diff --git a/src/Umbraco.Web.UI.Client/src/packages/content/content-type/types.ts b/src/Umbraco.Web.UI.Client/src/packages/content/content-type/types.ts index 5d43b761bd..cfdc4bf83a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/content/content-type/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/content/content-type/types.ts @@ -58,13 +58,6 @@ export interface UmbPropertyTypeScaffoldModel extends Omit; -/** - * @deprecated Use `UmbWorkspaceHasContentCollectionConditionConfig` instead. This will be removed in Umbraco 17. - */ -// eslint-disable-next-line @typescript-eslint/naming-convention -export type WorkspaceHasCollectionConditionConfig = UmbWorkspaceHasContentCollectionConditionConfig; declare global { interface UmbExtensionConditionConfigMap { diff --git a/src/Umbraco.Web.UI.Client/src/packages/content/content/controller/merge-content-variant-data.controller.ts b/src/Umbraco.Web.UI.Client/src/packages/content/content/controller/merge-content-variant-data.controller.ts index ba46942905..8482e32565 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/content/content/controller/merge-content-variant-data.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/content/content/controller/merge-content-variant-data.controller.ts @@ -122,8 +122,7 @@ export class UmbMergeContentVariantDataController extends UmbControllerBase { // Find the resolver for this editor alias: const manifest = umbExtensionsRegistry.getByTypeAndFilter( 'propertyValueResolver', - // TODO: Remove depcrated filter in v.17 [NL] - (x) => x.forEditorAlias === editorAlias || x.meta?.editorAlias === editorAlias, + (x) => x.forEditorAlias === editorAlias, )[0]; if (!manifest) { diff --git a/src/Umbraco.Web.UI.Client/src/packages/content/content/property-dataset-context/content-property-dataset.context.ts b/src/Umbraco.Web.UI.Client/src/packages/content/content/property-dataset-context/content-property-dataset.context.ts index 2e8d0cf076..92f86893a6 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/content/content/property-dataset-context/content-property-dataset.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/content/content/property-dataset-context/content-property-dataset.context.ts @@ -33,13 +33,6 @@ export class UmbContentPropertyDatasetContext< setName(name: string) { this._dataOwner.setName(name, this.getVariantId()); } - /** - * @deprecated Its not clear why we have this. We should either document the need better or get rid of it. - * @returns {UmbEntityVariantModel | undefined} - gives information about the current variant. - */ - getVariantInfo() { - return this._dataOwner.getVariant(this.getVariantId()); - } constructor( host: UmbControllerHost, diff --git a/src/Umbraco.Web.UI.Client/src/packages/content/content/workspace/content-detail-workspace-base.ts b/src/Umbraco.Web.UI.Client/src/packages/content/content/workspace/content-detail-workspace-base.ts index 95fd159185..37f30560b2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/content/content/workspace/content-detail-workspace-base.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/content/content/workspace/content-detail-workspace-base.ts @@ -19,7 +19,7 @@ import { firstValueFrom, map } from '@umbraco-cms/backoffice/external/rxjs'; import { umbOpenModal } from '@umbraco-cms/backoffice/modal'; import { UmbContentTypeStructureManager } from '@umbraco-cms/backoffice/content-type'; import { UmbDataTypeDetailRepository, UmbDataTypeItemRepositoryManager } from '@umbraco-cms/backoffice/data-type'; -import { UmbDeprecation, UmbReadOnlyVariantGuardManager } from '@umbraco-cms/backoffice/utils'; +import { UmbReadOnlyVariantGuardManager } from '@umbraco-cms/backoffice/utils'; import { UmbEntityDetailWorkspaceContextBase, UmbWorkspaceSplitViewManager } from '@umbraco-cms/backoffice/workspace'; import { UmbEntityUpdatedEvent, @@ -735,21 +735,6 @@ export abstract class UmbContentDetailWorkspaceContextBase< }; /* validation */ - /** - * Run the mandatory validation for the save data - * @deprecated Use the public runMandatoryValidationForSaveData instead. Will be removed in v. 17. - * @protected - * @param {DetailModelType} saveData - The data to validate - * @memberof UmbContentDetailWorkspaceContextBase - */ - protected async _runMandatoryValidationForSaveData(saveData: DetailModelType, variantIds: Array = []) { - new UmbDeprecation({ - removeInVersion: '17', - deprecated: '_runMandatoryValidationForSaveData', - solution: 'Use the public runMandatoryValidationForSaveData instead.', - }).warn(); - this.runMandatoryValidationForSaveData(saveData, variantIds); - } /** * Run the mandatory validation for the save data @@ -908,18 +893,6 @@ export abstract class UmbContentDetailWorkspaceContextBase< } } - /** - * Perform the create or update of the content - * @deprecated Use the public performCreateOrUpdate instead. Will be removed in v. 17. - * @protected - * @param {Array} variantIds - * @param {DetailModelType} saveData - * @memberof UmbContentDetailWorkspaceContextBase - */ - protected async _performCreateOrUpdate(variantIds: Array, saveData: DetailModelType) { - await this.performCreateOrUpdate(variantIds, saveData); - } - /** * Perform the create or update of the content * @param {Array} variantIds - The variant ids to save diff --git a/src/Umbraco.Web.UI.Client/src/packages/content/property-type/utils/index.ts b/src/Umbraco.Web.UI.Client/src/packages/content/property-type/utils/index.ts index 05b3611367..ef493ab356 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/content/property-type/utils/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/content/property-type/utils/index.ts @@ -6,6 +6,6 @@ import type { UmbPropertyTypeData } from '../types.js'; * @param {UmbPropertyTypeData} value - the object holding Property Type. * @returns {string} - a JSON-path query */ -export function UmbDataPathPropertyTypeQuery(value: Pick): string { - return `?(@.id == '${value.id}')`; +export function UmbDataPathPropertyTypeQuery(value: Pick): string { + return `?(@.id == '${value.unique}')`; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/content/property-type/workspace/property-type-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/content/property-type/workspace/property-type-workspace.context.ts index faa4e5ae2a..d934f80a5f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/content/property-type/workspace/property-type-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/content/property-type/workspace/property-type-workspace.context.ts @@ -45,7 +45,7 @@ export class UmbPropertyTypeWorkspaceContext readonly data = this.#data.asObservable(); readonly name = this.#data.asObservablePart((data) => data?.name); - readonly unique = this.#data.asObservablePart((data) => data?.id); + readonly unique = this.#data.asObservablePart((data) => data?.unique); readonly values = this.#data.asObservablePart((data) => { return umbObjectToPropertyValueArray(data); @@ -67,7 +67,7 @@ export class UmbPropertyTypeWorkspaceContext this.unique, (unique) => { if (unique) { - this.validationContext.setDataPath(UmbDataPathPropertyTypeQuery({ id: unique })); + this.validationContext.setDataPath(UmbDataPathPropertyTypeQuery({ unique })); } }, null, @@ -155,7 +155,6 @@ export class UmbPropertyTypeWorkspaceContext const unique = UmbId.new(); let data: PropertyTypeDataModel = { - id: unique, unique: unique, container: containerId ? { id: containerId } : null, alias: '', @@ -194,7 +193,7 @@ export class UmbPropertyTypeWorkspaceContext } getUnique() { - return this.getData()!.id; + return this.getData()!.unique; } getEntityType() { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/backend-api/sdk.gen.ts b/src/Umbraco.Web.UI.Client/src/packages/core/backend-api/sdk.gen.ts index f93ccb41dd..9af56c6235 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/backend-api/sdk.gen.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/backend-api/sdk.gen.ts @@ -1,7 +1,7 @@ // This file is auto-generated by @hey-api/openapi-ts import { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer } from './client'; -import type { GetCultureData, GetCultureResponses, GetCultureErrors, PostDataTypeData, PostDataTypeResponses, PostDataTypeErrors, DeleteDataTypeByIdData, DeleteDataTypeByIdResponses, DeleteDataTypeByIdErrors, GetDataTypeByIdData, GetDataTypeByIdResponses, GetDataTypeByIdErrors, PutDataTypeByIdData, PutDataTypeByIdResponses, PutDataTypeByIdErrors, PostDataTypeByIdCopyData, PostDataTypeByIdCopyResponses, PostDataTypeByIdCopyErrors, GetDataTypeByIdIsUsedData, GetDataTypeByIdIsUsedResponses, GetDataTypeByIdIsUsedErrors, PutDataTypeByIdMoveData, PutDataTypeByIdMoveResponses, PutDataTypeByIdMoveErrors, GetDataTypeByIdReferencedByData, GetDataTypeByIdReferencedByResponses, GetDataTypeByIdReferencedByErrors, GetDataTypeByIdReferencesData, GetDataTypeByIdReferencesResponses, GetDataTypeByIdReferencesErrors, GetDataTypeConfigurationData, GetDataTypeConfigurationResponses, GetDataTypeConfigurationErrors, PostDataTypeFolderData, PostDataTypeFolderResponses, PostDataTypeFolderErrors, DeleteDataTypeFolderByIdData, DeleteDataTypeFolderByIdResponses, DeleteDataTypeFolderByIdErrors, GetDataTypeFolderByIdData, GetDataTypeFolderByIdResponses, GetDataTypeFolderByIdErrors, PutDataTypeFolderByIdData, PutDataTypeFolderByIdResponses, PutDataTypeFolderByIdErrors, GetFilterDataTypeData, GetFilterDataTypeResponses, GetFilterDataTypeErrors, GetItemDataTypeData, GetItemDataTypeResponses, GetItemDataTypeErrors, GetItemDataTypeSearchData, GetItemDataTypeSearchResponses, GetItemDataTypeSearchErrors, GetTreeDataTypeAncestorsData, GetTreeDataTypeAncestorsResponses, GetTreeDataTypeAncestorsErrors, GetTreeDataTypeChildrenData, GetTreeDataTypeChildrenResponses, GetTreeDataTypeChildrenErrors, GetTreeDataTypeRootData, GetTreeDataTypeRootResponses, GetTreeDataTypeRootErrors, GetTreeDataTypeSiblingsData, GetTreeDataTypeSiblingsResponses, GetTreeDataTypeSiblingsErrors, GetDictionaryData, GetDictionaryResponses, GetDictionaryErrors, PostDictionaryData, PostDictionaryResponses, PostDictionaryErrors, DeleteDictionaryByIdData, DeleteDictionaryByIdResponses, DeleteDictionaryByIdErrors, GetDictionaryByIdData, GetDictionaryByIdResponses, GetDictionaryByIdErrors, PutDictionaryByIdData, PutDictionaryByIdResponses, PutDictionaryByIdErrors, GetDictionaryByIdExportData, GetDictionaryByIdExportResponses, GetDictionaryByIdExportErrors, PutDictionaryByIdMoveData, PutDictionaryByIdMoveResponses, PutDictionaryByIdMoveErrors, PostDictionaryImportData, PostDictionaryImportResponses, PostDictionaryImportErrors, GetItemDictionaryData, GetItemDictionaryResponses, GetItemDictionaryErrors, GetTreeDictionaryAncestorsData, GetTreeDictionaryAncestorsResponses, GetTreeDictionaryAncestorsErrors, GetTreeDictionaryChildrenData, GetTreeDictionaryChildrenResponses, GetTreeDictionaryChildrenErrors, GetTreeDictionaryRootData, GetTreeDictionaryRootResponses, GetTreeDictionaryRootErrors, PostDocumentBlueprintData, PostDocumentBlueprintResponses, PostDocumentBlueprintErrors, DeleteDocumentBlueprintByIdData, DeleteDocumentBlueprintByIdResponses, DeleteDocumentBlueprintByIdErrors, GetDocumentBlueprintByIdData, GetDocumentBlueprintByIdResponses, GetDocumentBlueprintByIdErrors, PutDocumentBlueprintByIdData, PutDocumentBlueprintByIdResponses, PutDocumentBlueprintByIdErrors, PutDocumentBlueprintByIdMoveData, PutDocumentBlueprintByIdMoveResponses, PutDocumentBlueprintByIdMoveErrors, GetDocumentBlueprintByIdScaffoldData, GetDocumentBlueprintByIdScaffoldResponses, GetDocumentBlueprintByIdScaffoldErrors, PostDocumentBlueprintFolderData, PostDocumentBlueprintFolderResponses, PostDocumentBlueprintFolderErrors, DeleteDocumentBlueprintFolderByIdData, DeleteDocumentBlueprintFolderByIdResponses, DeleteDocumentBlueprintFolderByIdErrors, GetDocumentBlueprintFolderByIdData, GetDocumentBlueprintFolderByIdResponses, GetDocumentBlueprintFolderByIdErrors, PutDocumentBlueprintFolderByIdData, PutDocumentBlueprintFolderByIdResponses, PutDocumentBlueprintFolderByIdErrors, PostDocumentBlueprintFromDocumentData, PostDocumentBlueprintFromDocumentResponses, PostDocumentBlueprintFromDocumentErrors, GetItemDocumentBlueprintData, GetItemDocumentBlueprintResponses, GetItemDocumentBlueprintErrors, GetTreeDocumentBlueprintAncestorsData, GetTreeDocumentBlueprintAncestorsResponses, GetTreeDocumentBlueprintAncestorsErrors, GetTreeDocumentBlueprintChildrenData, GetTreeDocumentBlueprintChildrenResponses, GetTreeDocumentBlueprintChildrenErrors, GetTreeDocumentBlueprintRootData, GetTreeDocumentBlueprintRootResponses, GetTreeDocumentBlueprintRootErrors, GetTreeDocumentBlueprintSiblingsData, GetTreeDocumentBlueprintSiblingsResponses, GetTreeDocumentBlueprintSiblingsErrors, PostDocumentTypeData, PostDocumentTypeResponses, PostDocumentTypeErrors, DeleteDocumentTypeByIdData, DeleteDocumentTypeByIdResponses, DeleteDocumentTypeByIdErrors, GetDocumentTypeByIdData, GetDocumentTypeByIdResponses, GetDocumentTypeByIdErrors, PutDocumentTypeByIdData, PutDocumentTypeByIdResponses, PutDocumentTypeByIdErrors, GetDocumentTypeByIdAllowedChildrenData, GetDocumentTypeByIdAllowedChildrenResponses, GetDocumentTypeByIdAllowedChildrenErrors, GetDocumentTypeByIdBlueprintData, GetDocumentTypeByIdBlueprintResponses, GetDocumentTypeByIdBlueprintErrors, GetDocumentTypeByIdCompositionReferencesData, GetDocumentTypeByIdCompositionReferencesResponses, GetDocumentTypeByIdCompositionReferencesErrors, PostDocumentTypeByIdCopyData, PostDocumentTypeByIdCopyResponses, PostDocumentTypeByIdCopyErrors, GetDocumentTypeByIdExportData, GetDocumentTypeByIdExportResponses, GetDocumentTypeByIdExportErrors, PutDocumentTypeByIdImportData, PutDocumentTypeByIdImportResponses, PutDocumentTypeByIdImportErrors, PutDocumentTypeByIdMoveData, PutDocumentTypeByIdMoveResponses, PutDocumentTypeByIdMoveErrors, GetDocumentTypeAllowedAtRootData, GetDocumentTypeAllowedAtRootResponses, GetDocumentTypeAllowedAtRootErrors, PostDocumentTypeAvailableCompositionsData, PostDocumentTypeAvailableCompositionsResponses, PostDocumentTypeAvailableCompositionsErrors, GetDocumentTypeConfigurationData, GetDocumentTypeConfigurationResponses, GetDocumentTypeConfigurationErrors, PostDocumentTypeFolderData, PostDocumentTypeFolderResponses, PostDocumentTypeFolderErrors, DeleteDocumentTypeFolderByIdData, DeleteDocumentTypeFolderByIdResponses, DeleteDocumentTypeFolderByIdErrors, GetDocumentTypeFolderByIdData, GetDocumentTypeFolderByIdResponses, GetDocumentTypeFolderByIdErrors, PutDocumentTypeFolderByIdData, PutDocumentTypeFolderByIdResponses, PutDocumentTypeFolderByIdErrors, PostDocumentTypeImportData, PostDocumentTypeImportResponses, PostDocumentTypeImportErrors, GetItemDocumentTypeData, GetItemDocumentTypeResponses, GetItemDocumentTypeErrors, GetItemDocumentTypeSearchData, GetItemDocumentTypeSearchResponses, GetItemDocumentTypeSearchErrors, GetTreeDocumentTypeAncestorsData, GetTreeDocumentTypeAncestorsResponses, GetTreeDocumentTypeAncestorsErrors, GetTreeDocumentTypeChildrenData, GetTreeDocumentTypeChildrenResponses, GetTreeDocumentTypeChildrenErrors, GetTreeDocumentTypeRootData, GetTreeDocumentTypeRootResponses, GetTreeDocumentTypeRootErrors, GetTreeDocumentTypeSiblingsData, GetTreeDocumentTypeSiblingsResponses, GetTreeDocumentTypeSiblingsErrors, GetDocumentVersionData, GetDocumentVersionResponses, GetDocumentVersionErrors, GetDocumentVersionByIdData, GetDocumentVersionByIdResponses, GetDocumentVersionByIdErrors, PutDocumentVersionByIdPreventCleanupData, PutDocumentVersionByIdPreventCleanupResponses, PutDocumentVersionByIdPreventCleanupErrors, PostDocumentVersionByIdRollbackData, PostDocumentVersionByIdRollbackResponses, PostDocumentVersionByIdRollbackErrors, GetCollectionDocumentByIdData, GetCollectionDocumentByIdResponses, GetCollectionDocumentByIdErrors, PostDocumentData, PostDocumentResponses, PostDocumentErrors, DeleteDocumentByIdData, DeleteDocumentByIdResponses, DeleteDocumentByIdErrors, GetDocumentByIdData, GetDocumentByIdResponses, GetDocumentByIdErrors, PutDocumentByIdData, PutDocumentByIdResponses, PutDocumentByIdErrors, GetDocumentByIdAuditLogData, GetDocumentByIdAuditLogResponses, GetDocumentByIdAuditLogErrors, GetDocumentByIdAvailableSegmentOptionsData, GetDocumentByIdAvailableSegmentOptionsResponses, GetDocumentByIdAvailableSegmentOptionsErrors, PostDocumentByIdCopyData, PostDocumentByIdCopyResponses, PostDocumentByIdCopyErrors, GetDocumentByIdDomainsData, GetDocumentByIdDomainsResponses, GetDocumentByIdDomainsErrors, PutDocumentByIdDomainsData, PutDocumentByIdDomainsResponses, PutDocumentByIdDomainsErrors, PutDocumentByIdMoveData, PutDocumentByIdMoveResponses, PutDocumentByIdMoveErrors, PutDocumentByIdMoveToRecycleBinData, PutDocumentByIdMoveToRecycleBinResponses, PutDocumentByIdMoveToRecycleBinErrors, GetDocumentByIdNotificationsData, GetDocumentByIdNotificationsResponses, GetDocumentByIdNotificationsErrors, PutDocumentByIdNotificationsData, PutDocumentByIdNotificationsResponses, PutDocumentByIdNotificationsErrors, DeleteDocumentByIdPublicAccessData, DeleteDocumentByIdPublicAccessResponses, DeleteDocumentByIdPublicAccessErrors, GetDocumentByIdPublicAccessData, GetDocumentByIdPublicAccessResponses, GetDocumentByIdPublicAccessErrors, PostDocumentByIdPublicAccessData, PostDocumentByIdPublicAccessResponses, PostDocumentByIdPublicAccessErrors, PutDocumentByIdPublicAccessData, PutDocumentByIdPublicAccessResponses, PutDocumentByIdPublicAccessErrors, PutDocumentByIdPublishData, PutDocumentByIdPublishResponses, PutDocumentByIdPublishErrors, PutDocumentByIdPublishWithDescendantsData, PutDocumentByIdPublishWithDescendantsResponses, PutDocumentByIdPublishWithDescendantsErrors, GetDocumentByIdPublishWithDescendantsResultByTaskIdData, GetDocumentByIdPublishWithDescendantsResultByTaskIdResponses, GetDocumentByIdPublishWithDescendantsResultByTaskIdErrors, GetDocumentByIdPublishedData, GetDocumentByIdPublishedResponses, GetDocumentByIdPublishedErrors, GetDocumentByIdReferencedByData, GetDocumentByIdReferencedByResponses, GetDocumentByIdReferencedByErrors, GetDocumentByIdReferencedDescendantsData, GetDocumentByIdReferencedDescendantsResponses, GetDocumentByIdReferencedDescendantsErrors, PutDocumentByIdUnpublishData, PutDocumentByIdUnpublishResponses, PutDocumentByIdUnpublishErrors, PutUmbracoManagementApiV11DocumentByIdValidate11Data, PutUmbracoManagementApiV11DocumentByIdValidate11Responses, PutUmbracoManagementApiV11DocumentByIdValidate11Errors, GetDocumentAreReferencedData, GetDocumentAreReferencedResponses, GetDocumentAreReferencedErrors, GetDocumentConfigurationData, GetDocumentConfigurationResponses, GetDocumentConfigurationErrors, PutDocumentSortData, PutDocumentSortResponses, PutDocumentSortErrors, GetDocumentUrlsData, GetDocumentUrlsResponses, GetDocumentUrlsErrors, PostDocumentValidateData, PostDocumentValidateResponses, PostDocumentValidateErrors, GetItemDocumentData, GetItemDocumentResponses, GetItemDocumentErrors, GetItemDocumentSearchData, GetItemDocumentSearchResponses, GetItemDocumentSearchErrors, DeleteRecycleBinDocumentData, DeleteRecycleBinDocumentResponses, DeleteRecycleBinDocumentErrors, DeleteRecycleBinDocumentByIdData, DeleteRecycleBinDocumentByIdResponses, DeleteRecycleBinDocumentByIdErrors, GetRecycleBinDocumentByIdOriginalParentData, GetRecycleBinDocumentByIdOriginalParentResponses, GetRecycleBinDocumentByIdOriginalParentErrors, PutRecycleBinDocumentByIdRestoreData, PutRecycleBinDocumentByIdRestoreResponses, PutRecycleBinDocumentByIdRestoreErrors, GetRecycleBinDocumentChildrenData, GetRecycleBinDocumentChildrenResponses, GetRecycleBinDocumentChildrenErrors, GetRecycleBinDocumentReferencedByData, GetRecycleBinDocumentReferencedByResponses, GetRecycleBinDocumentReferencedByErrors, GetRecycleBinDocumentRootData, GetRecycleBinDocumentRootResponses, GetRecycleBinDocumentRootErrors, GetTreeDocumentAncestorsData, GetTreeDocumentAncestorsResponses, GetTreeDocumentAncestorsErrors, GetTreeDocumentChildrenData, GetTreeDocumentChildrenResponses, GetTreeDocumentChildrenErrors, GetTreeDocumentRootData, GetTreeDocumentRootResponses, GetTreeDocumentRootErrors, GetTreeDocumentSiblingsData, GetTreeDocumentSiblingsResponses, GetTreeDocumentSiblingsErrors, PostDynamicRootQueryData, PostDynamicRootQueryResponses, PostDynamicRootQueryErrors, GetDynamicRootStepsData, GetDynamicRootStepsResponses, GetDynamicRootStepsErrors, GetHealthCheckGroupData, GetHealthCheckGroupResponses, GetHealthCheckGroupErrors, GetHealthCheckGroupByNameData, GetHealthCheckGroupByNameResponses, GetHealthCheckGroupByNameErrors, PostHealthCheckGroupByNameCheckData, PostHealthCheckGroupByNameCheckResponses, PostHealthCheckGroupByNameCheckErrors, PostHealthCheckExecuteActionData, PostHealthCheckExecuteActionResponses, PostHealthCheckExecuteActionErrors, GetHelpData, GetHelpResponses, GetHelpErrors, GetImagingResizeUrlsData, GetImagingResizeUrlsResponses, GetImagingResizeUrlsErrors, GetImportAnalyzeData, GetImportAnalyzeResponses, GetImportAnalyzeErrors, GetIndexerData, GetIndexerResponses, GetIndexerErrors, GetIndexerByIndexNameData, GetIndexerByIndexNameResponses, GetIndexerByIndexNameErrors, PostIndexerByIndexNameRebuildData, PostIndexerByIndexNameRebuildResponses, PostIndexerByIndexNameRebuildErrors, GetInstallSettingsData, GetInstallSettingsResponses, GetInstallSettingsErrors, PostInstallSetupData, PostInstallSetupResponses, PostInstallSetupErrors, PostInstallValidateDatabaseData, PostInstallValidateDatabaseResponses, PostInstallValidateDatabaseErrors, GetItemLanguageData, GetItemLanguageResponses, GetItemLanguageErrors, GetItemLanguageDefaultData, GetItemLanguageDefaultResponses, GetItemLanguageDefaultErrors, GetLanguageData, GetLanguageResponses, GetLanguageErrors, PostLanguageData, PostLanguageResponses, PostLanguageErrors, DeleteLanguageByIsoCodeData, DeleteLanguageByIsoCodeResponses, DeleteLanguageByIsoCodeErrors, GetLanguageByIsoCodeData, GetLanguageByIsoCodeResponses, GetLanguageByIsoCodeErrors, PutLanguageByIsoCodeData, PutLanguageByIsoCodeResponses, PutLanguageByIsoCodeErrors, GetLogViewerLevelData, GetLogViewerLevelResponses, GetLogViewerLevelErrors, GetLogViewerLevelCountData, GetLogViewerLevelCountResponses, GetLogViewerLevelCountErrors, GetLogViewerLogData, GetLogViewerLogResponses, GetLogViewerLogErrors, GetLogViewerMessageTemplateData, GetLogViewerMessageTemplateResponses, GetLogViewerMessageTemplateErrors, GetLogViewerSavedSearchData, GetLogViewerSavedSearchResponses, GetLogViewerSavedSearchErrors, PostLogViewerSavedSearchData, PostLogViewerSavedSearchResponses, PostLogViewerSavedSearchErrors, DeleteLogViewerSavedSearchByNameData, DeleteLogViewerSavedSearchByNameResponses, DeleteLogViewerSavedSearchByNameErrors, GetLogViewerSavedSearchByNameData, GetLogViewerSavedSearchByNameResponses, GetLogViewerSavedSearchByNameErrors, GetLogViewerValidateLogsSizeData, GetLogViewerValidateLogsSizeResponses, GetLogViewerValidateLogsSizeErrors, GetManifestManifestData, GetManifestManifestResponses, GetManifestManifestErrors, GetManifestManifestPrivateData, GetManifestManifestPrivateResponses, GetManifestManifestPrivateErrors, GetManifestManifestPublicData, GetManifestManifestPublicResponses, GetItemMediaTypeData, GetItemMediaTypeResponses, GetItemMediaTypeErrors, GetItemMediaTypeAllowedData, GetItemMediaTypeAllowedResponses, GetItemMediaTypeAllowedErrors, GetItemMediaTypeFoldersData, GetItemMediaTypeFoldersResponses, GetItemMediaTypeFoldersErrors, GetItemMediaTypeSearchData, GetItemMediaTypeSearchResponses, GetItemMediaTypeSearchErrors, PostMediaTypeData, PostMediaTypeResponses, PostMediaTypeErrors, DeleteMediaTypeByIdData, DeleteMediaTypeByIdResponses, DeleteMediaTypeByIdErrors, GetMediaTypeByIdData, GetMediaTypeByIdResponses, GetMediaTypeByIdErrors, PutMediaTypeByIdData, PutMediaTypeByIdResponses, PutMediaTypeByIdErrors, GetMediaTypeByIdAllowedChildrenData, GetMediaTypeByIdAllowedChildrenResponses, GetMediaTypeByIdAllowedChildrenErrors, GetMediaTypeByIdCompositionReferencesData, GetMediaTypeByIdCompositionReferencesResponses, GetMediaTypeByIdCompositionReferencesErrors, PostMediaTypeByIdCopyData, PostMediaTypeByIdCopyResponses, PostMediaTypeByIdCopyErrors, GetMediaTypeByIdExportData, GetMediaTypeByIdExportResponses, GetMediaTypeByIdExportErrors, PutMediaTypeByIdImportData, PutMediaTypeByIdImportResponses, PutMediaTypeByIdImportErrors, PutMediaTypeByIdMoveData, PutMediaTypeByIdMoveResponses, PutMediaTypeByIdMoveErrors, GetMediaTypeAllowedAtRootData, GetMediaTypeAllowedAtRootResponses, GetMediaTypeAllowedAtRootErrors, PostMediaTypeAvailableCompositionsData, PostMediaTypeAvailableCompositionsResponses, PostMediaTypeAvailableCompositionsErrors, GetMediaTypeConfigurationData, GetMediaTypeConfigurationResponses, GetMediaTypeConfigurationErrors, PostMediaTypeFolderData, PostMediaTypeFolderResponses, PostMediaTypeFolderErrors, DeleteMediaTypeFolderByIdData, DeleteMediaTypeFolderByIdResponses, DeleteMediaTypeFolderByIdErrors, GetMediaTypeFolderByIdData, GetMediaTypeFolderByIdResponses, GetMediaTypeFolderByIdErrors, PutMediaTypeFolderByIdData, PutMediaTypeFolderByIdResponses, PutMediaTypeFolderByIdErrors, PostMediaTypeImportData, PostMediaTypeImportResponses, PostMediaTypeImportErrors, GetTreeMediaTypeAncestorsData, GetTreeMediaTypeAncestorsResponses, GetTreeMediaTypeAncestorsErrors, GetTreeMediaTypeChildrenData, GetTreeMediaTypeChildrenResponses, GetTreeMediaTypeChildrenErrors, GetTreeMediaTypeRootData, GetTreeMediaTypeRootResponses, GetTreeMediaTypeRootErrors, GetTreeMediaTypeSiblingsData, GetTreeMediaTypeSiblingsResponses, GetTreeMediaTypeSiblingsErrors, GetCollectionMediaData, GetCollectionMediaResponses, GetCollectionMediaErrors, GetItemMediaData, GetItemMediaResponses, GetItemMediaErrors, GetItemMediaSearchData, GetItemMediaSearchResponses, GetItemMediaSearchErrors, PostMediaData, PostMediaResponses, PostMediaErrors, DeleteMediaByIdData, DeleteMediaByIdResponses, DeleteMediaByIdErrors, GetMediaByIdData, GetMediaByIdResponses, GetMediaByIdErrors, PutMediaByIdData, PutMediaByIdResponses, PutMediaByIdErrors, GetMediaByIdAuditLogData, GetMediaByIdAuditLogResponses, GetMediaByIdAuditLogErrors, PutMediaByIdMoveData, PutMediaByIdMoveResponses, PutMediaByIdMoveErrors, PutMediaByIdMoveToRecycleBinData, PutMediaByIdMoveToRecycleBinResponses, PutMediaByIdMoveToRecycleBinErrors, GetMediaByIdReferencedByData, GetMediaByIdReferencedByResponses, GetMediaByIdReferencedByErrors, GetMediaByIdReferencedDescendantsData, GetMediaByIdReferencedDescendantsResponses, GetMediaByIdReferencedDescendantsErrors, PutMediaByIdValidateData, PutMediaByIdValidateResponses, PutMediaByIdValidateErrors, GetMediaAreReferencedData, GetMediaAreReferencedResponses, GetMediaAreReferencedErrors, GetMediaConfigurationData, GetMediaConfigurationResponses, GetMediaConfigurationErrors, PutMediaSortData, PutMediaSortResponses, PutMediaSortErrors, GetMediaUrlsData, GetMediaUrlsResponses, GetMediaUrlsErrors, PostMediaValidateData, PostMediaValidateResponses, PostMediaValidateErrors, DeleteRecycleBinMediaData, DeleteRecycleBinMediaResponses, DeleteRecycleBinMediaErrors, DeleteRecycleBinMediaByIdData, DeleteRecycleBinMediaByIdResponses, DeleteRecycleBinMediaByIdErrors, GetRecycleBinMediaByIdOriginalParentData, GetRecycleBinMediaByIdOriginalParentResponses, GetRecycleBinMediaByIdOriginalParentErrors, PutRecycleBinMediaByIdRestoreData, PutRecycleBinMediaByIdRestoreResponses, PutRecycleBinMediaByIdRestoreErrors, GetRecycleBinMediaChildrenData, GetRecycleBinMediaChildrenResponses, GetRecycleBinMediaChildrenErrors, GetRecycleBinMediaReferencedByData, GetRecycleBinMediaReferencedByResponses, GetRecycleBinMediaReferencedByErrors, GetRecycleBinMediaRootData, GetRecycleBinMediaRootResponses, GetRecycleBinMediaRootErrors, GetTreeMediaAncestorsData, GetTreeMediaAncestorsResponses, GetTreeMediaAncestorsErrors, GetTreeMediaChildrenData, GetTreeMediaChildrenResponses, GetTreeMediaChildrenErrors, GetTreeMediaRootData, GetTreeMediaRootResponses, GetTreeMediaRootErrors, GetTreeMediaSiblingsData, GetTreeMediaSiblingsResponses, GetTreeMediaSiblingsErrors, GetItemMemberGroupData, GetItemMemberGroupResponses, GetItemMemberGroupErrors, GetMemberGroupData, GetMemberGroupResponses, GetMemberGroupErrors, PostMemberGroupData, PostMemberGroupResponses, PostMemberGroupErrors, DeleteMemberGroupByIdData, DeleteMemberGroupByIdResponses, DeleteMemberGroupByIdErrors, GetMemberGroupByIdData, GetMemberGroupByIdResponses, GetMemberGroupByIdErrors, PutMemberGroupByIdData, PutMemberGroupByIdResponses, PutMemberGroupByIdErrors, GetTreeMemberGroupRootData, GetTreeMemberGroupRootResponses, GetTreeMemberGroupRootErrors, GetItemMemberTypeData, GetItemMemberTypeResponses, GetItemMemberTypeErrors, GetItemMemberTypeSearchData, GetItemMemberTypeSearchResponses, GetItemMemberTypeSearchErrors, PostMemberTypeData, PostMemberTypeResponses, PostMemberTypeErrors, DeleteMemberTypeByIdData, DeleteMemberTypeByIdResponses, DeleteMemberTypeByIdErrors, GetMemberTypeByIdData, GetMemberTypeByIdResponses, GetMemberTypeByIdErrors, PutMemberTypeByIdData, PutMemberTypeByIdResponses, PutMemberTypeByIdErrors, GetMemberTypeByIdCompositionReferencesData, GetMemberTypeByIdCompositionReferencesResponses, GetMemberTypeByIdCompositionReferencesErrors, PostMemberTypeByIdCopyData, PostMemberTypeByIdCopyResponses, PostMemberTypeByIdCopyErrors, PostMemberTypeAvailableCompositionsData, PostMemberTypeAvailableCompositionsResponses, PostMemberTypeAvailableCompositionsErrors, GetMemberTypeConfigurationData, GetMemberTypeConfigurationResponses, GetMemberTypeConfigurationErrors, GetTreeMemberTypeRootData, GetTreeMemberTypeRootResponses, GetTreeMemberTypeRootErrors, GetFilterMemberData, GetFilterMemberResponses, GetFilterMemberErrors, GetItemMemberData, GetItemMemberResponses, GetItemMemberErrors, GetItemMemberSearchData, GetItemMemberSearchResponses, GetItemMemberSearchErrors, PostMemberData, PostMemberResponses, PostMemberErrors, DeleteMemberByIdData, DeleteMemberByIdResponses, DeleteMemberByIdErrors, GetMemberByIdData, GetMemberByIdResponses, GetMemberByIdErrors, PutMemberByIdData, PutMemberByIdResponses, PutMemberByIdErrors, GetMemberByIdReferencedByData, GetMemberByIdReferencedByResponses, GetMemberByIdReferencedByErrors, GetMemberByIdReferencedDescendantsData, GetMemberByIdReferencedDescendantsResponses, GetMemberByIdReferencedDescendantsErrors, PutMemberByIdValidateData, PutMemberByIdValidateResponses, PutMemberByIdValidateErrors, GetMemberAreReferencedData, GetMemberAreReferencedResponses, GetMemberAreReferencedErrors, GetMemberConfigurationData, GetMemberConfigurationResponses, GetMemberConfigurationErrors, PostMemberValidateData, PostMemberValidateResponses, PostMemberValidateErrors, PostModelsBuilderBuildData, PostModelsBuilderBuildResponses, PostModelsBuilderBuildErrors, GetModelsBuilderDashboardData, GetModelsBuilderDashboardResponses, GetModelsBuilderDashboardErrors, GetModelsBuilderStatusData, GetModelsBuilderStatusResponses, GetModelsBuilderStatusErrors, GetObjectTypesData, GetObjectTypesResponses, GetObjectTypesErrors, GetOembedQueryData, GetOembedQueryResponses, GetOembedQueryErrors, PostPackageByNameRunMigrationData, PostPackageByNameRunMigrationResponses, PostPackageByNameRunMigrationErrors, GetPackageConfigurationData, GetPackageConfigurationResponses, GetPackageConfigurationErrors, GetPackageCreatedData, GetPackageCreatedResponses, GetPackageCreatedErrors, PostPackageCreatedData, PostPackageCreatedResponses, PostPackageCreatedErrors, DeletePackageCreatedByIdData, DeletePackageCreatedByIdResponses, DeletePackageCreatedByIdErrors, GetPackageCreatedByIdData, GetPackageCreatedByIdResponses, GetPackageCreatedByIdErrors, PutPackageCreatedByIdData, PutPackageCreatedByIdResponses, PutPackageCreatedByIdErrors, GetPackageCreatedByIdDownloadData, GetPackageCreatedByIdDownloadResponses, GetPackageCreatedByIdDownloadErrors, GetPackageMigrationStatusData, GetPackageMigrationStatusResponses, GetPackageMigrationStatusErrors, GetItemPartialViewData, GetItemPartialViewResponses, GetItemPartialViewErrors, PostPartialViewData, PostPartialViewResponses, PostPartialViewErrors, DeletePartialViewByPathData, DeletePartialViewByPathResponses, DeletePartialViewByPathErrors, GetPartialViewByPathData, GetPartialViewByPathResponses, GetPartialViewByPathErrors, PutPartialViewByPathData, PutPartialViewByPathResponses, PutPartialViewByPathErrors, PutPartialViewByPathRenameData, PutPartialViewByPathRenameResponses, PutPartialViewByPathRenameErrors, PostPartialViewFolderData, PostPartialViewFolderResponses, PostPartialViewFolderErrors, DeletePartialViewFolderByPathData, DeletePartialViewFolderByPathResponses, DeletePartialViewFolderByPathErrors, GetPartialViewFolderByPathData, GetPartialViewFolderByPathResponses, GetPartialViewFolderByPathErrors, GetPartialViewSnippetData, GetPartialViewSnippetResponses, GetPartialViewSnippetErrors, GetPartialViewSnippetByIdData, GetPartialViewSnippetByIdResponses, GetPartialViewSnippetByIdErrors, GetTreePartialViewAncestorsData, GetTreePartialViewAncestorsResponses, GetTreePartialViewAncestorsErrors, GetTreePartialViewChildrenData, GetTreePartialViewChildrenResponses, GetTreePartialViewChildrenErrors, GetTreePartialViewRootData, GetTreePartialViewRootResponses, GetTreePartialViewRootErrors, DeletePreviewData, DeletePreviewResponses, PostPreviewData, PostPreviewResponses, PostPreviewErrors, GetProfilingStatusData, GetProfilingStatusResponses, GetProfilingStatusErrors, PutProfilingStatusData, PutProfilingStatusResponses, PutProfilingStatusErrors, GetPropertyTypeIsUsedData, GetPropertyTypeIsUsedResponses, GetPropertyTypeIsUsedErrors, PostPublishedCacheRebuildData, PostPublishedCacheRebuildResponses, PostPublishedCacheRebuildErrors, GetPublishedCacheRebuildStatusData, GetPublishedCacheRebuildStatusResponses, GetPublishedCacheRebuildStatusErrors, PostPublishedCacheReloadData, PostPublishedCacheReloadResponses, PostPublishedCacheReloadErrors, GetRedirectManagementData, GetRedirectManagementResponses, GetRedirectManagementErrors, DeleteRedirectManagementByIdData, DeleteRedirectManagementByIdResponses, DeleteRedirectManagementByIdErrors, GetRedirectManagementByIdData, GetRedirectManagementByIdResponses, GetRedirectManagementByIdErrors, GetRedirectManagementStatusData, GetRedirectManagementStatusResponses, GetRedirectManagementStatusErrors, PostRedirectManagementStatusData, PostRedirectManagementStatusResponses, PostRedirectManagementStatusErrors, GetItemRelationTypeData, GetItemRelationTypeResponses, GetItemRelationTypeErrors, GetRelationTypeData, GetRelationTypeResponses, GetRelationTypeErrors, GetRelationTypeByIdData, GetRelationTypeByIdResponses, GetRelationTypeByIdErrors, GetRelationByRelationTypeIdData, GetRelationByRelationTypeIdResponses, GetRelationByRelationTypeIdErrors, GetItemScriptData, GetItemScriptResponses, GetItemScriptErrors, PostScriptData, PostScriptResponses, PostScriptErrors, DeleteScriptByPathData, DeleteScriptByPathResponses, DeleteScriptByPathErrors, GetScriptByPathData, GetScriptByPathResponses, GetScriptByPathErrors, PutScriptByPathData, PutScriptByPathResponses, PutScriptByPathErrors, PutScriptByPathRenameData, PutScriptByPathRenameResponses, PutScriptByPathRenameErrors, PostScriptFolderData, PostScriptFolderResponses, PostScriptFolderErrors, DeleteScriptFolderByPathData, DeleteScriptFolderByPathResponses, DeleteScriptFolderByPathErrors, GetScriptFolderByPathData, GetScriptFolderByPathResponses, GetScriptFolderByPathErrors, GetTreeScriptAncestorsData, GetTreeScriptAncestorsResponses, GetTreeScriptAncestorsErrors, GetTreeScriptChildrenData, GetTreeScriptChildrenResponses, GetTreeScriptChildrenErrors, GetTreeScriptRootData, GetTreeScriptRootResponses, GetTreeScriptRootErrors, GetSearcherData, GetSearcherResponses, GetSearcherErrors, GetSearcherBySearcherNameQueryData, GetSearcherBySearcherNameQueryResponses, GetSearcherBySearcherNameQueryErrors, GetSecurityConfigurationData, GetSecurityConfigurationResponses, GetSecurityConfigurationErrors, PostSecurityForgotPasswordData, PostSecurityForgotPasswordResponses, PostSecurityForgotPasswordErrors, PostSecurityForgotPasswordResetData, PostSecurityForgotPasswordResetResponses, PostSecurityForgotPasswordResetErrors, PostSecurityForgotPasswordVerifyData, PostSecurityForgotPasswordVerifyResponses, PostSecurityForgotPasswordVerifyErrors, GetSegmentData, GetSegmentResponses, GetSegmentErrors, GetServerConfigurationData, GetServerConfigurationResponses, GetServerInformationData, GetServerInformationResponses, GetServerInformationErrors, GetServerStatusData, GetServerStatusResponses, GetServerStatusErrors, GetServerTroubleshootingData, GetServerTroubleshootingResponses, GetServerTroubleshootingErrors, GetServerUpgradeCheckData, GetServerUpgradeCheckResponses, GetServerUpgradeCheckErrors, GetItemStaticFileData, GetItemStaticFileResponses, GetItemStaticFileErrors, GetTreeStaticFileAncestorsData, GetTreeStaticFileAncestorsResponses, GetTreeStaticFileAncestorsErrors, GetTreeStaticFileChildrenData, GetTreeStaticFileChildrenResponses, GetTreeStaticFileChildrenErrors, GetTreeStaticFileRootData, GetTreeStaticFileRootResponses, GetTreeStaticFileRootErrors, GetItemStylesheetData, GetItemStylesheetResponses, GetItemStylesheetErrors, PostStylesheetData, PostStylesheetResponses, PostStylesheetErrors, DeleteStylesheetByPathData, DeleteStylesheetByPathResponses, DeleteStylesheetByPathErrors, GetStylesheetByPathData, GetStylesheetByPathResponses, GetStylesheetByPathErrors, PutStylesheetByPathData, PutStylesheetByPathResponses, PutStylesheetByPathErrors, PutStylesheetByPathRenameData, PutStylesheetByPathRenameResponses, PutStylesheetByPathRenameErrors, PostStylesheetFolderData, PostStylesheetFolderResponses, PostStylesheetFolderErrors, DeleteStylesheetFolderByPathData, DeleteStylesheetFolderByPathResponses, DeleteStylesheetFolderByPathErrors, GetStylesheetFolderByPathData, GetStylesheetFolderByPathResponses, GetStylesheetFolderByPathErrors, GetTreeStylesheetAncestorsData, GetTreeStylesheetAncestorsResponses, GetTreeStylesheetAncestorsErrors, GetTreeStylesheetChildrenData, GetTreeStylesheetChildrenResponses, GetTreeStylesheetChildrenErrors, GetTreeStylesheetRootData, GetTreeStylesheetRootResponses, GetTreeStylesheetRootErrors, GetTagData, GetTagResponses, GetTagErrors, GetTelemetryData, GetTelemetryResponses, GetTelemetryErrors, GetTelemetryLevelData, GetTelemetryLevelResponses, GetTelemetryLevelErrors, PostTelemetryLevelData, PostTelemetryLevelResponses, PostTelemetryLevelErrors, GetItemTemplateData, GetItemTemplateResponses, GetItemTemplateErrors, GetItemTemplateSearchData, GetItemTemplateSearchResponses, GetItemTemplateSearchErrors, PostTemplateData, PostTemplateResponses, PostTemplateErrors, DeleteTemplateByIdData, DeleteTemplateByIdResponses, DeleteTemplateByIdErrors, GetTemplateByIdData, GetTemplateByIdResponses, GetTemplateByIdErrors, PutTemplateByIdData, PutTemplateByIdResponses, PutTemplateByIdErrors, GetTemplateConfigurationData, GetTemplateConfigurationResponses, GetTemplateConfigurationErrors, PostTemplateQueryExecuteData, PostTemplateQueryExecuteResponses, PostTemplateQueryExecuteErrors, GetTemplateQuerySettingsData, GetTemplateQuerySettingsResponses, GetTemplateQuerySettingsErrors, GetTreeTemplateAncestorsData, GetTreeTemplateAncestorsResponses, GetTreeTemplateAncestorsErrors, GetTreeTemplateChildrenData, GetTreeTemplateChildrenResponses, GetTreeTemplateChildrenErrors, GetTreeTemplateRootData, GetTreeTemplateRootResponses, GetTreeTemplateRootErrors, GetTreeTemplateSiblingsData, GetTreeTemplateSiblingsResponses, GetTreeTemplateSiblingsErrors, PostTemporaryFileData, PostTemporaryFileResponses, PostTemporaryFileErrors, DeleteTemporaryFileByIdData, DeleteTemporaryFileByIdResponses, DeleteTemporaryFileByIdErrors, GetTemporaryFileByIdData, GetTemporaryFileByIdResponses, GetTemporaryFileByIdErrors, GetTemporaryFileConfigurationData, GetTemporaryFileConfigurationResponses, GetTemporaryFileConfigurationErrors, PostUpgradeAuthorizeData, PostUpgradeAuthorizeResponses, PostUpgradeAuthorizeErrors, GetUpgradeSettingsData, GetUpgradeSettingsResponses, GetUpgradeSettingsErrors, GetUserDataData, GetUserDataResponses, GetUserDataErrors, PostUserDataData, PostUserDataResponses, PostUserDataErrors, PutUserDataData, PutUserDataResponses, PutUserDataErrors, GetUserDataByIdData, GetUserDataByIdResponses, GetUserDataByIdErrors, GetFilterUserGroupData, GetFilterUserGroupResponses, GetFilterUserGroupErrors, GetItemUserGroupData, GetItemUserGroupResponses, GetItemUserGroupErrors, DeleteUserGroupData, DeleteUserGroupResponses, DeleteUserGroupErrors, GetUserGroupData, GetUserGroupResponses, GetUserGroupErrors, PostUserGroupData, PostUserGroupResponses, PostUserGroupErrors, DeleteUserGroupByIdData, DeleteUserGroupByIdResponses, DeleteUserGroupByIdErrors, GetUserGroupByIdData, GetUserGroupByIdResponses, GetUserGroupByIdErrors, PutUserGroupByIdData, PutUserGroupByIdResponses, PutUserGroupByIdErrors, DeleteUserGroupByIdUsersData, DeleteUserGroupByIdUsersResponses, DeleteUserGroupByIdUsersErrors, PostUserGroupByIdUsersData, PostUserGroupByIdUsersResponses, PostUserGroupByIdUsersErrors, GetFilterUserData, GetFilterUserResponses, GetFilterUserErrors, GetItemUserData, GetItemUserResponses, GetItemUserErrors, DeleteUserData, DeleteUserResponses, DeleteUserErrors, GetUserData, GetUserResponses, GetUserErrors, PostUserData, PostUserResponses, PostUserErrors, DeleteUserByIdData, DeleteUserByIdResponses, DeleteUserByIdErrors, GetUserByIdData, GetUserByIdResponses, GetUserByIdErrors, PutUserByIdData, PutUserByIdResponses, PutUserByIdErrors, GetUserById2FaData, GetUserById2FaResponses, GetUserById2FaErrors, DeleteUserById2FaByProviderNameData, DeleteUserById2FaByProviderNameResponses, DeleteUserById2FaByProviderNameErrors, GetUserByIdCalculateStartNodesData, GetUserByIdCalculateStartNodesResponses, GetUserByIdCalculateStartNodesErrors, PostUserByIdChangePasswordData, PostUserByIdChangePasswordResponses, PostUserByIdChangePasswordErrors, GetUserByIdClientCredentialsData, GetUserByIdClientCredentialsResponses, GetUserByIdClientCredentialsErrors, PostUserByIdClientCredentialsData, PostUserByIdClientCredentialsResponses, PostUserByIdClientCredentialsErrors, DeleteUserByIdClientCredentialsByClientIdData, DeleteUserByIdClientCredentialsByClientIdResponses, DeleteUserByIdClientCredentialsByClientIdErrors, PostUserByIdResetPasswordData, PostUserByIdResetPasswordResponses, PostUserByIdResetPasswordErrors, DeleteUserAvatarByIdData, DeleteUserAvatarByIdResponses, DeleteUserAvatarByIdErrors, PostUserAvatarByIdData, PostUserAvatarByIdResponses, PostUserAvatarByIdErrors, GetUserConfigurationData, GetUserConfigurationResponses, GetUserConfigurationErrors, GetUserCurrentData, GetUserCurrentResponses, GetUserCurrentErrors, GetUserCurrent2FaData, GetUserCurrent2FaResponses, GetUserCurrent2FaErrors, DeleteUserCurrent2FaByProviderNameData, DeleteUserCurrent2FaByProviderNameResponses, DeleteUserCurrent2FaByProviderNameErrors, GetUserCurrent2FaByProviderNameData, GetUserCurrent2FaByProviderNameResponses, GetUserCurrent2FaByProviderNameErrors, PostUserCurrent2FaByProviderNameData, PostUserCurrent2FaByProviderNameResponses, PostUserCurrent2FaByProviderNameErrors, PostUserCurrentAvatarData, PostUserCurrentAvatarResponses, PostUserCurrentAvatarErrors, PostUserCurrentChangePasswordData, PostUserCurrentChangePasswordResponses, PostUserCurrentChangePasswordErrors, GetUserCurrentConfigurationData, GetUserCurrentConfigurationResponses, GetUserCurrentConfigurationErrors, GetUserCurrentLoginProvidersData, GetUserCurrentLoginProvidersResponses, GetUserCurrentLoginProvidersErrors, GetUserCurrentPermissionsData, GetUserCurrentPermissionsResponses, GetUserCurrentPermissionsErrors, GetUserCurrentPermissionsDocumentData, GetUserCurrentPermissionsDocumentResponses, GetUserCurrentPermissionsDocumentErrors, GetUserCurrentPermissionsMediaData, GetUserCurrentPermissionsMediaResponses, GetUserCurrentPermissionsMediaErrors, PostUserDisableData, PostUserDisableResponses, PostUserDisableErrors, PostUserEnableData, PostUserEnableResponses, PostUserEnableErrors, PostUserInviteData, PostUserInviteResponses, PostUserInviteErrors, PostUserInviteCreatePasswordData, PostUserInviteCreatePasswordResponses, PostUserInviteCreatePasswordErrors, PostUserInviteResendData, PostUserInviteResendResponses, PostUserInviteResendErrors, PostUserInviteVerifyData, PostUserInviteVerifyResponses, PostUserInviteVerifyErrors, PostUserSetUserGroupsData, PostUserSetUserGroupsResponses, PostUserSetUserGroupsErrors, PostUserUnlockData, PostUserUnlockResponses, PostUserUnlockErrors, GetItemWebhookData, GetItemWebhookResponses, GetItemWebhookErrors, GetWebhookData, GetWebhookResponses, GetWebhookErrors, PostWebhookData, PostWebhookResponses, PostWebhookErrors, DeleteWebhookByIdData, DeleteWebhookByIdResponses, DeleteWebhookByIdErrors, GetWebhookByIdData, GetWebhookByIdResponses, GetWebhookByIdErrors, PutWebhookByIdData, PutWebhookByIdResponses, PutWebhookByIdErrors, GetWebhookByIdLogsData, GetWebhookByIdLogsResponses, GetWebhookByIdLogsErrors, GetWebhookEventsData, GetWebhookEventsResponses, GetWebhookEventsErrors, GetWebhookLogsData, GetWebhookLogsResponses, GetWebhookLogsErrors } from './types.gen'; +import type { GetCultureData, GetCultureResponses, GetCultureErrors, PostDataTypeData, PostDataTypeResponses, PostDataTypeErrors, DeleteDataTypeByIdData, DeleteDataTypeByIdResponses, DeleteDataTypeByIdErrors, GetDataTypeByIdData, GetDataTypeByIdResponses, GetDataTypeByIdErrors, PutDataTypeByIdData, PutDataTypeByIdResponses, PutDataTypeByIdErrors, PostDataTypeByIdCopyData, PostDataTypeByIdCopyResponses, PostDataTypeByIdCopyErrors, GetDataTypeByIdIsUsedData, GetDataTypeByIdIsUsedResponses, GetDataTypeByIdIsUsedErrors, PutDataTypeByIdMoveData, PutDataTypeByIdMoveResponses, PutDataTypeByIdMoveErrors, GetDataTypeByIdReferencedByData, GetDataTypeByIdReferencedByResponses, GetDataTypeByIdReferencedByErrors, GetDataTypeConfigurationData, GetDataTypeConfigurationResponses, GetDataTypeConfigurationErrors, PostDataTypeFolderData, PostDataTypeFolderResponses, PostDataTypeFolderErrors, DeleteDataTypeFolderByIdData, DeleteDataTypeFolderByIdResponses, DeleteDataTypeFolderByIdErrors, GetDataTypeFolderByIdData, GetDataTypeFolderByIdResponses, GetDataTypeFolderByIdErrors, PutDataTypeFolderByIdData, PutDataTypeFolderByIdResponses, PutDataTypeFolderByIdErrors, GetFilterDataTypeData, GetFilterDataTypeResponses, GetFilterDataTypeErrors, GetItemDataTypeData, GetItemDataTypeResponses, GetItemDataTypeErrors, GetItemDataTypeSearchData, GetItemDataTypeSearchResponses, GetItemDataTypeSearchErrors, GetTreeDataTypeAncestorsData, GetTreeDataTypeAncestorsResponses, GetTreeDataTypeAncestorsErrors, GetTreeDataTypeChildrenData, GetTreeDataTypeChildrenResponses, GetTreeDataTypeChildrenErrors, GetTreeDataTypeRootData, GetTreeDataTypeRootResponses, GetTreeDataTypeRootErrors, GetTreeDataTypeSiblingsData, GetTreeDataTypeSiblingsResponses, GetTreeDataTypeSiblingsErrors, GetDictionaryData, GetDictionaryResponses, GetDictionaryErrors, PostDictionaryData, PostDictionaryResponses, PostDictionaryErrors, DeleteDictionaryByIdData, DeleteDictionaryByIdResponses, DeleteDictionaryByIdErrors, GetDictionaryByIdData, GetDictionaryByIdResponses, GetDictionaryByIdErrors, PutDictionaryByIdData, PutDictionaryByIdResponses, PutDictionaryByIdErrors, GetDictionaryByIdExportData, GetDictionaryByIdExportResponses, GetDictionaryByIdExportErrors, PutDictionaryByIdMoveData, PutDictionaryByIdMoveResponses, PutDictionaryByIdMoveErrors, PostDictionaryImportData, PostDictionaryImportResponses, PostDictionaryImportErrors, GetItemDictionaryData, GetItemDictionaryResponses, GetItemDictionaryErrors, GetTreeDictionaryAncestorsData, GetTreeDictionaryAncestorsResponses, GetTreeDictionaryAncestorsErrors, GetTreeDictionaryChildrenData, GetTreeDictionaryChildrenResponses, GetTreeDictionaryChildrenErrors, GetTreeDictionaryRootData, GetTreeDictionaryRootResponses, GetTreeDictionaryRootErrors, PostDocumentBlueprintData, PostDocumentBlueprintResponses, PostDocumentBlueprintErrors, DeleteDocumentBlueprintByIdData, DeleteDocumentBlueprintByIdResponses, DeleteDocumentBlueprintByIdErrors, GetDocumentBlueprintByIdData, GetDocumentBlueprintByIdResponses, GetDocumentBlueprintByIdErrors, PutDocumentBlueprintByIdData, PutDocumentBlueprintByIdResponses, PutDocumentBlueprintByIdErrors, PutDocumentBlueprintByIdMoveData, PutDocumentBlueprintByIdMoveResponses, PutDocumentBlueprintByIdMoveErrors, GetDocumentBlueprintByIdScaffoldData, GetDocumentBlueprintByIdScaffoldResponses, GetDocumentBlueprintByIdScaffoldErrors, PostDocumentBlueprintFolderData, PostDocumentBlueprintFolderResponses, PostDocumentBlueprintFolderErrors, DeleteDocumentBlueprintFolderByIdData, DeleteDocumentBlueprintFolderByIdResponses, DeleteDocumentBlueprintFolderByIdErrors, GetDocumentBlueprintFolderByIdData, GetDocumentBlueprintFolderByIdResponses, GetDocumentBlueprintFolderByIdErrors, PutDocumentBlueprintFolderByIdData, PutDocumentBlueprintFolderByIdResponses, PutDocumentBlueprintFolderByIdErrors, PostDocumentBlueprintFromDocumentData, PostDocumentBlueprintFromDocumentResponses, PostDocumentBlueprintFromDocumentErrors, GetItemDocumentBlueprintData, GetItemDocumentBlueprintResponses, GetItemDocumentBlueprintErrors, GetTreeDocumentBlueprintAncestorsData, GetTreeDocumentBlueprintAncestorsResponses, GetTreeDocumentBlueprintAncestorsErrors, GetTreeDocumentBlueprintChildrenData, GetTreeDocumentBlueprintChildrenResponses, GetTreeDocumentBlueprintChildrenErrors, GetTreeDocumentBlueprintRootData, GetTreeDocumentBlueprintRootResponses, GetTreeDocumentBlueprintRootErrors, GetTreeDocumentBlueprintSiblingsData, GetTreeDocumentBlueprintSiblingsResponses, GetTreeDocumentBlueprintSiblingsErrors, PostDocumentTypeData, PostDocumentTypeResponses, PostDocumentTypeErrors, DeleteDocumentTypeByIdData, DeleteDocumentTypeByIdResponses, DeleteDocumentTypeByIdErrors, GetDocumentTypeByIdData, GetDocumentTypeByIdResponses, GetDocumentTypeByIdErrors, PutDocumentTypeByIdData, PutDocumentTypeByIdResponses, PutDocumentTypeByIdErrors, GetDocumentTypeByIdAllowedChildrenData, GetDocumentTypeByIdAllowedChildrenResponses, GetDocumentTypeByIdAllowedChildrenErrors, GetDocumentTypeByIdBlueprintData, GetDocumentTypeByIdBlueprintResponses, GetDocumentTypeByIdBlueprintErrors, GetDocumentTypeByIdCompositionReferencesData, GetDocumentTypeByIdCompositionReferencesResponses, GetDocumentTypeByIdCompositionReferencesErrors, PostDocumentTypeByIdCopyData, PostDocumentTypeByIdCopyResponses, PostDocumentTypeByIdCopyErrors, GetDocumentTypeByIdExportData, GetDocumentTypeByIdExportResponses, GetDocumentTypeByIdExportErrors, PutDocumentTypeByIdImportData, PutDocumentTypeByIdImportResponses, PutDocumentTypeByIdImportErrors, PutDocumentTypeByIdMoveData, PutDocumentTypeByIdMoveResponses, PutDocumentTypeByIdMoveErrors, GetDocumentTypeAllowedAtRootData, GetDocumentTypeAllowedAtRootResponses, GetDocumentTypeAllowedAtRootErrors, PostDocumentTypeAvailableCompositionsData, PostDocumentTypeAvailableCompositionsResponses, PostDocumentTypeAvailableCompositionsErrors, GetDocumentTypeConfigurationData, GetDocumentTypeConfigurationResponses, GetDocumentTypeConfigurationErrors, PostDocumentTypeFolderData, PostDocumentTypeFolderResponses, PostDocumentTypeFolderErrors, DeleteDocumentTypeFolderByIdData, DeleteDocumentTypeFolderByIdResponses, DeleteDocumentTypeFolderByIdErrors, GetDocumentTypeFolderByIdData, GetDocumentTypeFolderByIdResponses, GetDocumentTypeFolderByIdErrors, PutDocumentTypeFolderByIdData, PutDocumentTypeFolderByIdResponses, PutDocumentTypeFolderByIdErrors, PostDocumentTypeImportData, PostDocumentTypeImportResponses, PostDocumentTypeImportErrors, GetItemDocumentTypeData, GetItemDocumentTypeResponses, GetItemDocumentTypeErrors, GetItemDocumentTypeSearchData, GetItemDocumentTypeSearchResponses, GetItemDocumentTypeSearchErrors, GetTreeDocumentTypeAncestorsData, GetTreeDocumentTypeAncestorsResponses, GetTreeDocumentTypeAncestorsErrors, GetTreeDocumentTypeChildrenData, GetTreeDocumentTypeChildrenResponses, GetTreeDocumentTypeChildrenErrors, GetTreeDocumentTypeRootData, GetTreeDocumentTypeRootResponses, GetTreeDocumentTypeRootErrors, GetTreeDocumentTypeSiblingsData, GetTreeDocumentTypeSiblingsResponses, GetTreeDocumentTypeSiblingsErrors, GetDocumentVersionData, GetDocumentVersionResponses, GetDocumentVersionErrors, GetDocumentVersionByIdData, GetDocumentVersionByIdResponses, GetDocumentVersionByIdErrors, PutDocumentVersionByIdPreventCleanupData, PutDocumentVersionByIdPreventCleanupResponses, PutDocumentVersionByIdPreventCleanupErrors, PostDocumentVersionByIdRollbackData, PostDocumentVersionByIdRollbackResponses, PostDocumentVersionByIdRollbackErrors, GetCollectionDocumentByIdData, GetCollectionDocumentByIdResponses, GetCollectionDocumentByIdErrors, PostDocumentData, PostDocumentResponses, PostDocumentErrors, DeleteDocumentByIdData, DeleteDocumentByIdResponses, DeleteDocumentByIdErrors, GetDocumentByIdData, GetDocumentByIdResponses, GetDocumentByIdErrors, PutDocumentByIdData, PutDocumentByIdResponses, PutDocumentByIdErrors, GetDocumentByIdAuditLogData, GetDocumentByIdAuditLogResponses, GetDocumentByIdAuditLogErrors, GetDocumentByIdAvailableSegmentOptionsData, GetDocumentByIdAvailableSegmentOptionsResponses, GetDocumentByIdAvailableSegmentOptionsErrors, PostDocumentByIdCopyData, PostDocumentByIdCopyResponses, PostDocumentByIdCopyErrors, GetDocumentByIdDomainsData, GetDocumentByIdDomainsResponses, GetDocumentByIdDomainsErrors, PutDocumentByIdDomainsData, PutDocumentByIdDomainsResponses, PutDocumentByIdDomainsErrors, PutDocumentByIdMoveData, PutDocumentByIdMoveResponses, PutDocumentByIdMoveErrors, PutDocumentByIdMoveToRecycleBinData, PutDocumentByIdMoveToRecycleBinResponses, PutDocumentByIdMoveToRecycleBinErrors, GetDocumentByIdNotificationsData, GetDocumentByIdNotificationsResponses, GetDocumentByIdNotificationsErrors, PutDocumentByIdNotificationsData, PutDocumentByIdNotificationsResponses, PutDocumentByIdNotificationsErrors, DeleteDocumentByIdPublicAccessData, DeleteDocumentByIdPublicAccessResponses, DeleteDocumentByIdPublicAccessErrors, GetDocumentByIdPublicAccessData, GetDocumentByIdPublicAccessResponses, GetDocumentByIdPublicAccessErrors, PostDocumentByIdPublicAccessData, PostDocumentByIdPublicAccessResponses, PostDocumentByIdPublicAccessErrors, PutDocumentByIdPublicAccessData, PutDocumentByIdPublicAccessResponses, PutDocumentByIdPublicAccessErrors, PutDocumentByIdPublishData, PutDocumentByIdPublishResponses, PutDocumentByIdPublishErrors, PutDocumentByIdPublishWithDescendantsData, PutDocumentByIdPublishWithDescendantsResponses, PutDocumentByIdPublishWithDescendantsErrors, GetDocumentByIdPublishWithDescendantsResultByTaskIdData, GetDocumentByIdPublishWithDescendantsResultByTaskIdResponses, GetDocumentByIdPublishWithDescendantsResultByTaskIdErrors, GetDocumentByIdPublishedData, GetDocumentByIdPublishedResponses, GetDocumentByIdPublishedErrors, GetDocumentByIdReferencedByData, GetDocumentByIdReferencedByResponses, GetDocumentByIdReferencedByErrors, GetDocumentByIdReferencedDescendantsData, GetDocumentByIdReferencedDescendantsResponses, GetDocumentByIdReferencedDescendantsErrors, PutDocumentByIdUnpublishData, PutDocumentByIdUnpublishResponses, PutDocumentByIdUnpublishErrors, PutUmbracoManagementApiV11DocumentByIdValidate11Data, PutUmbracoManagementApiV11DocumentByIdValidate11Responses, PutUmbracoManagementApiV11DocumentByIdValidate11Errors, GetDocumentAreReferencedData, GetDocumentAreReferencedResponses, GetDocumentAreReferencedErrors, GetDocumentConfigurationData, GetDocumentConfigurationResponses, GetDocumentConfigurationErrors, PutDocumentSortData, PutDocumentSortResponses, PutDocumentSortErrors, GetDocumentUrlsData, GetDocumentUrlsResponses, GetDocumentUrlsErrors, PostDocumentValidateData, PostDocumentValidateResponses, PostDocumentValidateErrors, GetItemDocumentData, GetItemDocumentResponses, GetItemDocumentErrors, GetItemDocumentSearchData, GetItemDocumentSearchResponses, GetItemDocumentSearchErrors, DeleteRecycleBinDocumentData, DeleteRecycleBinDocumentResponses, DeleteRecycleBinDocumentErrors, DeleteRecycleBinDocumentByIdData, DeleteRecycleBinDocumentByIdResponses, DeleteRecycleBinDocumentByIdErrors, GetRecycleBinDocumentByIdOriginalParentData, GetRecycleBinDocumentByIdOriginalParentResponses, GetRecycleBinDocumentByIdOriginalParentErrors, PutRecycleBinDocumentByIdRestoreData, PutRecycleBinDocumentByIdRestoreResponses, PutRecycleBinDocumentByIdRestoreErrors, GetRecycleBinDocumentChildrenData, GetRecycleBinDocumentChildrenResponses, GetRecycleBinDocumentChildrenErrors, GetRecycleBinDocumentReferencedByData, GetRecycleBinDocumentReferencedByResponses, GetRecycleBinDocumentReferencedByErrors, GetRecycleBinDocumentRootData, GetRecycleBinDocumentRootResponses, GetRecycleBinDocumentRootErrors, GetRecycleBinDocumentSiblingsData, GetRecycleBinDocumentSiblingsResponses, GetRecycleBinDocumentSiblingsErrors, GetTreeDocumentAncestorsData, GetTreeDocumentAncestorsResponses, GetTreeDocumentAncestorsErrors, GetTreeDocumentChildrenData, GetTreeDocumentChildrenResponses, GetTreeDocumentChildrenErrors, GetTreeDocumentRootData, GetTreeDocumentRootResponses, GetTreeDocumentRootErrors, GetTreeDocumentSiblingsData, GetTreeDocumentSiblingsResponses, GetTreeDocumentSiblingsErrors, PostDynamicRootQueryData, PostDynamicRootQueryResponses, PostDynamicRootQueryErrors, GetDynamicRootStepsData, GetDynamicRootStepsResponses, GetDynamicRootStepsErrors, GetHealthCheckGroupData, GetHealthCheckGroupResponses, GetHealthCheckGroupErrors, GetHealthCheckGroupByNameData, GetHealthCheckGroupByNameResponses, GetHealthCheckGroupByNameErrors, PostHealthCheckGroupByNameCheckData, PostHealthCheckGroupByNameCheckResponses, PostHealthCheckGroupByNameCheckErrors, PostHealthCheckExecuteActionData, PostHealthCheckExecuteActionResponses, PostHealthCheckExecuteActionErrors, GetHelpData, GetHelpResponses, GetHelpErrors, GetImagingResizeUrlsData, GetImagingResizeUrlsResponses, GetImagingResizeUrlsErrors, GetImportAnalyzeData, GetImportAnalyzeResponses, GetImportAnalyzeErrors, GetIndexerData, GetIndexerResponses, GetIndexerErrors, GetIndexerByIndexNameData, GetIndexerByIndexNameResponses, GetIndexerByIndexNameErrors, PostIndexerByIndexNameRebuildData, PostIndexerByIndexNameRebuildResponses, PostIndexerByIndexNameRebuildErrors, GetInstallSettingsData, GetInstallSettingsResponses, GetInstallSettingsErrors, PostInstallSetupData, PostInstallSetupResponses, PostInstallSetupErrors, PostInstallValidateDatabaseData, PostInstallValidateDatabaseResponses, PostInstallValidateDatabaseErrors, GetItemLanguageData, GetItemLanguageResponses, GetItemLanguageErrors, GetItemLanguageDefaultData, GetItemLanguageDefaultResponses, GetItemLanguageDefaultErrors, GetLanguageData, GetLanguageResponses, GetLanguageErrors, PostLanguageData, PostLanguageResponses, PostLanguageErrors, DeleteLanguageByIsoCodeData, DeleteLanguageByIsoCodeResponses, DeleteLanguageByIsoCodeErrors, GetLanguageByIsoCodeData, GetLanguageByIsoCodeResponses, GetLanguageByIsoCodeErrors, PutLanguageByIsoCodeData, PutLanguageByIsoCodeResponses, PutLanguageByIsoCodeErrors, GetLogViewerLevelData, GetLogViewerLevelResponses, GetLogViewerLevelErrors, GetLogViewerLevelCountData, GetLogViewerLevelCountResponses, GetLogViewerLevelCountErrors, GetLogViewerLogData, GetLogViewerLogResponses, GetLogViewerLogErrors, GetLogViewerMessageTemplateData, GetLogViewerMessageTemplateResponses, GetLogViewerMessageTemplateErrors, GetLogViewerSavedSearchData, GetLogViewerSavedSearchResponses, GetLogViewerSavedSearchErrors, PostLogViewerSavedSearchData, PostLogViewerSavedSearchResponses, PostLogViewerSavedSearchErrors, DeleteLogViewerSavedSearchByNameData, DeleteLogViewerSavedSearchByNameResponses, DeleteLogViewerSavedSearchByNameErrors, GetLogViewerSavedSearchByNameData, GetLogViewerSavedSearchByNameResponses, GetLogViewerSavedSearchByNameErrors, GetLogViewerValidateLogsSizeData, GetLogViewerValidateLogsSizeResponses, GetLogViewerValidateLogsSizeErrors, GetManifestManifestData, GetManifestManifestResponses, GetManifestManifestErrors, GetManifestManifestPrivateData, GetManifestManifestPrivateResponses, GetManifestManifestPrivateErrors, GetManifestManifestPublicData, GetManifestManifestPublicResponses, GetItemMediaTypeData, GetItemMediaTypeResponses, GetItemMediaTypeErrors, GetItemMediaTypeAllowedData, GetItemMediaTypeAllowedResponses, GetItemMediaTypeAllowedErrors, GetItemMediaTypeFoldersData, GetItemMediaTypeFoldersResponses, GetItemMediaTypeFoldersErrors, GetItemMediaTypeSearchData, GetItemMediaTypeSearchResponses, GetItemMediaTypeSearchErrors, PostMediaTypeData, PostMediaTypeResponses, PostMediaTypeErrors, DeleteMediaTypeByIdData, DeleteMediaTypeByIdResponses, DeleteMediaTypeByIdErrors, GetMediaTypeByIdData, GetMediaTypeByIdResponses, GetMediaTypeByIdErrors, PutMediaTypeByIdData, PutMediaTypeByIdResponses, PutMediaTypeByIdErrors, GetMediaTypeByIdAllowedChildrenData, GetMediaTypeByIdAllowedChildrenResponses, GetMediaTypeByIdAllowedChildrenErrors, GetMediaTypeByIdCompositionReferencesData, GetMediaTypeByIdCompositionReferencesResponses, GetMediaTypeByIdCompositionReferencesErrors, PostMediaTypeByIdCopyData, PostMediaTypeByIdCopyResponses, PostMediaTypeByIdCopyErrors, GetMediaTypeByIdExportData, GetMediaTypeByIdExportResponses, GetMediaTypeByIdExportErrors, PutMediaTypeByIdImportData, PutMediaTypeByIdImportResponses, PutMediaTypeByIdImportErrors, PutMediaTypeByIdMoveData, PutMediaTypeByIdMoveResponses, PutMediaTypeByIdMoveErrors, GetMediaTypeAllowedAtRootData, GetMediaTypeAllowedAtRootResponses, GetMediaTypeAllowedAtRootErrors, PostMediaTypeAvailableCompositionsData, PostMediaTypeAvailableCompositionsResponses, PostMediaTypeAvailableCompositionsErrors, GetMediaTypeConfigurationData, GetMediaTypeConfigurationResponses, GetMediaTypeConfigurationErrors, PostMediaTypeFolderData, PostMediaTypeFolderResponses, PostMediaTypeFolderErrors, DeleteMediaTypeFolderByIdData, DeleteMediaTypeFolderByIdResponses, DeleteMediaTypeFolderByIdErrors, GetMediaTypeFolderByIdData, GetMediaTypeFolderByIdResponses, GetMediaTypeFolderByIdErrors, PutMediaTypeFolderByIdData, PutMediaTypeFolderByIdResponses, PutMediaTypeFolderByIdErrors, PostMediaTypeImportData, PostMediaTypeImportResponses, PostMediaTypeImportErrors, GetTreeMediaTypeAncestorsData, GetTreeMediaTypeAncestorsResponses, GetTreeMediaTypeAncestorsErrors, GetTreeMediaTypeChildrenData, GetTreeMediaTypeChildrenResponses, GetTreeMediaTypeChildrenErrors, GetTreeMediaTypeRootData, GetTreeMediaTypeRootResponses, GetTreeMediaTypeRootErrors, GetTreeMediaTypeSiblingsData, GetTreeMediaTypeSiblingsResponses, GetTreeMediaTypeSiblingsErrors, GetCollectionMediaData, GetCollectionMediaResponses, GetCollectionMediaErrors, GetItemMediaData, GetItemMediaResponses, GetItemMediaErrors, GetItemMediaSearchData, GetItemMediaSearchResponses, GetItemMediaSearchErrors, PostMediaData, PostMediaResponses, PostMediaErrors, DeleteMediaByIdData, DeleteMediaByIdResponses, DeleteMediaByIdErrors, GetMediaByIdData, GetMediaByIdResponses, GetMediaByIdErrors, PutMediaByIdData, PutMediaByIdResponses, PutMediaByIdErrors, GetMediaByIdAuditLogData, GetMediaByIdAuditLogResponses, GetMediaByIdAuditLogErrors, PutMediaByIdMoveData, PutMediaByIdMoveResponses, PutMediaByIdMoveErrors, PutMediaByIdMoveToRecycleBinData, PutMediaByIdMoveToRecycleBinResponses, PutMediaByIdMoveToRecycleBinErrors, GetMediaByIdReferencedByData, GetMediaByIdReferencedByResponses, GetMediaByIdReferencedByErrors, GetMediaByIdReferencedDescendantsData, GetMediaByIdReferencedDescendantsResponses, GetMediaByIdReferencedDescendantsErrors, PutMediaByIdValidateData, PutMediaByIdValidateResponses, PutMediaByIdValidateErrors, GetMediaAreReferencedData, GetMediaAreReferencedResponses, GetMediaAreReferencedErrors, GetMediaConfigurationData, GetMediaConfigurationResponses, GetMediaConfigurationErrors, PutMediaSortData, PutMediaSortResponses, PutMediaSortErrors, GetMediaUrlsData, GetMediaUrlsResponses, GetMediaUrlsErrors, PostMediaValidateData, PostMediaValidateResponses, PostMediaValidateErrors, DeleteRecycleBinMediaData, DeleteRecycleBinMediaResponses, DeleteRecycleBinMediaErrors, DeleteRecycleBinMediaByIdData, DeleteRecycleBinMediaByIdResponses, DeleteRecycleBinMediaByIdErrors, GetRecycleBinMediaByIdOriginalParentData, GetRecycleBinMediaByIdOriginalParentResponses, GetRecycleBinMediaByIdOriginalParentErrors, PutRecycleBinMediaByIdRestoreData, PutRecycleBinMediaByIdRestoreResponses, PutRecycleBinMediaByIdRestoreErrors, GetRecycleBinMediaChildrenData, GetRecycleBinMediaChildrenResponses, GetRecycleBinMediaChildrenErrors, GetRecycleBinMediaReferencedByData, GetRecycleBinMediaReferencedByResponses, GetRecycleBinMediaReferencedByErrors, GetRecycleBinMediaRootData, GetRecycleBinMediaRootResponses, GetRecycleBinMediaRootErrors, GetRecycleBinMediaSiblingsData, GetRecycleBinMediaSiblingsResponses, GetRecycleBinMediaSiblingsErrors, GetTreeMediaAncestorsData, GetTreeMediaAncestorsResponses, GetTreeMediaAncestorsErrors, GetTreeMediaChildrenData, GetTreeMediaChildrenResponses, GetTreeMediaChildrenErrors, GetTreeMediaRootData, GetTreeMediaRootResponses, GetTreeMediaRootErrors, GetTreeMediaSiblingsData, GetTreeMediaSiblingsResponses, GetTreeMediaSiblingsErrors, GetItemMemberGroupData, GetItemMemberGroupResponses, GetItemMemberGroupErrors, GetMemberGroupData, GetMemberGroupResponses, GetMemberGroupErrors, PostMemberGroupData, PostMemberGroupResponses, PostMemberGroupErrors, DeleteMemberGroupByIdData, DeleteMemberGroupByIdResponses, DeleteMemberGroupByIdErrors, GetMemberGroupByIdData, GetMemberGroupByIdResponses, GetMemberGroupByIdErrors, PutMemberGroupByIdData, PutMemberGroupByIdResponses, PutMemberGroupByIdErrors, GetTreeMemberGroupRootData, GetTreeMemberGroupRootResponses, GetTreeMemberGroupRootErrors, GetItemMemberTypeData, GetItemMemberTypeResponses, GetItemMemberTypeErrors, GetItemMemberTypeSearchData, GetItemMemberTypeSearchResponses, GetItemMemberTypeSearchErrors, PostMemberTypeData, PostMemberTypeResponses, PostMemberTypeErrors, DeleteMemberTypeByIdData, DeleteMemberTypeByIdResponses, DeleteMemberTypeByIdErrors, GetMemberTypeByIdData, GetMemberTypeByIdResponses, GetMemberTypeByIdErrors, PutMemberTypeByIdData, PutMemberTypeByIdResponses, PutMemberTypeByIdErrors, GetMemberTypeByIdCompositionReferencesData, GetMemberTypeByIdCompositionReferencesResponses, GetMemberTypeByIdCompositionReferencesErrors, PostMemberTypeByIdCopyData, PostMemberTypeByIdCopyResponses, PostMemberTypeByIdCopyErrors, PostMemberTypeAvailableCompositionsData, PostMemberTypeAvailableCompositionsResponses, PostMemberTypeAvailableCompositionsErrors, GetMemberTypeConfigurationData, GetMemberTypeConfigurationResponses, GetMemberTypeConfigurationErrors, GetTreeMemberTypeRootData, GetTreeMemberTypeRootResponses, GetTreeMemberTypeRootErrors, GetTreeMemberTypeSiblingsData, GetTreeMemberTypeSiblingsResponses, GetTreeMemberTypeSiblingsErrors, GetFilterMemberData, GetFilterMemberResponses, GetFilterMemberErrors, GetItemMemberData, GetItemMemberResponses, GetItemMemberErrors, GetItemMemberSearchData, GetItemMemberSearchResponses, GetItemMemberSearchErrors, PostMemberData, PostMemberResponses, PostMemberErrors, DeleteMemberByIdData, DeleteMemberByIdResponses, DeleteMemberByIdErrors, GetMemberByIdData, GetMemberByIdResponses, GetMemberByIdErrors, PutMemberByIdData, PutMemberByIdResponses, PutMemberByIdErrors, GetMemberByIdReferencedByData, GetMemberByIdReferencedByResponses, GetMemberByIdReferencedByErrors, GetMemberByIdReferencedDescendantsData, GetMemberByIdReferencedDescendantsResponses, GetMemberByIdReferencedDescendantsErrors, PutMemberByIdValidateData, PutMemberByIdValidateResponses, PutMemberByIdValidateErrors, GetMemberAreReferencedData, GetMemberAreReferencedResponses, GetMemberAreReferencedErrors, GetMemberConfigurationData, GetMemberConfigurationResponses, GetMemberConfigurationErrors, PostMemberValidateData, PostMemberValidateResponses, PostMemberValidateErrors, PostModelsBuilderBuildData, PostModelsBuilderBuildResponses, PostModelsBuilderBuildErrors, GetModelsBuilderDashboardData, GetModelsBuilderDashboardResponses, GetModelsBuilderDashboardErrors, GetModelsBuilderStatusData, GetModelsBuilderStatusResponses, GetModelsBuilderStatusErrors, GetObjectTypesData, GetObjectTypesResponses, GetObjectTypesErrors, GetOembedQueryData, GetOembedQueryResponses, GetOembedQueryErrors, PostPackageByNameRunMigrationData, PostPackageByNameRunMigrationResponses, PostPackageByNameRunMigrationErrors, GetPackageConfigurationData, GetPackageConfigurationResponses, GetPackageConfigurationErrors, GetPackageCreatedData, GetPackageCreatedResponses, GetPackageCreatedErrors, PostPackageCreatedData, PostPackageCreatedResponses, PostPackageCreatedErrors, DeletePackageCreatedByIdData, DeletePackageCreatedByIdResponses, DeletePackageCreatedByIdErrors, GetPackageCreatedByIdData, GetPackageCreatedByIdResponses, GetPackageCreatedByIdErrors, PutPackageCreatedByIdData, PutPackageCreatedByIdResponses, PutPackageCreatedByIdErrors, GetPackageCreatedByIdDownloadData, GetPackageCreatedByIdDownloadResponses, GetPackageCreatedByIdDownloadErrors, GetPackageMigrationStatusData, GetPackageMigrationStatusResponses, GetPackageMigrationStatusErrors, GetItemPartialViewData, GetItemPartialViewResponses, GetItemPartialViewErrors, PostPartialViewData, PostPartialViewResponses, PostPartialViewErrors, DeletePartialViewByPathData, DeletePartialViewByPathResponses, DeletePartialViewByPathErrors, GetPartialViewByPathData, GetPartialViewByPathResponses, GetPartialViewByPathErrors, PutPartialViewByPathData, PutPartialViewByPathResponses, PutPartialViewByPathErrors, PutPartialViewByPathRenameData, PutPartialViewByPathRenameResponses, PutPartialViewByPathRenameErrors, PostPartialViewFolderData, PostPartialViewFolderResponses, PostPartialViewFolderErrors, DeletePartialViewFolderByPathData, DeletePartialViewFolderByPathResponses, DeletePartialViewFolderByPathErrors, GetPartialViewFolderByPathData, GetPartialViewFolderByPathResponses, GetPartialViewFolderByPathErrors, GetPartialViewSnippetData, GetPartialViewSnippetResponses, GetPartialViewSnippetErrors, GetPartialViewSnippetByIdData, GetPartialViewSnippetByIdResponses, GetPartialViewSnippetByIdErrors, GetTreePartialViewAncestorsData, GetTreePartialViewAncestorsResponses, GetTreePartialViewAncestorsErrors, GetTreePartialViewChildrenData, GetTreePartialViewChildrenResponses, GetTreePartialViewChildrenErrors, GetTreePartialViewRootData, GetTreePartialViewRootResponses, GetTreePartialViewRootErrors, GetTreePartialViewSiblingsData, GetTreePartialViewSiblingsResponses, GetTreePartialViewSiblingsErrors, DeletePreviewData, DeletePreviewResponses, PostPreviewData, PostPreviewResponses, PostPreviewErrors, GetProfilingStatusData, GetProfilingStatusResponses, GetProfilingStatusErrors, PutProfilingStatusData, PutProfilingStatusResponses, PutProfilingStatusErrors, GetPropertyTypeIsUsedData, GetPropertyTypeIsUsedResponses, GetPropertyTypeIsUsedErrors, PostPublishedCacheRebuildData, PostPublishedCacheRebuildResponses, PostPublishedCacheRebuildErrors, GetPublishedCacheRebuildStatusData, GetPublishedCacheRebuildStatusResponses, GetPublishedCacheRebuildStatusErrors, PostPublishedCacheReloadData, PostPublishedCacheReloadResponses, PostPublishedCacheReloadErrors, GetRedirectManagementData, GetRedirectManagementResponses, GetRedirectManagementErrors, DeleteRedirectManagementByIdData, DeleteRedirectManagementByIdResponses, DeleteRedirectManagementByIdErrors, GetRedirectManagementByIdData, GetRedirectManagementByIdResponses, GetRedirectManagementByIdErrors, GetRedirectManagementStatusData, GetRedirectManagementStatusResponses, GetRedirectManagementStatusErrors, PostRedirectManagementStatusData, PostRedirectManagementStatusResponses, PostRedirectManagementStatusErrors, GetItemRelationTypeData, GetItemRelationTypeResponses, GetItemRelationTypeErrors, GetRelationTypeData, GetRelationTypeResponses, GetRelationTypeErrors, GetRelationTypeByIdData, GetRelationTypeByIdResponses, GetRelationTypeByIdErrors, GetRelationByRelationTypeIdData, GetRelationByRelationTypeIdResponses, GetRelationByRelationTypeIdErrors, GetItemScriptData, GetItemScriptResponses, GetItemScriptErrors, PostScriptData, PostScriptResponses, PostScriptErrors, DeleteScriptByPathData, DeleteScriptByPathResponses, DeleteScriptByPathErrors, GetScriptByPathData, GetScriptByPathResponses, GetScriptByPathErrors, PutScriptByPathData, PutScriptByPathResponses, PutScriptByPathErrors, PutScriptByPathRenameData, PutScriptByPathRenameResponses, PutScriptByPathRenameErrors, PostScriptFolderData, PostScriptFolderResponses, PostScriptFolderErrors, DeleteScriptFolderByPathData, DeleteScriptFolderByPathResponses, DeleteScriptFolderByPathErrors, GetScriptFolderByPathData, GetScriptFolderByPathResponses, GetScriptFolderByPathErrors, GetTreeScriptAncestorsData, GetTreeScriptAncestorsResponses, GetTreeScriptAncestorsErrors, GetTreeScriptChildrenData, GetTreeScriptChildrenResponses, GetTreeScriptChildrenErrors, GetTreeScriptRootData, GetTreeScriptRootResponses, GetTreeScriptRootErrors, GetTreeScriptSiblingsData, GetTreeScriptSiblingsResponses, GetTreeScriptSiblingsErrors, GetSearcherData, GetSearcherResponses, GetSearcherErrors, GetSearcherBySearcherNameQueryData, GetSearcherBySearcherNameQueryResponses, GetSearcherBySearcherNameQueryErrors, GetSecurityConfigurationData, GetSecurityConfigurationResponses, GetSecurityConfigurationErrors, PostSecurityForgotPasswordData, PostSecurityForgotPasswordResponses, PostSecurityForgotPasswordErrors, PostSecurityForgotPasswordResetData, PostSecurityForgotPasswordResetResponses, PostSecurityForgotPasswordResetErrors, PostSecurityForgotPasswordVerifyData, PostSecurityForgotPasswordVerifyResponses, PostSecurityForgotPasswordVerifyErrors, GetSegmentData, GetSegmentResponses, GetSegmentErrors, GetServerConfigurationData, GetServerConfigurationResponses, GetServerInformationData, GetServerInformationResponses, GetServerInformationErrors, GetServerStatusData, GetServerStatusResponses, GetServerStatusErrors, GetServerTroubleshootingData, GetServerTroubleshootingResponses, GetServerTroubleshootingErrors, GetServerUpgradeCheckData, GetServerUpgradeCheckResponses, GetServerUpgradeCheckErrors, GetItemStaticFileData, GetItemStaticFileResponses, GetItemStaticFileErrors, GetTreeStaticFileAncestorsData, GetTreeStaticFileAncestorsResponses, GetTreeStaticFileAncestorsErrors, GetTreeStaticFileChildrenData, GetTreeStaticFileChildrenResponses, GetTreeStaticFileChildrenErrors, GetTreeStaticFileRootData, GetTreeStaticFileRootResponses, GetTreeStaticFileRootErrors, GetItemStylesheetData, GetItemStylesheetResponses, GetItemStylesheetErrors, PostStylesheetData, PostStylesheetResponses, PostStylesheetErrors, DeleteStylesheetByPathData, DeleteStylesheetByPathResponses, DeleteStylesheetByPathErrors, GetStylesheetByPathData, GetStylesheetByPathResponses, GetStylesheetByPathErrors, PutStylesheetByPathData, PutStylesheetByPathResponses, PutStylesheetByPathErrors, PutStylesheetByPathRenameData, PutStylesheetByPathRenameResponses, PutStylesheetByPathRenameErrors, PostStylesheetFolderData, PostStylesheetFolderResponses, PostStylesheetFolderErrors, DeleteStylesheetFolderByPathData, DeleteStylesheetFolderByPathResponses, DeleteStylesheetFolderByPathErrors, GetStylesheetFolderByPathData, GetStylesheetFolderByPathResponses, GetStylesheetFolderByPathErrors, GetTreeStylesheetAncestorsData, GetTreeStylesheetAncestorsResponses, GetTreeStylesheetAncestorsErrors, GetTreeStylesheetChildrenData, GetTreeStylesheetChildrenResponses, GetTreeStylesheetChildrenErrors, GetTreeStylesheetRootData, GetTreeStylesheetRootResponses, GetTreeStylesheetRootErrors, GetTreeStylesheetSiblingsData, GetTreeStylesheetSiblingsResponses, GetTreeStylesheetSiblingsErrors, GetTagData, GetTagResponses, GetTagErrors, GetTelemetryData, GetTelemetryResponses, GetTelemetryErrors, GetTelemetryLevelData, GetTelemetryLevelResponses, GetTelemetryLevelErrors, PostTelemetryLevelData, PostTelemetryLevelResponses, PostTelemetryLevelErrors, GetItemTemplateData, GetItemTemplateResponses, GetItemTemplateErrors, GetItemTemplateSearchData, GetItemTemplateSearchResponses, GetItemTemplateSearchErrors, PostTemplateData, PostTemplateResponses, PostTemplateErrors, DeleteTemplateByIdData, DeleteTemplateByIdResponses, DeleteTemplateByIdErrors, GetTemplateByIdData, GetTemplateByIdResponses, GetTemplateByIdErrors, PutTemplateByIdData, PutTemplateByIdResponses, PutTemplateByIdErrors, GetTemplateConfigurationData, GetTemplateConfigurationResponses, GetTemplateConfigurationErrors, PostTemplateQueryExecuteData, PostTemplateQueryExecuteResponses, PostTemplateQueryExecuteErrors, GetTemplateQuerySettingsData, GetTemplateQuerySettingsResponses, GetTemplateQuerySettingsErrors, GetTreeTemplateAncestorsData, GetTreeTemplateAncestorsResponses, GetTreeTemplateAncestorsErrors, GetTreeTemplateChildrenData, GetTreeTemplateChildrenResponses, GetTreeTemplateChildrenErrors, GetTreeTemplateRootData, GetTreeTemplateRootResponses, GetTreeTemplateRootErrors, GetTreeTemplateSiblingsData, GetTreeTemplateSiblingsResponses, GetTreeTemplateSiblingsErrors, PostTemporaryFileData, PostTemporaryFileResponses, PostTemporaryFileErrors, DeleteTemporaryFileByIdData, DeleteTemporaryFileByIdResponses, DeleteTemporaryFileByIdErrors, GetTemporaryFileByIdData, GetTemporaryFileByIdResponses, GetTemporaryFileByIdErrors, GetTemporaryFileConfigurationData, GetTemporaryFileConfigurationResponses, GetTemporaryFileConfigurationErrors, PostUpgradeAuthorizeData, PostUpgradeAuthorizeResponses, PostUpgradeAuthorizeErrors, GetUpgradeSettingsData, GetUpgradeSettingsResponses, GetUpgradeSettingsErrors, GetUserDataData, GetUserDataResponses, GetUserDataErrors, PostUserDataData, PostUserDataResponses, PostUserDataErrors, PutUserDataData, PutUserDataResponses, PutUserDataErrors, DeleteUserDataByIdData, DeleteUserDataByIdResponses, DeleteUserDataByIdErrors, GetUserDataByIdData, GetUserDataByIdResponses, GetUserDataByIdErrors, GetFilterUserGroupData, GetFilterUserGroupResponses, GetFilterUserGroupErrors, GetItemUserGroupData, GetItemUserGroupResponses, GetItemUserGroupErrors, DeleteUserGroupData, DeleteUserGroupResponses, DeleteUserGroupErrors, GetUserGroupData, GetUserGroupResponses, GetUserGroupErrors, PostUserGroupData, PostUserGroupResponses, PostUserGroupErrors, DeleteUserGroupByIdData, DeleteUserGroupByIdResponses, DeleteUserGroupByIdErrors, GetUserGroupByIdData, GetUserGroupByIdResponses, GetUserGroupByIdErrors, PutUserGroupByIdData, PutUserGroupByIdResponses, PutUserGroupByIdErrors, DeleteUserGroupByIdUsersData, DeleteUserGroupByIdUsersResponses, DeleteUserGroupByIdUsersErrors, PostUserGroupByIdUsersData, PostUserGroupByIdUsersResponses, PostUserGroupByIdUsersErrors, GetFilterUserData, GetFilterUserResponses, GetFilterUserErrors, GetItemUserData, GetItemUserResponses, GetItemUserErrors, DeleteUserData, DeleteUserResponses, DeleteUserErrors, GetUserData, GetUserResponses, GetUserErrors, PostUserData, PostUserResponses, PostUserErrors, DeleteUserByIdData, DeleteUserByIdResponses, DeleteUserByIdErrors, GetUserByIdData, GetUserByIdResponses, GetUserByIdErrors, PutUserByIdData, PutUserByIdResponses, PutUserByIdErrors, GetUserById2FaData, GetUserById2FaResponses, GetUserById2FaErrors, DeleteUserById2FaByProviderNameData, DeleteUserById2FaByProviderNameResponses, DeleteUserById2FaByProviderNameErrors, GetUserByIdCalculateStartNodesData, GetUserByIdCalculateStartNodesResponses, GetUserByIdCalculateStartNodesErrors, PostUserByIdChangePasswordData, PostUserByIdChangePasswordResponses, PostUserByIdChangePasswordErrors, GetUserByIdClientCredentialsData, GetUserByIdClientCredentialsResponses, GetUserByIdClientCredentialsErrors, PostUserByIdClientCredentialsData, PostUserByIdClientCredentialsResponses, PostUserByIdClientCredentialsErrors, DeleteUserByIdClientCredentialsByClientIdData, DeleteUserByIdClientCredentialsByClientIdResponses, DeleteUserByIdClientCredentialsByClientIdErrors, PostUserByIdResetPasswordData, PostUserByIdResetPasswordResponses, PostUserByIdResetPasswordErrors, DeleteUserAvatarByIdData, DeleteUserAvatarByIdResponses, DeleteUserAvatarByIdErrors, PostUserAvatarByIdData, PostUserAvatarByIdResponses, PostUserAvatarByIdErrors, GetUserConfigurationData, GetUserConfigurationResponses, GetUserConfigurationErrors, GetUserCurrentData, GetUserCurrentResponses, GetUserCurrentErrors, GetUserCurrent2FaData, GetUserCurrent2FaResponses, GetUserCurrent2FaErrors, DeleteUserCurrent2FaByProviderNameData, DeleteUserCurrent2FaByProviderNameResponses, DeleteUserCurrent2FaByProviderNameErrors, GetUserCurrent2FaByProviderNameData, GetUserCurrent2FaByProviderNameResponses, GetUserCurrent2FaByProviderNameErrors, PostUserCurrent2FaByProviderNameData, PostUserCurrent2FaByProviderNameResponses, PostUserCurrent2FaByProviderNameErrors, PostUserCurrentAvatarData, PostUserCurrentAvatarResponses, PostUserCurrentAvatarErrors, PostUserCurrentChangePasswordData, PostUserCurrentChangePasswordResponses, PostUserCurrentChangePasswordErrors, GetUserCurrentConfigurationData, GetUserCurrentConfigurationResponses, GetUserCurrentConfigurationErrors, GetUserCurrentLoginProvidersData, GetUserCurrentLoginProvidersResponses, GetUserCurrentLoginProvidersErrors, GetUserCurrentPermissionsData, GetUserCurrentPermissionsResponses, GetUserCurrentPermissionsErrors, GetUserCurrentPermissionsDocumentData, GetUserCurrentPermissionsDocumentResponses, GetUserCurrentPermissionsDocumentErrors, GetUserCurrentPermissionsMediaData, GetUserCurrentPermissionsMediaResponses, GetUserCurrentPermissionsMediaErrors, PostUserDisableData, PostUserDisableResponses, PostUserDisableErrors, PostUserEnableData, PostUserEnableResponses, PostUserEnableErrors, PostUserInviteData, PostUserInviteResponses, PostUserInviteErrors, PostUserInviteCreatePasswordData, PostUserInviteCreatePasswordResponses, PostUserInviteCreatePasswordErrors, PostUserInviteResendData, PostUserInviteResendResponses, PostUserInviteResendErrors, PostUserInviteVerifyData, PostUserInviteVerifyResponses, PostUserInviteVerifyErrors, PostUserSetUserGroupsData, PostUserSetUserGroupsResponses, PostUserSetUserGroupsErrors, PostUserUnlockData, PostUserUnlockResponses, PostUserUnlockErrors, GetItemWebhookData, GetItemWebhookResponses, GetItemWebhookErrors, GetWebhookData, GetWebhookResponses, GetWebhookErrors, PostWebhookData, PostWebhookResponses, PostWebhookErrors, DeleteWebhookByIdData, DeleteWebhookByIdResponses, DeleteWebhookByIdErrors, GetWebhookByIdData, GetWebhookByIdResponses, GetWebhookByIdErrors, PutWebhookByIdData, PutWebhookByIdResponses, PutWebhookByIdErrors, GetWebhookByIdLogsData, GetWebhookByIdLogsResponses, GetWebhookByIdLogsErrors, GetWebhookEventsData, GetWebhookEventsResponses, GetWebhookEventsErrors, GetWebhookLogsData, GetWebhookLogsResponses, GetWebhookLogsErrors } from './types.gen'; import { client as _heyApiClient } from './client.gen'; export type Options = ClientOptions & { @@ -154,22 +154,6 @@ export class DataTypeService { }); } - /** - * @deprecated - */ - public static getDataTypeByIdReferences(options: Options) { - return (options.client ?? _heyApiClient).get({ - security: [ - { - scheme: 'bearer', - type: 'http' - } - ], - url: '/umbraco/management/api/v1/data-type/{id}/references', - ...options - }); - } - public static getDataTypeConfiguration(options?: Options) { return (options?.client ?? _heyApiClient).get({ security: [ @@ -1750,6 +1734,19 @@ export class DocumentService { }); } + public static getRecycleBinDocumentSiblings(options?: Options) { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/umbraco/management/api/v1/recycle-bin/document/siblings', + ...options + }); + } + public static getTreeDocumentAncestors(options?: Options) { return (options?.client ?? _heyApiClient).get({ security: [ @@ -3003,6 +3000,19 @@ export class MediaService { }); } + public static getRecycleBinMediaSiblings(options?: Options) { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/umbraco/management/api/v1/recycle-bin/media/siblings', + ...options + }); + } + public static getTreeMediaAncestors(options?: Options) { return (options?.client ?? _heyApiClient).get({ security: [ @@ -3312,6 +3322,19 @@ export class MemberTypeService { ...options }); } + + public static getTreeMemberTypeSiblings(options?: Options) { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/umbraco/management/api/v1/tree/member-type/siblings', + ...options + }); + } } export class MemberService { @@ -3897,6 +3920,19 @@ export class PartialViewService { ...options }); } + + public static getTreePartialViewSiblings(options?: Options) { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/umbraco/management/api/v1/tree/partial-view/siblings', + ...options + }); + } } export class PreviewService { @@ -4304,6 +4340,19 @@ export class ScriptService { ...options }); } + + public static getTreeScriptSiblings(options?: Options) { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/umbraco/management/api/v1/tree/script/siblings', + ...options + }); + } } export class SearcherService { @@ -4690,6 +4739,19 @@ export class StylesheetService { ...options }); } + + public static getTreeStylesheetSiblings(options?: Options) { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/umbraco/management/api/v1/tree/stylesheet/siblings', + ...options + }); + } } export class TagService { @@ -5070,6 +5132,19 @@ export class UserDataService { }); } + public static deleteUserDataById(options: Options) { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/umbraco/management/api/v1/user-data/{id}', + ...options + }); + } + public static getUserDataById(options: Options) { return (options.client ?? _heyApiClient).get({ security: [ diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/backend-api/types.gen.ts b/src/Umbraco.Web.UI.Client/src/packages/core/backend-api/types.gen.ts index b5dae034e0..647018f043 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/backend-api/types.gen.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/backend-api/types.gen.ts @@ -408,7 +408,7 @@ export type CreateUserGroupRequestModel = { mediaStartNode?: ReferenceByIdModel | null; mediaRootAccess: boolean; fallbackPermissions: Array; - permissions: Array; + permissions: Array; id?: string | null; }; @@ -467,7 +467,7 @@ export type CurrentUserResponseModel = { hasAccessToAllLanguages: boolean; hasAccessToSensitiveData: boolean; fallbackPermissions: Array; - permissions: Array; + permissions: Array; allowedSections: Array; isAdmin: boolean; }; @@ -478,13 +478,6 @@ export enum DataTypeChangeModeModel { FALSE_WITH_HELP_TEXT = 'FalseWithHelpText' } -export type DataTypeContentTypeReferenceModel = { - id: string; - type: string | null; - name: string | null; - icon: string | null; -}; - export type DataTypeItemResponseModel = { id: string; flags: Array; @@ -499,16 +492,6 @@ export type DataTypePropertyPresentationModel = { value?: unknown; }; -export type DataTypePropertyReferenceModel = { - name: string; - alias: string; -}; - -export type DataTypeReferenceResponseModel = { - contentType: DataTypeContentTypeReferenceModel; - properties: Array; -}; - export type DataTypeResponseModel = { name: string; editorAlias: string; @@ -712,10 +695,6 @@ export type DocumentResponseModel = { id: string; flags: Array; documentType: DocumentTypeReferenceResponseModel; - /** - * @deprecated - */ - urls: Array; template?: ReferenceByIdModel | null; isTrashed: boolean; }; @@ -787,12 +766,6 @@ export type DocumentTypeItemResponseModel = { description?: string | null; }; -export type DocumentTypePermissionPresentationModel = { - $type: string; - verbs: Array; - documentTypeAlias: string; -}; - export type DocumentTypePropertyTypeContainerResponseModel = { id: string; parent?: ReferenceByIdModel | null; @@ -1269,10 +1242,6 @@ export type MediaResponseModel = { variants: Array; id: string; flags: Array; - /** - * @deprecated - */ - urls: Array; isTrashed: boolean; mediaType: MediaTypeReferenceResponseModel; }; @@ -1614,7 +1583,7 @@ export type MemberVariantResponseModel = { }; export type ModelsBuilderResponseModel = { - mode: ModelsModeModel; + mode: string; canGenerate: boolean; outOfDateModels: boolean; lastError?: string | null; @@ -1623,13 +1592,6 @@ export type ModelsBuilderResponseModel = { trackingOutOfDateModels: boolean; }; -export enum ModelsModeModel { - NOTHING = 'Nothing', - IN_MEMORY_AUTO = 'InMemoryAuto', - SOURCE_CODE_MANUAL = 'SourceCodeManual', - SOURCE_CODE_AUTO = 'SourceCodeAuto' -} - export type MoveDataTypeRequestModel = { target?: ReferenceByIdModel | null; }; @@ -2139,10 +2101,6 @@ export type PublishedDocumentResponseModel = { id: string; flags: Array; documentType: DocumentTypeReferenceResponseModel; - /** - * @deprecated - */ - urls: Array; template?: ReferenceByIdModel | null; isTrashed: boolean; }; @@ -2391,6 +2349,12 @@ export type SubsetDocumentBlueprintTreeItemResponseModel = { items: Array; }; +export type SubsetDocumentRecycleBinItemResponseModel = { + totalBefore: number; + totalAfter: number; + items: Array; +}; + export type SubsetDocumentTreeItemResponseModel = { totalBefore: number; totalAfter: number; @@ -2403,6 +2367,18 @@ export type SubsetDocumentTypeTreeItemResponseModel = { items: Array; }; +export type SubsetFileSystemTreeItemPresentationModel = { + totalBefore: number; + totalAfter: number; + items: Array; +}; + +export type SubsetMediaRecycleBinItemResponseModel = { + totalBefore: number; + totalAfter: number; + items: Array; +}; + export type SubsetMediaTreeItemResponseModel = { totalBefore: number; totalAfter: number; @@ -2415,6 +2391,12 @@ export type SubsetMediaTypeTreeItemResponseModel = { items: Array; }; +export type SubsetMemberTypeTreeItemResponseModel = { + totalBefore: number; + totalAfter: number; + items: Array; +}; + export type SubsetNamedEntityTreeItemResponseModel = { totalBefore: number; totalAfter: number; @@ -2800,7 +2782,7 @@ export type UpdateUserGroupRequestModel = { mediaStartNode?: ReferenceByIdModel | null; mediaRootAccess: boolean; fallbackPermissions: Array; - permissions: Array; + permissions: Array; }; export type UpdateUserGroupsOnUserRequestModel = { @@ -2901,7 +2883,7 @@ export type UserGroupResponseModel = { mediaStartNode?: ReferenceByIdModel | null; mediaRootAccess: boolean; fallbackPermissions: Array; - permissions: Array; + permissions: Array; id: string; isDeletable: boolean; aliasCanBeChanged: boolean; @@ -3376,41 +3358,6 @@ export type GetDataTypeByIdReferencedByResponses = { export type GetDataTypeByIdReferencedByResponse = GetDataTypeByIdReferencedByResponses[keyof GetDataTypeByIdReferencedByResponses]; -export type GetDataTypeByIdReferencesData = { - body?: never; - path: { - id: string; - }; - query?: never; - url: '/umbraco/management/api/v1/data-type/{id}/references'; -}; - -export type GetDataTypeByIdReferencesErrors = { - /** - * The resource is protected and requires an authentication token - */ - 401: unknown; - /** - * The authenticated user does not have access to this resource - */ - 403: unknown; - /** - * Not Found - */ - 404: ProblemDetails; -}; - -export type GetDataTypeByIdReferencesError = GetDataTypeByIdReferencesErrors[keyof GetDataTypeByIdReferencesErrors]; - -export type GetDataTypeByIdReferencesResponses = { - /** - * OK - */ - 200: Array; -}; - -export type GetDataTypeByIdReferencesResponse = GetDataTypeByIdReferencesResponses[keyof GetDataTypeByIdReferencesResponses]; - export type GetDataTypeConfigurationData = { body?: never; path?: never; @@ -7113,6 +7060,38 @@ export type GetRecycleBinDocumentRootResponses = { export type GetRecycleBinDocumentRootResponse = GetRecycleBinDocumentRootResponses[keyof GetRecycleBinDocumentRootResponses]; +export type GetRecycleBinDocumentSiblingsData = { + body?: never; + path?: never; + query?: { + target?: string; + before?: number; + after?: number; + dataTypeId?: string; + }; + url: '/umbraco/management/api/v1/recycle-bin/document/siblings'; +}; + +export type GetRecycleBinDocumentSiblingsErrors = { + /** + * The resource is protected and requires an authentication token + */ + 401: unknown; + /** + * The authenticated user does not have access to this resource + */ + 403: unknown; +}; + +export type GetRecycleBinDocumentSiblingsResponses = { + /** + * OK + */ + 200: SubsetDocumentRecycleBinItemResponseModel; +}; + +export type GetRecycleBinDocumentSiblingsResponse = GetRecycleBinDocumentSiblingsResponses[keyof GetRecycleBinDocumentSiblingsResponses]; + export type GetTreeDocumentAncestorsData = { body?: never; path?: never; @@ -9976,6 +9955,38 @@ export type GetRecycleBinMediaRootResponses = { export type GetRecycleBinMediaRootResponse = GetRecycleBinMediaRootResponses[keyof GetRecycleBinMediaRootResponses]; +export type GetRecycleBinMediaSiblingsData = { + body?: never; + path?: never; + query?: { + target?: string; + before?: number; + after?: number; + dataTypeId?: string; + }; + url: '/umbraco/management/api/v1/recycle-bin/media/siblings'; +}; + +export type GetRecycleBinMediaSiblingsErrors = { + /** + * The resource is protected and requires an authentication token + */ + 401: unknown; + /** + * The authenticated user does not have access to this resource + */ + 403: unknown; +}; + +export type GetRecycleBinMediaSiblingsResponses = { + /** + * OK + */ + 200: SubsetMediaRecycleBinItemResponseModel; +}; + +export type GetRecycleBinMediaSiblingsResponse = GetRecycleBinMediaSiblingsResponses[keyof GetRecycleBinMediaSiblingsResponses]; + export type GetTreeMediaAncestorsData = { body?: never; path?: never; @@ -10675,6 +10686,37 @@ export type GetTreeMemberTypeRootResponses = { export type GetTreeMemberTypeRootResponse = GetTreeMemberTypeRootResponses[keyof GetTreeMemberTypeRootResponses]; +export type GetTreeMemberTypeSiblingsData = { + body?: never; + path?: never; + query?: { + target?: string; + before?: number; + after?: number; + }; + url: '/umbraco/management/api/v1/tree/member-type/siblings'; +}; + +export type GetTreeMemberTypeSiblingsErrors = { + /** + * The resource is protected and requires an authentication token + */ + 401: unknown; + /** + * The authenticated user does not have access to this resource + */ + 403: unknown; +}; + +export type GetTreeMemberTypeSiblingsResponses = { + /** + * OK + */ + 200: SubsetMemberTypeTreeItemResponseModel; +}; + +export type GetTreeMemberTypeSiblingsResponse = GetTreeMemberTypeSiblingsResponses[keyof GetTreeMemberTypeSiblingsResponses]; + export type GetFilterMemberData = { body?: never; path?: never; @@ -12014,6 +12056,37 @@ export type GetTreePartialViewRootResponses = { export type GetTreePartialViewRootResponse = GetTreePartialViewRootResponses[keyof GetTreePartialViewRootResponses]; +export type GetTreePartialViewSiblingsData = { + body?: never; + path?: never; + query?: { + path?: string; + before?: number; + after?: number; + }; + url: '/umbraco/management/api/v1/tree/partial-view/siblings'; +}; + +export type GetTreePartialViewSiblingsErrors = { + /** + * The resource is protected and requires an authentication token + */ + 401: unknown; + /** + * The authenticated user does not have access to this resource + */ + 403: unknown; +}; + +export type GetTreePartialViewSiblingsResponses = { + /** + * OK + */ + 200: SubsetFileSystemTreeItemPresentationModel; +}; + +export type GetTreePartialViewSiblingsResponse = GetTreePartialViewSiblingsResponses[keyof GetTreePartialViewSiblingsResponses]; + export type DeletePreviewData = { body?: never; path?: never; @@ -12883,6 +12956,37 @@ export type GetTreeScriptRootResponses = { export type GetTreeScriptRootResponse = GetTreeScriptRootResponses[keyof GetTreeScriptRootResponses]; +export type GetTreeScriptSiblingsData = { + body?: never; + path?: never; + query?: { + path?: string; + before?: number; + after?: number; + }; + url: '/umbraco/management/api/v1/tree/script/siblings'; +}; + +export type GetTreeScriptSiblingsErrors = { + /** + * The resource is protected and requires an authentication token + */ + 401: unknown; + /** + * The authenticated user does not have access to this resource + */ + 403: unknown; +}; + +export type GetTreeScriptSiblingsResponses = { + /** + * OK + */ + 200: SubsetFileSystemTreeItemPresentationModel; +}; + +export type GetTreeScriptSiblingsResponse = GetTreeScriptSiblingsResponses[keyof GetTreeScriptSiblingsResponses]; + export type GetSearcherData = { body?: never; path?: never; @@ -13720,6 +13824,37 @@ export type GetTreeStylesheetRootResponses = { export type GetTreeStylesheetRootResponse = GetTreeStylesheetRootResponses[keyof GetTreeStylesheetRootResponses]; +export type GetTreeStylesheetSiblingsData = { + body?: never; + path?: never; + query?: { + path?: string; + before?: number; + after?: number; + }; + url: '/umbraco/management/api/v1/tree/stylesheet/siblings'; +}; + +export type GetTreeStylesheetSiblingsErrors = { + /** + * The resource is protected and requires an authentication token + */ + 401: unknown; + /** + * The authenticated user does not have access to this resource + */ + 403: unknown; +}; + +export type GetTreeStylesheetSiblingsResponses = { + /** + * OK + */ + 200: SubsetFileSystemTreeItemPresentationModel; +}; + +export type GetTreeStylesheetSiblingsResponse = GetTreeStylesheetSiblingsResponses[keyof GetTreeStylesheetSiblingsResponses]; + export type GetTagData = { body?: never; path?: never; @@ -14514,6 +14649,39 @@ export type PutUserDataResponses = { 200: unknown; }; +export type DeleteUserDataByIdData = { + body?: never; + path: { + id: string; + }; + query?: never; + url: '/umbraco/management/api/v1/user-data/{id}'; +}; + +export type DeleteUserDataByIdErrors = { + /** + * Bad Request + */ + 400: UserDataOperationStatusModel; + /** + * The resource is protected and requires an authentication token + */ + 401: unknown; + /** + * Not Found + */ + 404: UserDataOperationStatusModel; +}; + +export type DeleteUserDataByIdError = DeleteUserDataByIdErrors[keyof DeleteUserDataByIdErrors]; + +export type DeleteUserDataByIdResponses = { + /** + * OK + */ + 200: unknown; +}; + export type GetUserDataByIdData = { body?: never; path: { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/collection-bulk-action-permission.condition.ts b/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/collection-bulk-action-permission.condition.ts deleted file mode 100644 index 767a30b14c..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/collection-bulk-action-permission.condition.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { UMB_COLLECTION_CONTEXT } from '../default/index.js'; -import type { CollectionBulkActionPermissionConditionConfig } from './types.js'; -import type { UmbConditionControllerArguments, UmbExtensionCondition } from '@umbraco-cms/backoffice/extension-api'; -import { UmbConditionBase } from '@umbraco-cms/backoffice/extension-registry'; -import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; - -/** @deprecated No longer used internally. This will be removed in Umbraco 17. [LK] */ -export class UmbCollectionBulkActionPermissionCondition - extends UmbConditionBase - implements UmbExtensionCondition -{ - constructor( - host: UmbControllerHost, - args: UmbConditionControllerArguments, - ) { - super(host, args); - - this.consumeContext(UMB_COLLECTION_CONTEXT, (context) => { - const allowedActions = context?.getConfig()?.allowedEntityBulkActions; - this.permitted = allowedActions ? this.config.match(allowedActions) : false; - }); - } -} - -/** @deprecated No longer used internally. This will be removed in Umbraco 17. [LK] */ -export default UmbCollectionBulkActionPermissionCondition; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/constants.ts index 8a94507bbf..474b439716 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/constants.ts @@ -1,4 +1 @@ export const UMB_COLLECTION_ALIAS_CONDITION = 'Umb.Condition.CollectionAlias'; - -/** @deprecated No longer used internally. This will be removed in Umbraco 17. [LK] */ -export const UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION = 'Umb.Condition.CollectionBulkActionPermission'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/index.ts index 83279e8836..5d3a30ce17 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/index.ts @@ -1,4 +1,3 @@ -export * from './collection-bulk-action-permission.condition.js'; export * from './collection-alias.condition.js'; export * from './constants.js'; export type * from './types.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/manifests.ts index 28e9232416..252ffcf6f0 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/manifests.ts @@ -1,4 +1,4 @@ -import { UMB_COLLECTION_ALIAS_CONDITION, UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION } from './constants.js'; +import { UMB_COLLECTION_ALIAS_CONDITION } from './constants.js'; import type { ManifestCondition } from '@umbraco-cms/backoffice/extension-api'; export const manifests: Array = [ @@ -8,11 +8,4 @@ export const manifests: Array = [ alias: UMB_COLLECTION_ALIAS_CONDITION, api: () => import('./collection-alias.condition.js'), }, - /** @deprecated No longer used internally. This class will be removed in Umbraco 17. [LK] */ - { - type: 'condition', - name: 'Collection Bulk Action Permission Condition', - alias: UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION, - api: () => import('./collection-bulk-action-permission.condition.js'), - }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/types.ts index 3908b6c95a..7ac785f853 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/types.ts @@ -1,15 +1,6 @@ -import type { UmbCollectionBulkActionPermissions } from '../types.js'; -import type { UMB_COLLECTION_ALIAS_CONDITION, UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION } from './constants.js'; +import type { UMB_COLLECTION_ALIAS_CONDITION } from './constants.js'; import type { UmbConditionConfigBase } from '@umbraco-cms/backoffice/extension-api'; -/** @deprecated No longer used internally. This will be removed in Umbraco 17. [LK] */ -// eslint-disable-next-line @typescript-eslint/naming-convention -export type CollectionBulkActionPermissionConditionConfig = UmbConditionConfigBase< - typeof UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION -> & { - match: (permissions: UmbCollectionBulkActionPermissions) => boolean; -}; - // eslint-disable-next-line @typescript-eslint/naming-convention export type CollectionAliasConditionConfig = UmbConditionConfigBase & { /** @@ -22,7 +13,6 @@ export type CollectionAliasConditionConfig = UmbConditionConfigBase; orderBy?: string; orderDirection?: string; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/constants.ts deleted file mode 100644 index f919f4aea6..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/constants.ts +++ /dev/null @@ -1 +0,0 @@ -export const UMB_ENTITY_BULK_ACTION_TRASH_KIND = 'trash'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/index.ts deleted file mode 100644 index 8bed2d2b64..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export type { UmbBulkTrashRepository } from './trash-repository.interface.js'; -export type { UmbBulkTrashRequestArgs } from './types.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/manifests.ts deleted file mode 100644 index 46ec59d132..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/manifests.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { manifest as trashKindManifest } from './trash.action.kind.js'; -import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry'; - -export const manifests: Array = [trashKindManifest]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/trash-repository.interface.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/trash-repository.interface.ts deleted file mode 100644 index 8570bfc8ad..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/trash-repository.interface.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { UmbRepositoryErrorResponse } from '../../../repository/types.js'; -import type { UmbBulkTrashRequestArgs } from './types.js'; -import type { UmbApi } from '@umbraco-cms/backoffice/extension-api'; -/** - * @deprecated since 15.3.0. Will be removed in 17.0.0. Call trash method on UmbRecycleBin repositories instead. - * @exports - * @interface UmbBulkTrashRepository - * @augments UmbApi - */ -export interface UmbBulkTrashRepository extends UmbApi { - requestBulkTrash(args: UmbBulkTrashRequestArgs): Promise; -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/trash.action.kind.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/trash.action.kind.ts deleted file mode 100644 index dd6d351192..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/trash.action.kind.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { UMB_ENTITY_BULK_ACTION_DEFAULT_KIND_MANIFEST } from '../../default/default.action.kind.js'; -import { UMB_ENTITY_BULK_ACTION_TRASH_KIND } from './constants.js'; -import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry'; - -export const manifest: UmbExtensionManifestKind = { - type: 'kind', - alias: 'Umb.Kind.EntityBulkAction.Trash', - matchKind: UMB_ENTITY_BULK_ACTION_TRASH_KIND, - matchType: 'entityBulkAction', - manifest: { - ...UMB_ENTITY_BULK_ACTION_DEFAULT_KIND_MANIFEST.manifest, - type: 'entityBulkAction', - kind: UMB_ENTITY_BULK_ACTION_TRASH_KIND, - api: () => import('./trash.action.js'), - weight: 700, - forEntityTypes: [], - meta: { - icon: 'icon-trash', - label: '#actions_trash', - bulkTrashRepositoryAlias: '', - }, - }, -}; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/trash.action.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/trash.action.ts deleted file mode 100644 index d85a23b8fe..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/trash.action.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { UmbEntityBulkActionBase } from '../../entity-bulk-action-base.js'; -import type { UmbEntityBulkActionArgs } from '../../types.js'; -import type { UmbBulkTrashRepository } from './trash-repository.interface.js'; -import { createExtensionApiByAlias } from '@umbraco-cms/backoffice/extension-registry'; -import { - UmbRequestReloadChildrenOfEntityEvent, - UmbRequestReloadStructureForEntityEvent, -} from '@umbraco-cms/backoffice/entity-action'; -import { UMB_ACTION_EVENT_CONTEXT } from '@umbraco-cms/backoffice/action'; -import { UMB_ENTITY_CONTEXT } from '@umbraco-cms/backoffice/entity'; -import { umbConfirmModal } from '@umbraco-cms/backoffice/modal'; -import type { MetaEntityBulkActionTrashKind } from '@umbraco-cms/backoffice/extension-registry'; -import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { UmbDeprecation } from '@umbraco-cms/backoffice/utils'; - -/** - * @deprecated since v15.3.0. Will be removed in v17.0.0. import `UmbMediaTrashEntityBulkAction` from @umbraco-cms/backoffice/recycle-bin instead. - * @exports - * @class UmbMediaTrashEntityBulkAction - * @augments {UmbEntityBulkActionBase} - */ -export class UmbMediaTrashEntityBulkAction extends UmbEntityBulkActionBase { - constructor(host: UmbControllerHost, args: UmbEntityBulkActionArgs) { - super(host, args); - - new UmbDeprecation({ - removeInVersion: '17.0.0', - deprecated: 'UmbMediaTrashEntityBulkAction', - solution: 'import UmbMediaTrashEntityBulkAction from @umbraco-cms/backoffice/recycle-bin instead.', - }).warn(); - } - - async execute() { - if (this.selection?.length === 0) return; - - await umbConfirmModal(this._host, { - headline: `Trash`, - content: `Are you sure you want to move ${this.selection.length} ${this.selection.length === 1 ? 'item' : 'items'} to the recycle bin?`, - color: 'danger', - confirmLabel: 'Trash', - }); - - const bulkTrashRepository = await createExtensionApiByAlias( - this, - this.args.meta.bulkTrashRepositoryAlias, - ); - if (!bulkTrashRepository) throw new Error('Bulk Trash Repository is not available'); - - await bulkTrashRepository.requestBulkTrash({ uniques: this.selection }); - - const entityContext = await this.getContext(UMB_ENTITY_CONTEXT); - if (!entityContext) throw new Error('Entity Context is not available'); - - const entityType = entityContext.getEntityType(); - const unique = entityContext.getUnique(); - - if (entityType && unique !== undefined) { - const eventContext = await this.getContext(UMB_ACTION_EVENT_CONTEXT); - if (!eventContext) throw new Error('Event Context is not available'); - - const args = { entityType, unique }; - - const reloadChildren = new UmbRequestReloadChildrenOfEntityEvent(args); - eventContext.dispatchEvent(reloadChildren); - - const reloadStructure = new UmbRequestReloadStructureForEntityEvent(args); - eventContext.dispatchEvent(reloadStructure); - } - } -} - -export { UmbMediaTrashEntityBulkAction as api }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/types.ts deleted file mode 100644 index d128c53b7a..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/trash/types.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface UmbBulkTrashRequestArgs { - uniques: Array; -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/types.ts index 7dd2feb9d1..f8236ab380 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/common/types.ts @@ -1,4 +1,3 @@ export type * from './duplicate-to/index.js'; export type * from './move-to/index.js'; -export type * from './trash/index.js'; export type * from './bulk-delete/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/index.ts index 91126a4727..97b5f59491 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/index.ts @@ -8,5 +8,3 @@ export { UMB_ENTITY_BULK_ACTION_DELETE_KIND_MANIFEST, UMB_ENTITY_BULK_ACTION_DELETE_KIND, } from './common/bulk-delete/bulk-delete.action.kind.js'; - -export { UMB_ENTITY_BULK_ACTION_TRASH_KIND } from './common/trash/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/manifests.ts index 2d3fde2e92..83c682af04 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity-bulk-action/manifests.ts @@ -1,7 +1,6 @@ import { manifests as defaultEntityBulkActionManifests } from './default/manifests.js'; import { manifests as duplicateEntityBulkActionManifests } from './common/duplicate-to/manifests.js'; import { manifests as moveToEntityBulkActionManifests } from './common/move-to/manifests.js'; -import { manifests as trashEntityBulkActionManifests } from './common/trash/manifests.js'; import { manifests as deleteEntityBulkActionManifests } from './common/bulk-delete/manifests.js'; import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry'; @@ -10,6 +9,5 @@ export const manifests: Array = ...defaultEntityBulkActionManifests, ...duplicateEntityBulkActionManifests, ...moveToEntityBulkActionManifests, - ...trashEntityBulkActionManifests, ...deleteEntityBulkActionManifests, ]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/conditions/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/conditions/types.ts index 6a8ab30e6e..5b08b30c88 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/conditions/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/conditions/types.ts @@ -3,12 +3,6 @@ import type { UmbConditionConfigBase } from '@umbraco-cms/backoffice/extension-a export type UmbCoreConditionConfigs = SwitchConditionConfig | UmbConditionConfigBase; -/** - * @deprecated instead use global UmbExtensionConditionConfig, will be removed in v.17 - */ -// eslint-disable-next-line @typescript-eslint/naming-convention -export type ConditionTypes = UmbCoreConditionConfigs; - type UnionOfProperties = T extends object ? T[keyof T] : never; declare global { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/types.ts index 2b3c1e5178..8485eeef0c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/types.ts @@ -1,28 +1,5 @@ import type { ManifestBase, ManifestBundle, ManifestCondition } from '@umbraco-cms/backoffice/extension-api'; -/** - * @deprecated Follow these steps to get Extension Manifest Type for v.15+ projects: - * - * Setup your `tsconfig.json` to include the extension-types as global types. Like this: - * ``` - { - "compilerOptions": { - ... - "types": [ - "@umbraco-cms/backoffice/extension-types" - ] - } - } - * ``` - * - * Once done, you can use the global type `UmbExtensionManifest`. - * - * If defining your own extension types, then follow the link below for more information. - * - * [Read more on the change announcement]{https://github.com/umbraco/Announcements/issues/22} - */ -export type ManifestTypes = never; - type UmbCoreManifestTypes = ManifestBundle | ManifestCondition | ManifestBase; type UnionOfProperties = T extends object ? T[keyof T] : never; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/registry.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/registry.ts index 22849345b6..faf62c2fdc 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/registry.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/registry.ts @@ -8,8 +8,3 @@ export const umbExtensionsRegistry = new UmbExtensionRegistry< UmbExtensionManifest, UmbExtensionConditionConfig >() as UmbBackofficeExtensionRegistry; - -/** - * @deprecated Use `UmbExtensionManifestKind` instead. - */ -export type UmbBackofficeManifestKind = ManifestKind; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon.stories.ts b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon.stories.ts index 7f0bb924e7..897d9b8339 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon.stories.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon.stories.ts @@ -8,7 +8,7 @@ export default { } as Meta; const Template: StoryFn = () => { - const approvedIcons = icons.filter((x) => x.legacy !== true); + const approvedIcons = icons.filter((x) => x.hidden !== true); return html`
import("./icons/icon-badge-remove.js"), },{ name: "icon-badge-restricted", -legacy: true, hidden: true, path: () => import("./icons/icon-badge-restricted.js"), },{ @@ -119,7 +118,6 @@ name: "icon-binarycode", path: () => import("./icons/icon-binarycode.js"), },{ name: "icon-binoculars", -legacy: true, hidden: true, path: () => import("./icons/icon-binoculars.js"), },{ @@ -214,7 +212,6 @@ name: "icon-calendar", path: () => import("./icons/icon-calendar.js"), },{ name: "icon-camcorder", -legacy: true, hidden: true, path: () => import("./icons/icon-camcorder.js"), },{ @@ -243,7 +240,6 @@ name: "icon-chart", path: () => import("./icons/icon-chart.js"), },{ name: "icon-chat-active", -legacy: true, hidden: true, path: () => import("./icons/icon-chat-active.js"), },{ @@ -257,7 +253,6 @@ name: "icon-checkbox-dotted", path: () => import("./icons/icon-checkbox-dotted.js"), },{ name: "icon-checkbox-empty", -legacy: true, hidden: true, path: () => import("./icons/icon-checkbox-empty.js"), },{ @@ -265,7 +260,6 @@ name: "icon-checkbox", path: () => import("./icons/icon-checkbox.js"), },{ name: "icon-chip-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-chip-alt.js"), },{ @@ -288,7 +282,6 @@ name: "icon-clear-formatting", path: () => import("./icons/icon-clear-formatting.js"), },{ name: "icon-client", -legacy: true, hidden: true, path: () => import("./icons/icon-client.js"), },{ @@ -344,7 +337,6 @@ name: "icon-coin-yen", path: () => import("./icons/icon-coin-yen.js"), },{ name: "icon-coins-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-coins-alt.js"), },{ @@ -412,7 +404,6 @@ name: "icon-conversation-alt", path: () => import("./icons/icon-conversation-alt.js"), },{ name: "icon-conversation", -legacy: true, hidden: true, path: () => import("./icons/icon-conversation.js"), },{ @@ -420,7 +411,6 @@ name: "icon-coverflow", path: () => import("./icons/icon-coverflow.js"), },{ name: "icon-credit-card-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-credit-card-alt.js"), },{ @@ -434,7 +424,6 @@ name: "icon-crosshair", path: () => import("./icons/icon-crosshair.js"), },{ name: "icon-crown-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-crown-alt.js"), },{ @@ -442,7 +431,6 @@ name: "icon-crown", path: () => import("./icons/icon-crown.js"), },{ name: "icon-cupcake", -legacy: true, hidden: true, path: () => import("./icons/icon-cupcake.js"), },{ @@ -468,7 +456,6 @@ name: "icon-departure", path: () => import("./icons/icon-departure.js"), },{ name: "icon-desktop", -legacy: true, hidden: true, path: () => import("./icons/icon-desktop.js"), },{ @@ -491,7 +478,6 @@ name: "icon-dice", path: () => import("./icons/icon-dice.js"), },{ name: "icon-diploma-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-diploma-alt.js"), },{ @@ -520,7 +506,6 @@ name: "icon-dock-connector", path: () => import("./icons/icon-dock-connector.js"), },{ name: "icon-document-dashed-line", -legacy: true, hidden: true, path: () => import("./icons/icon-document-dashed-line.js"), },{ @@ -531,12 +516,10 @@ name: "icon-documents", path: () => import("./icons/icon-documents.js"), },{ name: "icon-donate", -legacy: true, hidden: true, path: () => import("./icons/icon-donate.js"), },{ name: "icon-door-open-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-door-open-alt.js"), },{ @@ -556,7 +539,6 @@ name: "icon-eco", path: () => import("./icons/icon-eco.js"), },{ name: "icon-economy", -legacy: true, hidden: true, path: () => import("./icons/icon-economy.js"), },{ @@ -567,7 +549,6 @@ name: "icon-embed", path: () => import("./icons/icon-embed.js"), },{ name: "icon-employee", -legacy: true, hidden: true, path: () => import("./icons/icon-employee.js"), },{ @@ -620,7 +601,6 @@ name: "icon-fire", path: () => import("./icons/icon-fire.js"), },{ name: "icon-firewire", -legacy: true, hidden: true, path: () => import("./icons/icon-firewire.js"), },{ @@ -658,7 +638,6 @@ name: "icon-forking", path: () => import("./icons/icon-forking.js"), },{ name: "icon-frame-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-frame-alt.js"), },{ @@ -675,7 +654,6 @@ name: "icon-game", path: () => import("./icons/icon-game.js"), },{ name: "icon-geometry", -legacy: true, hidden: true, path: () => import("./icons/icon-geometry.js"), },{ @@ -689,27 +667,22 @@ name: "icon-globe-alt", path: () => import("./icons/icon-globe-alt.js"), },{ name: "icon-globe-asia", -legacy: true, hidden: true, path: () => import("./icons/icon-globe-asia.js"), },{ name: "icon-globe-europe-africa", -legacy: true, hidden: true, path: () => import("./icons/icon-globe-europe-africa.js"), },{ name: "icon-globe-inverted-america", -legacy: true, hidden: true, path: () => import("./icons/icon-globe-inverted-america.js"), },{ name: "icon-globe-inverted-asia", -legacy: true, hidden: true, path: () => import("./icons/icon-globe-inverted-asia.js"), },{ name: "icon-globe-inverted-europe-africa", -legacy: true, hidden: true, path: () => import("./icons/icon-globe-inverted-europe-africa.js"), },{ @@ -733,7 +706,6 @@ name: "icon-hammer", path: () => import("./icons/icon-hammer.js"), },{ name: "icon-hand-active-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-hand-active-alt.js"), },{ @@ -741,7 +713,6 @@ name: "icon-hand-active", path: () => import("./icons/icon-hand-active.js"), },{ name: "icon-hand-pointer-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-hand-pointer-alt.js"), },{ @@ -752,7 +723,6 @@ name: "icon-handshake", path: () => import("./icons/icon-handshake.js"), },{ name: "icon-handtool-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-handtool-alt.js"), },{ @@ -760,12 +730,10 @@ name: "icon-handtool", path: () => import("./icons/icon-handtool.js"), },{ name: "icon-hard-drive-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-hard-drive-alt.js"), },{ name: "icon-hard-drive", -legacy: true, hidden: true, path: () => import("./icons/icon-hard-drive.js"), },{ @@ -794,7 +762,6 @@ name: "icon-headphones", path: () => import("./icons/icon-headphones.js"), },{ name: "icon-headset", -legacy: true, hidden: true, path: () => import("./icons/icon-headset.js"), },{ @@ -823,7 +790,6 @@ name: "icon-hourglass", path: () => import("./icons/icon-hourglass.js"), },{ name: "icon-imac", -legacy: true, hidden: true, path: () => import("./icons/icon-imac.js"), },{ @@ -831,7 +797,6 @@ name: "icon-image-up", path: () => import("./icons/icon-image-up.js"), },{ name: "icon-inbox-full", -legacy: true, hidden: true, path: () => import("./icons/icon-inbox-full.js"), },{ @@ -848,17 +813,14 @@ name: "icon-info", path: () => import("./icons/icon-info.js"), },{ name: "icon-invoice", -legacy: true, hidden: true, path: () => import("./icons/icon-invoice.js"), },{ name: "icon-ipad", -legacy: true, hidden: true, path: () => import("./icons/icon-ipad.js"), },{ name: "icon-iphone", -legacy: true, hidden: true, path: () => import("./icons/icon-iphone.js"), },{ @@ -866,7 +828,6 @@ name: "icon-italic", path: () => import("./icons/icon-italic.js"), },{ name: "icon-item-arrangement", -legacy: true, hidden: true, path: () => import("./icons/icon-item-arrangement.js"), },{ @@ -886,7 +847,6 @@ name: "icon-laptop", path: () => import("./icons/icon-laptop.js"), },{ name: "icon-layers-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-layers-alt.js"), },{ @@ -903,7 +863,6 @@ name: "icon-legal", path: () => import("./icons/icon-legal.js"), },{ name: "icon-lense", -legacy: true, hidden: true, path: () => import("./icons/icon-lense.js"), },{ @@ -920,7 +879,6 @@ name: "icon-lightbulb-active", path: () => import("./icons/icon-lightbulb-active.js"), },{ name: "icon-lightbulb", -legacy: true, hidden: true, path: () => import("./icons/icon-lightbulb.js"), },{ @@ -934,12 +892,10 @@ name: "icon-list", path: () => import("./icons/icon-list.js"), },{ name: "icon-load", -legacy: true, hidden: true, path: () => import("./icons/icon-load.js"), },{ name: "icon-loading", -legacy: true, hidden: true, path: () => import("./icons/icon-loading.js"), },{ @@ -947,7 +903,6 @@ name: "icon-locate", path: () => import("./icons/icon-locate.js"), },{ name: "icon-location-near-me", -legacy: true, hidden: true, path: () => import("./icons/icon-location-near-me.js"), },{ @@ -961,12 +916,10 @@ name: "icon-log-out", path: () => import("./icons/icon-log-out.js"), },{ name: "icon-logout", -legacy: true, hidden: true, path: () => import("./icons/icon-logout.js"), },{ name: "icon-loupe", -legacy: true, hidden: true, path: () => import("./icons/icon-loupe.js"), },{ @@ -980,7 +933,6 @@ name: "icon-map-alt", path: () => import("./icons/icon-map-alt.js"), },{ name: "icon-map-location", -legacy: true, hidden: true, path: () => import("./icons/icon-map-location.js"), },{ @@ -1000,7 +952,6 @@ name: "icon-medicine", path: () => import("./icons/icon-medicine.js"), },{ name: "icon-meeting", -legacy: true, hidden: true, path: () => import("./icons/icon-meeting.js"), },{ @@ -1014,7 +965,6 @@ name: "icon-message-open", path: () => import("./icons/icon-message-open.js"), },{ name: "icon-message-unopened", -legacy: true, hidden: true, path: () => import("./icons/icon-message-unopened.js"), },{ @@ -1025,7 +975,6 @@ name: "icon-microscope", path: () => import("./icons/icon-microscope.js"), },{ name: "icon-mindmap", -legacy: true, hidden: true, path: () => import("./icons/icon-mindmap.js"), },{ @@ -1057,67 +1006,54 @@ name: "icon-music", path: () => import("./icons/icon-music.js"), },{ name: "icon-name-badge", -legacy: true, hidden: true, path: () => import("./icons/icon-name-badge.js"), },{ name: "icon-navigation-bottom", -legacy: true, hidden: true, path: () => import("./icons/icon-navigation-bottom.js"), },{ name: "icon-navigation-down", -legacy: true, hidden: true, path: () => import("./icons/icon-navigation-down.js"), },{ name: "icon-navigation-first", -legacy: true, hidden: true, path: () => import("./icons/icon-navigation-first.js"), },{ name: "icon-navigation-horizontal", -legacy: true, hidden: true, path: () => import("./icons/icon-navigation-horizontal.js"), },{ name: "icon-navigation-last", -legacy: true, hidden: true, path: () => import("./icons/icon-navigation-last.js"), },{ name: "icon-navigation-left", -legacy: true, hidden: true, path: () => import("./icons/icon-navigation-left.js"), },{ name: "icon-navigation-right", -legacy: true, hidden: true, path: () => import("./icons/icon-navigation-right.js"), },{ name: "icon-navigation-road", -legacy: true, hidden: true, path: () => import("./icons/icon-navigation-road.js"), },{ name: "icon-navigation-top", -legacy: true, hidden: true, path: () => import("./icons/icon-navigation-top.js"), },{ name: "icon-navigation-up", -legacy: true, hidden: true, path: () => import("./icons/icon-navigation-up.js"), },{ name: "icon-navigation-vertical", -legacy: true, hidden: true, path: () => import("./icons/icon-navigation-vertical.js"), },{ name: "icon-navigation", -legacy: true, hidden: true, path: () => import("./icons/icon-navigation.js"), },{ @@ -1128,7 +1064,6 @@ name: "icon-network-alt", path: () => import("./icons/icon-network-alt.js"), },{ name: "icon-newspaper-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-newspaper-alt.js"), },{ @@ -1136,7 +1071,6 @@ name: "icon-newspaper", path: () => import("./icons/icon-newspaper.js"), },{ name: "icon-next-media", -legacy: true, hidden: true, path: () => import("./icons/icon-next-media.js"), },{ @@ -1144,12 +1078,10 @@ name: "icon-next", path: () => import("./icons/icon-next.js"), },{ name: "icon-nodes", -legacy: true, hidden: true, path: () => import("./icons/icon-nodes.js"), },{ name: "icon-notepad-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-notepad-alt.js"), },{ @@ -1160,7 +1092,6 @@ name: "icon-old-key", path: () => import("./icons/icon-old-key.js"), },{ name: "icon-old-phone", -legacy: true, hidden: true, path: () => import("./icons/icon-old-phone.js"), },{ @@ -1180,7 +1111,6 @@ name: "icon-out", path: () => import("./icons/icon-out.js"), },{ name: "icon-outbox", -legacy: true, hidden: true, path: () => import("./icons/icon-outbox.js"), },{ @@ -1203,7 +1133,6 @@ name: "icon-page-up", path: () => import("./icons/icon-page-up.js"), },{ name: "icon-paint-roller", -legacy: true, hidden: true, path: () => import("./icons/icon-paint-roller.js"), },{ @@ -1217,7 +1146,6 @@ name: "icon-pannel-close", path: () => import("./icons/icon-pannel-close.js"), },{ name: "icon-paper-bag", -legacy: true, hidden: true, path: () => import("./icons/icon-paper-bag.js"), },{ @@ -1234,7 +1162,6 @@ name: "icon-paragraph", path: () => import("./icons/icon-paragraph.js"), },{ name: "icon-paste-in", -legacy: true, hidden: true, path: () => import("./icons/icon-paste-in.js"), },{ @@ -1242,22 +1169,18 @@ name: "icon-pause", path: () => import("./icons/icon-pause.js"), },{ name: "icon-pc", -legacy: true, hidden: true, path: () => import("./icons/icon-pc.js"), },{ name: "icon-people-alt-2", -legacy: true, hidden: true, path: () => import("./icons/icon-people-alt-2.js"), },{ name: "icon-people-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-people-alt.js"), },{ name: "icon-people-female", -legacy: true, hidden: true, path: () => import("./icons/icon-people-female.js"), },{ @@ -1280,7 +1203,6 @@ name: "icon-pictures-alt-2", path: () => import("./icons/icon-pictures-alt-2.js"), },{ name: "icon-pictures-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-pictures-alt.js"), },{ @@ -1300,7 +1222,6 @@ name: "icon-plane", path: () => import("./icons/icon-plane.js"), },{ name: "icon-planet", -legacy: true, hidden: true, path: () => import("./icons/icon-planet.js"), },{ @@ -1308,7 +1229,6 @@ name: "icon-play", path: () => import("./icons/icon-play.js"), },{ name: "icon-playing-cards", -legacy: true, hidden: true, path: () => import("./icons/icon-playing-cards.js"), },{ @@ -1322,7 +1242,6 @@ name: "icon-podcast", path: () => import("./icons/icon-podcast.js"), },{ name: "icon-poll", -legacy: true, hidden: true, path: () => import("./icons/icon-poll.js"), },{ @@ -1330,7 +1249,6 @@ name: "icon-post-it", path: () => import("./icons/icon-post-it.js"), },{ name: "icon-power-outlet", -legacy: true, hidden: true, path: () => import("./icons/icon-power-outlet.js"), },{ @@ -1347,22 +1265,18 @@ name: "icon-previous", path: () => import("./icons/icon-previous.js"), },{ name: "icon-price-dollar", -legacy: true, hidden: true, path: () => import("./icons/icon-price-dollar.js"), },{ name: "icon-price-euro", -legacy: true, hidden: true, path: () => import("./icons/icon-price-euro.js"), },{ name: "icon-price-pound", -legacy: true, hidden: true, path: () => import("./icons/icon-price-pound.js"), },{ name: "icon-price-yen", -legacy: true, hidden: true, path: () => import("./icons/icon-price-yen.js"), },{ @@ -1370,7 +1284,6 @@ name: "icon-print", path: () => import("./icons/icon-print.js"), },{ name: "icon-printer-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-printer-alt.js"), },{ @@ -1402,7 +1315,6 @@ name: "icon-rain", path: () => import("./icons/icon-rain.js"), },{ name: "icon-rate", -legacy: true, hidden: true, path: () => import("./icons/icon-rate.js"), },{ @@ -1419,7 +1331,6 @@ name: "icon-reception", path: () => import("./icons/icon-reception.js"), },{ name: "icon-record", -legacy: true, hidden: true, path: () => import("./icons/icon-record.js"), },{ @@ -1433,7 +1344,6 @@ name: "icon-refresh", path: () => import("./icons/icon-refresh.js"), },{ name: "icon-remote", -legacy: true, hidden: true, path: () => import("./icons/icon-remote.js"), },{ @@ -1453,17 +1363,14 @@ name: "icon-resize", path: () => import("./icons/icon-resize.js"), },{ name: "icon-return-to-top", -legacy: true, hidden: true, path: () => import("./icons/icon-return-to-top.js"), },{ name: "icon-right-double-arrow", -legacy: true, hidden: true, path: () => import("./icons/icon-right-double-arrow.js"), },{ name: "icon-roadsign", -legacy: true, hidden: true, path: () => import("./icons/icon-roadsign.js"), },{ @@ -1495,7 +1402,6 @@ name: "icon-screensharing", path: () => import("./icons/icon-screensharing.js"), },{ name: "icon-script-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-script-alt.js"), },{ @@ -1512,7 +1418,6 @@ name: "icon-sensor", path: () => import("./icons/icon-sensor.js"), },{ name: "icon-server-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-server-alt.js"), },{ @@ -1520,7 +1425,6 @@ name: "icon-server", path: () => import("./icons/icon-server.js"), },{ name: "icon-settings-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-settings-alt.js"), },{ @@ -1549,12 +1453,10 @@ name: "icon-shipping", path: () => import("./icons/icon-shipping.js"), },{ name: "icon-shoe", -legacy: true, hidden: true, path: () => import("./icons/icon-shoe.js"), },{ name: "icon-shopping-basket-alt-2", -legacy: true, hidden: true, path: () => import("./icons/icon-shopping-basket-alt-2.js"), },{ @@ -1568,7 +1470,6 @@ name: "icon-shuffle", path: () => import("./icons/icon-shuffle.js"), },{ name: "icon-sience", -legacy: true, hidden: true, path: () => import("./icons/icon-sience.js"), },{ @@ -1579,7 +1480,6 @@ name: "icon-single-note", path: () => import("./icons/icon-single-note.js"), },{ name: "icon-sitemap", -legacy: true, hidden: true, path: () => import("./icons/icon-sitemap.js"), },{ @@ -1587,12 +1487,10 @@ name: "icon-sleep", path: () => import("./icons/icon-sleep.js"), },{ name: "icon-slideshow", -legacy: true, hidden: true, path: () => import("./icons/icon-slideshow.js"), },{ name: "icon-smiley-inverted", -legacy: true, hidden: true, path: () => import("./icons/icon-smiley-inverted.js"), },{ @@ -1606,7 +1504,6 @@ name: "icon-sound-low", path: () => import("./icons/icon-sound-low.js"), },{ name: "icon-sound-medium", -legacy: true, hidden: true, path: () => import("./icons/icon-sound-medium.js"), },{ @@ -1638,22 +1535,18 @@ name: "icon-sprout", path: () => import("./icons/icon-sprout.js"), },{ name: "icon-squiggly-line", -legacy: true, hidden: true, path: () => import("./icons/icon-squiggly-line.js"), },{ name: "icon-ssd", -legacy: true, hidden: true, path: () => import("./icons/icon-ssd.js"), },{ name: "icon-stacked-disks", -legacy: true, hidden: true, path: () => import("./icons/icon-stacked-disks.js"), },{ name: "icon-stamp", -legacy: true, hidden: true, path: () => import("./icons/icon-stamp.js"), },{ @@ -1661,7 +1554,6 @@ name: "icon-stop-alt", path: () => import("./icons/icon-stop-alt.js"), },{ name: "icon-stop-hand", -legacy: true, hidden: true, path: () => import("./icons/icon-stop-hand.js"), },{ @@ -1672,7 +1564,6 @@ name: "icon-store", path: () => import("./icons/icon-store.js"), },{ name: "icon-stream", -legacy: true, hidden: true, path: () => import("./icons/icon-stream.js"), },{ @@ -1689,7 +1580,6 @@ name: "icon-sunny", path: () => import("./icons/icon-sunny.js"), },{ name: "icon-sweatshirt", -legacy: true, hidden: true, path: () => import("./icons/icon-sweatshirt.js"), },{ @@ -1712,7 +1602,6 @@ name: "icon-tags", path: () => import("./icons/icon-tags.js"), },{ name: "icon-takeaway-cup", -legacy: true, hidden: true, path: () => import("./icons/icon-takeaway-cup.js"), },{ @@ -1774,17 +1663,14 @@ name: "icon-timer", path: () => import("./icons/icon-timer.js"), },{ name: "icon-tools", -legacy: true, hidden: true, path: () => import("./icons/icon-tools.js"), },{ name: "icon-top", -legacy: true, hidden: true, path: () => import("./icons/icon-top.js"), },{ name: "icon-traffic-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-traffic-alt.js"), },{ @@ -1795,12 +1681,10 @@ name: "icon-train", path: () => import("./icons/icon-train.js"), },{ name: "icon-trash-alt-2", -legacy: true, hidden: true, path: () => import("./icons/icon-trash-alt-2.js"), },{ name: "icon-trash-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-trash-alt.js"), },{ @@ -1826,27 +1710,22 @@ name: "icon-tv", path: () => import("./icons/icon-tv.js"), },{ name: "icon-umb-content", -legacy: true, hidden: true, path: () => import("./icons/icon-umb-content.js"), },{ name: "icon-umb-developer", -legacy: true, hidden: true, path: () => import("./icons/icon-umb-developer.js"), },{ name: "icon-umb-media", -legacy: true, hidden: true, path: () => import("./icons/icon-umb-media.js"), },{ name: "icon-umb-settings", -legacy: true, hidden: true, path: () => import("./icons/icon-umb-settings.js"), },{ name: "icon-umb-users", -legacy: true, hidden: true, path: () => import("./icons/icon-umb-users.js"), },{ @@ -1869,12 +1748,10 @@ name: "icon-unplug", path: () => import("./icons/icon-unplug.js"), },{ name: "icon-untitled", -legacy: true, hidden: true, path: () => import("./icons/icon-untitled.js"), },{ name: "icon-usb-connector", -legacy: true, hidden: true, path: () => import("./icons/icon-usb-connector.js"), },{ @@ -1882,22 +1759,18 @@ name: "icon-usb", path: () => import("./icons/icon-usb.js"), },{ name: "icon-user-female", -legacy: true, hidden: true, path: () => import("./icons/icon-user-female.js"), },{ name: "icon-user-females-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-user-females-alt.js"), },{ name: "icon-user-females", -legacy: true, hidden: true, path: () => import("./icons/icon-user-females.js"), },{ name: "icon-user-glasses", -legacy: true, hidden: true, path: () => import("./icons/icon-user-glasses.js"), },{ @@ -1905,7 +1778,6 @@ name: "icon-user", path: () => import("./icons/icon-user.js"), },{ name: "icon-users-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-users-alt.js"), },{ @@ -1967,7 +1839,6 @@ name: "icon-zip", path: () => import("./icons/icon-zip.js"), },{ name: "icon-zom-out", -legacy: true, hidden: true, path: () => import("./icons/icon-zom-out.js"), },{ @@ -2123,272 +1994,218 @@ name: "icon-twitter-x", path: () => import("./icons/icon-twitter-x.js"), },{ name: "icon-art-easel", -legacy: true, hidden: true, path: () => import("./icons/icon-art-easel.js"), },{ name: "icon-article", -legacy: true, hidden: true, path: () => import("./icons/icon-article.js"), },{ name: "icon-auction-hammer", -legacy: true, hidden: true, path: () => import("./icons/icon-auction-hammer.js"), },{ name: "icon-badge-count", -legacy: true, hidden: true, path: () => import("./icons/icon-badge-count.js"), },{ name: "icon-band-aid", -legacy: true, hidden: true, path: () => import("./icons/icon-band-aid.js"), },{ name: "icon-baby-stroller", -legacy: true, hidden: true, path: () => import("./icons/icon-baby-stroller.js"), },{ name: "icon-bill-dollar", -legacy: true, hidden: true, path: () => import("./icons/icon-bill-dollar.js"), },{ name: "icon-bill-euro", -legacy: true, hidden: true, path: () => import("./icons/icon-bill-euro.js"), },{ name: "icon-bill-pound", -legacy: true, hidden: true, path: () => import("./icons/icon-bill-pound.js"), },{ name: "icon-bill-yen", -legacy: true, hidden: true, path: () => import("./icons/icon-bill-yen.js"), },{ name: "icon-bill", -legacy: true, hidden: true, path: () => import("./icons/icon-bill.js"), },{ name: "icon-billboard", -legacy: true, hidden: true, path: () => import("./icons/icon-billboard.js"), },{ name: "icon-bills-dollar", -legacy: true, hidden: true, path: () => import("./icons/icon-bills-dollar.js"), },{ name: "icon-bills-euro", -legacy: true, hidden: true, path: () => import("./icons/icon-bills-euro.js"), },{ name: "icon-bills-pound", -legacy: true, hidden: true, path: () => import("./icons/icon-bills-pound.js"), },{ name: "icon-bills-yen", -legacy: true, hidden: true, path: () => import("./icons/icon-bills-yen.js"), },{ name: "icon-bills", -legacy: true, hidden: true, path: () => import("./icons/icon-bills.js"), },{ name: "icon-blueprint", -legacy: true, hidden: true, path: () => import("./icons/icon-blueprint.js"), },{ name: "icon-bomb", -legacy: true, hidden: true, path: () => import("./icons/icon-bomb.js"), },{ name: "icon-cash-register", -legacy: true, hidden: true, path: () => import("./icons/icon-cash-register.js"), },{ name: "icon-checkbox-dotted-active", -legacy: true, hidden: true, path: () => import("./icons/icon-checkbox-dotted-active.js"), },{ name: "icon-chess", -legacy: true, hidden: true, path: () => import("./icons/icon-chess.js"), },{ name: "icon-circus", -legacy: true, hidden: true, path: () => import("./icons/icon-circus.js"), },{ name: "icon-clothes-hanger", -legacy: true, hidden: true, path: () => import("./icons/icon-clothes-hanger.js"), },{ name: "icon-coin", -legacy: true, hidden: true, path: () => import("./icons/icon-coin.js"), },{ name: "icon-coins-dollar-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-coins-dollar-alt.js"), },{ name: "icon-coins-dollar", -legacy: true, hidden: true, path: () => import("./icons/icon-coins-dollar.js"), },{ name: "icon-coins-euro-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-coins-euro-alt.js"), },{ name: "icon-coins-euro", -legacy: true, hidden: true, path: () => import("./icons/icon-coins-euro.js"), },{ name: "icon-coins-pound-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-coins-pound-alt.js"), },{ name: "icon-coins-pound", -legacy: true, hidden: true, path: () => import("./icons/icon-coins-pound.js"), },{ name: "icon-coins-yen-alt", -legacy: true, hidden: true, path: () => import("./icons/icon-coins-yen-alt.js"), },{ name: "icon-coins-yen", -legacy: true, hidden: true, path: () => import("./icons/icon-coins-yen.js"), },{ name: "icon-comb", -legacy: true, hidden: true, path: () => import("./icons/icon-comb.js"), },{ name: "icon-desk", -legacy: true, hidden: true, path: () => import("./icons/icon-desk.js"), },{ name: "icon-dollar-bag", -legacy: true, hidden: true, path: () => import("./icons/icon-dollar-bag.js"), },{ name: "icon-eject", -legacy: true, hidden: true, path: () => import("./icons/icon-eject.js"), },{ name: "icon-euro-bag", -legacy: true, hidden: true, path: () => import("./icons/icon-euro-bag.js"), },{ name: "icon-female-symbol", -legacy: true, hidden: true, path: () => import("./icons/icon-female-symbol.js"), },{ name: "icon-firewall", -legacy: true, hidden: true, path: () => import("./icons/icon-firewall.js"), },{ name: "icon-folder-open", -legacy: true, hidden: true, path: () => import("./icons/icon-folder-open.js"), },{ name: "icon-folder-outline", -legacy: true, hidden: true, path: () => import("./icons/icon-folder-outline.js"), },{ name: "icon-handprint", -legacy: true, hidden: true, path: () => import("./icons/icon-handprint.js"), },{ name: "icon-hat", -legacy: true, hidden: true, path: () => import("./icons/icon-hat.js"), },{ name: "icon-hd", -legacy: true, hidden: true, path: () => import("./icons/icon-hd.js"), },{ name: "icon-inactive-line", -legacy: true, hidden: true, path: () => import("./icons/icon-inactive-line.js"), },{ name: "icon-keychain", -legacy: true, hidden: true, path: () => import("./icons/icon-keychain.js"), },{ name: "icon-keyhole", -legacy: true, hidden: true, path: () => import("./icons/icon-keyhole.js"), },{ name: "icon-linkedin", -legacy: true, hidden: true, path: () => import("./icons/icon-linkedin.js"), },{ name: "icon-linux-tux", -legacy: true, hidden: true, path: () => import("./icons/icon-linux-tux.js"), },{ name: "icon-male-and-female", -legacy: true, hidden: true, path: () => import("./icons/icon-male-and-female.js"), },{ name: "icon-male-symbol", -legacy: true, hidden: true, path: () => import("./icons/icon-male-symbol.js"), },{ name: "icon-molecular-network", -legacy: true, hidden: true, path: () => import("./icons/icon-molecular-network.js"), },{ name: "icon-molecular", -legacy: true, hidden: true, path: () => import("./icons/icon-molecular.js"), },{ @@ -2396,177 +2213,142 @@ name: "icon-umbraco", path: () => import("./icons/icon-umbraco.js"), },{ name: "icon-azure", -legacy: true, hidden: true, path: () => import("./icons/icon-azure.js"), },{ name: "icon-microsoft", -legacy: true, hidden: true, path: () => import("./icons/icon-microsoft.js"), },{ name: "icon-os-x", -legacy: true, hidden: true, path: () => import("./icons/icon-os-x.js"), },{ name: "icon-pants", -legacy: true, hidden: true, path: () => import("./icons/icon-pants.js"), },{ name: "icon-parachute-drop", -legacy: true, hidden: true, path: () => import("./icons/icon-parachute-drop.js"), },{ name: "icon-parental-control", -legacy: true, hidden: true, path: () => import("./icons/icon-parental-control.js"), },{ name: "icon-path", -legacy: true, hidden: true, path: () => import("./icons/icon-path.js"), },{ name: "icon-piracy", -legacy: true, hidden: true, path: () => import("./icons/icon-piracy.js"), },{ name: "icon-poker-chip", -legacy: true, hidden: true, path: () => import("./icons/icon-poker-chip.js"), },{ name: "icon-pound-bag", -legacy: true, hidden: true, path: () => import("./icons/icon-pound-bag.js"), },{ name: "icon-receipt-dollar", -legacy: true, hidden: true, path: () => import("./icons/icon-receipt-dollar.js"), },{ name: "icon-receipt-euro", -legacy: true, hidden: true, path: () => import("./icons/icon-receipt-euro.js"), },{ name: "icon-receipt-pound", -legacy: true, hidden: true, path: () => import("./icons/icon-receipt-pound.js"), },{ name: "icon-receipt-yen", -legacy: true, hidden: true, path: () => import("./icons/icon-receipt-yen.js"), },{ name: "icon-road", -legacy: true, hidden: true, path: () => import("./icons/icon-road.js"), },{ name: "icon-safe", -legacy: true, hidden: true, path: () => import("./icons/icon-safe.js"), },{ name: "icon-safedial", -legacy: true, hidden: true, path: () => import("./icons/icon-safedial.js"), },{ name: "icon-sandbox-toys", -legacy: true, hidden: true, path: () => import("./icons/icon-sandbox-toys.js"), },{ name: "icon-security-camera", -legacy: true, hidden: true, path: () => import("./icons/icon-security-camera.js"), },{ name: "icon-settings-alt-2", -legacy: true, hidden: true, path: () => import("./icons/icon-settings-alt-2.js"), },{ name: "icon-share-alt-2", -legacy: true, hidden: true, path: () => import("./icons/icon-share-alt-2.js"), },{ name: "icon-shorts", -legacy: true, hidden: true, path: () => import("./icons/icon-shorts.js"), },{ name: "icon-simcard", -legacy: true, hidden: true, path: () => import("./icons/icon-simcard.js"), },{ name: "icon-tab", -legacy: true, hidden: true, path: () => import("./icons/icon-tab.js"), },{ name: "icon-tactics", -legacy: true, hidden: true, path: () => import("./icons/icon-tactics.js"), },{ name: "icon-theif", -legacy: true, hidden: true, path: () => import("./icons/icon-theif.js"), },{ name: "icon-thought-bubble", -legacy: true, hidden: true, path: () => import("./icons/icon-thought-bubble.js"), },{ name: "icon-twitter", -legacy: true, hidden: true, path: () => import("./icons/icon-twitter.js"), },{ name: "icon-umb-contour", -legacy: true, hidden: true, path: () => import("./icons/icon-umb-contour.js"), },{ name: "icon-umb-deploy", -legacy: true, hidden: true, path: () => import("./icons/icon-umb-deploy.js"), },{ name: "icon-umb-members", -legacy: true, hidden: true, path: () => import("./icons/icon-umb-members.js"), },{ name: "icon-universal", -legacy: true, hidden: true, path: () => import("./icons/icon-universal.js"), },{ name: "icon-war", -legacy: true, hidden: true, path: () => import("./icons/icon-war.js"), },{ name: "icon-windows", -legacy: true, hidden: true, path: () => import("./icons/icon-windows.js"), },{ name: "icon-yen-bag", -legacy: true, hidden: true, path: () => import("./icons/icon-yen-bag.js"), }]; \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/types.ts index e8f153daa3..ca5fe2a59d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/types.ts @@ -5,10 +5,6 @@ export type * from './extensions/icons.extension.js'; export interface UmbIconDefinition { name: string; path: JsLoaderProperty; - /** - * @deprecated `legacy` is deprecated and will be removed in v.17. Use `hidden` instead. - */ - legacy?: boolean; hidden?: boolean; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/confirm/confirm-modal.controller.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/confirm/confirm-modal.controller.ts index b8f99179bd..140d183b19 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/confirm/confirm-modal.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/confirm/confirm-modal.controller.ts @@ -2,10 +2,6 @@ import { UmbOpenModalController } from '../../controller/open-modal.controller.j import { UMB_CONFIRM_MODAL, type UmbConfirmModalData } from './confirm-modal.token.js'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -/** @deprecated use `UmbConfirmModalData`, will be removed in v.17 */ -// eslint-disable-next-line @typescript-eslint/no-empty-object-type -export interface UmbConfirmModalArgs extends UmbConfirmModalData {} - /** * * @param host {UmbControllerHost} - The host controller diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/picker-input/picker-input.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/picker-input/picker-input.context.ts index c345fd22d4..35f3d9a297 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/picker-input/picker-input.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/picker-input/picker-input.context.ts @@ -1,7 +1,6 @@ import { UMB_PICKER_INPUT_CONTEXT } from './picker-input.context-token.js'; import { UmbChangeEvent } from '@umbraco-cms/backoffice/event'; import { UmbContextBase } from '@umbraco-cms/backoffice/class-api'; -import { UmbDeprecation } from '@umbraco-cms/backoffice/utils'; import { UmbInteractionMemoryManager } from '@umbraco-cms/backoffice/interaction-memory'; import { UmbRepositoryItemsManager } from '@umbraco-cms/backoffice/repository'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; @@ -15,6 +14,7 @@ import { } from '@umbraco-cms/backoffice/modal'; type PickerItemBaseType = { name: string; unique: string }; + export class UmbPickerInputContext< PickedItemType extends PickerItemBaseType = PickerItemBaseType, PickerItemType extends PickerItemBaseType = PickedItemType, @@ -23,7 +23,6 @@ export class UmbPickerInputContext< > extends UmbContextBase { modalAlias: string | UmbModalToken, PickerModalValueType>; repository?: UmbItemRepository; - #getUnique: (entry: PickedItemType) => string | undefined; #itemManager; @@ -59,30 +58,17 @@ export class UmbPickerInputContext< * @param {UmbControllerHost} host - The host for the controller. * @param {string} repositoryAlias - The alias of the repository to use. * @param {(string | UmbModalToken, PickerModalValueType>)} modalAlias - The alias of the modal to use. - * @param {((entry: PickedItemType) => string | undefined)} [getUniqueMethod] - DEPRECATED since 15.3. Will be removed in v. 17: A method to get the unique key from the item. * @memberof UmbPickerInputContext */ constructor( host: UmbControllerHost, repositoryAlias: string, modalAlias: string | UmbModalToken, PickerModalValueType>, - getUniqueMethod?: (entry: PickedItemType) => string | undefined, ) { super(host, UMB_PICKER_INPUT_CONTEXT); this.modalAlias = modalAlias; - this.#getUnique = getUniqueMethod - ? (entry: PickedItemType) => { - new UmbDeprecation({ - deprecated: 'The getUniqueMethod parameter.', - removeInVersion: '17.0.0', - solution: 'The required unique property on the item will be used instead.', - }).warn(); - return getUniqueMethod(entry); - } - : (entry) => entry.unique; - - this.#itemManager = new UmbRepositoryItemsManager(this, repositoryAlias, getUniqueMethod); + this.#itemManager = new UmbRepositoryItemsManager(this, repositoryAlias); this.selection = this.#itemManager.uniques; this.statuses = this.#itemManager.statuses; @@ -117,7 +103,7 @@ export class UmbPickerInputContext< } async requestRemoveItem(unique: string) { - const item = this.#itemManager.getItems().find((item) => this.#getUnique(item) === unique); + const item = this.#itemManager.getItems().find((item) => item.unique === unique); const name = item?.name ?? '#general_notFound'; await umbConfirmModal(this, { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/property/components/property/property.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/property/components/property/property.element.ts index f13b4679e4..c9067d0cc7 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/property/components/property/property.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/property/components/property/property.element.ts @@ -323,6 +323,7 @@ export class UmbPropertyElement extends UmbLitElement { this.#validationMessageObserver?.destroy(); this.#controlValidator?.destroy(); oldElement?.removeEventListener('change', this._onPropertyEditorChange as any as EventListener); + /** @deprecated The `UmbPropertyValueChangeEvent` has been deprecated, and will be removed in Umbraco 18. [LK] */ oldElement?.removeEventListener('property-value-change', this._onPropertyEditorChange as any as EventListener); oldElement?.destroy?.(); @@ -332,6 +333,7 @@ export class UmbPropertyElement extends UmbLitElement { if (this._element) { this._element.addEventListener('change', this._onPropertyEditorChange as any as EventListener); + /** @deprecated The `UmbPropertyValueChangeEvent` has been deprecated, and will be removed in Umbraco 18. [LK] */ this._element.addEventListener('property-value-change', this._onPropertyEditorChange as any as EventListener); // No need to observe mandatory or label, as we already do so and set it on the _element if present: [NL] this._element.manifest = manifest; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/property/property-value-cloner/property-value-clone.controller.ts b/src/Umbraco.Web.UI.Client/src/packages/core/property/property-value-cloner/property-value-clone.controller.ts index 21a3faadc9..b22a61b03e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/property/property-value-cloner/property-value-clone.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/property/property-value-cloner/property-value-clone.controller.ts @@ -75,8 +75,7 @@ export class UmbPropertyValueCloneController extends UmbControllerBase { // Find the resolver for this editor alias: const manifest = umbExtensionsRegistry.getByTypeAndFilter( 'propertyValueResolver', - // TODO: Remove depcrated filter option in v.17 [NL] - (x) => x.forEditorAlias === editorAlias || x.meta?.editorAlias === editorAlias, + (x) => x.forEditorAlias === editorAlias, )[0]; if (!manifest) { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/property/property-value-resolver/property-value-resolver.extension.ts b/src/Umbraco.Web.UI.Client/src/packages/core/property/property-value-resolver/property-value-resolver.extension.ts index bb15c27b6a..84b1a42a50 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/property/property-value-resolver/property-value-resolver.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/property/property-value-resolver/property-value-resolver.extension.ts @@ -7,12 +7,8 @@ export interface ManifestPropertyValueResolver extends ManifestApi extends UmbControllerBase { // repository?: UmbItemRepository; - #getUnique: (entry: ItemType) => string | undefined; #init: Promise; #currentRequest?: Promise; @@ -28,7 +26,7 @@ export class UmbRepositoryItemsManager exte #uniques = new UmbArrayState([], (x) => x); uniques = this.#uniques.asObservable(); - #items = new UmbArrayState([], (x) => this.#getUnique(x)); + #items = new UmbArrayState([], (x) => x.unique); items = this.#items.asObservable(); #statuses = new UmbArrayState([], (x) => x.unique); @@ -39,27 +37,11 @@ export class UmbRepositoryItemsManager exte * Creates an instance of UmbRepositoryItemsManager. * @param {UmbControllerHost} host - The host for the controller. * @param {string} repositoryAlias - The alias of the repository to use. - * @param {((entry: ItemType) => string | undefined)} [getUniqueMethod] - DEPRECATED since 15.3. Will be removed in v.17.0: A method to get the unique key from the item. * @memberof UmbRepositoryItemsManager */ - constructor( - host: UmbControllerHost, - repositoryAlias: string, - getUniqueMethod?: (entry: ItemType) => string | undefined, - ) { + constructor(host: UmbControllerHost, repositoryAlias: string) { super(host); - this.#getUnique = getUniqueMethod - ? (entry: ItemType) => { - new UmbDeprecation({ - deprecated: 'The getUniqueMethod parameter.', - removeInVersion: '17.0.0', - solution: 'The required unique property on the item will be used instead.', - }).warn(); - return getUniqueMethod(entry); - } - : (entry) => entry.unique; - this.#init = new UmbExtensionApiInitializer>>( this, umbExtensionsRegistry, @@ -83,7 +65,7 @@ export class UmbRepositoryItemsManager exte const items = this.#items.getValue(); if ( uniques.length === items.length && - uniques.every((unique) => items.find((item) => this.#getUnique(item) === unique)) + uniques.every((unique) => items.find((item) => item.unique === unique)) ) { this.#items.setValue(this.#sortByUniques(items)); } else { @@ -121,7 +103,7 @@ export class UmbRepositoryItemsManager exte } itemByUnique(unique: string) { - return this.#items.asObservablePart((items) => items.find((item) => this.#getUnique(item) === unique)); + return this.#items.asObservablePart((items) => items.find((item) => item.unique === unique)); } async getItemByUnique(unique: string) { @@ -174,9 +156,7 @@ export class UmbRepositoryItemsManager exte // find uniques not resolved: if (data) { // find rejected uniques: - const rejectedUniques = requestedUniques.filter( - (unique) => !data.find((item) => this.#getUnique(item) === unique), - ); + const rejectedUniques = requestedUniques.filter((unique) => !data.find((item) => item.unique === unique)); const resolvedUniques = requestedUniques.filter((unique) => !rejectedUniques.includes(unique)); this.#items.remove(rejectedUniques); @@ -232,7 +212,7 @@ export class UmbRepositoryItemsManager exte if (data) { const items = this.getItems(); - const item = items.find((item) => this.#getUnique(item) === unique); + const item = items.find((item) => item.unique === unique); if (item) { const index = items.indexOf(item); @@ -247,8 +227,8 @@ export class UmbRepositoryItemsManager exte if (!data) return []; const uniques = this.getUniques(); return [...data].sort((a, b) => { - const aIndex = uniques.indexOf(this.#getUnique(a) ?? ''); - const bIndex = uniques.indexOf(this.#getUnique(b) ?? ''); + const aIndex = uniques.indexOf(a.unique ?? ''); + const bIndex = uniques.indexOf(b.unique ?? ''); return aIndex - bIndex; }); } @@ -260,7 +240,7 @@ export class UmbRepositoryItemsManager exte if (items.length === 0) return; // Ignore events if the entity is not in the list of items. - const item = items.find((item) => this.#getUnique(item) === eventUnique); + const item = items.find((item) => item.unique === eventUnique); if (!item) return; this.#reloadItem(item.unique); diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/sorter/sorter.controller.ts b/src/Umbraco.Web.UI.Client/src/packages/core/sorter/sorter.controller.ts index f50bb48781..d7703dc351 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/sorter/sorter.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/sorter/sorter.controller.ts @@ -110,15 +110,6 @@ export type UmbSorterResolvePlacementArgs = UmbSorterResolvePlacementArgs< - T, - ElementType ->; - type UniqueType = string | symbol | number; /** @@ -247,7 +238,7 @@ export type UmbSorterConfig = Partial, 'ignorerSelector' | 'containerSelector' | 'identifier'>>; /** - + * @class UmbSorterController * @implements {UmbControllerInterface} * @description This controller can make user able to sort items. diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/data/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/data/types.ts index e29d89f903..5397ecfee2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/data/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/data/types.ts @@ -4,13 +4,13 @@ import type { UmbOffsetPaginationRequestModel, UmbTargetPaginationRequestModel } export interface UmbTreeRootItemsRequestArgs { foldersOnly?: boolean; /** - * @deprecated - Deprecated from 16.3. Use paging instead. + * @deprecated - Deprecated from 16.3. Use paging instead. To be removed in v18. * @type {number} - The number of items to skip * @memberof UmbTreeRootItemsRequestArgs */ skip?: number; /** - * @deprecated - Deprecated from 16.3. Use paging instead. + * @deprecated - Deprecated from 16.3. Use paging instead. To be removed in v18. * @type {number} - The number of items to take * @memberof UmbTreeRootItemsRequestArgs */ @@ -22,13 +22,13 @@ export interface UmbTreeChildrenOfRequestArgs { parent: UmbEntityModel; foldersOnly?: boolean; /** - * @deprecated - Deprecated from 16.3. Use paging instead. + * @deprecated - Deprecated from 16.3. Use paging instead. To be removed in v18. * @type {number} - The number of items to skip * @memberof UmbTreeChildrenOfRequestArgs */ skip?: number; /** - * @deprecated - Deprecated from 16.3. Use paging instead. + * @deprecated - Deprecated from 16.3. Use paging instead. To be removed in v18. * @type {number} - The number of items to take * @memberof UmbTreeChildrenOfRequestArgs */ diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/validation/context/server-model-validator.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/validation/context/server-model-validator.context.ts index 2e5596dec7..13848c677c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/validation/context/server-model-validator.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/validation/context/server-model-validator.context.ts @@ -66,15 +66,10 @@ export class UmbServerModelValidatorContext extends UmbContextBase implements Um } this.#isValid = error ? false : true; - if (this.#isValid) { - // Send data to context for translation: - this.#context?.setTranslationData(undefined); - } else { + if (!this.#isValid) { if (!this.#context) { throw new Error('No context available for translation.'); } - // Send data to context for translation: - this.#context.setTranslationData(data); let messages: Array = []; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/validation/context/validation.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/validation/context/validation.context.ts index 8bd9647dd8..9a45ad8c56 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/validation/context/validation.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/validation/context/validation.context.ts @@ -13,15 +13,6 @@ export class UmbValidationContext extends UmbValidationController { this.provideContext(UMB_VALIDATION_CONTEXT, this); } - /** - * Provides the validation context to the current host, if not already provided to a different host. - * @deprecated No need to provide, this happens automatically. (Do notice this was necessary in 14.3.-rc, but removed in 14.3 release) - * @returns instance {UmbValidationController} - Returns it self. - */ - provide(): UmbValidationController { - return this; - } - // eslint-disable-next-line @typescript-eslint/no-unused-vars override provideAt(controllerHost: UmbClassInterface): void { throw new Error( diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/validation/controllers/validation.controller.ts b/src/Umbraco.Web.UI.Client/src/packages/core/validation/controllers/validation.controller.ts index 7d18b212a8..b5e71345d4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/validation/controllers/validation.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/validation/controllers/validation.controller.ts @@ -1,15 +1,12 @@ import type { UmbValidator } from '../interfaces/validator.interface.js'; import type { UmbValidationMessageTranslator } from '../translators/index.js'; -import { GetValueByJsonPath } from '../utils/json-path.function.js'; import { UMB_VALIDATION_CONTEXT } from '../context/validation.context-token.js'; import { type UmbValidationMessage, UmbValidationMessagesManager } from '../context/validation-messages.manager.js'; import { ReplaceStartOfPath } from '../utils/replace-start-of-path.function.js'; import type { UmbVariantId } from '../../variant/variant-id.class.js'; -import { UmbDeprecation } from '../../utils/deprecation/deprecation.js'; import type { UmbContextProviderController } from '@umbraco-cms/backoffice/context-api'; import { type UmbClassInterface, UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { UmbObjectState } from '@umbraco-cms/backoffice/observable-api'; const Regex = /@\.culture == ('[^']*'|null) *&& *@\.segment == ('[^']*'|null)/g; @@ -27,38 +24,6 @@ export class UmbValidationController extends UmbControllerBase implements UmbVal >; #inUnprovidingState: boolean = false; - // @deprecated - Will be removed in v.17 - // Local version of the data send to the server, only use-case is for translation. - #translationData = new UmbObjectState(undefined); - /** - * @param path - * @deprecated Use extension type 'propertyValidationPathTranslator' instead. Will be removed in v.17 - * @returns {any} - Returns the translation data for the given path. - */ - translationDataOf(path: string): any { - return this.#translationData.asObservablePart((data) => GetValueByJsonPath(data, path)); - } - /** - * @param {any} data - The translation data to set. - * @deprecated Use extension type 'propertyValidationPathTranslator' instead. Will be removed in v.17 - */ - setTranslationData(data: any): void { - this.#translationData.setValue(data); - } - /** - * @deprecated Use extension type 'propertyValidationPathTranslator' instead. Will be removed in v.17 - * @returns {any} - Returns the translation data for the given path. - */ - getTranslationData(): any { - new UmbDeprecation({ - removeInVersion: '17', - deprecated: 'getTranslationData', - solution: 'getTranslationData is deprecated.', - }).warn(); - - return this.#translationData.getValue(); - } - #validators: Array = []; #validationMode: boolean = false; #isValid: boolean = false; @@ -203,15 +168,6 @@ export class UmbValidationController extends UmbControllerBase implements UmbVal this.#baseDataPath = dataPath; this.#readyToSync(); - // @deprecated - Will be removed in v.17 - this.observe( - parent?.translationDataOf(dataPath), - (data) => { - this.setTranslationData(data); - }, - 'observeTranslationData', - ); - this.observe( parent?.messages.messagesOfPathAndDescendant(dataPath), (msgs) => { @@ -257,7 +213,6 @@ export class UmbValidationController extends UmbControllerBase implements UmbVal } this.messages.clear(); this.#localMessages = undefined; - this.setTranslationData(undefined); } #readyToSync() { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/validation/mixins/form-control.mixin.ts b/src/Umbraco.Web.UI.Client/src/packages/core/validation/mixins/form-control.mixin.ts index c2259ca66b..1ef7a0386a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/validation/mixins/form-control.mixin.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/validation/mixins/form-control.mixin.ts @@ -124,13 +124,13 @@ export function UmbFormControlMixin< * @default */ @property({ reflect: false }) // Do not 'reflect' as the attribute value is used as fallback. [NL] + set value(newValue: ValueType | DefaultValueType) { + this.#value = newValue; + } get value(): ValueType | DefaultValueType { // For some reason we need to keep this as setters and getters for inherited classes for work properly when they override these methods. [NL] return this.#value; } - set value(newValue: ValueType | DefaultValueType) { - this.#value = newValue; - } // Validation //private _validityState = new UmbValidityState(); diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/validation/translators/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/validation/translators/index.ts index 9192c2b141..c04120243e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/validation/translators/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/validation/translators/index.ts @@ -1,5 +1,3 @@ export * from './validation-path-translator-base.controller.js'; export * from './abstract-array-path-translator.controller.js'; -export * from './variant-values-validation-path-translator.controller.js'; -export * from './variants-validation-path-translator.controller.js'; export type * from './validation-message-path-translator.interface.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/validation/translators/variant-values-validation-path-translator.controller.ts b/src/Umbraco.Web.UI.Client/src/packages/core/validation/translators/variant-values-validation-path-translator.controller.ts deleted file mode 100644 index ab4322d932..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/validation/translators/variant-values-validation-path-translator.controller.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { UmbDataPathPropertyValueQuery } from '../utils/data-path-property-value-query.function.js'; -import { UmbAbstractArrayValidationPathTranslator } from './abstract-array-path-translator.controller.js'; -import { UmbDeprecation } from '@umbraco-cms/backoffice/utils'; -import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; - -export class UmbVariantValuesValidationPathTranslator extends UmbAbstractArrayValidationPathTranslator { - constructor(host: UmbControllerHost) { - super(host, '$.values[', UmbDataPathPropertyValueQuery); - - new UmbDeprecation({ - removeInVersion: '17', - deprecated: 'UmbVariantValuesValidationPathTranslator', - solution: 'UmbVariantValuesValidationPathTranslator is deprecated.', - }).warn(); - } - - getDataFromIndex(index: number) { - if (!this._context) return; - const data = this._context.getTranslationData(); - return data.values[index]; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/validation/translators/variants-validation-path-translator.controller.ts b/src/Umbraco.Web.UI.Client/src/packages/core/validation/translators/variants-validation-path-translator.controller.ts deleted file mode 100644 index 4c3dfcae8a..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/validation/translators/variants-validation-path-translator.controller.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { UmbDataPathVariantQuery } from '../utils/data-path-variant-query.function.js'; -import { UmbAbstractArrayValidationPathTranslator } from './abstract-array-path-translator.controller.js'; -import { UmbDeprecation } from '@umbraco-cms/backoffice/utils'; -import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; - -export class UmbVariantsValidationPathTranslator extends UmbAbstractArrayValidationPathTranslator { - constructor(host: UmbControllerHost) { - super(host, '$.variants[', UmbDataPathVariantQuery); - - new UmbDeprecation({ - removeInVersion: '17', - deprecated: 'UmbVariantsValidationPathTranslator', - solution: 'UmbVariantsValidationPathTranslator is deprecated.', - }).warn(); - } - - getDataFromIndex(index: number) { - if (!this._context) return; - const data = this._context.getTranslationData(); - return data.variants[index]; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/variant/variant-id.class.ts b/src/Umbraco.Web.UI.Client/src/packages/core/variant/variant-id.class.ts index 1909dbd90e..d429e88ef4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/variant/variant-id.class.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/variant/variant-id.class.ts @@ -1,22 +1,5 @@ -import { UmbDeprecation } from '../utils/index.js'; import type { UmbObjectWithVariantProperties } from './types.js'; -/** - * - * @param {UmbObjectWithVariantProperties} variant - An object with variant specifying properties to convert to a string. - * @returns {string} A string representation of the variant properties. - * @deprecated Use UmbVariantId to make this conversion. Will ve removed in v.17 - */ -export function variantPropertiesObjectToString(variant: UmbObjectWithVariantProperties): string { - new UmbDeprecation({ - deprecated: 'Method `variantPropertiesObjectToString` is deprecated', - removeInVersion: '17', - solution: 'Use UmbVariantId to make this conversion', - }).warn(); - // Currently a direct copy of the toString method of variantId. - return (variant.culture || UMB_INVARIANT_CULTURE) + (variant.segment ? `_${variant.segment}` : ''); -} - export const UMB_INVARIANT_CULTURE = 'invariant'; /** diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/conditions/workspace-entity-is-new/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/conditions/workspace-entity-is-new/types.ts index d1d305f511..f642b10c3a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/conditions/workspace-entity-is-new/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/conditions/workspace-entity-is-new/types.ts @@ -6,12 +6,6 @@ export interface UmbWorkspaceEntityIsNewConditionConfig match: boolean; } -/** - * @deprecated Use `UmbWorkspaceEntityIsNewConditionConfig` instead. This will be removed in Umbraco 17. - */ -// eslint-disable-next-line @typescript-eslint/no-empty-object-type, @typescript-eslint/naming-convention -export interface WorkspaceEntityIsNewConditionConfig extends UmbWorkspaceEntityIsNewConditionConfig {} - declare global { interface UmbExtensionConditionConfigMap { umbWorkspaceEntityIsNewConditionConfig: UmbWorkspaceEntityIsNewConditionConfig; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/conditions/workspace-entity-type/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/conditions/workspace-entity-type/types.ts index 1604124d99..eb8e80f50c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/conditions/workspace-entity-type/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/conditions/workspace-entity-type/types.ts @@ -11,11 +11,6 @@ export type UmbWorkspaceEntityTypeConditionConfig = UmbConditionConfigBase< */ match: string; }; -/** - * @deprecated Use `UmbWorkspaceEntityTypeConditionConfig` instead. This will be removed in Umbraco 17. - */ -// eslint-disable-next-line @typescript-eslint/naming-convention -export type WorkspaceEntityTypeConditionConfig = UmbWorkspaceEntityTypeConditionConfig; declare global { interface UmbExtensionConditionConfigMap { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/contexts/tokens/publishable-workspace-context.interface.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/contexts/tokens/publishable-workspace-context.interface.ts index 1d0229402f..e2898c61c3 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/contexts/tokens/publishable-workspace-context.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/contexts/tokens/publishable-workspace-context.interface.ts @@ -1,6 +1,6 @@ -import type { UmbSubmittableWorkspaceContext } from './submittable-workspace-context.interface.js'; +import type { UmbWorkspaceContext } from '../../workspace-context.interface.js'; -export interface UmbPublishableWorkspaceContext extends UmbSubmittableWorkspaceContext { +export interface UmbPublishableWorkspaceContext extends UmbWorkspaceContext { saveAndPublish(): Promise; publish(): Promise; unpublish(): Promise; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/entity-detail/entity-detail-workspace-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/entity-detail/entity-detail-workspace-base.ts index 4b021f1abd..66e9960b0c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/entity-detail/entity-detail-workspace-base.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/entity-detail/entity-detail-workspace-base.ts @@ -19,7 +19,7 @@ import type { UmbRepositoryResponse, UmbRepositoryResponseWithAsObservable, } from '@umbraco-cms/backoffice/repository'; -import { UmbDeprecation, UmbStateManager } from '@umbraco-cms/backoffice/utils'; +import { UmbStateManager } from '@umbraco-cms/backoffice/utils'; import { UmbValidationContext } from '@umbraco-cms/backoffice/validation'; import { UmbId } from '@umbraco-cms/backoffice/id'; import { UmbApiError } from '@umbraco-cms/backoffice/resources'; @@ -468,15 +468,6 @@ export abstract class UmbEntityDetailWorkspaceContextBase< public getHasUnpersistedChanges(): boolean { return this._data.getHasUnpersistedChanges(); } - // @deprecated use getHasUnpersistedChanges instead, will be removed in v17.0 - protected _getHasUnpersistedChanges(): boolean { - new UmbDeprecation({ - removeInVersion: '17', - deprecated: '_getHasUnpersistedChanges', - solution: 'use public getHasUnpersistedChanges instead.', - }).warn(); - return this.getHasUnpersistedChanges(); - } override resetState() { super.resetState(); diff --git a/src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/constants.ts index ffef9e593e..fc4bcb87f2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/constants.ts @@ -1,3 +1,2 @@ -export * from './create/constants.js'; export * from './duplicate/constants.js'; export * from './move-to/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/create/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/create/constants.ts deleted file mode 100644 index 26f4f0dd5f..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/create/constants.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './modal/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/create/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/create/manifests.ts index 89a9ce78af..f892b7e7d8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/create/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/create/manifests.ts @@ -12,13 +12,6 @@ export const manifests: Array = weight: 1200, forEntityTypes: [UMB_DATA_TYPE_ROOT_ENTITY_TYPE, UMB_DATA_TYPE_FOLDER_ENTITY_TYPE], }, - // TODO: Deprecated: Will be removed in 17.0.0 - { - type: 'modal', - alias: 'Umb.Modal.DataTypeCreateOptions', - name: 'Data Type Create Options Modal', - element: () => import('./modal/data-type-create-options-modal.element.js'), - }, ...defaultManifests, ...folderManifests, ]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/create/modal/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/create/modal/constants.ts deleted file mode 100644 index a8fb4ee5e7..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/create/modal/constants.ts +++ /dev/null @@ -1,16 +0,0 @@ -import type { UmbEntityModel } from '@umbraco-cms/backoffice/entity'; -import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; - -export interface UmbDataTypeCreateOptionsModalData { - parent: UmbEntityModel; -} - -export const UMB_DATA_TYPE_CREATE_OPTIONS_MODAL = new UmbModalToken( - 'Umb.Modal.DataTypeCreateOptions', - { - modal: { - type: 'sidebar', - size: 'small', - }, - }, -); diff --git a/src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/create/modal/data-type-create-options-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/create/modal/data-type-create-options-modal.element.ts deleted file mode 100644 index d82257a9ad..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/data-type/entity-actions/create/modal/data-type-create-options-modal.element.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { UMB_DATA_TYPE_FOLDER_REPOSITORY_ALIAS } from '../../../tree/index.js'; -import type { UmbDataTypeCreateOptionsModalData } from './constants.js'; -import { html, customElement } from '@umbraco-cms/backoffice/external/lit'; -import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; -import { UmbCreateFolderEntityAction } from '@umbraco-cms/backoffice/tree'; -import { UmbDeprecation } from '@umbraco-cms/backoffice/utils'; - -/** - * @deprecated This element is deprecated and will be removed in v.17.0.0. - * Please use the UMB_ENTITY_CREATE_OPTION_ACTION_LIST_MODAL instead. - * @exports - * @class UmbDataTypeCreateOptionsModalElement - * @augments {UmbModalBaseElement} - */ -@customElement('umb-data-type-create-options-modal') -export class UmbDataTypeCreateOptionsModalElement extends UmbModalBaseElement { - #createFolderAction?: UmbCreateFolderEntityAction; - - constructor() { - super(); - - new UmbDeprecation({ - deprecated: 'umb-data-type-create-options-modal', - removeInVersion: '17.0.0', - solution: 'Use UMB_ENTITY_CREATE_OPTION_ACTION_LIST_MODAL instead', - }).warn(); - } - - override connectedCallback(): void { - super.connectedCallback(); - if (!this.data?.parent) throw new Error('A parent is required to create a folder'); - - // TODO: render the info from this instance in the list of actions - this.#createFolderAction = new UmbCreateFolderEntityAction(this, { - unique: this.data.parent.unique, - entityType: this.data.parent.entityType, - meta: { - icon: 'icon-folder', - label: 'New Folder...', - folderRepositoryAlias: UMB_DATA_TYPE_FOLDER_REPOSITORY_ALIAS, - }, - }); - } - - #getCreateHref() { - return `section/settings/workspace/data-type/create/parent/${this.data?.parent.entityType}/${ - this.data?.parent.unique || 'null' - }`; - } - - async #onCreateFolderClick(event: PointerEvent) { - event.stopPropagation(); - - await this.#createFolderAction - ?.execute() - .then(() => this._submitModal()) - .catch(() => undefined); - } - - override render() { - return html` - - - - - - - - } - - - Cancel - - `; - } -} - -export default UmbDataTypeCreateOptionsModalElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-data-type-create-options-modal': UmbDataTypeCreateOptionsModalElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/constants.ts index 8212d7a577..1be716055e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/constants.ts @@ -1,4 +1,3 @@ -export * from './create/constants.js'; export * from './duplicate/constants.js'; export * from './export/constants.js'; export * from './import/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/constants.ts deleted file mode 100644 index 26f4f0dd5f..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/constants.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './modal/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/create.action.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/create.action.ts deleted file mode 100644 index 6ca1dbe338..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/create.action.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { UMB_DOCUMENT_TYPE_CREATE_OPTIONS_MODAL } from './modal/constants.js'; -import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; -import { umbOpenModal } from '@umbraco-cms/backoffice/modal'; - -export class UmbCreateDocumentTypeEntityAction extends UmbEntityActionBase { - override async execute() { - await umbOpenModal(this, UMB_DOCUMENT_TYPE_CREATE_OPTIONS_MODAL, { - data: { - parent: { - unique: this.args.unique, - entityType: this.args.entityType, - }, - }, - }); - } -} - -export { UmbCreateDocumentTypeEntityAction as api }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/modal/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/modal/constants.ts deleted file mode 100644 index 5d9e988ff0..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/modal/constants.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { UmbEntityModel } from '@umbraco-cms/backoffice/entity'; -import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; - -/** @deprecated No longer used internally. This will be removed in Umbraco 17. [LK] */ -export interface UmbDocumentTypeCreateOptionsModalData { - parent: UmbEntityModel; -} - -/** @deprecated No longer used internally. This will be removed in Umbraco 17. [LK] */ -export const UMB_DOCUMENT_TYPE_CREATE_OPTIONS_MODAL = new UmbModalToken( - 'Umb.Modal.DocumentTypeCreateOptions', - { - modal: { - type: 'sidebar', - size: 'small', - }, - }, -); diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/modal/document-type-create-options-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/modal/document-type-create-options-modal.element.ts deleted file mode 100644 index a80df1de70..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/entity-actions/create/modal/document-type-create-options-modal.element.ts +++ /dev/null @@ -1,139 +0,0 @@ -import { UMB_DOCUMENT_TYPE_FOLDER_REPOSITORY_ALIAS } from '../../../tree/index.js'; -import { - UMB_CREATE_DOCUMENT_TYPE_WORKSPACE_PATH_PATTERN, - UMB_CREATE_DOCUMENT_TYPE_WORKSPACE_PRESET_ELEMENT, - UMB_CREATE_DOCUMENT_TYPE_WORKSPACE_PRESET_TEMPLATE, - type UmbCreateDocumentTypeWorkspacePresetType, -} from '../../../paths.js'; -import type { UmbDocumentTypeEntityTypeUnion } from '../../../entity.js'; -import type { UmbDocumentTypeCreateOptionsModalData } from './constants.js'; -import { html, customElement, map } from '@umbraco-cms/backoffice/external/lit'; -import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; -import { UmbCreateFolderEntityAction } from '@umbraco-cms/backoffice/tree'; - -const CREATE_FOLDER_PRESET = 'folder'; - -// Include the types from the DocumentTypeWorkspacePresetType + folder. -type OptionsPresetType = UmbCreateDocumentTypeWorkspacePresetType | typeof CREATE_FOLDER_PRESET | null; - -/** @deprecated No longer used internally. This will be removed in Umbraco 17. [LK] */ -@customElement('umb-document-type-create-options-modal') -export class UmbDataTypeCreateOptionsModalElement extends UmbModalBaseElement { - #createFolderAction?: UmbCreateFolderEntityAction; - - #items: Array<{ - preset: OptionsPresetType; - label: string; - description: string; - icon: string; - }> = [ - { - preset: null, - label: this.localize.term('create_documentType'), - description: this.localize.term('create_documentTypeDescription'), - icon: 'icon-document', - }, - { - preset: UMB_CREATE_DOCUMENT_TYPE_WORKSPACE_PRESET_TEMPLATE, - label: this.localize.term('create_documentTypeWithTemplate'), - description: this.localize.term('create_documentTypeWithTemplateDescription'), - icon: 'icon-document-html', - }, - { - preset: UMB_CREATE_DOCUMENT_TYPE_WORKSPACE_PRESET_ELEMENT, - label: this.localize.term('create_elementType'), - description: this.localize.term('create_elementTypeDescription'), - icon: 'icon-plugin', - }, - // TODO: Investigate alternative options to inform about compositions functionality. [LK/NL] - // { - // preset: 'composition', - // label: this.localize.term('create_composition'), - // description: this.localize.term('create_compositionDescription'), - // icon: 'icon-plugin', - // }, - { - preset: CREATE_FOLDER_PRESET, - label: this.localize.term('create_folder'), - description: this.localize.term('create_folderDescription'), - icon: 'icon-folder', - }, - ]; - - override connectedCallback(): void { - super.connectedCallback(); - - if (!this.data?.parent) throw new Error('A parent is required to create a folder'); - - this.#createFolderAction = new UmbCreateFolderEntityAction(this, { - unique: this.data.parent.unique, - entityType: this.data.parent.entityType, - meta: { icon: '', label: '', folderRepositoryAlias: UMB_DOCUMENT_TYPE_FOLDER_REPOSITORY_ALIAS }, - }); - } - - async #onClick(presetAlias: OptionsPresetType) { - switch (presetAlias) { - case CREATE_FOLDER_PRESET: { - try { - await this.#createFolderAction?.execute(); - this._submitModal(); - return; - } catch { - return; - } - - break; - } - - default: { - const parentEntityType = this.data?.parent.entityType as UmbDocumentTypeEntityTypeUnion; - if (!parentEntityType) throw new Error('Entity type is required to create a document type'); - const parentUnique = this.data?.parent.unique ?? null; - const href = UMB_CREATE_DOCUMENT_TYPE_WORKSPACE_PATH_PATTERN.generateAbsolute({ - parentEntityType, - parentUnique, - presetAlias, - }); - window.history.pushState({}, '', href); - - this._submitModal(); - break; - } - } - } - - override render() { - return html` - - - - ${map( - this.#items, - (item) => html` - this.#onClick(item.preset)}> - `, - )} - - - - - `; - } -} - -export default UmbDataTypeCreateOptionsModalElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-document-type-create-options-modal': UmbDataTypeCreateOptionsModalElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/detail/server-data-source/document-type-detail.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/detail/server-data-source/document-type-detail.server.data-source.ts index 9ac3abe0a1..f8473d7168 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/detail/server-data-source/document-type-detail.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/detail/server-data-source/document-type-detail.server.data-source.ts @@ -97,7 +97,7 @@ export class UmbDocumentTypeDetailServerDataSource isElement: model.isElement, properties: model.properties.map((property) => { return { - id: property.id, + id: property.unique, container: property.container, sortOrder: property.sortOrder, alias: property.alias, @@ -157,7 +157,7 @@ export class UmbDocumentTypeDetailServerDataSource isElement: model.isElement, properties: model.properties.map((property) => { return { - id: property.id, + id: property.unique, container: property.container, sortOrder: property.sortOrder, alias: property.alias, diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/document-type-item.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/document-type-item.server.data-source.ts index 8c57bf7bd8..4f4888788b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/document-type-item.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/document-type-item.server.data-source.ts @@ -38,9 +38,9 @@ const mapper = (item: DocumentTypeItemResponseModel): UmbDocumentTypeItemModel = return { entityType: UMB_DOCUMENT_TYPE_ENTITY_TYPE, isElement: item.isElement, - icon: item.icon, + icon: item.icon ?? undefined, unique: item.id, name: item.name, - description: item.description, + description: item.description ?? undefined, }; }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/types.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/types.ts index 3f4c82011a..29b0790532 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/types.ts @@ -5,6 +5,6 @@ export type UmbDocumentTypeItemModel = { unique: string; name: string; isElement: boolean; - icon?: string | null; - description?: string | null; + icon?: string; + description?: string; }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/search/document-type-search.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/search/document-type-search.server.data-source.ts index 2e8618378b..c401384832 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/search/document-type-search.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/search/document-type-search.server.data-source.ts @@ -43,7 +43,7 @@ export class UmbDocumentTypeSearchServerDataSource implements UmbSearchDataSourc href: '/section/settings/workspace/document-type/edit/' + item.id, entityType: UMB_DOCUMENT_TYPE_ENTITY_TYPE, isElement: item.isElement, - icon: item.icon, + icon: item.icon ?? undefined, unique: item.id, name: item.name, }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/document-type/document-type-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/document-type/document-type-workspace.context.ts index 7a20862458..b6f5fe387a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/document-type/document-type-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/document-type/document-type-workspace.context.ts @@ -206,16 +206,6 @@ export class UmbDocumentTypeWorkspaceContext this.setAllowedTemplateIds([templateEntity, ...allowedTemplates]); this.setDefaultTemplate(templateEntity); } - - /** - * @deprecated Use the createScaffold method instead. Will be removed in 17. - * @param presetAlias - * @param {UmbEntityModel} parent - * @memberof UmbMediaTypeWorkspaceContext - */ - async create(parent: UmbEntityModel, presetAlias: string | null) { - this.#onScaffoldSetup(parent, presetAlias); - } } export { UmbDocumentTypeWorkspaceContext as api }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/document-type/views/settings/document-type-workspace-view-settings.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/document-type/views/settings/document-type-workspace-view-settings.element.ts index 1819b13b55..998c9211b4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/document-type/views/settings/document-type-workspace-view-settings.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/document-type/views/settings/document-type-workspace-view-settings.element.ts @@ -44,7 +44,6 @@ export class UmbDocumentTypeWorkspaceViewSettingsElement extends UmbLitElement i constructor() { super(); - // TODO: Figure out if this is the best way to consume the context or if it can be strongly typed with an UmbContextToken this.consumeContext(UMB_DOCUMENT_TYPE_WORKSPACE_CONTEXT, (documentTypeContext) => { this.#workspaceContext = documentTypeContext; this.#observeDocumentType(); @@ -179,7 +178,7 @@ export class UmbDocumentTypeWorkspaceViewSettingsElement extends UmbLitElement i id="versions-newer-than-days" min="0" placeholder="7" - .value=${this._keepAllVersionsNewerThanDays} + .value=${this._keepAllVersionsNewerThanDays?.toString() ?? ''} @change=${this.#onChangeKeepAllVersionsNewerThanDays}> @@ -194,7 +193,7 @@ export class UmbDocumentTypeWorkspaceViewSettingsElement extends UmbLitElement i id="latest-version-per-day-days" min="0" placeholder="90" - .value=${this._keepLatestVersionPerDayForDays} + .value=${this._keepLatestVersionPerDayForDays?.toString() ?? ''} @change=${this.#onChangeKeepLatestVersionPerDayForDays}> `, diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/document-type/views/structure/document-type-workspace-view-structure.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/document-type/views/structure/document-type-workspace-view-structure.element.ts index 22f1d71035..814b5f5988 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/document-type/views/structure/document-type-workspace-view-structure.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/document-type/views/structure/document-type-workspace-view-structure.element.ts @@ -1,4 +1,3 @@ -import type { UmbDocumentTypeWorkspaceContext } from '../../document-type-workspace.context.js'; import type { UmbInputDocumentTypeElement } from '../../../../components/input-document-type/input-document-type.element.js'; import { UMB_DOCUMENT_TYPE_WORKSPACE_CONTEXT } from '../../document-type-workspace.context-token.js'; import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit'; @@ -13,7 +12,7 @@ import type { UUIToggleElement } from '@umbraco-cms/backoffice/external/uui'; @customElement('umb-document-type-workspace-view-structure') export class UmbDocumentTypeWorkspaceViewStructureElement extends UmbLitElement implements UmbWorkspaceViewElement { - #workspaceContext?: UmbDocumentTypeWorkspaceContext; + #workspaceContext?: typeof UMB_DOCUMENT_TYPE_WORKSPACE_CONTEXT.TYPE; @state() private _allowedAtRoot?: boolean; @@ -27,9 +26,8 @@ export class UmbDocumentTypeWorkspaceViewStructureElement extends UmbLitElement constructor() { super(); - // TODO: Figure out if this is the best way to consume the context or if it can be strongly typed with an UmbContextToken this.consumeContext(UMB_DOCUMENT_TYPE_WORKSPACE_CONTEXT, (documentTypeContext) => { - this.#workspaceContext = documentTypeContext as UmbDocumentTypeWorkspaceContext; + this.#workspaceContext = documentTypeContext; this._observeDocumentType(); }); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/document-type/views/templates/document-type-workspace-view-templates.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/document-type/views/templates/document-type-workspace-view-templates.element.ts index 2d0229a345..8976e62c4a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/document-type/views/templates/document-type-workspace-view-templates.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/document-type/views/templates/document-type-workspace-view-templates.element.ts @@ -6,7 +6,8 @@ import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/workspace'; -import '@umbraco-cms/backoffice/template'; // TODO: This is needed to register the element, but it should be done in a better way without importing the whole module. +// TODO: This is needed to register the element, but it should be done in a better way without importing the whole module. [JOV] +import '@umbraco-cms/backoffice/template'; @customElement('umb-document-type-workspace-view-templates') export class UmbDocumentTypeWorkspaceViewTemplatesElement extends UmbLitElement implements UmbWorkspaceViewElement { diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/document-collection-toolbar.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/document-collection-toolbar.element.ts deleted file mode 100644 index ed675276b4..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/document-collection-toolbar.element.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit'; -import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import { UMB_COLLECTION_CONTEXT } from '@umbraco-cms/backoffice/collection'; -import type { UmbDefaultCollectionContext } from '@umbraco-cms/backoffice/collection'; - -/** @deprecated This component is no longer used in core; to be removed in Umbraco 17. */ -@customElement('umb-document-collection-toolbar') -export class UmbDocumentCollectionToolbarElement extends UmbLitElement { - #collectionContext?: UmbDefaultCollectionContext; - - #inputTimer?: NodeJS.Timeout; - #inputTimerAmount = 500; - - constructor() { - super(); - - this.consumeContext(UMB_COLLECTION_CONTEXT, (instance) => { - this.#collectionContext = instance; - }); - } - - #updateSearch(event: InputEvent) { - const target = event.target as HTMLInputElement; - const filter = target.value || ''; - clearTimeout(this.#inputTimer); - this.#inputTimer = setTimeout(() => this.#collectionContext?.setFilter({ filter }), this.#inputTimerAmount); - } - - override render() { - return html` - - - - `; - } - - static override styles = [ - css` - :host { - height: 100%; - width: 100%; - display: flex; - justify-content: space-between; - white-space: nowrap; - gap: var(--uui-size-space-5); - align-items: center; - } - - #input-search { - width: 100%; - } - `, - ]; -} - -export default UmbDocumentCollectionToolbarElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-document-collection-toolbar': UmbDocumentCollectionToolbarElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/document-collection.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/document-collection.element.ts index f1bf71c7a6..f2fd0bf074 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/document-collection.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/document-collection.element.ts @@ -12,7 +12,6 @@ export class UmbDocumentCollectionElement extends UmbCollectionDefaultElement { } } -/** @deprecated Should be exported as `element` only; to be removed in Umbraco 17. */ export default UmbDocumentCollectionElement; export { UmbDocumentCollectionElement as element }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/repository/document-collection.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/repository/document-collection.server.data-source.ts index 0f91dd516d..76787a34dc 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/repository/document-collection.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/repository/document-collection.server.data-source.ts @@ -35,9 +35,6 @@ export class UmbDocumentCollectionServerDataSource implements UmbCollectionDataS if (data) { const items = data.items.map((item: DocumentCollectionResponseModel) => { - // TODO: remove in v17.0.0 - const variant = item.variants[0]; - const model: UmbDocumentCollectionItemModel = { ancestors: item.ancestors.map((ancestor) => { return { @@ -47,23 +44,18 @@ export class UmbDocumentCollectionServerDataSource implements UmbCollectionDataS }), unique: item.id, entityType: UMB_DOCUMENT_ENTITY_TYPE, - contentTypeAlias: item.documentType.alias, - createDate: item.variants - .map((v) => new Date(v.createDate)) - .reduce((earliest, current) => (current < earliest ? current : earliest)), creator: item.creator, - icon: item.documentType.icon, isProtected: item.isProtected, isTrashed: item.isTrashed, - name: variant.name, sortOrder: item.sortOrder, - state: variant.state, - updateDate: item.variants - .map((v) => new Date(v.updateDate)) - .reduce((latest, current) => (current > latest ? current : latest)), updater: item.updater, values: item.values.map((item) => { - return { alias: item.alias, value: item.value as string }; + return { + alias: item.alias, + culture: item.culture ?? undefined, + segment: item.segment ?? undefined, + value: item.value as string, + }; }), documentType: { unique: item.documentType.id, @@ -75,6 +67,8 @@ export class UmbDocumentCollectionServerDataSource implements UmbCollectionDataS name: item.name, culture: item.culture ?? null, state: item.state, + createDate: new Date(item.createDate), + updateDate: new Date(item.updateDate), }; }), }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/types.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/types.ts index a1ec0ecc44..6b1c9ddf49 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/types.ts @@ -14,50 +14,20 @@ export interface UmbDocumentCollectionFilterModel extends UmbCollectionFilterMod export interface UmbDocumentCollectionItemModel { ancestors: Array; - unique: string; - entityType: UmbDocumentEntityType; creator?: string | null; - sortOrder: number; - updater?: string | null; - values: Array<{ alias: string; value: string }>; - isProtected: boolean; - isTrashed: boolean; documentType: { unique: string; icon: string; alias: string; }; + entityType: UmbDocumentEntityType; + isProtected: boolean; + isTrashed: boolean; + sortOrder: number; + unique: string; + updater?: string | null; + values: Array<{ alias: string; culture?: string; segment?: string; value: string }>; variants: Array; - - /** - * @deprecated From 15.3.0. Will be removed in 17.0.0. Use state in variants array instead. - */ - state: string; - - /** - * @deprecated From 15.3.0. Will be removed in 17.0.0. Use name in variants array instead. - */ - name: string; - - /** - * @deprecated From 15.3.0. Will be removed in 17.0.0. Use updateDate in variants array instead. - */ - updateDate: Date; - - /** - * @deprecated From 15.3.0. Will be removed in 17.0.0. Use createDate in variants array instead. - */ - createDate: Date; - - /** - * @deprecated From 15.3.0. Will be removed in 17.0.0. Use alias on documentType instead. - */ - contentTypeAlias: string; - - /** - * @deprecated From 15.3.0. Will be removed in 17.0.0. Use icon on documentType instead. - */ - icon: string; } export interface UmbEditableDocumentCollectionItemModel { diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/grid/document-grid-collection-card.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/grid/document-grid-collection-card.element.ts new file mode 100644 index 0000000000..0178ecd625 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/grid/document-grid-collection-card.element.ts @@ -0,0 +1,170 @@ +import { UmbDocumentItemDataResolver } from '../../../item/document-item-data-resolver.js'; +import type { UmbDocumentCollectionItemModel } from '../../types.js'; +import { css, customElement, html, property, repeat, state, when } from '@umbraco-cms/backoffice/external/lit'; +import { fromCamelCase } from '@umbraco-cms/backoffice/utils'; +import { DocumentVariantStateModel } from '@umbraco-cms/backoffice/external/backend-api'; +import { UmbElementMixin } from '@umbraco-cms/backoffice/element-api'; +import { UUICardContentNodeElement } from '@umbraco-cms/backoffice/external/uui'; +import type { UmbCollectionColumnConfiguration } from '@umbraco-cms/backoffice/collection'; +import type { UUIInterfaceColor } from '@umbraco-cms/backoffice/external/uui'; + +@customElement('umb-document-grid-collection-card') +export class UmbDocumentGridCollectionCardElement extends UmbElementMixin(UUICardContentNodeElement) { + #resolver = new UmbDocumentItemDataResolver(this); + + @state() + private _createDate?: Date; + + @state() + private _state?: string; + + @state() + private _updateDate?: Date; + + @property({ attribute: false }) + columns?: Array; + + @property({ attribute: false }) + public set item(value: UmbDocumentCollectionItemModel) { + this.#item = value; + if (value) { + this.#resolver.setData(value); + } + } + public get item(): UmbDocumentCollectionItemModel { + return this.#item; + } + #item!: UmbDocumentCollectionItemModel; + + constructor() { + super(); + + this.#resolver.observe(this.#resolver.name, (name) => (this.name = name || '')); + this.#resolver.observe(this.#resolver.state, (state) => (this._state = state || '')); + this.#resolver.observe(this.#resolver.createDate, (createDate) => (this._createDate = createDate)); + this.#resolver.observe(this.#resolver.updateDate, (updateDate) => (this._updateDate = updateDate)); + } + + #getPropertyValueByAlias(alias: string) { + switch (alias) { + case 'contentTypeAlias': + return this.item.documentType.alias; + case 'createDate': + return this._createDate?.toLocaleString(); + case 'creator': + case 'owner': + return this.item.creator; + case 'name': + return this.name; + case 'state': + return this._state ? fromCamelCase(this._state) : ''; + case 'published': + return this._state !== DocumentVariantStateModel.DRAFT ? 'True' : 'False'; + case 'sortOrder': + return this.item.sortOrder; + case 'updateDate': + return this._updateDate?.toLocaleString(); + case 'updater': + return this.item.updater; + default: { + const culture = this.#resolver.getCulture(); + const prop = this.item.values.find((x) => x.alias === alias && (!x.culture || x.culture === culture)); + return prop?.value ?? ''; + } + } + } + + #getStateTagConfig(): { color: UUIInterfaceColor; label: string } | undefined { + if (!this._state) return; + switch (this._state) { + case DocumentVariantStateModel.PUBLISHED: + return { color: 'positive', label: this.localize.term('content_published') }; + case DocumentVariantStateModel.PUBLISHED_PENDING_CHANGES: + return { color: 'warning', label: this.localize.term('content_publishedPendingChanges') }; + case DocumentVariantStateModel.DRAFT: + return { color: 'default', label: this.localize.term('content_unpublished') }; + case DocumentVariantStateModel.NOT_CREATED: + return { color: 'danger', label: this.localize.term('content_notCreated') }; + default: + return { color: 'danger', label: fromCamelCase(this._state) }; + } + } + + override render() { + return html`${super.render()} ${this.#renderState()}`; + } + + protected override renderDetail() { + return html` + ${super.renderDetail()} +
${this.#renderProperties()}
+ `; + } + + #renderState() { + const tagConfig = this.#getStateTagConfig(); + if (!tagConfig) return; + return html`${tagConfig.label}`; + } + + #renderProperties() { + if (!this.columns) return; + return html` +
    + ${repeat( + this.columns, + (column) => column.alias, + (column) => this.#renderProperty(column), + )} +
+ `; + } + + #renderProperty(column: UmbCollectionColumnConfiguration) { + const value = this.#getPropertyValueByAlias(column.alias); + return html` +
  • + ${this.localize.string(column.header)}: + ${when( + column.nameTemplate, + () => html``, + () => html`${value}`, + )} +
  • + `; + } + + static override styles = [ + ...UUICardContentNodeElement.styles, + css` + #state { + position: absolute; + top: var(--uui-size-4); + right: var(--uui-size-4); + display: flex; + justify-content: right; + } + + #properties { + font-size: var(--uui-type-small-size); + line-height: calc(2 * var(--uui-size-3)); + + > ul { + list-style: none; + padding-inline-start: 0px; + margin: 0; + + > li > span { + font-weight: 700; + } + } + } + `, + ]; +} + +declare global { + interface HTMLElementTagNameMap { + 'umb-document-grid-collection-card': UmbDocumentGridCollectionCardElement; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/grid/document-grid-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/grid/document-grid-collection-view.element.ts index e79fc9d102..0aa19641a4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/grid/document-grid-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/grid/document-grid-collection-view.element.ts @@ -1,16 +1,14 @@ import { UMB_DOCUMENT_COLLECTION_CONTEXT } from '../../document-collection.context-token.js'; -import type { UmbDocumentCollectionFilterModel, UmbDocumentCollectionItemModel } from '../../types.js'; import { UMB_EDIT_DOCUMENT_WORKSPACE_PATH_PATTERN } from '../../../paths.js'; -import { getPropertyValueByAlias } from '../index.js'; -import { css, customElement, html, repeat, state, when } from '@umbraco-cms/backoffice/external/lit'; -import { fromCamelCase } from '@umbraco-cms/backoffice/utils'; +import type { UmbDocumentCollectionFilterModel, UmbDocumentCollectionItemModel } from '../../types.js'; +import { css, customElement, html, repeat, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; +import type { UmbDefaultCollectionContext, UmbCollectionColumnConfiguration } from '@umbraco-cms/backoffice/collection'; import type { UmbModalRouteBuilder } from '@umbraco-cms/backoffice/router'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; -import type { UmbDefaultCollectionContext, UmbCollectionColumnConfiguration } from '@umbraco-cms/backoffice/collection'; -import type { UUIInterfaceColor } from '@umbraco-cms/backoffice/external/uui'; import '@umbraco-cms/backoffice/ufm'; +import './document-grid-collection-card.element.js'; @customElement('umb-document-grid-collection-view') export class UmbDocumentGridCollectionViewElement extends UmbLitElement { @@ -100,64 +98,18 @@ export class UmbDocumentGridCollectionViewElement extends UmbLitElement { #renderItem(item: UmbDocumentCollectionItemModel) { return html` - 0} ?selected=${this.#isSelected(item)} - href=${this.#getEditUrl(item)} @selected=${() => this.#onSelect(item)} @deselected=${() => this.#onDeselect(item)}> - - ${this.#renderState(item)} ${this.#renderProperties(item)} - - `; - } - - #getStateTagConfig(state: string): { color: UUIInterfaceColor; label: string } { - switch (state) { - case 'Published': - return { color: 'positive', label: this.localize.term('content_published') }; - case 'PublishedPendingChanges': - return { color: 'warning', label: this.localize.term('content_publishedPendingChanges') }; - case 'Draft': - return { color: 'default', label: this.localize.term('content_unpublished') }; - case 'NotCreated': - return { color: 'danger', label: this.localize.term('content_notCreated') }; - default: - return { color: 'danger', label: fromCamelCase(state) }; - } - } - - #renderState(item: UmbDocumentCollectionItemModel) { - const tagConfig = this.#getStateTagConfig(item.state); - return html`${tagConfig.label}`; - } - - #renderProperties(item: UmbDocumentCollectionItemModel) { - if (!this._userDefinedProperties) return; - return html` -
      - ${repeat( - this._userDefinedProperties, - (column) => column.alias, - (column) => this.#renderProperty(item, column), - )} -
    - `; - } - - #renderProperty(item: UmbDocumentCollectionItemModel, column: UmbCollectionColumnConfiguration) { - const value = getPropertyValueByAlias(item, column.alias); - return html` -
  • - ${this.localize.string(column.header)}: - ${when( - column.nameTemplate, - () => html``, - () => html`${value}`, - )} -
  • + + `; } @@ -169,31 +121,15 @@ export class UmbDocumentGridCollectionViewElement extends UmbLitElement { flex-direction: column; } - .container { - display: flex; - justify-content: center; - align-items: center; - } - #document-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: var(--uui-size-space-4); } - uui-card-content-node { + .document-grid-item { width: 100%; - height: 180px; - } - - ul { - list-style: none; - padding-inline-start: 0px; - margin: 0; - } - - ul > li > span { - font-weight: 700; + min-height: 180px; } `, ]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/index.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/index.ts deleted file mode 100644 index 1f1e7c344e..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/index.ts +++ /dev/null @@ -1,34 +0,0 @@ -import type { UmbDocumentCollectionItemModel } from '../types.js'; -import { fromCamelCase } from '@umbraco-cms/backoffice/utils'; - -/** - * - * @param {UmbDocumentCollectionItemModel} item - The item to get the property value for - * @param {string} alias - The alias of the property to get the value for - * @returns {string} The value of the property - */ -export function getPropertyValueByAlias(item: UmbDocumentCollectionItemModel, alias: string) { - switch (alias) { - case 'contentTypeAlias': - return item.contentTypeAlias; - case 'createDate': - return item.createDate.toLocaleString(); - case 'creator': - case 'owner': - return item.creator; - case 'name': - return item.name; - case 'state': - return fromCamelCase(item.state); - case 'published': - return item.state !== 'Draft' ? 'True' : 'False'; - case 'sortOrder': - return item.sortOrder; - case 'updateDate': - return item.updateDate.toLocaleString(); - case 'updater': - return item.updater; - default: - return item.values.find((value) => value.alias === alias)?.value ?? ''; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/column-layouts/document-entity-actions-table-column-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/column-layouts/document-entity-actions-table-column-view.element.ts index 70f2852aae..4db9e8a1ab 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/column-layouts/document-entity-actions-table-column-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/column-layouts/document-entity-actions-table-column-view.element.ts @@ -1,30 +1,29 @@ import type { UmbDocumentCollectionItemModel } from '../../../types.js'; import { UmbAncestorsEntityContext } from '@umbraco-cms/backoffice/entity'; -import { html, nothing, customElement, property } from '@umbraco-cms/backoffice/external/lit'; +import { customElement, html, nothing, property } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; @customElement('umb-document-entity-actions-table-column-view') export class UmbDocumentEntityActionsTableColumnViewElement extends UmbLitElement { - @property({ attribute: false }) - public get value(): UmbDocumentCollectionItemModel | undefined { - return this._value; - } - public set value(value: UmbDocumentCollectionItemModel | undefined) { - this._value = value; - this.#ancestorContext.setAncestors(this._value?.ancestors ?? []); - } - - private _value?: UmbDocumentCollectionItemModel | undefined; - #ancestorContext = new UmbAncestorsEntityContext(this); + @property({ attribute: false }) + public set value(value: UmbDocumentCollectionItemModel) { + this.#value = value; + this.#ancestorContext.setAncestors(this.#value?.ancestors ?? []); + } + public get value(): UmbDocumentCollectionItemModel | undefined { + return this.#value; + } + #value?: UmbDocumentCollectionItemModel | undefined; + override render() { - if (!this._value) return nothing; + if (!this.#value) return nothing; // TODO: Missing name to parse on return html` + .value=${{ unique: this.#value.unique, entityType: this.#value.entityType }}> `; } @@ -32,6 +31,6 @@ export class UmbDocumentEntityActionsTableColumnViewElement extends UmbLitElemen declare global { interface HTMLElementTagNameMap { - ['umb-document-entity-actions-table-column-view']: UmbDocumentEntityActionsTableColumnViewElement; + 'umb-document-entity-actions-table-column-view': UmbDocumentEntityActionsTableColumnViewElement; } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/column-layouts/document-table-column-name.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/column-layouts/document-table-column-name.element.ts index ebaa889b1e..b1bdbf0da8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/column-layouts/document-table-column-name.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/column-layouts/document-table-column-name.element.ts @@ -6,30 +6,30 @@ import type { UmbTableColumn, UmbTableColumnLayoutElement, UmbTableItem } from ' @customElement('umb-document-table-column-name') export class UmbDocumentTableColumnNameElement extends UmbLitElement implements UmbTableColumnLayoutElement { - column!: UmbTableColumn; - item!: UmbTableItem; - - #value!: UmbEditableDocumentCollectionItemModel; - @property({ attribute: false }) - public get value(): UmbEditableDocumentCollectionItemModel { - return this.#value; - } - public set value(value: UmbEditableDocumentCollectionItemModel) { - this.#value = value; - - if (value.item) { - this.#item.setData(value.item); - } - } + #resolver = new UmbDocumentItemDataResolver(this); @state() private _name = ''; - #item = new UmbDocumentItemDataResolver(this); + column!: UmbTableColumn; + item!: UmbTableItem; + + @property({ attribute: false }) + public set value(value: UmbEditableDocumentCollectionItemModel) { + this.#value = value; + + if (value.item) { + this.#resolver.setData(value.item); + } + } + public get value(): UmbEditableDocumentCollectionItemModel { + return this.#value; + } + #value!: UmbEditableDocumentCollectionItemModel; constructor() { super(); - this.#item.observe(this.#item.name, (name) => (this._name = name || '')); + this.#resolver.observe(this.#resolver.name, (name) => (this._name = name || '')); } override render() { diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/column-layouts/document-table-column-property-value.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/column-layouts/document-table-column-property-value.element.ts new file mode 100644 index 0000000000..1c616c5d72 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/column-layouts/document-table-column-property-value.element.ts @@ -0,0 +1,89 @@ +import type { UmbEditableDocumentCollectionItemModel } from '../../../types.js'; +import { UmbDocumentItemDataResolver } from '../../../../item/index.js'; +import { customElement, html, nothing, property, state, when } from '@umbraco-cms/backoffice/external/lit'; +import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; +import type { UmbTableColumn, UmbTableColumnLayoutElement, UmbTableItem } from '@umbraco-cms/backoffice/components'; +import { DocumentVariantStateModel } from '@umbraco-cms/backoffice/external/backend-api'; + +@customElement('umb-document-table-column-property-value') +export class UmbDocumentTableColumnPropertyValueElement extends UmbLitElement implements UmbTableColumnLayoutElement { + #resolver = new UmbDocumentItemDataResolver(this); + + @state() + private _createDate?: Date; + + @state() + private _state?: string; + + @state() + private _updateDate?: Date; + + column!: UmbTableColumn; + item!: UmbTableItem; + + @property({ attribute: false }) + public set value(value: UmbEditableDocumentCollectionItemModel) { + this.#value = value; + + if (value.item) { + this.#resolver.setData(value.item); + } + } + public get value(): UmbEditableDocumentCollectionItemModel { + return this.#value; + } + #value!: UmbEditableDocumentCollectionItemModel; + + constructor() { + super(); + + this.#resolver.observe(this.#resolver.state, (state) => (this._state = state || '')); + this.#resolver.observe(this.#resolver.createDate, (createDate) => (this._createDate = createDate)); + this.#resolver.observe(this.#resolver.updateDate, (updateDate) => (this._updateDate = updateDate)); + } + + #getPropertyValueByAlias() { + const alias = this.column.alias; + const item = this.value.item; + switch (alias) { + case 'contentTypeAlias': + return item.documentType.alias; + case 'createDate': + return this._createDate?.toLocaleString(); + case 'creator': + case 'owner': + return item.creator; + case 'published': + return this._state !== DocumentVariantStateModel.DRAFT ? 'True' : 'False'; + case 'sortOrder': + return item.sortOrder; + case 'updateDate': + return this._updateDate?.toLocaleString(); + case 'updater': + return item.updater; + default: { + const culture = this.#resolver.getCulture(); + const prop = item.values.find((x) => x.alias === alias && (!x.culture || x.culture === culture)); + return prop?.value ?? ''; + } + } + } + + override render() { + if (!this.value) return nothing; + const value = this.#getPropertyValueByAlias(); + return when( + this.column.labelTemplate, + () => html``, + () => html`${value}`, + ); + } +} + +export default UmbDocumentTableColumnPropertyValueElement; + +declare global { + interface HTMLElementTagNameMap { + 'umb-document-table-column-property-value': UmbDocumentTableColumnPropertyValueElement; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/column-layouts/document-table-column-state.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/column-layouts/document-table-column-state.element.ts index ced42c55b9..ac3016391e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/column-layouts/document-table-column-state.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/column-layouts/document-table-column-state.element.ts @@ -1,53 +1,58 @@ -import type { UmbEditableDocumentCollectionItemModel } from '../../../types.js'; import { UmbDocumentItemDataResolver } from '../../../../item/index.js'; +import type { UmbEditableDocumentCollectionItemModel } from '../../../types.js'; import { customElement, html, property, state } from '@umbraco-cms/backoffice/external/lit'; import { fromCamelCase } from '@umbraco-cms/backoffice/utils'; +import { DocumentVariantStateModel } from '@umbraco-cms/backoffice/external/backend-api'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import type { UmbTableColumn, UmbTableColumnLayoutElement, UmbTableItem } from '@umbraco-cms/backoffice/components'; +import type { UUIInterfaceColor } from '@umbraco-cms/backoffice/external/uui'; @customElement('umb-document-table-column-state') export class UmbDocumentTableColumnStateElement extends UmbLitElement implements UmbTableColumnLayoutElement { - column!: UmbTableColumn; - item!: UmbTableItem; - - #value!: UmbEditableDocumentCollectionItemModel; - @property({ attribute: false }) - public get value(): UmbEditableDocumentCollectionItemModel { - return this.#value; - } - public set value(value: UmbEditableDocumentCollectionItemModel) { - this.#value = value; - - if (value.item) { - this.#item.setData(value.item); - } - } + #resolver = new UmbDocumentItemDataResolver(this); @state() private _state = ''; - #item = new UmbDocumentItemDataResolver(this); + column!: UmbTableColumn; + item!: UmbTableItem; + + @property({ attribute: false }) + public set value(value: UmbEditableDocumentCollectionItemModel) { + this.#value = value; + + if (value.item) { + this.#resolver.setData(value.item); + } + } + public get value(): UmbEditableDocumentCollectionItemModel { + return this.#value; + } + #value!: UmbEditableDocumentCollectionItemModel; constructor() { super(); - this.#item.observe(this.#item.state, (state) => (this._state = state || '')); + this.#resolver.observe(this.#resolver.state, (state) => (this._state = state || '')); + } + + #getStateTagConfig(): { color: UUIInterfaceColor; label: string } { + switch (this._state) { + case DocumentVariantStateModel.PUBLISHED: + return { color: 'positive', label: this.localize.term('content_published') }; + case DocumentVariantStateModel.PUBLISHED_PENDING_CHANGES: + return { color: 'warning', label: this.localize.term('content_publishedPendingChanges') }; + case DocumentVariantStateModel.DRAFT: + return { color: 'default', label: this.localize.term('content_unpublished') }; + case DocumentVariantStateModel.NOT_CREATED: + return { color: 'danger', label: this.localize.term('content_notCreated') }; + default: + return { color: 'danger', label: fromCamelCase(this._state) }; + } } override render() { - switch (this._state) { - case 'Published': - return html`${this.localize.term('content_published')}`; - case 'PublishedPendingChanges': - return html`${this.localize.term('content_publishedPendingChanges')}`; - case 'Draft': - return html`${this.localize.term('content_unpublished')}`; - case 'NotCreated': - return html`${this.localize.term('content_notCreated')}`; - default: - return html`${fromCamelCase(this._state)}`; - } + const tagConfig = this.#getStateTagConfig(); + return html`${tagConfig.label}`; } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/document-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/document-table-collection-view.element.ts index d681550252..518b2bc906 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/document-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/document-table-collection-view.element.ts @@ -1,13 +1,11 @@ -import { getPropertyValueByAlias } from '../index.js'; -import { UMB_EDIT_DOCUMENT_WORKSPACE_PATH_PATTERN } from '../../../paths.js'; -import type { UmbDocumentCollectionItemModel } from '../../types.js'; -import type { UmbDocumentCollectionContext } from '../../document-collection.context.js'; import { UMB_DOCUMENT_COLLECTION_CONTEXT } from '../../document-collection.context-token.js'; import { UMB_DOCUMENT_ENTITY_TYPE } from '../../../entity.js'; -import type { UmbCollectionColumnConfiguration } from '@umbraco-cms/backoffice/collection'; +import { UMB_EDIT_DOCUMENT_WORKSPACE_PATH_PATTERN } from '../../../paths.js'; +import type { UmbDocumentCollectionItemModel } from '../../types.js'; import { css, customElement, html, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; +import type { UmbCollectionColumnConfiguration } from '@umbraco-cms/backoffice/collection'; import type { UmbModalRouteBuilder } from '@umbraco-cms/backoffice/router'; import type { UmbTableColumn, @@ -21,6 +19,7 @@ import type { import './column-layouts/document-entity-actions-table-column-view.element.js'; import './column-layouts/document-table-column-name.element.js'; +import './column-layouts/document-table-column-property-value.element.js'; import './column-layouts/document-table-column-state.element.js'; @customElement('umb-document-table-collection-view') @@ -63,7 +62,7 @@ export class UmbDocumentTableCollectionViewElement extends UmbLitElement { @state() private _selection: Array = []; - #collectionContext?: UmbDocumentCollectionContext; + #collectionContext?: typeof UMB_DOCUMENT_COLLECTION_CONTEXT.TYPE; constructor() { super(); @@ -121,7 +120,7 @@ export class UmbDocumentTableCollectionViewElement extends UmbLitElement { return { name: this.localize.string(item.header), alias: item.alias, - elementName: item.elementName, + elementName: item.elementName || 'umb-document-table-column-property-value', labelTemplate: item.nameTemplate, allowSorting: true, }; @@ -159,7 +158,7 @@ export class UmbDocumentTableCollectionViewElement extends UmbLitElement { return { columnAlias: column.alias, - value: column.elementName ? { item, editPath } : getPropertyValueByAlias(item, column.alias), + value: { item, editPath }, }; }) ?? []; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/components/input-document/input-document.context.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/components/input-document/input-document.context.ts index 11afa59568..1d815ed740 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/components/input-document/input-document.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/components/input-document/input-document.context.ts @@ -14,7 +14,7 @@ interface UmbDocumentPickerInputContextOpenArgs { } export class UmbDocumentPickerInputContext extends UmbPickerInputContext< - UmbDocumentItemModel, + UmbDocumentItemModel & { name: string }, // HACK: [LK:2025-01-01] UmbDocumentTreeItemModel, UmbDocumentPickerModalData, UmbDocumentPickerModalValue diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/item/document-item-data-resolver.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/item/document-item-data-resolver.ts index 0a072e6793..fc15e05439 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/item/document-item-data-resolver.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/item/document-item-data-resolver.ts @@ -3,7 +3,7 @@ import type { UmbDocumentItemModel } from './types.js'; import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { DocumentVariantStateModel } from '@umbraco-cms/backoffice/external/backend-api'; -import { UmbBooleanState, UmbObjectState, UmbStringState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbBasicState, UmbBooleanState, UmbObjectState, UmbStringState } from '@umbraco-cms/backoffice/observable-api'; import { type UmbVariantContext, UMB_VARIANT_CONTEXT } from '@umbraco-cms/backoffice/variant'; type UmbDocumentItemDataResolverModel = Omit; @@ -14,8 +14,10 @@ type UmbDocumentItemDataResolverModel = Omit extends UmbControllerBase { - #data = new UmbObjectState(undefined); +export class UmbDocumentItemDataResolver< + DocumentItemModel extends UmbDocumentItemDataResolverModel, +> extends UmbControllerBase { + #data = new UmbObjectState(undefined); public readonly unique = this.#data.asObservablePart((x) => x?.unique); public readonly icon = this.#data.asObservablePart((x) => x?.documentType.icon); @@ -30,6 +32,12 @@ export class UmbDocumentItemDataResolver(undefined); + public readonly createDate = this.#createDate.asObservable(); + + #updateDate = new UmbBasicState(undefined); + public readonly updateDate = this.#updateDate.asObservable(); + #variantContext?: UmbVariantContext; #fallbackCulture?: string | null; #displayCulture?: string | null; @@ -66,20 +74,29 @@ export class UmbDocumentItemDataResolver} The create date of the item + * @memberof UmbDocumentItemDataResolver + */ + async getCreateDate(): Promise { + return (await this.observe(this.createDate).asPromise()) || undefined; + } + + /** + * Get the update date of the item + * @returns {Promise} The update date of the item + * @memberof UmbDocumentItemDataResolver + */ + async getUpdateDate(): Promise { + return (await this.observe(this.updateDate).asPromise()) || undefined; + } + #setVariantAwareValues() { if (!this.#variantContext) return; if (!this.#displayCulture) return; @@ -147,6 +182,8 @@ export class UmbDocumentItemDataResolver x.culture === culture); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/item/document-item-ref.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/item/document-item-ref.element.ts index e37cc26fb1..a06907929e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/item/document-item-ref.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/item/document-item-ref.element.ts @@ -14,12 +14,12 @@ export class UmbDocumentItemRefElement extends UmbLitElement { #item = new UmbDocumentItemDataResolver(this); @property({ type: Object }) - public get item(): UmbDocumentItemModel | undefined { - return this.#item.getData(); - } public set item(value: UmbDocumentItemModel | undefined) { this.#item.setData(value); } + public get item(): UmbDocumentItemModel | undefined { + return this.#item.getData(); + } @property({ type: Boolean, reflect: true }) readonly = false; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/item/repository/document-item.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/item/repository/document-item.server.data-source.ts index 7035a4b926..70b96553a2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/item/repository/document-item.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/item/repository/document-item.server.data-source.ts @@ -47,7 +47,6 @@ const mapper = (item: DocumentItemResponseModel): UmbDocumentItemModel => { hasChildren: item.hasChildren, isProtected: item.isProtected, isTrashed: item.isTrashed, - name: item.variants[0]?.name, // TODO: this is not correct. We need to get it from the variants. This is a temp solution. parent: item.parent ? { unique: item.parent.id } : null, unique: item.id, variants: item.variants.map((variant) => { @@ -55,6 +54,9 @@ const mapper = (item: DocumentItemResponseModel): UmbDocumentItemModel => { culture: variant.culture || null, name: variant.name, state: variant.state, + // TODO: [v17] Implement dates when available in the API. [LK] + //createDate: new Date(variant.createDate), + //updateDate: new Date(variant.updateDate), }; }), }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/item/repository/types.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/item/repository/types.ts index 142d9e2951..2ed94e972e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/item/repository/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/item/repository/types.ts @@ -13,7 +13,6 @@ export interface UmbDocumentItemModel { hasChildren: boolean; isProtected: boolean; isTrashed: boolean; - name: string; // TODO: this is not correct. We need to get it from the variants. This is a temp solution. parent: { unique: UmbEntityUnique } | null; // TODO: Use UmbReferenceByUnique when it support unique as null unique: string; variants: Array; @@ -23,4 +22,6 @@ export interface UmbDocumentItemVariantModel { name: string; culture: string | null; state: DocumentVariantStateModel | null; + createDate?: Date; + updateDate?: Date; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/publishing/workspace-context/document-publishing.workspace-context.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/publishing/workspace-context/document-publishing.workspace-context.ts index 0173b8e100..22765bf435 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/publishing/workspace-context/document-publishing.workspace-context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/publishing/workspace-context/document-publishing.workspace-context.ts @@ -10,6 +10,7 @@ import { UMB_DOCUMENT_SCHEDULE_MODAL } from '../schedule-publish/constants.js'; import { UMB_DOCUMENT_PUBLISH_WITH_DESCENDANTS_MODAL } from '../publish-with-descendants/constants.js'; import { UMB_DOCUMENT_PUBLISH_MODAL } from '../publish/constants.js'; import { UmbUnpublishDocumentEntityAction } from '../unpublish/index.js'; +import { UMB_DOCUMENT_ENTITY_TYPE, UMB_DOCUMENT_WORKSPACE_ALIAS } from '../../constants.js'; import { UMB_DOCUMENT_PUBLISHING_WORKSPACE_CONTEXT } from './document-publishing.workspace-context.token.js'; import { UMB_DOCUMENT_PUBLISHING_SHORTCUT_UNIQUE } from './constants.js'; import { firstValueFrom } from '@umbraco-cms/backoffice/external/rxjs'; @@ -27,8 +28,9 @@ import { UMB_ACTION_EVENT_CONTEXT } from '@umbraco-cms/backoffice/action'; import { UMB_NOTIFICATION_CONTEXT } from '@umbraco-cms/backoffice/notification'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { UmbEntityUnique } from '@umbraco-cms/backoffice/entity'; +import type { UmbPublishableWorkspaceContext } from '@umbraco-cms/backoffice/workspace'; -export class UmbDocumentPublishingWorkspaceContext extends UmbContextBase { +export class UmbDocumentPublishingWorkspaceContext extends UmbContextBase implements UmbPublishableWorkspaceContext { /** * Manages the pending changes for the published document. * @memberof UmbDocumentPublishingWorkspaceContext @@ -44,6 +46,8 @@ export class UmbDocumentPublishingWorkspaceContext extends UmbContextBase { #notificationContext?: typeof UMB_NOTIFICATION_CONTEXT.TYPE; readonly #localize = new UmbLocalizationController(this); + workspaceAlias = UMB_DOCUMENT_WORKSPACE_ALIAS; + constructor(host: UmbControllerHost) { super(host, UMB_DOCUMENT_PUBLISHING_WORKSPACE_CONTEXT); @@ -84,6 +88,10 @@ export class UmbDocumentPublishingWorkspaceContext extends UmbContextBase { }); } + getEntityType() { + return UMB_DOCUMENT_ENTITY_TYPE; + } + public async publish() { throw new Error('Method not implemented.'); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/constants.ts index 9af32d7bb7..0002782c2b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/constants.ts @@ -1,4 +1,3 @@ -export * from './entity-action/constants.js'; export * from './repository/constants.js'; export * from './tree/constants.js'; export const UMB_DOCUMENT_RECYCLE_BIN_ROOT_ENTITY_TYPE = 'document-recycle-bin-root'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/constants.ts deleted file mode 100644 index 41a409dec1..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/constants.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './repository/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/index.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/index.ts deleted file mode 100644 index 996885d53b..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { UmbBulkTrashDocumentRepository, UMB_BULK_TRASH_DOCUMENT_REPOSITORY_ALIAS } from './repository/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/manifests.ts index 4ef514fef7..5820d8c769 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/manifests.ts @@ -4,7 +4,6 @@ import { UMB_DOCUMENT_ITEM_REPOSITORY_ALIAS } from '../../../item/constants.js'; import { UMB_DOCUMENT_RECYCLE_BIN_REPOSITORY_ALIAS } from '../../repository/constants.js'; import { UMB_DOCUMENT_REFERENCE_REPOSITORY_ALIAS } from '../../../reference/constants.js'; import { UMB_DOCUMENT_COLLECTION_ALIAS } from '../../../collection/constants.js'; -import { manifests as repositoryManifests } from './repository/manifests.js'; import { UMB_COLLECTION_ALIAS_CONDITION } from '@umbraco-cms/backoffice/collection'; import { UMB_ENTITY_BULK_ACTION_TRASH_WITH_RELATION_KIND } from '@umbraco-cms/backoffice/relations'; @@ -32,5 +31,4 @@ export const manifests: Array = [ }, ], }, - ...repositoryManifests, ]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/repository/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/repository/constants.ts deleted file mode 100644 index bfe20c8592..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/repository/constants.ts +++ /dev/null @@ -1 +0,0 @@ -export const UMB_BULK_TRASH_DOCUMENT_REPOSITORY_ALIAS = 'Umb.Repository.Document.BulkTrash'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/repository/index.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/repository/index.ts deleted file mode 100644 index 170a602476..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/repository/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { UmbBulkTrashDocumentRepository } from './trash.repository.js'; -export { UMB_BULK_TRASH_DOCUMENT_REPOSITORY_ALIAS } from './constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/repository/manifests.ts deleted file mode 100644 index c8ce929bfe..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/repository/manifests.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { UMB_BULK_TRASH_DOCUMENT_REPOSITORY_ALIAS } from './constants.js'; - -export const manifests: Array = [ - { - type: 'repository', - alias: UMB_BULK_TRASH_DOCUMENT_REPOSITORY_ALIAS, - name: 'Bulk Trash Document Repository', - api: () => import('./trash.repository.js'), - }, -]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/repository/trash.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/repository/trash.repository.ts deleted file mode 100644 index 43c2ed8c1d..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/bulk-trash/repository/trash.repository.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { UmbDocumentRecycleBinServerDataSource } from '../../../repository/document-recycle-bin.server.data-source.js'; -import { UmbRepositoryBase } from '@umbraco-cms/backoffice/repository'; -import { UMB_NOTIFICATION_CONTEXT } from '@umbraco-cms/backoffice/notification'; -import type { UmbBulkTrashRepository, UmbBulkTrashRequestArgs } from '@umbraco-cms/backoffice/entity-bulk-action'; -import type { UmbRepositoryErrorResponse } from '@umbraco-cms/backoffice/repository'; -import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { UmbDeprecation } from '@umbraco-cms/backoffice/utils'; - -/** - * @deprecated since 15.3.0. Will be removed in 17.0.0. Call trash method on UmbDocumentRecycleBinRepository instead. - */ -export class UmbBulkTrashDocumentRepository extends UmbRepositoryBase implements UmbBulkTrashRepository { - #notificationContext?: typeof UMB_NOTIFICATION_CONTEXT.TYPE; - #recycleBinSource = new UmbDocumentRecycleBinServerDataSource(this); - - constructor(host: UmbControllerHost) { - super(host); - - new UmbDeprecation({ - removeInVersion: '17.0.0', - deprecated: 'UmbBulkTrashDocumentRepository', - solution: 'Call trash method on UmbDocumentRecycleBinRepository instead.', - }).warn(); - - this.consumeContext(UMB_NOTIFICATION_CONTEXT, (notificationContext) => { - this.#notificationContext = notificationContext; - }); - } - - async requestBulkTrash(args: UmbBulkTrashRequestArgs): Promise { - let count = 0; - - for (const unique of args.uniques) { - const { error } = await this.#recycleBinSource.trash({ unique }); - - if (error) { - const notification = { data: { message: error.message } }; - this.#notificationContext?.peek('danger', notification); - } else { - count++; - } - } - - if (count > 0) { - const notification = { data: { message: `Trashed ${count} ${count === 1 ? 'document' : 'documents'}` } }; - this.#notificationContext?.peek('positive', notification); - } - - return {}; - } -} - -export { UmbBulkTrashDocumentRepository as api }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/constants.ts deleted file mode 100644 index e96d7ef38d..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/entity-action/constants.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './bulk-trash/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/components/document-reference-table.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/components/document-reference-table.element.ts deleted file mode 100644 index d392378130..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/components/document-reference-table.element.ts +++ /dev/null @@ -1,160 +0,0 @@ -import { UmbDocumentReferenceRepository } from '../repository/index.js'; -import { css, customElement, html, nothing, property, repeat, state } from '@umbraco-cms/backoffice/external/lit'; -import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; -import { - type UmbReferenceModel, - isDocumentReference, - isMediaReference, - isMemberReference, - isDefaultReference, -} from '@umbraco-cms/backoffice/relations'; -import { UmbDeprecation } from '@umbraco-cms/backoffice/utils'; - -/** - * @deprecated Deprecated from 15.4. The element will be removed in v17.0.0. For modals use the or element instead - * @class UmbDocumentReferenceTableElement - */ -@customElement('umb-document-reference-table') -export class UmbDocumentReferenceTableElement extends UmbLitElement { - #documentReferenceRepository = new UmbDocumentReferenceRepository(this); - #pageSize = 10; - - @property() - unique = ''; - - @state() - private _items: Array = []; - - /** - * Indicates if there are more references to load, i.e. if the server has more references to return. - * This is used to determine if the "...and X more references" text should be displayed. - */ - @state() - private _hasMoreReferences = 0; - - @state() - private _errorMessage = ''; - - override firstUpdated() { - new UmbDeprecation({ - removeInVersion: '17', - deprecated: ' element', - solution: - 'For modals use the or element instead', - }).warn(); - - this.#getReferences(); - } - - async #getReferences() { - // Get the first 10 references for the document: - const { data, error } = await this.#documentReferenceRepository.requestReferencedBy(this.unique, 0, this.#pageSize); - - if (error) { - this._errorMessage = error.message; - return; - } - - if (!data) return; - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - //@ts-ignore - this._items = data.items; - this._hasMoreReferences = data.total > this.#pageSize ? data.total - this.#pageSize : 0; - } - - override render() { - return html` ${this.#renderErrorMessage()} ${this.#renderTable()} `; - } - - #getIcon(item: UmbReferenceModel) { - if (isDocumentReference(item)) { - return item.documentType.icon ?? 'icon-document'; - } - if (isMediaReference(item)) { - return item.mediaType.icon ?? 'icon-picture'; - } - if (isMemberReference(item)) { - return item.memberType.icon ?? 'icon-user'; - } - if (isDefaultReference(item)) { - return item.icon ?? 'icon-document'; - } - return 'icon-document'; - } - - #getContentTypeName(item: UmbReferenceModel) { - if (isDocumentReference(item)) { - return item.documentType.name; - } - if (isMediaReference(item)) { - return item.mediaType.name; - } - if (isDefaultReference(item)) { - return item.type; - } - return ''; - } - - #renderTable() { - if (this._items?.length === 0) return nothing; - return html` - - - - - Name - Type Name - - - ${repeat( - this._items, - (item) => item.id, - (item) => - html` - - - - ${item.name} - ${this.#getContentTypeName(item)} - `, - )} - ${this._hasMoreReferences - ? html` - - - - ...and ${this._hasMoreReferences} more items - - - - ` - : nothing} - - - `; - } - - #renderErrorMessage() { - if (this._errorMessage) { - return html`
    ${this._errorMessage}
    `; - } - return nothing; - } - - static override styles = [ - UmbTextStyles, - css` - #error { - color: var(--uui-color-negative); - margin-bottom: 1rem; - } - `, - ]; -} - -declare global { - interface HTMLElementTagNameMap { - 'umb-document-reference-table': UmbDocumentReferenceTableElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/components/index.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/components/index.ts deleted file mode 100644 index 93cf4127b1..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './document-reference-table.element.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/index.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/index.ts index b5ac5b8d51..6c11f6abbb 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/index.ts @@ -1,3 +1,2 @@ export * from './constants.js'; -export * from './components/index.js'; export * from './repository/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/repository/document-reference-response.management-api.mapping.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/repository/document-reference-response.management-api.mapping.ts index ecc3b4fd23..b7e82b3702 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/repository/document-reference-response.management-api.mapping.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/repository/document-reference-response.management-api.mapping.ts @@ -1,10 +1,7 @@ import type { UmbDocumentReferenceModel } from '../types.js'; import { UMB_DOCUMENT_ENTITY_TYPE } from '../../entity.js'; -import { - DocumentVariantStateModel, - type DocumentReferenceResponseModel, -} from '@umbraco-cms/backoffice/external/backend-api'; import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; +import type { DocumentReferenceResponseModel } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbDataSourceDataMapping } from '@umbraco-cms/backoffice/repository'; export class UmbDocumentReferenceResponseManagementApiDataMapping @@ -20,17 +17,11 @@ export class UmbDocumentReferenceResponseManagementApiDataMapping unique: data.documentType.id, }, entityType: UMB_DOCUMENT_ENTITY_TYPE, - id: data.id, - name: data.name, - published: data.published, - // TODO: this is a hardcoded array until the server can return the correct variants array - variants: [ - { - culture: null, - name: data.name ?? '', - state: data.published ? DocumentVariantStateModel.PUBLISHED : null, - }, - ], + variants: data.variants.map((variant) => ({ + ...variant, + // TODO: Review if we should make `culture` to allow `undefined`. [LK] + culture: variant.culture ?? null, + })), unique: data.id, }; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/types.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/types.ts index efd670dd1f..ae9911a1a1 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/reference/types.ts @@ -2,26 +2,6 @@ import type { UmbDocumentItemVariantModel } from '../item/types.js'; import type { UmbEntityModel } from '@umbraco-cms/backoffice/entity'; export interface UmbDocumentReferenceModel extends UmbEntityModel { - /** - * @deprecated use unique instead - * @type {string} - * @memberof UmbDocumentReferenceModel - */ - id: string; - - /** - * @deprecated use name on the variant array instead - * @type {(string | null)} - * @memberof UmbDocumentReferenceModel - */ - name?: string | null; - - /** - * @deprecated use state on variant array instead - * @type {boolean} - * @memberof UmbDocumentReferenceModel - */ - published?: boolean | null; documentType: { alias: string; icon: string; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/search/document-search-result-item.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/search/document-search-result-item.element.ts index b7cb75bbbd..9c1893f16f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/search/document-search-result-item.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/search/document-search-result-item.element.ts @@ -9,6 +9,7 @@ import { state, when, } from '@umbraco-cms/backoffice/external/lit'; +import { DocumentVariantStateModel } from '@umbraco-cms/backoffice/external/backend-api'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UMB_APP_LANGUAGE_CONTEXT } from '@umbraco-cms/backoffice/language'; import type { UmbSearchResultItemModel } from '@umbraco-cms/backoffice/search'; @@ -64,7 +65,10 @@ export class UmbDocumentSearchResultItemElement extends UmbLitElement { #getDraftState(): boolean { if (this.item?.isTrashed) return false; - return this._variant?.state === 'Draft' || this.item?.variants[0]?.state === 'Draft'; + return ( + this._variant?.state === DocumentVariantStateModel.DRAFT || + this.item?.variants[0]?.state === DocumentVariantStateModel.DRAFT + ); } override render() { diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/search/types.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/search/types.ts index 3eea68ea6f..314194de39 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/search/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/search/types.ts @@ -3,6 +3,8 @@ import type { UmbSearchRequestArgs } from '@umbraco-cms/backoffice/search'; import type { UmbDocumentTypeEntityType } from '@umbraco-cms/backoffice/document-type'; export interface UmbDocumentSearchItemModel extends UmbDocumentItemModel { + // TODO: [v17] Temporarily added `name` field back in, as the `UmbSearchResultItemModel` (and `UmbNamedEntityModel`) require it. [LK] + name: string; href: string; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/user-permissions/document-property-value/document-property-value-permission-flow-modal/property-type-modal/property-type-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/user-permissions/document-property-value/document-property-value-permission-flow-modal/property-type-modal/property-type-modal.element.ts index d5c836d5c0..d34db9fb23 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/user-permissions/document-property-value/document-property-value-permission-flow-modal/property-type-modal/property-type-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/user-permissions/document-property-value/document-property-value-permission-flow-modal/property-type-modal/property-type-modal.element.ts @@ -95,7 +95,7 @@ export class UmbDocumentPropertyValueUserPermissionFlowPropertyTypeModalElement }); this._submitModal(); } catch (error) { - console.log(error); + console.error(error); } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/user-permissions/document-property-value/input-document-property-value-user-permission/input-document-property-value-user-permission.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/user-permissions/document-property-value/input-document-property-value-user-permission/input-document-property-value-user-permission.element.ts index a0adc8968c..1593e946d6 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/user-permissions/document-property-value/input-document-property-value-user-permission/input-document-property-value-user-permission.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/user-permissions/document-property-value/input-document-property-value-user-permission/input-document-property-value-user-permission.element.ts @@ -144,7 +144,7 @@ export class UmbInputDocumentPropertyValueUserPermissionElement extends UUIFormC this.dispatchEvent(new UmbChangeEvent()); } catch (error) { - console.log(error); + console.error(error); } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/user-permissions/document/input-document-granular-user-permission/input-document-granular-user-permission.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/user-permissions/document/input-document-granular-user-permission/input-document-granular-user-permission.element.ts index dfbf95e05d..4aacd927b4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/user-permissions/document/input-document-granular-user-permission/input-document-granular-user-permission.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/user-permissions/document/input-document-granular-user-permission/input-document-granular-user-permission.element.ts @@ -129,7 +129,6 @@ export class UmbInputDocumentGranularUserPermissionElement extends UUIFormContro const value = allowedVerbs.length > 0 ? { allowedVerbs } : undefined; this.#entityUserPermissionModalContext = this.#modalManagerContext?.open(this, UMB_ENTITY_USER_PERMISSION_MODAL, { data: { - unique: item.unique, entityType: item.entityType, headline, preset: { diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts index a1b1a2ca4d..a70051db9b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts @@ -15,12 +15,11 @@ import { UMB_USER_PERMISSION_DOCUMENT_UPDATE, } from '../constants.js'; import { UmbDocumentPreviewRepository } from '../repository/preview/index.js'; -import { UMB_DOCUMENT_PUBLISHING_WORKSPACE_CONTEXT, UmbDocumentPublishingRepository } from '../publishing/index.js'; import { UmbDocumentValidationRepository } from '../repository/validation/index.js'; import { UMB_DOCUMENT_CONFIGURATION_CONTEXT } from '../index.js'; import { UMB_DOCUMENT_DETAIL_MODEL_VARIANT_SCAFFOLD, UMB_DOCUMENT_WORKSPACE_ALIAS } from './constants.js'; import { createExtensionApiByAlias } from '@umbraco-cms/backoffice/extension-registry'; -import { ensurePathEndsWithSlash, UmbDeprecation } from '@umbraco-cms/backoffice/utils'; +import { ensurePathEndsWithSlash } from '@umbraco-cms/backoffice/utils'; import { observeMultiple } from '@umbraco-cms/backoffice/observable-api'; import { UmbContentDetailWorkspaceContextBase } from '@umbraco-cms/backoffice/content'; import { UmbDocumentBlueprintDetailRepository } from '@umbraco-cms/backoffice/document-blueprint'; @@ -35,7 +34,6 @@ import type { UmbContentWorkspaceContext } from '@umbraco-cms/backoffice/content import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { UmbDocumentTypeDetailModel } from '@umbraco-cms/backoffice/document-type'; import type { UmbEntityModel } from '@umbraco-cms/backoffice/entity'; -import type { UmbPublishableWorkspaceContext } from '@umbraco-cms/backoffice/workspace'; import type { UmbVariantPropertyGuardRule } from '@umbraco-cms/backoffice/property'; type ContentModel = UmbDocumentDetailModel; @@ -47,17 +45,8 @@ export class UmbDocumentWorkspaceContext ContentTypeModel, UmbDocumentVariantModel > - implements - UmbContentWorkspaceContext, - UmbPublishableWorkspaceContext + implements UmbContentWorkspaceContext { - /** - * The publishing repository for the document workspace. - * @deprecated Will be removed in v17. Use the methods on the UMB_DOCUMENT_PUBLISHING_WORKSPACE_CONTEXT instead. - * @memberof UmbDocumentWorkspaceContext - */ - public readonly publishingRepository = new UmbDocumentPublishingRepository(this); - readonly isTrashed = this._data.createObservablePartOfCurrent((data) => data?.isTrashed); readonly contentTypeUnique = this._data.createObservablePartOfCurrent((data) => data?.documentType.unique); @@ -74,7 +63,6 @@ export class UmbDocumentWorkspaceContext readonly templateId = this._data.createObservablePartOfCurrent((data) => data?.template?.unique || null); #isTrashedContext = new UmbIsTrashedEntityContext(this); - #publishingContext?: typeof UMB_DOCUMENT_PUBLISHING_WORKSPACE_CONTEXT.TYPE; constructor(host: UmbControllerHost) { super(host, { @@ -122,11 +110,6 @@ export class UmbDocumentWorkspaceContext null, ); - // TODO: Remove this in v17 as we have moved the publishing methods to the UMB_DOCUMENT_PUBLISHING_WORKSPACE_CONTEXT. - this.consumeContext(UMB_DOCUMENT_PUBLISHING_WORKSPACE_CONTEXT, (context) => { - this.#publishingContext = context; - }); - this.observe(this.isNew, (isNew) => { if (isNew === undefined) return; if (isNew) { @@ -337,72 +320,6 @@ export class UmbDocumentWorkspaceContext previewWindow?.focus(); } - public async publish() { - new UmbDeprecation({ - deprecated: 'The Publish method on the UMB_DOCUMENT_WORKSPACE_CONTEXT is deprecated.', - removeInVersion: '17.0.0', - solution: 'Use the Publish method on the UMB_DOCUMENT_PUBLISHING_WORKSPACE_CONTEXT instead.', - }).warn(); - if (!this.#publishingContext) throw new Error('Publishing context is missing'); - await this.#publishingContext.publish(); - } - - /** - * Save the document and publish it. - * @deprecated Will be removed in v17. Use the UMB_DOCUMENT_PUBLISHING_WORKSPACE_CONTEXT instead. - */ - public async saveAndPublish(): Promise { - new UmbDeprecation({ - deprecated: 'The SaveAndPublish method on the UMB_DOCUMENT_WORKSPACE_CONTEXT is deprecated.', - removeInVersion: '17.0.0', - solution: 'Use the SaveAndPublish method on the UMB_DOCUMENT_PUBLISHING_WORKSPACE_CONTEXT instead.', - }).warn(); - if (!this.#publishingContext) throw new Error('Publishing context is missing'); - await this.#publishingContext.saveAndPublish(); - } - - /** - * Schedule the document to be published at a later date. - * @deprecated Will be removed in v17. Use the UMB_DOCUMENT_PUBLISHING_WORKSPACE_CONTEXT instead. - */ - public async schedule() { - new UmbDeprecation({ - deprecated: 'The Schedule method on the UMB_DOCUMENT_WORKSPACE_CONTEXT is deprecated.', - removeInVersion: '17.0.0', - solution: 'Use the Schedule method on the UMB_DOCUMENT_PUBLISHING_WORKSPACE_CONTEXT instead.', - }).warn(); - if (!this.#publishingContext) throw new Error('Publishing context is missing'); - await this.#publishingContext.schedule(); - } - - /** - * Unpublish the document. - * @deprecated Will be removed in v17. Use the UMB_DOCUMENT_PUBLISHING_WORKSPACE_CONTEXT instead. - */ - public async unpublish() { - new UmbDeprecation({ - deprecated: 'The Unpublish method on the UMB_DOCUMENT_WORKSPACE_CONTEXT is deprecated.', - removeInVersion: '17.0.0', - solution: 'Use the Unpublish method on the UMB_DOCUMENT_PUBLISHING_WORKSPACE_CONTEXT instead.', - }).warn(); - if (!this.#publishingContext) throw new Error('Publishing context is missing'); - await this.#publishingContext.unpublish(); - } - - /** - * Publish the document and all its descendants. - * @deprecated Will be removed in v17. Use the UMB_DOCUMENT_PUBLISHING_WORKSPACE_CONTEXT instead. - */ - public async publishWithDescendants() { - new UmbDeprecation({ - deprecated: 'The PublishWithDescendants method on the UMB_DOCUMENT_WORKSPACE_CONTEXT is deprecated.', - removeInVersion: '17.0.0', - solution: 'Use the PublishWithDescendants method on the UMB_DOCUMENT_PUBLISHING_WORKSPACE_CONTEXT instead.', - }).warn(); - if (!this.#publishingContext) throw new Error('Publishing context is missing'); - await this.#publishingContext.publishWithDescendants(); - } - public createPropertyDatasetContext( host: UmbControllerHost, variantId: UmbVariantId, diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/views/info/document-workspace-view-info.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/views/info/document-workspace-view-info.element.ts index 4f0bfc8405..129c64ea77 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/views/info/document-workspace-view-info.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/views/info/document-workspace-view-info.element.ts @@ -267,12 +267,12 @@ export class UmbDocumentWorkspaceViewInfoElement extends UmbLitElement { #renderScheduledPublishDate() { if (!this._variant?.scheduledPublishDate) return nothing; - return this.#renderDate(this._variant.scheduledPublishDate, 'content_releaseDate', 'Publish At'); + return this.#renderDate(this._variant.scheduledPublishDate, 'content_releaseDate', 'Publish at'); } #renderScheduledUnpublishDate() { if (!this._variant?.scheduledUnpublishDate) return nothing; - return this.#renderDate(this._variant.scheduledUnpublishDate, 'content_expireDate', 'Remove At'); + return this.#renderDate(this._variant.scheduledUnpublishDate, 'content_expireDate', 'Remove at'); } #renderDate(date: string, labelKey: string, labelText: string) { diff --git a/src/Umbraco.Web.UI.Client/src/packages/extension-insights/collection/extension-collection.element.ts b/src/Umbraco.Web.UI.Client/src/packages/extension-insights/collection/extension-collection.element.ts index 84f8a9c371..6e2573f010 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/extension-insights/collection/extension-collection.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/extension-insights/collection/extension-collection.element.ts @@ -66,7 +66,6 @@ export class UmbExtensionCollectionElement extends UmbCollectionDefaultElement { ]; } -/** @deprecated Should be exported as `element` only; to be removed in Umbraco 17. */ export default UmbExtensionCollectionElement; export { UmbExtensionCollectionElement as element }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/constants.ts index 8212d7a577..1be716055e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/constants.ts @@ -1,4 +1,3 @@ -export * from './create/constants.js'; export * from './duplicate/constants.js'; export * from './export/constants.js'; export * from './import/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/create/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/create/constants.ts deleted file mode 100644 index 26f4f0dd5f..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/create/constants.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './modal/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/create/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/create/manifests.ts index 55928d6f7e..c3463b39a3 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/create/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/create/manifests.ts @@ -3,7 +3,6 @@ import { UMB_MEDIA_TYPE_FOLDER_ENTITY_TYPE, UMB_MEDIA_TYPE_ROOT_ENTITY_TYPE, } from '../../entity.js'; - import { manifests as defaultManifests } from './default/manifests.js'; import { manifests as folderManifests } from './folder/manifests.js'; import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry'; @@ -17,13 +16,6 @@ export const manifests: Array = weight: 1200, forEntityTypes: [UMB_MEDIA_TYPE_ENTITY_TYPE, UMB_MEDIA_TYPE_ROOT_ENTITY_TYPE, UMB_MEDIA_TYPE_FOLDER_ENTITY_TYPE], }, - // TODO: Deprecated: Will be removed in 17.0.0 - { - type: 'modal', - alias: 'Umb.Modal.MediaTypeCreateOptions', - name: 'Media Type Create Options Modal', - element: () => import('./modal/media-type-create-options-modal.element.js'), - }, ...defaultManifests, ...folderManifests, ]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/create/modal/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/create/modal/constants.ts deleted file mode 100644 index bbfa4352ef..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/create/modal/constants.ts +++ /dev/null @@ -1,16 +0,0 @@ -import type { UmbEntityModel } from '@umbraco-cms/backoffice/entity'; -import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; - -export interface UmbMediaTypeCreateOptionsModalData { - parent: UmbEntityModel; -} - -export const UMB_MEDIA_TYPE_CREATE_OPTIONS_MODAL = new UmbModalToken( - 'Umb.Modal.MediaTypeCreateOptions', - { - modal: { - type: 'sidebar', - size: 'small', - }, - }, -); diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/create/modal/media-type-create-options-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/create/modal/media-type-create-options-modal.element.ts deleted file mode 100644 index 58ef88ce38..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/entity-actions/create/modal/media-type-create-options-modal.element.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { UMB_MEDIA_TYPE_FOLDER_REPOSITORY_ALIAS } from '../../../constants.js'; -import type { UmbMediaTypeCreateOptionsModalData } from './constants.js'; -import { html, customElement } from '@umbraco-cms/backoffice/external/lit'; -import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; -import { UmbCreateFolderEntityAction } from '@umbraco-cms/backoffice/tree'; -import { UmbDeprecation } from '@umbraco-cms/backoffice/utils'; - -/** - * @deprecated This element is deprecated and will be removed in v.17.0.0. - * Please use the UMB_ENTITY_CREATE_OPTION_ACTION_LIST_MODAL instead. - * @exports - * @class UmbMediaTypeCreateOptionsModalElement - * @augments {UmbModalBaseElement} - */ -@customElement('umb-media-type-create-options-modal') -export class UmbMediaTypeCreateOptionsModalElement extends UmbModalBaseElement { - #createFolderAction?: UmbCreateFolderEntityAction; - - override connectedCallback(): void { - super.connectedCallback(); - if (!this.data?.parent) throw new Error('A parent is required to create a folder'); - - new UmbDeprecation({ - deprecated: 'umb-media-type-create-options-modal', - removeInVersion: '17.0.0', - solution: 'Use UMB_ENTITY_CREATE_OPTION_ACTION_LIST_MODAL instead', - }).warn(); - - // TODO: render the info from this instance in the list of actions - this.#createFolderAction = new UmbCreateFolderEntityAction(this, { - unique: this.data.parent.unique, - entityType: this.data.parent.entityType, - meta: { - icon: 'icon-folder', - label: 'New Folder...', - folderRepositoryAlias: UMB_MEDIA_TYPE_FOLDER_REPOSITORY_ALIAS, - }, - }); - } - - async #onCreateFolderClick(event: PointerEvent) { - event.stopPropagation(); - - await this.#createFolderAction - ?.execute() - .then(() => this.modalContext?.submit()) - .catch(() => undefined); - } - - // close the modal when navigating to data type - #onNavigate() { - this.modalContext?.submit(); - } - - #onCancel() { - this.modalContext?.reject(); - } - - #getCreateHref() { - return `section/settings/workspace/media-type/create/parent/${this.data?.parent.entityType}/${ - this.data?.parent.unique || 'null' - }`; - } - - override render() { - return html` - - - - - - - - } - - - Cancel - - `; - } -} - -export default UmbMediaTypeCreateOptionsModalElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-media-type-create-options-modal': UmbMediaTypeCreateOptionsModalElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/repository/detail/media-type-detail.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/repository/detail/media-type-detail.server.data-source.ts index 90cc2fc561..ab32cbb5ac 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/repository/detail/media-type-detail.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/repository/detail/media-type-detail.server.data-source.ts @@ -150,7 +150,7 @@ export class UmbMediaTypeDetailServerDataSource implements UmbDetailDataSource { return { - id: property.id, + id: property.unique, container: property.container, sortOrder: property.sortOrder, alias: property.alias, @@ -217,7 +217,7 @@ export class UmbMediaTypeDetailServerDataSource implements UmbDetailDataSource { return { - id: property.id, + id: property.unique, container: property.container, sortOrder: property.sortOrder, alias: property.alias, diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/workspace/media-type-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/workspace/media-type-workspace.context.ts index b13b52dcea..86d8616070 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/workspace/media-type-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/workspace/media-type-workspace.context.ts @@ -79,16 +79,6 @@ export class UmbMediaTypeWorkspaceContext this.structure.updateOwnerContentType({ collection }); } - /** - * @deprecated Use the createScaffold method instead. Will be removed in 17. - * @param {UmbEntityModel} parent - * @memberof UmbMediaTypeWorkspaceContext - */ - async create(parent: UmbEntityModel) { - console.warn('create() is deprecated. Use createScaffold() instead.'); - this.createScaffold({ parent }); - } - async #onScaffoldSetup(parent: UmbEntityModel) { let preset: Partial | undefined = undefined; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/workspace/views/structure/media-type-workspace-view-structure.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/workspace/views/structure/media-type-workspace-view-structure.element.ts index be418da753..6ce9a50c41 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/workspace/views/structure/media-type-workspace-view-structure.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/workspace/views/structure/media-type-workspace-view-structure.element.ts @@ -1,4 +1,3 @@ -import type { UmbMediaTypeWorkspaceContext } from '../../media-type-workspace.context.js'; import type { UmbInputMediaTypeElement } from '../../../components/input-media-type/input-media-type.element.js'; import { UMB_MEDIA_TYPE_WORKSPACE_CONTEXT } from '../../media-type-workspace.context-token.js'; import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit'; @@ -13,7 +12,7 @@ import type { UUIToggleElement } from '@umbraco-cms/backoffice/external/uui'; @customElement('umb-media-type-workspace-view-structure') export class UmbMediaTypeWorkspaceViewStructureElement extends UmbLitElement implements UmbWorkspaceViewElement { - #workspaceContext?: UmbMediaTypeWorkspaceContext; + #workspaceContext?: typeof UMB_MEDIA_TYPE_WORKSPACE_CONTEXT.TYPE; @state() private _allowedAtRoot?: boolean; @@ -27,7 +26,6 @@ export class UmbMediaTypeWorkspaceViewStructureElement extends UmbLitElement imp constructor() { super(); - // TODO: Figure out if this is the best way to consume the context or if it can be strongly typed with an UmbContextToken this.consumeContext(UMB_MEDIA_TYPE_WORKSPACE_CONTEXT, (context) => { this.#workspaceContext = context; this._observeMediaType(); diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/media-collection-toolbar.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/media-collection-toolbar.element.ts deleted file mode 100644 index 17e832f7bf..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/media-collection-toolbar.element.ts +++ /dev/null @@ -1,62 +0,0 @@ -import type { UmbMediaCollectionContext } from './media-collection.context.js'; -import { UMB_MEDIA_COLLECTION_CONTEXT } from './media-collection.context-token.js'; -import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit'; -import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; - -/** @deprecated This component is no longer used in core; to be removed in Umbraco 17. */ -@customElement('umb-media-collection-toolbar') -export class UmbMediaCollectionToolbarElement extends UmbLitElement { - #collectionContext?: UmbMediaCollectionContext; - - #inputTimer?: NodeJS.Timeout; - #inputTimerAmount = 500; - - constructor() { - super(); - - this.consumeContext(UMB_MEDIA_COLLECTION_CONTEXT, (instance) => { - this.#collectionContext = instance; - }); - } - - #updateSearch(event: InputEvent) { - const target = event.target as HTMLInputElement; - const filter = target.value || ''; - clearTimeout(this.#inputTimer); - this.#inputTimer = setTimeout(() => this.#collectionContext?.setFilter({ filter }), this.#inputTimerAmount); - } - - override render() { - return html` - - - - `; - } - - static override styles = [ - css` - :host { - height: 100%; - width: 100%; - display: flex; - justify-content: space-between; - white-space: nowrap; - gap: var(--uui-size-space-5); - align-items: center; - } - - #input-search { - width: 100%; - } - `, - ]; -} - -export default UmbMediaCollectionToolbarElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-media-collection-toolbar': UmbMediaCollectionToolbarElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/media-collection.context.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/media-collection.context.ts index d0e5928405..dfffd07267 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/media-collection.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/media-collection.context.ts @@ -9,12 +9,6 @@ export class UmbMediaCollectionContext extends UmbDefaultCollectionContext< UmbMediaCollectionItemModel, UmbMediaCollectionFilterModel > { - /** - * The thumbnail items that are currently displayed in the collection. - * @deprecated Use the `` element instead. This will be removed in Umbraco 17. - */ - public readonly thumbnailItems = this.items; - #placeholders = new UmbArrayState([], (x) => x.unique); public readonly placeholders = this.#placeholders.asObservable(); diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/media-collection.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/media-collection.element.ts index d73710897a..2de841ae73 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/media-collection.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/media-collection.element.ts @@ -101,7 +101,6 @@ export class UmbMediaCollectionElement extends UmbCollectionDefaultElement { } } -/** @deprecated Should be exported as `element` only; to be removed in Umbraco 17. */ export default UmbMediaCollectionElement; export { UmbMediaCollectionElement as element }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/views/table/media-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/views/table/media-table-collection-view.element.ts index 3461dcc59c..27f85d0eba 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/views/table/media-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/views/table/media-table-collection-view.element.ts @@ -1,10 +1,10 @@ import { UMB_EDIT_MEDIA_WORKSPACE_PATH_PATTERN } from '../../../paths.js'; -import type { UmbMediaCollectionFilterModel, UmbMediaCollectionItemModel } from '../../types.js'; +import type { UmbMediaCollectionItemModel } from '../../types.js'; import { UMB_MEDIA_COLLECTION_CONTEXT } from '../../media-collection.context-token.js'; import { css, customElement, html, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; -import type { UmbDefaultCollectionContext, UmbCollectionColumnConfiguration } from '@umbraco-cms/backoffice/collection'; +import type { UmbCollectionColumnConfiguration } from '@umbraco-cms/backoffice/collection'; import type { UmbTableColumn, UmbTableConfig, @@ -52,7 +52,7 @@ export class UmbMediaTableCollectionViewElement extends UmbLitElement { @state() private _selection: Array = []; - #collectionContext?: UmbDefaultCollectionContext; + #collectionContext?: typeof UMB_MEDIA_COLLECTION_CONTEXT.TYPE; constructor() { super(); diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-rich-media/input-rich-media.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-rich-media/input-rich-media.element.ts index d11cd168be..eddfd3d930 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-rich-media/input-rich-media.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/components/input-rich-media/input-rich-media.element.ts @@ -11,7 +11,6 @@ import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/router'; import { UmbSorterController, UmbSorterResolvePlacementAsGrid } from '@umbraco-cms/backoffice/sorter'; import type { UmbModalRouteBuilder } from '@umbraco-cms/backoffice/router'; -import type { UmbVariantId } from '@umbraco-cms/backoffice/variant'; import type { UmbTreeStartNode } from '@umbraco-cms/backoffice/tree'; import { UMB_VALIDATION_EMPTY_LOCALIZATION_KEY, UmbFormControlMixin } from '@umbraco-cms/backoffice/validation'; import { UmbRepositoryItemsManager } from '@umbraco-cms/backoffice/repository'; @@ -137,24 +136,6 @@ export class UmbInputRichMediaElement extends UmbFormControlMixin< } #focalPointEnabled: boolean = false; - @property() - /** @deprecated will be removed in v17 */ - public set alias(value: string | undefined) { - //this.#modalRouter.setUniquePathValue('propertyAlias', value); - } - public get alias(): string | undefined { - return undefined; //this.#modalRouter.getUniquePathValue('propertyAlias'); - } - - @property() - /** @deprecated will be removed in v17 */ - public set variantId(value: string | UmbVariantId | undefined) { - //this.#modalRouter.setUniquePathValue('variantId', value?.toString()); - } - public get variantId(): string | undefined { - return undefined; //this.#modalRouter.getUniquePathValue('variantId'); - } - /** * Sets the input to readonly mode, meaning value cannot be changed but still able to read and select its content. * @type {boolean} diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/property-editors/types.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/property-editors/types.ts index 85109d3b08..661850ecaa 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/property-editors/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/property-editors/types.ts @@ -6,12 +6,6 @@ export type UmbMediaPickerPropertyValueEntry = { crops: Array; }; -/** - * @deprecated Use UmbMediaPickerPropertyValueEntry instead — Will be removed in v.17. - * Also notice this is a modal for the entry type, use UmbMediaPickerPropertyValueModel for the type of the value. - */ -export type UmbMediaPickerPropertyValue = UmbMediaPickerPropertyValueEntry; - export type UmbMediaPickerValueModel = Array; export type UmbCropModel = { diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/constants.ts index a77985d164..e05617eb5a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/constants.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/constants.ts @@ -1,4 +1,3 @@ export * from './tree/constants.js'; export * from './repository/constants.js'; -export * from './entity-action/constants.js'; export const UMB_MEDIA_RECYCLE_BIN_ROOT_ENTITY_TYPE = 'media-recycle-bin-root'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/constants.ts deleted file mode 100644 index 41a409dec1..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/constants.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './repository/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/index.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/index.ts deleted file mode 100644 index efe89fa00a..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { UmbBulkTrashMediaRepository } from './repository/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/manifests.ts index f1fccda364..b03fe7f61a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/manifests.ts @@ -3,7 +3,6 @@ import { UMB_MEDIA_ITEM_REPOSITORY_ALIAS } from '../../../repository/constants.j import { UMB_MEDIA_RECYCLE_BIN_REPOSITORY_ALIAS } from '../../repository/constants.js'; import { UMB_MEDIA_REFERENCE_REPOSITORY_ALIAS } from '../../../reference/constants.js'; import { UMB_MEDIA_COLLECTION_ALIAS } from '../../../collection/constants.js'; -import { manifests as repositoryManifests } from './repository/manifests.js'; import { UMB_COLLECTION_ALIAS_CONDITION } from '@umbraco-cms/backoffice/collection'; import { UMB_ENTITY_BULK_ACTION_TRASH_WITH_RELATION_KIND } from '@umbraco-cms/backoffice/relations'; @@ -27,4 +26,4 @@ const bulkTrashAction: UmbExtensionManifest = { ], }; -export const manifests: Array = [bulkTrashAction, ...repositoryManifests]; +export const manifests: Array = [bulkTrashAction]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/repository/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/repository/constants.ts deleted file mode 100644 index 6fe1f4fae1..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/repository/constants.ts +++ /dev/null @@ -1 +0,0 @@ -export const UMB_BULK_TRASH_MEDIA_REPOSITORY_ALIAS = 'Umb.Repository.Media.BulkTrash'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/repository/index.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/repository/index.ts deleted file mode 100644 index 75ea72e506..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/repository/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { UmbBulkTrashMediaRepository } from './trash.repository.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/repository/manifests.ts deleted file mode 100644 index 1497fadf72..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/repository/manifests.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { UMB_BULK_TRASH_MEDIA_REPOSITORY_ALIAS } from './constants.js'; - -export const manifests: Array = [ - { - type: 'repository', - alias: UMB_BULK_TRASH_MEDIA_REPOSITORY_ALIAS, - name: 'Bulk Trash Media Repository', - api: () => import('./trash.repository.js'), - }, -]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/repository/trash.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/repository/trash.repository.ts deleted file mode 100644 index f75ccf7989..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/bulk-trash/repository/trash.repository.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { UmbMediaRecycleBinServerDataSource } from '../../../repository/media-recycle-bin.server.data-source.js'; -import { UmbRepositoryBase } from '@umbraco-cms/backoffice/repository'; -import { UMB_NOTIFICATION_CONTEXT } from '@umbraco-cms/backoffice/notification'; -import type { UmbBulkTrashRepository, UmbBulkTrashRequestArgs } from '@umbraco-cms/backoffice/entity-bulk-action'; -import type { UmbRepositoryErrorResponse } from '@umbraco-cms/backoffice/repository'; -import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { UmbDeprecation } from '@umbraco-cms/backoffice/utils'; - -/** - * @deprecated since 15.3.0. Will be removed in 17.0.0. Call trash method on UmbMediaRecycleBinRepository instead. - */ -export class UmbBulkTrashMediaRepository extends UmbRepositoryBase implements UmbBulkTrashRepository { - #notificationContext?: typeof UMB_NOTIFICATION_CONTEXT.TYPE; - #recycleBinSource = new UmbMediaRecycleBinServerDataSource(this); - - constructor(host: UmbControllerHost) { - super(host); - - new UmbDeprecation({ - removeInVersion: '17.0.0', - deprecated: 'UmbBulkTrashDocumentRepository', - solution: 'Call trash method on UmbMediaRecycleBinRepository instead.', - }).warn(); - - this.consumeContext(UMB_NOTIFICATION_CONTEXT, (notificationContext) => { - this.#notificationContext = notificationContext; - }); - } - - async requestBulkTrash(args: UmbBulkTrashRequestArgs): Promise { - let count = 0; - - for (const unique of args.uniques) { - const { error } = await this.#recycleBinSource.trash({ unique }); - - if (error) { - const notification = { data: { message: error.message } }; - this.#notificationContext?.peek('danger', notification); - } else { - count++; - } - } - - if (count > 0) { - const notification = { data: { message: `Trashed ${count} media ${count === 1 ? 'item' : 'items'}` } }; - this.#notificationContext?.peek('positive', notification); - } - - return {}; - } -} - -export { UmbBulkTrashMediaRepository as api }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/constants.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/constants.ts deleted file mode 100644 index e96d7ef38d..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/recycle-bin/entity-action/constants.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './bulk-trash/constants.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/repository/item/media-item.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/repository/item/media-item.repository.ts index 17082f54ab..eb4fef9b2c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/repository/item/media-item.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/repository/item/media-item.repository.ts @@ -5,26 +5,8 @@ import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbItemRepositoryBase } from '@umbraco-cms/backoffice/repository'; export class UmbMediaItemRepository extends UmbItemRepositoryBase { - #dataSource: UmbMediaItemServerDataSource; - constructor(host: UmbControllerHost) { super(host, UmbMediaItemServerDataSource, UMB_MEDIA_ITEM_STORE_CONTEXT); - this.#dataSource = new UmbMediaItemServerDataSource(this); - } - - /** - * @param root0 - * @param root0.query - * @param root0.skip - * @param root0.take - * @deprecated - The search method will be removed in v17. Use the - * Use the UmbMediaSearchProvider instead. - * Get it from: - * ```ts - * import { UmbMediaSearchProvider } from '@umbraco-cms/backoffice/media'; - */ - async search({ query, skip, take }: { query: string; skip: number; take: number }) { - return this.#dataSource.search({ query, skip, take }); } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/repository/item/media-item.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/repository/item/media-item.server.data-source.ts index c0fceeff34..047f28e32e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/repository/item/media-item.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/repository/item/media-item.server.data-source.ts @@ -2,11 +2,8 @@ import { UMB_MEDIA_ENTITY_TYPE } from '../../entity.js'; import type { UmbMediaItemModel } from './types.js'; import { UmbManagementApiMediaItemDataRequestManager } from './media-item.server.request-manager.js'; import type { MediaItemResponseModel } from '@umbraco-cms/backoffice/external/backend-api'; -import { MediaService } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbItemServerDataSourceBase } from '@umbraco-cms/backoffice/repository'; -import { tryExecute } from '@umbraco-cms/backoffice/resources'; -import { UmbDeprecation } from '@umbraco-cms/backoffice/utils'; /** * A data source for Media items that fetches data from the server @@ -30,25 +27,6 @@ export class UmbMediaItemServerDataSource extends UmbItemServerDataSourceBase< }); } - /** - * @deprecated - The search method will be removed in v17. Use the - * Use the UmbMediaSearchProvider instead. - * Get it from: - * ```ts - * import { UmbMediaSearchProvider } from '@umbraco-cms/backoffice/media'; - * ``` - */ - async search({ query, skip, take }: { query: string; skip: number; take: number }) { - new UmbDeprecation({ - deprecated: 'The search method is deprecated.', - removeInVersion: '17.0.0', - solution: 'Use the UmbMediaSearchProvider from @umbraco-cms/backoffice/media instead.', - }).warn(); - const { data, error } = await tryExecute(this, MediaService.getItemMediaSearch({ query: { query, skip, take } })); - const mapped = data?.items.map((item) => mapper(item)); - return { data: mapped, error }; - } - override async getItems(uniques: Array) { if (!uniques) throw new Error('Uniques are missing'); diff --git a/src/Umbraco.Web.UI.Client/src/packages/members/member-public-access/modal/public-access-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/members/member-public-access/modal/public-access-modal.element.ts index f439911d2d..a46e4582e3 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/members/member-public-access/modal/public-access-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/members/member-public-access/modal/public-access-modal.element.ts @@ -88,7 +88,7 @@ export class UmbPublicAccessModalElement extends UmbModalBaseElement< async #handleSave() { if (!this._loginDocumentId || !this._errorDocumentId || !this.#unique) return; - // TODO: [v15] Currently the Management API doesn't support passing the member/group ids, only the userNames/names. + // TODO: [v15] Currently the Management API doesn't support passing the member/group ids, only the userNames/names. [MR] // This is a temporary solution where we have to look them up until the API is updated to support this. const body: PublicAccessRequestModel = { memberGroupNames: [], diff --git a/src/Umbraco.Web.UI.Client/src/packages/members/member-type/repository/detail/member-type-detail.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/members/member-type/repository/detail/member-type-detail.server.data-source.ts index 500f8652e8..3d3baaff7c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/members/member-type/repository/detail/member-type-detail.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/members/member-type/repository/detail/member-type-detail.server.data-source.ts @@ -145,7 +145,7 @@ export class UmbMemberTypeDetailServerDataSource implements UmbDetailDataSource< isElement: model.isElement, properties: model.properties.map((property) => { return { - id: property.id, + id: property.unique, container: property.container ? { id: property.container.id } : null, sortOrder: property.sortOrder, alias: property.alias, @@ -205,7 +205,7 @@ export class UmbMemberTypeDetailServerDataSource implements UmbDetailDataSource< isElement: model.isElement, properties: model.properties.map((property) => { return { - id: property.id, + id: property.unique, container: property.container ? { id: property.container.id } : null, sortOrder: property.sortOrder, isSensitive: property.isSensitive ?? false, diff --git a/src/Umbraco.Web.UI.Client/src/packages/members/member-type/workspace/member-type-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/members/member-type/workspace/member-type-workspace.context.ts index 8666688d52..36ebb8b861 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/members/member-type/workspace/member-type-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/members/member-type/workspace/member-type-workspace.context.ts @@ -52,29 +52,6 @@ export class UmbMemberTypeWorkspaceContext }, ]); } - - /** - * @deprecated Use the individual set methods instead. Will be removed in 17. - * @template PropertyName - * @param {PropertyName} propertyName - * @param {EntityDetailModel[PropertyName]} value - * @memberof UmbMemberTypeWorkspaceContext - */ - set( - propertyName: PropertyName, - value: EntityDetailModel[PropertyName], - ) { - this.structure.updateOwnerContentType({ [propertyName]: value }); - } - - /** - * @deprecated Use the createScaffold method instead. Will be removed in 17. - * @param {UmbEntityModel} parent - * @memberof UmbMemberTypeWorkspaceContext - */ - async create(parent: UmbEntityModel) { - this.createScaffold({ parent }); - } } export { UmbMemberTypeWorkspaceContext as api }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/members/member/collection/member-collection.element.ts b/src/Umbraco.Web.UI.Client/src/packages/members/member/collection/member-collection.element.ts index 6c63585f1d..dccd4b21fa 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/members/member/collection/member-collection.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/members/member/collection/member-collection.element.ts @@ -10,7 +10,6 @@ export class UmbMemberCollectionElement extends UmbCollectionDefaultElement { } } -/** @deprecated Should be exported as `element` only; to be removed in Umbraco 17. */ export default UmbMemberCollectionElement; export { UmbMemberCollectionElement as element }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/members/member/item/repository/types.ts b/src/Umbraco.Web.UI.Client/src/packages/members/member/item/repository/types.ts index 2a105e08b4..05afd76d51 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/members/member/item/repository/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/members/member/item/repository/types.ts @@ -19,12 +19,3 @@ export interface UmbMemberItemVariantModel { name: string; culture: string | null; } - -/** - * @deprecated Deprecated in favor of UmbMemberItemVariantModel. Will be removed in v17.0.0 - * @interface UmbMemberVariantItemModel - */ -export interface UmbMemberVariantItemModel { - name: string; - culture: string | null; -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/models-builder/models-builder-dashboard.element.ts b/src/Umbraco.Web.UI.Client/src/packages/models-builder/models-builder-dashboard.element.ts index 80660ee69c..8aec1129af 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/models-builder/models-builder-dashboard.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/models-builder/models-builder-dashboard.element.ts @@ -2,7 +2,7 @@ import type { UUIButtonState } from '@umbraco-cms/backoffice/external/uui'; import { css, html, nothing, customElement, state } from '@umbraco-cms/backoffice/external/lit'; import type { ModelsBuilderResponseModel } from '@umbraco-cms/backoffice/external/backend-api'; -import { ModelsBuilderService, ModelsModeModel } from '@umbraco-cms/backoffice/external/backend-api'; +import { ModelsBuilderService } from '@umbraco-cms/backoffice/external/backend-api'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { tryExecute } from '@umbraco-cms/backoffice/resources'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; @@ -100,7 +100,7 @@ export class UmbModelsBuilderDashboardElement extends UmbLitElement { } private _renderList() { - if (this._modelsBuilder?.mode !== ModelsModeModel.NOTHING) { + if (this._modelsBuilder?.mode !== 'Nothing') { return html`${this._modelsBuilder?.modelsNamespace ? html`
  • The models namespace is ${this._modelsBuilder.modelsNamespace}.
  • ` : nothing} @@ -115,13 +115,13 @@ export class UmbModelsBuilderDashboardElement extends UmbLitElement { renderModelsMode() { switch (this._modelsBuilder?.mode) { - case ModelsModeModel.IN_MEMORY_AUTO: + case 'InMemoryAuto': return 'Strongly typed models are re-generated on startup and anytime schema changes (i.e. Content Type) are made. No recompilation necessary but the generated models are not available to code outside of Razor.'; - case ModelsModeModel.SOURCE_CODE_MANUAL: + case 'SourceCodeManual': return 'Strongly typed models are generated on demand. Recompilation is necessary and models are available to all CSharp code.'; - case ModelsModeModel.SOURCE_CODE_AUTO: + case 'SourceCodeAuto': return 'Strong typed models are generated on demand and anytime schema changes (i.e. Content Type) are made. Recompilation is necessary and models are available to all CSharp code.'; - case ModelsModeModel.NOTHING: + case 'Nothing': return 'Strongly typed models are not generated. All content and cache will operate from instance of IPublishedContent only.'; default: return; diff --git a/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.ts b/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.ts index b3a6e4a932..21c98a9aed 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.ts @@ -25,7 +25,6 @@ import { UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/rou import { UmbSorterController } from '@umbraco-cms/backoffice/sorter'; import { UUIFormControlMixin } from '@umbraco-cms/backoffice/external/uui'; import type { UmbModalRouteBuilder } from '@umbraco-cms/backoffice/router'; -import type { UmbVariantId } from '@umbraco-cms/backoffice/variant'; import type { UUIModalSidebarSize } from '@umbraco-cms/backoffice/external/uui'; /** @@ -56,24 +55,6 @@ export class UmbInputMultiUrlElement extends UUIFormControlMixin(UmbLitElement, return undefined; } - @property() - /** @deprecated will be removed in v17 */ - public set alias(value: string | undefined) { - //this.#linkPickerModal.setUniquePathValue('propertyAlias', value); - } - public get alias(): string | undefined { - return undefined; //this.#linkPickerModal.getUniquePathValue('propertyAlias'); - } - - @property() - /** @deprecated will be removed in v17 */ - public set variantId(value: string | UmbVariantId | undefined) { - //this.#linkPickerModal.setUniquePathValue('variantId', value?.toString()); - } - public get variantId(): string | undefined { - return undefined; //this.#linkPickerModal.getUniquePathValue('variantId'); - } - /** * This is a minimum amount of selected items in this input. * @type {number} @@ -307,7 +288,8 @@ export class UmbInputMultiUrlElement extends UUIFormControlMixin(UmbLitElement, async #getNameForDocument(unique: string) { const { data } = await this.#documentItemRepository.requestItems([unique]); - return data?.[0]?.name ?? ''; + // TODO: [v17] Review usage of `item.variants[0].name` as this needs to be implemented properly! [LK] + return data?.[0]?.variants[0].name ?? ''; } async #getNameForMedia(unique: string) { diff --git a/src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/config/bulk-action-permissions/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/config/bulk-action-permissions/manifests.ts deleted file mode 100644 index 2d25db4475..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/config/bulk-action-permissions/manifests.ts +++ /dev/null @@ -1,14 +0,0 @@ -import type { ManifestPropertyEditorUi } from '@umbraco-cms/backoffice/property-editor'; - -/** @deprecated No longer used internally. This will be removed in Umbraco 17. [LK] */ -export const manifest: ManifestPropertyEditorUi = { - type: 'propertyEditorUi', - alias: 'Umb.PropertyEditorUi.Collection.BulkActionPermissions', - name: 'Collection Bulk Action Permissions Property Editor UI', - element: () => import('./permissions.element.js'), - meta: { - label: 'Collection Bulk Action Permissions', - icon: 'icon-autofill', - group: 'lists', - }, -}; diff --git a/src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/config/bulk-action-permissions/permissions.element.ts b/src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/config/bulk-action-permissions/permissions.element.ts deleted file mode 100644 index 468616c150..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/config/bulk-action-permissions/permissions.element.ts +++ /dev/null @@ -1,117 +0,0 @@ -import type { UmbCollectionBulkActionPermissions } from '@umbraco-cms/backoffice/collection'; -import type { - UmbPropertyEditorUiElement, - UmbPropertyEditorConfigCollection, -} from '@umbraco-cms/backoffice/property-editor'; -import { html, customElement, property, css } from '@umbraco-cms/backoffice/external/lit'; -import type { UUIBooleanInputEvent } from '@umbraco-cms/backoffice/external/uui'; -import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; -import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import { UmbChangeEvent } from '@umbraco-cms/backoffice/event'; - -type BulkActionPermissionType = - | 'allowBulkCopy' - | 'allowBulkDelete' - | 'allowBulkMove' - | 'allowBulkPublish' - | 'allowBulkUnpublish'; - -/** - * @element umb-property-editor-ui-collection-permissions - * @deprecated No longer used internally. This will be removed in Umbraco 17. [LK] - */ -@customElement('umb-property-editor-ui-collection-permissions') -export class UmbPropertyEditorUICollectionPermissionsElement - extends UmbLitElement - implements UmbPropertyEditorUiElement -{ - private _value: UmbCollectionBulkActionPermissions = { - allowBulkPublish: false, - allowBulkUnpublish: false, - allowBulkCopy: false, - allowBulkDelete: false, - allowBulkMove: false, - }; - - @property({ type: Object }) - public set value(obj: UmbCollectionBulkActionPermissions) { - if (!obj) return; - this._value = obj; - } - public get value() { - return this._value; - } - - @property({ type: Object, attribute: false }) - public config?: UmbPropertyEditorConfigCollection; - - #onChange(e: UUIBooleanInputEvent, type: BulkActionPermissionType) { - switch (type) { - case 'allowBulkPublish': - this.value = { ...this.value, allowBulkPublish: e.target.checked }; - break; - case 'allowBulkUnpublish': - this.value = { ...this.value, allowBulkUnpublish: e.target.checked }; - break; - case 'allowBulkMove': - this.value = { ...this.value, allowBulkMove: e.target.checked }; - break; - case 'allowBulkCopy': - this.value = { ...this.value, allowBulkCopy: e.target.checked }; - break; - case 'allowBulkDelete': - this.value = { ...this.value, allowBulkDelete: e.target.checked }; - break; - } - - this.dispatchEvent(new UmbChangeEvent()); - } - - protected override firstUpdated() { - console.warn( - 'The `umb-property-editor-ui-collection-permissions` component has been deprecated, it will be removed in Umbraco 17.', - ); - } - - override render() { - return html` this.#onChange(e, 'allowBulkPublish')} - label="Allow bulk publish (content only)"> - this.#onChange(e, 'allowBulkUnpublish')} - label="Allow bulk unpublish (content only)"> - this.#onChange(e, 'allowBulkCopy')} - label="Allow bulk duplicate (content only)"> - this.#onChange(e, 'allowBulkMove')} - label="Allow bulk move"> - this.#onChange(e, 'allowBulkDelete')} - label="Allow bulk trash">`; - } - - static override styles = [ - UmbTextStyles, - css` - :host { - display: flex; - flex-direction: column; - } - `, - ]; -} - -/** @deprecated No longer used internally. This will be removed in Umbraco 17. [LK] */ -export default UmbPropertyEditorUICollectionPermissionsElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-property-editor-ui-collection-permissions': UmbPropertyEditorUICollectionPermissionsElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/config/bulk-action-permissions/permissions.stories.ts b/src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/config/bulk-action-permissions/permissions.stories.ts deleted file mode 100644 index 6f6d5d42c1..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/config/bulk-action-permissions/permissions.stories.ts +++ /dev/null @@ -1,14 +0,0 @@ -import type { UmbPropertyEditorUICollectionPermissionsElement } from './permissions.element.js'; -import type { Meta, StoryFn } from '@storybook/web-components-vite'; -import { html } from '@umbraco-cms/backoffice/external/lit'; - -import './permissions.element.js'; - -export default { - title: 'Extension Type/Property Editor UI/Collection Bulk Action Permissions', - component: 'umb-property-editor-ui-collection-permissions', - id: 'umb-property-editor-ui-collection-permissions', -} as Meta; - -export const Docs: StoryFn = () => - html``; diff --git a/src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/config/bulk-action-permissions/permissions.test.ts b/src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/config/bulk-action-permissions/permissions.test.ts deleted file mode 100644 index cd49cbcd6b..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/config/bulk-action-permissions/permissions.test.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { UmbPropertyEditorUICollectionPermissionsElement } from './permissions.element.js'; -import { expect, fixture, html } from '@open-wc/testing'; -import { type UmbTestRunnerWindow, defaultA11yConfig } from '@umbraco-cms/internal/test-utils'; - -describe('UmbPropertyEditorUICollectionPermissionsElement', () => { - let element: UmbPropertyEditorUICollectionPermissionsElement; - - beforeEach(async () => { - element = await fixture(html` - - `); - }); - - it('is defined with its own instance', () => { - expect(element).to.be.instanceOf(UmbPropertyEditorUICollectionPermissionsElement); - }); - - if ((window as UmbTestRunnerWindow).__UMBRACO_TEST_RUN_A11Y_TEST) { - it('passes the a11y audit', async () => { - await expect(element).shadowDom.to.be.accessible(defaultA11yConfig); - }); - } -}); diff --git a/src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/manifests.ts index bad182f4ba..2479e6b7a3 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/property-editors/collection/manifests.ts @@ -1,4 +1,3 @@ -import { manifest as bulkActionPermissions } from './config/bulk-action-permissions/manifests.js'; import { manifest as columnConfiguration } from './config/column/manifests.js'; import { manifest as layoutConfiguration } from './config/layout/manifests.js'; import { manifest as orderBy } from './config/order-by/manifests.js'; @@ -87,7 +86,6 @@ const propertyEditorUiManifest: ManifestPropertyEditorUi = { export const manifests: Array = [ propertyEditorUiManifest, - bulkActionPermissions, columnConfiguration, layoutConfiguration, orderBy, diff --git a/src/Umbraco.Web.UI.Client/src/packages/property-editors/content-picker/dynamic-root/components/input-content-picker-document-root.element.ts b/src/Umbraco.Web.UI.Client/src/packages/property-editors/content-picker/dynamic-root/components/input-content-picker-document-root.element.ts index 21df4ede50..5f2c09d193 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/property-editors/content-picker/dynamic-root/components/input-content-picker-document-root.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/property-editors/content-picker/dynamic-root/components/input-content-picker-document-root.element.ts @@ -83,7 +83,8 @@ export class UmbInputContentPickerDocumentRootElement extends UmbFormControlMixi if (!documents?.length) return; documents.forEach((document) => { - this.#documentLookup[document.unique] = document.name; + // TODO: [v17] Review usage of `item.variants[0].name` as this needs to be implemented properly! [LK] + this.#documentLookup[document.unique] = document.variants[0].name; }); this.requestUpdate(); diff --git a/src/Umbraco.Web.UI.Client/src/packages/property-editors/slider/types.ts b/src/Umbraco.Web.UI.Client/src/packages/property-editors/slider/types.ts index 3d6d1fd39a..1c67e5d138 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/property-editors/slider/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/property-editors/slider/types.ts @@ -1,6 +1 @@ export type UmbSliderPropertyEditorUiValue = { from: number; to: number } | undefined; - -/** - * @deprecated this type will be removed in v.17.0, use `UmbPropertyEditorUISliderValue` instead - */ -export type UmbSliderValue = UmbSliderPropertyEditorUiValue; diff --git a/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/collection/relation-type-collection.element.ts b/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/collection/relation-type-collection.element.ts index af316441f0..69d77dfe18 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/collection/relation-type-collection.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/collection/relation-type-collection.element.ts @@ -9,7 +9,6 @@ export class UmbRelationTypeCollectionElement extends UmbCollectionDefaultElemen } } -/** @deprecated Should be exported as `element` only; to be removed in Umbraco 17. */ export default UmbRelationTypeCollectionElement; export { UmbRelationTypeCollectionElement as element }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/types.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/types.ts index b60646b841..583eac8f0d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/rte/types.ts @@ -5,9 +5,3 @@ export interface UmbPropertyEditorRteValueType { markup: string; blocks?: UmbBlockValueType; } - -/** - * @deprecated Use `UmbPropertyEditorRteValueType` instead, will be removed in v.17.0.0 - */ -// eslint-disable-next-line @typescript-eslint/no-empty-object-type -export interface UmbPropertyEditorUiValueType extends UmbPropertyEditorRteValueType {} diff --git a/src/Umbraco.Web.UI.Client/src/packages/search/examine-management-dashboard/views/section-view-examine-overview.ts b/src/Umbraco.Web.UI.Client/src/packages/search/examine-management-dashboard/views/section-view-examine-overview.ts index ad0440d453..c9b74fbaf8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/search/examine-management-dashboard/views/section-view-examine-overview.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/search/examine-management-dashboard/views/section-view-examine-overview.ts @@ -58,7 +58,7 @@ export class UmbDashboardExamineOverviewElement extends UmbLitElement { return html`

    - Manage Examine's indexesManage Examine indexes
    Allows you to view the details of each index and provides some tools for managing the indexesConfigured Searchers
    Shows properties and tools for any configured Searcher (i.e. such as a multi-index searcher)Shows properties and tools for any configured Searcher (e.g. such as a multi-index searcher)

    ${this.#renderSearchersList()} diff --git a/src/Umbraco.Web.UI.Client/src/packages/search/search-modal/search-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/search/search-modal/search-modal.element.ts index 8192523505..0ec1ca03e9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/search/search-modal/search-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/search/search-modal/search-modal.element.ts @@ -66,7 +66,8 @@ export class UmbSearchModalElement extends UmbLitElement { super.connectedCallback(); this.addEventListener('keydown', this.#onKeydown); - document.addEventListener('click', this.#onDocumentClick); //TODO: Temp solution to close the modal on outside click. We need to look into a generic solution for this. + // TODO: Temp solution to close the modal on outside click. We need to look into a generic solution for this. [JMJ] + document.addEventListener('click', this.#onDocumentClick); requestAnimationFrame(() => { this.#focusInput(); diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/stylesheets/workspace/stylesheet-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/stylesheets/workspace/stylesheet-workspace.context.ts index fb02778584..6c1d9ae556 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/stylesheets/workspace/stylesheet-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/stylesheets/workspace/stylesheet-workspace.context.ts @@ -12,7 +12,6 @@ import { } from '@umbraco-cms/backoffice/workspace'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { IRoutingInfo, PageComponent } from '@umbraco-cms/backoffice/router'; -import type { UmbEntityModel } from '@umbraco-cms/backoffice/entity'; import { UmbServerFileRenameWorkspaceRedirectController } from '@umbraco-cms/backoffice/server-file-system'; export class UmbStylesheetWorkspaceContext @@ -70,17 +69,6 @@ export class UmbStylesheetWorkspaceContext public setContent(value: string) { this._data.updateCurrent({ content: value }); } - - /** - * @description Create a new stylesheet - * @deprecated Use `createScaffold` instead. Will be removed in v17. - * @param { UmbEntityModel } parent The parent entity - * @param { string } parent.entityType The entity type of the parent - * @param { UmbEntityUnique } parent.unique The unique identifier of the parent - */ - async create(parent: UmbEntityModel) { - await this.createScaffold({ parent }); - } } export { UmbStylesheetWorkspaceContext as api }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/toolbar/tiptap-toolbar-menu.element.ts b/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/toolbar/tiptap-toolbar-menu.element.ts index 621d73f877..6fe52586a8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/toolbar/tiptap-toolbar-menu.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/toolbar/tiptap-toolbar-menu.element.ts @@ -50,7 +50,7 @@ export class UmbTiptapToolbarMenuElement extends UmbLitElement { } async #setMenu() { - const items = this.#manifest?.items ?? this.#manifest?.meta.items; + const items = this.#manifest?.items; if (!items) return; this.#menu = await this.#getMenuItems(items); } @@ -94,11 +94,11 @@ export class UmbTiptapToolbarMenuElement extends UmbLitElement { } return { - icon: item.appearance?.icon ?? item.icon, + icon: item.appearance?.icon, items, label: item.label, menu: item.menu, - style: item.appearance?.style ?? item.style, + style: item.appearance?.style, separatorAfter: item.separatorAfter, element, isActive: () => this.api?.isActive(this.editor, item), diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/style-select/style-select.tiptap-toolbar-api.ts b/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/style-select/style-select.tiptap-toolbar-api.ts deleted file mode 100644 index 06bcc023d4..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/style-select/style-select.tiptap-toolbar-api.ts +++ /dev/null @@ -1,4 +0,0 @@ -import UmbTiptapToolbarStyleMenuApi from '../style-menu/style-menu.tiptap-toolbar-api.js'; - -/** @deprecated No longer used internally. This class will be removed in Umbraco 17. [LK] */ -export default class UmbTiptapToolbarStyleSelectExtensionApi extends UmbTiptapToolbarStyleMenuApi {} diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/table/components/table-column-menu.element.ts b/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/table/components/table-column-menu.element.ts deleted file mode 100644 index c7715c789d..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/table/components/table-column-menu.element.ts +++ /dev/null @@ -1,52 +0,0 @@ -import type { Editor } from '../../../externals.js'; -import type { UmbTiptapBubbleMenuElement } from '../../bubble-menu/bubble-menu.tiptap-extension.js'; -import { css, customElement, html, property } from '@umbraco-cms/backoffice/external/lit'; -import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; - -/** @deprecated No longer used internally. This will be removed in Umbraco 17. [LK] */ -@customElement('umb-tiptap-table-column-menu') -export class UmbTiptapTableColumnMenuElement extends UmbLitElement implements UmbTiptapBubbleMenuElement { - @property({ attribute: false }) - editor?: Editor; - - #onAddColumnBefore = () => this.editor?.chain().focus().addColumnBefore().run(); - #onAddColumnAfter = () => this.editor?.chain().focus().addColumnAfter().run(); - #onDeleteColumn = () => this.editor?.chain().focus().deleteColumn().run(); - - override render() { - return html` - - - - - - - - - - `; - } - - static override readonly styles = [ - css` - :host { - --uui-menu-item-flat-structure: 1; - - display: flex; - flex-direction: column; - - background-color: var(--uui-color-surface); - border-radius: var(--uui-border-radius); - box-shadow: var(--uui-shadow-depth-3); - } - `, - ]; -} - -export default UmbTiptapTableColumnMenuElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-tiptap-table-column-menu': UmbTiptapTableColumnMenuElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/table/components/table-row-menu.element.ts b/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/table/components/table-row-menu.element.ts deleted file mode 100644 index 1ed84bc8c5..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/table/components/table-row-menu.element.ts +++ /dev/null @@ -1,52 +0,0 @@ -import type { Editor } from '../../../externals.js'; -import type { UmbTiptapBubbleMenuElement } from '../../bubble-menu/bubble-menu.tiptap-extension.js'; -import { css, customElement, html, property } from '@umbraco-cms/backoffice/external/lit'; -import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; - -/** @deprecated No longer used internally. This will be removed in Umbraco 17. [LK] */ -@customElement('umb-tiptap-table-row-menu') -export class UmbTiptapTableRowMenuElement extends UmbLitElement implements UmbTiptapBubbleMenuElement { - @property({ attribute: false }) - editor?: Editor; - - #onAddRowBefore = () => this.editor?.chain().focus().addRowBefore().run(); - #onAddRowAfter = () => this.editor?.chain().focus().addRowAfter().run(); - #onDeleteRow = () => this.editor?.chain().focus().deleteRow().run(); - - override render() { - return html` - - - - - - - - - - `; - } - - static override readonly styles = [ - css` - :host { - --uui-menu-item-flat-structure: 1; - - display: flex; - flex-direction: column; - - background-color: var(--uui-color-surface); - border-radius: var(--uui-border-radius); - box-shadow: var(--uui-shadow-depth-3); - } - `, - ]; -} - -export default UmbTiptapTableRowMenuElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-tiptap-table-row-menu': UmbTiptapTableRowMenuElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/tiptap-toolbar.extension.ts b/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/tiptap-toolbar.extension.ts index 4554fc42f5..86930f2429 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/tiptap-toolbar.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/tiptap-toolbar.extension.ts @@ -35,20 +35,14 @@ export interface MetaTiptapToolbarMenuItem { data?: ItemDataType; element?: ElementLoaderProperty; elementName?: string; - /** @deprecated No longer used, please use `appearance: { icon }`. This will be removed in Umbraco 17. [LK] */ - icon?: string; items?: Array>; label: string; menu?: string; separatorAfter?: boolean; - /** @deprecated No longer used, please use `appearance: { style }`. This will be removed in Umbraco 17. [LK] */ - style?: string; } export interface MetaTiptapToolbarMenuExtension extends MetaTiptapToolbarExtension { look?: 'icon' | 'text'; - /** @deprecated No longer used, please use `items` at the root manifest. This will be removed in Umbraco 17. [LK] */ - items?: Array; } export interface ManifestTiptapToolbarExtensionMenuKind diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiptap/property-editors/types.ts b/src/Umbraco.Web.UI.Client/src/packages/tiptap/property-editors/types.ts index c7c80b8c23..303d2f543d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/tiptap/property-editors/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/tiptap/property-editors/types.ts @@ -15,6 +15,3 @@ export type UmbTiptapToolbarExtension = UmbTiptapStatusbarExtension & { export type UmbTiptapToolbarRowViewModel = UmbTiptapSortableViewModel>; export type UmbTiptapToolbarGroupViewModel = UmbTiptapSortableViewModel>; - -/** @deprecated No longer used internally. This will be removed in Umbraco 17. [LK] */ -export type UmbTiptapToolbarSortableViewModel = UmbTiptapSortableViewModel; diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiptap/types.ts b/src/Umbraco.Web.UI.Client/src/packages/tiptap/types.ts index 27f3244c38..4786572684 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/tiptap/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/tiptap/types.ts @@ -1,10 +1 @@ -import type { UmbBlockValueType } from '@umbraco-cms/backoffice/block'; -import type { UmbBlockRteLayoutModel } from '@umbraco-cms/backoffice/block-rte'; - export type * from './extensions/types.js'; - -/** @deprecated No longer used internally. This will be removed in Umbraco 17. [LK] */ -export interface UmbPropertyEditorUiValueType { - markup: string; - blocks: UmbBlockValueType; -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/ufm/components/content-name/content-name.component.ts b/src/Umbraco.Web.UI.Client/src/packages/ufm/components/content-name/content-name.component.ts index fb4394d7c6..29b555dbff 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/ufm/components/content-name/content-name.component.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/ufm/components/content-name/content-name.component.ts @@ -6,14 +6,6 @@ import './content-name.element.js'; export class UmbUfmContentNameComponent extends UmbUfmComponentBase { render(token: UfmToken) { if (!token.text) return; - - if (token.prefix === '~') { - /* - * @deprecated since version 15.0-rc3 - */ - console.warn(`Please update your UFM syntax from \`${token.raw}\` to \`{umbContentName:${token.text}}\`.`); - } - const attributes = super.getAttributes(token.text); return ``; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/ufm/components/content-name/content-name.element.ts b/src/Umbraco.Web.UI.Client/src/packages/ufm/components/content-name/content-name.element.ts index 176e58c3b6..a0bed34e9b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/ufm/components/content-name/content-name.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/ufm/components/content-name/content-name.element.ts @@ -8,13 +8,13 @@ import { UmbMemberItemRepository, UMB_MEMBER_ENTITY_TYPE } from '@umbraco-cms/ba @customElement('ufm-content-name') export class UmbUfmContentNameElement extends UmbUfmElementBase { - @property() - alias?: string; - #documentRepository?: UmbDocumentItemRepository; #mediaRepository?: UmbMediaItemRepository; #memberRepository?: UmbMemberItemRepository; + @property() + alias?: string; + constructor() { super(); @@ -62,8 +62,10 @@ export class UmbUfmContentNameElement extends UmbUfmElementBase { const repository = this.#getRepository(entityType); if (repository) { const { data } = await repository.requestItems(uniques); + if (Array.isArray(data) && data.length > 0) { - return data.map((item) => item.name).join(', '); + // TODO: [v17] Review usage of `item.variants[0].name` as this needs to be implemented properly! [LK] + return data.map((item) => item.variants[0].name).join(', '); } } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/ufm/components/link/link.element.ts b/src/Umbraco.Web.UI.Client/src/packages/ufm/components/link/link.element.ts index 59b6540fd1..4242bb2c01 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/ufm/components/link/link.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/ufm/components/link/link.element.ts @@ -51,7 +51,8 @@ export class UmbUfmLinkElement extends UmbUfmElementBase { if (repository) { const { data } = await repository.requestItems([unique]); if (Array.isArray(data) && data.length > 0) { - return data.map((item) => item.name).join(', '); + // TODO: [v17] Review usage of `item.variants[0].name` as this needs to be implemented properly! [LK] + return data.map((item) => item.variants[0].name).join(', '); } } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/ufm/components/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/ufm/components/manifests.ts index c12b295c80..cefac27f0d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/ufm/components/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/ufm/components/manifests.ts @@ -20,7 +20,7 @@ export const manifests: Array = [ alias: 'Umb.Markdown.ContentName', name: 'Content Name UFM Component', api: () => import('./content-name/content-name.component.js'), - meta: { alias: 'umbContentName', marker: '~' }, + meta: { alias: 'umbContentName' }, }, { type: 'ufmComponent', diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user-group/collection/user-group-collection-header.element.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user-group/collection/user-group-collection-header.element.ts deleted file mode 100644 index 8308819f01..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user-group/collection/user-group-collection-header.element.ts +++ /dev/null @@ -1,63 +0,0 @@ -import type { UmbUserGroupCollectionContext } from './user-group-collection.context.js'; -import { UMB_USER_GROUP_COLLECTION_CONTEXT } from './user-group-collection.context-token.js'; -import { css, customElement, html } from '@umbraco-cms/backoffice/external/lit'; -import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import { debounce } from '@umbraco-cms/backoffice/utils'; - -const elementName = 'umb-user-group-collection-header'; - -/** @deprecated This component is no longer used in core; to be removed in Umbraco 17. */ -@customElement(elementName) -export class UmbUserGroupCollectionHeaderElement extends UmbLitElement { - #collectionContext: UmbUserGroupCollectionContext | undefined; - - constructor() { - super(); - - this.consumeContext(UMB_USER_GROUP_COLLECTION_CONTEXT, (instance) => { - this.#collectionContext = instance; - }); - } - - #onSearch(event: InputEvent) { - const target = event.target as HTMLInputElement; - const query = target.value || ''; - this.#debouncedSearch(query); - } - - #debouncedSearch = debounce((query: any) => this.#collectionContext?.setFilter({ query }), 500); - - override render() { - return html` - - `; - } - - static override styles = [ - css` - :host { - height: 100%; - width: 100%; - display: flex; - justify-content: space-between; - white-space: nowrap; - gap: var(--uui-size-space-5); - align-items: center; - } - - uui-input { - width: 100%; - } - `, - ]; -} - -declare global { - interface HTMLElementTagNameMap { - [elementName]: UmbUserGroupCollectionHeaderElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user-group/collection/user-group-collection.element.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user-group/collection/user-group-collection.element.ts index 3696a84339..28f311e6c8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user-group/collection/user-group-collection.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user-group/collection/user-group-collection.element.ts @@ -3,8 +3,6 @@ import { css, customElement, html } from '@umbraco-cms/backoffice/external/lit'; import { debounce } from '@umbraco-cms/backoffice/utils'; import { UmbCollectionDefaultElement } from '@umbraco-cms/backoffice/collection'; -import './user-group-collection-header.element.js'; - @customElement('umb-user-group-collection') export class UmbUserGroupCollectionElement extends UmbCollectionDefaultElement { #collectionContext?: typeof UMB_USER_GROUP_COLLECTION_CONTEXT.TYPE; diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user-group/collection/views/user-group-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user-group/collection/views/user-group-table-collection-view.element.ts index 460309055d..f66c0e73f8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user-group/collection/views/user-group-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user-group/collection/views/user-group-table-collection-view.element.ts @@ -57,7 +57,7 @@ export class UmbUserGroupCollectionTableViewElement extends UmbLitElement { private _tableItems: Array = []; @state() - private _selection: Array = []; + private _selection: Array = []; #collectionContext?: UmbUserGroupCollectionContext; @@ -75,7 +75,7 @@ export class UmbUserGroupCollectionTableViewElement extends UmbLitElement { this.#collectionContext = instance; this.observe( this.#collectionContext?.selection.selection, - (selection) => (this._selection = selection ?? []), + (selection) => (this._selection = selection?.filter((x) => x !== undefined && x !== null) ?? []), 'umbCollectionSelectionObserver', ); this.observe( @@ -207,8 +207,8 @@ export class UmbUserGroupCollectionTableViewElement extends UmbLitElement { .columns=${this._tableColumns} .items=${this._tableItems} .selection=${this._selection} - @selected="${this.#onSelected}" - @deselected="${this.#onDeselected}"> + @selected=${this.#onSelected} + @deselected=${this.#onDeselected}> `; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user-permission/modals/settings/entity-user-permission-settings-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user-permission/modals/settings/entity-user-permission-settings-modal.token.ts index 3babce3f3a..974200ac95 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user-permission/modals/settings/entity-user-permission-settings-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user-permission/modals/settings/entity-user-permission-settings-modal.token.ts @@ -2,13 +2,6 @@ import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; export interface UmbEntityUserPermissionSettingsModalData { entityType: string; - /** - * Unique identifier for the entity - * @deprecated The unique is not used in the modal as it is not needed. It is kept for backwards compatibility. Will be removed in v17. - * @type {string} - * @memberof UmbEntityUserPermissionSettingsModalData - */ - unique?: string; headline?: string; preset?: UmbEntityUserPermissionSettingsModalValue; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/collection/user-collection.element.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/collection/user-collection.element.ts index a974ce3cbf..751b47f7bd 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user/collection/user-collection.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user/collection/user-collection.element.ts @@ -10,7 +10,6 @@ export class UmbUserCollectionElement extends UmbCollectionDefaultElement { } } -/** @deprecated Should be exported as `element` only; to be removed in Umbraco 17. */ export default UmbUserCollectionElement; export { UmbUserCollectionElement as element }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.repository.ts index cf0279f142..dd2d01bf95 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/webhook/webhook/repository/detail/webhook-detail.repository.ts @@ -1,7 +1,6 @@ import type { UmbWebhookDetailModel } from '../../../types.js'; import { UmbWebhookDetailServerDataSource } from './webhook-detail.server.data-source.js'; import { UMB_WEBHOOK_DETAIL_STORE_CONTEXT } from './webhook-detail.store.js'; -import { UmbDeprecation } from '@umbraco-cms/backoffice/utils'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbDetailRepositoryBase } from '@umbraco-cms/backoffice/repository'; @@ -13,30 +12,6 @@ export class UmbWebhookDetailRepository extends UmbDetailRepositoryBase} - Hardcoded events - */ - async requestEvents(): Promise<{ data: { items: string[]; total: number }; error: any }> { - new UmbDeprecation({ - deprecated: 'The requestEvents method on the UmbWebhookDetailRepository is deprecated.', - removeInVersion: '17.0.0', - solution: 'Use the requestEvents method on UmbWebhookEventRepository instead.', - }).warn(); - - const items = ['Content Deleted', 'Content Published', 'Content Unpublished', 'Media Deleted', 'Media Saved']; - - const result = { - data: { items, total: items.length }, - error: null, - }; - - return new Promise((resolve) => { - setTimeout(() => resolve(result), 10); - }); - } } export default UmbWebhookDetailRepository;