diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/data-type/data-type.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/data-type/data-type.data.ts index eec1070db2..9ca00d6970 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/data-type/data-type.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/data-type/data-type.data.ts @@ -854,16 +854,6 @@ export const data: Array = [ ], }, { alias: 'orderBy', value: 'updateDate' }, - { - alias: 'bulkActionPermissions', - value: { - allowBulkPublish: true, - allowBulkUnpublish: false, - allowBulkCopy: true, - allowBulkMove: false, - allowBulkDelete: true, - }, - }, { alias: 'layouts', value: [ @@ -898,16 +888,6 @@ export const data: Array = [ ], }, { alias: 'orderBy', value: 'updateDate' }, - { - alias: 'bulkActionPermissions', - value: { - allowBulkPublish: false, - allowBulkUnpublish: false, - allowBulkCopy: true, - allowBulkMove: true, - allowBulkDelete: true, - }, - }, { alias: 'layouts', value: [ 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 index 885ad3f982..7ae41de4bc 100644 --- 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 @@ -4,6 +4,7 @@ import type { UmbConditionControllerArguments, UmbExtensionCondition } from '@um 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 @@ -21,4 +22,5 @@ export class UmbCollectionBulkActionPermissionCondition } } +/** @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 36fa086ad7..8a94507bbf 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,3 +1,4 @@ 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/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/core/collection/conditions/manifests.ts index 3e4eadfc62..28e9232416 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 @@ -8,6 +8,7 @@ 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', 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 6a19e0a3c9..6727375a9e 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 @@ -2,6 +2,7 @@ import type { UmbCollectionBulkActionPermissions } from '../types.js'; import type { UMB_COLLECTION_ALIAS_CONDITION, UMB_COLLECTION_BULK_ACTION_PERMISSION_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] */ export type CollectionBulkActionPermissionConditionConfig = UmbConditionConfigBase< typeof UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION > & { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/collection/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/collection/types.ts index 352a8176c7..a083dd8beb 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/collection/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/collection/types.ts @@ -5,6 +5,7 @@ import type { UmbPaginationManager } from '@umbraco-cms/backoffice/utils'; export type * from './extensions/index.js'; export type * from './conditions/types.js'; +/** @deprecated No longer used internally. This will be removed in Umbraco 17. [LK] */ export interface UmbCollectionBulkActionPermissions { allowBulkCopy: boolean; allowBulkDelete: boolean; @@ -16,6 +17,7 @@ export interface UmbCollectionBulkActionPermissions { export interface UmbCollectionConfiguration { unique?: string; dataTypeId?: string; + /** @deprecated No longer used internally. This will be removed in Umbraco 17. [LK] */ allowedEntityBulkActions?: UmbCollectionBulkActionPermissions; layouts?: Array; orderBy?: string; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/content/collection/content-collection-workspace-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/content/collection/content-collection-workspace-view.element.ts index f9a8b7dc19..7a04140cec 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/content/collection/content-collection-workspace-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/content/collection/content-collection-workspace-view.element.ts @@ -1,4 +1,4 @@ -import type { UmbCollectionBulkActionPermissions, UmbCollectionConfiguration } from '../../collection/types.js'; +import type { UmbCollectionConfiguration } from '../../collection/types.js'; import { UMB_CONTENT_COLLECTION_WORKSPACE_CONTEXT } from './content-collection-workspace.context-token.js'; import { customElement, html, nothing, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; @@ -64,7 +64,6 @@ export class UmbContentCollectionWorkspaceViewElement extends UmbLitElement impl const pageSize = Number(config.getValueByAlias('pageSize')); return { unique: this._documentUnique, - allowedEntityBulkActions: config?.getValueByAlias('bulkActionPermissions'), layouts: config?.getValueByAlias('layouts'), orderBy: config?.getValueByAlias('orderBy') ?? 'updateDate', orderDirection: config?.getValueByAlias('orderDirection') ?? 'asc', diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/duplicate-to/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/duplicate-to/manifests.ts index 8fd82fc08d..63d0f897ea 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/duplicate-to/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/duplicate-to/manifests.ts @@ -1,13 +1,10 @@ import { UMB_DOCUMENT_COLLECTION_ALIAS } from '../../collection/index.js'; import { UMB_DOCUMENT_ENTITY_TYPE } from '../../entity.js'; import { UMB_DOCUMENT_TREE_ALIAS } from '../../tree/manifests.js'; +import { UMB_USER_PERMISSION_DOCUMENT_DUPLICATE } from '../../user-permissions/constants.js'; import { UMB_BULK_DUPLICATE_DOCUMENT_REPOSITORY_ALIAS } from './repository/constants.js'; import { manifests as repositoryManifests } from './repository/manifests.js'; -import { - UMB_COLLECTION_ALIAS_CONDITION, - UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION, -} from '@umbraco-cms/backoffice/collection'; -import type { UmbCollectionBulkActionPermissions } from '@umbraco-cms/backoffice/collection'; +import { UMB_COLLECTION_ALIAS_CONDITION } from '@umbraco-cms/backoffice/collection'; export const manifests: Array = [ { @@ -27,8 +24,8 @@ export const manifests: Array = [ match: UMB_DOCUMENT_COLLECTION_ALIAS, }, { - alias: UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION, - match: (permissions: UmbCollectionBulkActionPermissions) => permissions.allowBulkCopy, + alias: 'Umb.Condition.UserPermission.Document', + allOf: [UMB_USER_PERMISSION_DOCUMENT_DUPLICATE], }, ], }, diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/manifests.ts index 92cd6d9c18..99007be0c4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/manifests.ts @@ -1,14 +1,14 @@ import { UMB_DOCUMENT_COLLECTION_ALIAS } from '../collection/index.js'; import { UMB_DOCUMENT_ENTITY_TYPE } from '../entity.js'; +import { + UMB_USER_PERMISSION_DOCUMENT_PUBLISH, + UMB_USER_PERMISSION_DOCUMENT_UNPUBLISH, +} from '../user-permissions/constants.js'; import { manifests as duplicateToManifests } from './duplicate-to/manifests.js'; import { manifests as moveToManifests } from './move-to/manifests.js'; import { manifests as trashManifests } from './trash/manifests.js'; -import type { UmbCollectionBulkActionPermissions } from '@umbraco-cms/backoffice/collection'; +import { UMB_COLLECTION_ALIAS_CONDITION } from '@umbraco-cms/backoffice/collection'; import type { ManifestEntityBulkAction } from '@umbraco-cms/backoffice/extension-registry'; -import { - UMB_COLLECTION_ALIAS_CONDITION, - UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION, -} from '@umbraco-cms/backoffice/collection'; export const entityBulkActions: Array = [ { @@ -29,8 +29,8 @@ export const entityBulkActions: Array = [ match: UMB_DOCUMENT_COLLECTION_ALIAS, }, { - alias: UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION, - match: (permissions: UmbCollectionBulkActionPermissions) => permissions.allowBulkPublish, + alias: 'Umb.Condition.UserPermission.Document', + allOf: [UMB_USER_PERMISSION_DOCUMENT_PUBLISH], }, ], }, @@ -52,8 +52,8 @@ export const entityBulkActions: Array = [ match: UMB_DOCUMENT_COLLECTION_ALIAS, }, { - alias: UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION, - match: (permissions: UmbCollectionBulkActionPermissions) => permissions.allowBulkUnpublish, + alias: 'Umb.Condition.UserPermission.Document', + allOf: [UMB_USER_PERMISSION_DOCUMENT_UNPUBLISH], }, ], }, diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/move-to/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/move-to/manifests.ts index ea65a3c845..b8f40a9194 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/move-to/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/move-to/manifests.ts @@ -1,14 +1,10 @@ import { UMB_DOCUMENT_COLLECTION_ALIAS } from '../../collection/index.js'; import { UMB_DOCUMENT_ENTITY_TYPE } from '../../entity.js'; import { UMB_DOCUMENT_TREE_ALIAS } from '../../tree/manifests.js'; - +import { UMB_USER_PERMISSION_DOCUMENT_MOVE } from '../../user-permissions/constants.js'; import { UMB_BULK_MOVE_DOCUMENT_REPOSITORY_ALIAS } from './repository/constants.js'; import { manifests as repositoryManifests } from './repository/manifests.js'; -import { - UMB_COLLECTION_ALIAS_CONDITION, - UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION, -} from '@umbraco-cms/backoffice/collection'; -import type { UmbCollectionBulkActionPermissions } from '@umbraco-cms/backoffice/collection'; +import { UMB_COLLECTION_ALIAS_CONDITION } from '@umbraco-cms/backoffice/collection'; export const manifests: Array = [ { @@ -28,8 +24,8 @@ export const manifests: Array = [ match: UMB_DOCUMENT_COLLECTION_ALIAS, }, { - alias: UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION, - match: (permissions: UmbCollectionBulkActionPermissions) => permissions.allowBulkMove, + alias: 'Umb.Condition.UserPermission.Document', + allOf: [UMB_USER_PERMISSION_DOCUMENT_MOVE], }, ], }, diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/trash/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/trash/manifests.ts index 4177d0a04b..5847243d00 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/trash/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-bulk-actions/trash/manifests.ts @@ -1,12 +1,9 @@ import { UMB_DOCUMENT_COLLECTION_ALIAS } from '../../collection/index.js'; import { UMB_DOCUMENT_ENTITY_TYPE } from '../../entity.js'; +import { UMB_USER_PERMISSION_DOCUMENT_DELETE } from '../../user-permissions/constants.js'; import { UMB_BULK_TRASH_DOCUMENT_REPOSITORY_ALIAS } from './repository/constants.js'; import { manifests as repositoryManifests } from './repository/manifests.js'; -import { - UMB_COLLECTION_ALIAS_CONDITION, - UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION, -} from '@umbraco-cms/backoffice/collection'; -import type { UmbCollectionBulkActionPermissions } from '@umbraco-cms/backoffice/collection'; +import { UMB_COLLECTION_ALIAS_CONDITION } from '@umbraco-cms/backoffice/collection'; export const manifests: Array = [ { @@ -25,8 +22,8 @@ export const manifests: Array = [ match: UMB_DOCUMENT_COLLECTION_ALIAS, }, { - alias: UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION, - match: (permissions: UmbCollectionBulkActionPermissions) => permissions.allowBulkDelete, + alias: 'Umb.Condition.UserPermission.Document', + allOf: [UMB_USER_PERMISSION_DOCUMENT_DELETE], }, ], }, diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/dashboard/media-dashboard.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/dashboard/media-dashboard.element.ts index c15733a715..26e04890a9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/dashboard/media-dashboard.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/dashboard/media-dashboard.element.ts @@ -6,11 +6,8 @@ import { UmbDataTypeDetailRepository } from '@umbraco-cms/backoffice/data-type'; import { UmbEntityContext } from '@umbraco-cms/backoffice/entity'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbPropertyEditorConfigCollection } from '@umbraco-cms/backoffice/property-editor'; -import { - UmbCollectionElement, - type UmbCollectionBulkActionPermissions, - type UmbCollectionConfiguration, -} from '@umbraco-cms/backoffice/collection'; +import { UmbCollectionElement } from '@umbraco-cms/backoffice/collection'; +import type { UmbCollectionConfiguration } from '@umbraco-cms/backoffice/collection'; import type { UmbDataTypeDetailModel } from '@umbraco-cms/backoffice/data-type'; import type { UmbRoute } from '@umbraco-cms/backoffice/router'; @@ -74,7 +71,6 @@ export class UmbMediaDashboardElement extends UmbLitElement { return { unique: '', dataTypeId: '', - allowedEntityBulkActions: config?.getValueByAlias('bulkActionPermissions'), layouts: config?.getValueByAlias('layouts'), orderBy: config?.getValueByAlias('orderBy') ?? 'updateDate', orderDirection: config?.getValueByAlias('orderDirection') ?? 'asc', diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/entity-bulk-actions/move-to/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/entity-bulk-actions/move-to/manifests.ts index 5eee5ec464..42564f295b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/entity-bulk-actions/move-to/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/entity-bulk-actions/move-to/manifests.ts @@ -3,11 +3,7 @@ import { UMB_MEDIA_ENTITY_TYPE } from '../../entity.js'; import { UMB_MEDIA_TREE_ALIAS } from '../../tree/constants.js'; import { UMB_BULK_MOVE_MEDIA_REPOSITORY_ALIAS } from './repository/constants.js'; import { manifests as repositoryManifests } from './repository/manifests.js'; -import { - UMB_COLLECTION_ALIAS_CONDITION, - UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION, -} from '@umbraco-cms/backoffice/collection'; -import type { UmbCollectionBulkActionPermissions } from '@umbraco-cms/backoffice/collection'; +import { UMB_COLLECTION_ALIAS_CONDITION } from '@umbraco-cms/backoffice/collection'; const bulkMoveAction: UmbExtensionManifest = { type: 'entityBulkAction', @@ -25,10 +21,6 @@ const bulkMoveAction: UmbExtensionManifest = { alias: UMB_COLLECTION_ALIAS_CONDITION, match: UMB_MEDIA_COLLECTION_ALIAS, }, - { - alias: UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION, - match: (permissions: UmbCollectionBulkActionPermissions) => permissions.allowBulkMove, - }, ], }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/entity-bulk-actions/trash/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/entity-bulk-actions/trash/manifests.ts index 3576dca033..9b22d84719 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/entity-bulk-actions/trash/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/entity-bulk-actions/trash/manifests.ts @@ -2,11 +2,7 @@ import { UMB_MEDIA_COLLECTION_ALIAS } from '../../collection/index.js'; import { UMB_MEDIA_ENTITY_TYPE } from '../../entity.js'; import { UMB_BULK_TRASH_MEDIA_REPOSITORY_ALIAS } from './repository/constants.js'; import { manifests as repositoryManifests } from './repository/manifests.js'; -import { - UMB_COLLECTION_ALIAS_CONDITION, - UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION, -} from '@umbraco-cms/backoffice/collection'; -import type { UmbCollectionBulkActionPermissions } from '@umbraco-cms/backoffice/collection'; +import { UMB_COLLECTION_ALIAS_CONDITION } from '@umbraco-cms/backoffice/collection'; const bulkTrashAction: UmbExtensionManifest = { type: 'entityBulkAction', @@ -23,10 +19,6 @@ const bulkTrashAction: UmbExtensionManifest = { alias: UMB_COLLECTION_ALIAS_CONDITION, match: UMB_MEDIA_COLLECTION_ALIAS, }, - { - alias: UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION, - match: (permissions: UmbCollectionBulkActionPermissions) => permissions.allowBulkDelete, - }, ], }; 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 index 1b13c57051..2d25db4475 100644 --- 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 @@ -1,5 +1,6 @@ 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', 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 index f18b07d7e3..d08b04b423 100644 --- 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 @@ -18,6 +18,7 @@ type BulkActionPermissionType = /** * @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 @@ -66,6 +67,12 @@ export class UmbPropertyEditorUICollectionPermissionsElement this.dispatchEvent(new UmbPropertyValueChangeEvent()); } + 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`('bulkActionPermissions'), layouts: config?.getValueByAlias('layouts'), orderBy: config?.getValueByAlias('orderBy') ?? 'updateDate', orderDirection: config?.getValueByAlias('orderDirection') ?? 'asc',