clean up bulk actions

This commit is contained in:
Mads Rasmussen
2024-03-03 23:57:29 +01:00
parent dac8f86501
commit fb3517cb7f
13 changed files with 41 additions and 56 deletions

View File

@@ -7,8 +7,8 @@ import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action';
import { UmbVariantId } from '@umbraco-cms/backoffice/variant';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
export class UmbPublishDocumentEntityAction extends UmbEntityActionBase<never> {
constructor(host: UmbControllerHost, args: UmbEntityActionArgs<never>) {
export class UmbPublishDocumentEntityAction extends UmbEntityActionBase<object> {
constructor(host: UmbControllerHost, args: UmbEntityActionArgs<object>) {
super(host, args);
}

View File

@@ -1,12 +1,6 @@
import type { UmbEntityBulkActionArgs } from '@umbraco-cms/backoffice/entity-bulk-action';
import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-bulk-action';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
export class UmbDocumentCopyEntityBulkAction extends UmbEntityBulkActionBase<never> {
constructor(host: UmbControllerHost, args: UmbEntityBulkActionArgs<never>) {
super(host, args);
}
export class UmbDocumentCopyEntityBulkAction extends UmbEntityBulkActionBase<object> {
async execute() {
console.log('execute bulk copy');
}

View File

@@ -1,12 +1,6 @@
import type { UmbEntityBulkActionArgs } from '@umbraco-cms/backoffice/entity-bulk-action';
import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-bulk-action';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
export class UmbDocumentDeleteEntityBulkAction extends UmbEntityBulkActionBase<never> {
constructor(host: UmbControllerHost, args: UmbEntityBulkActionArgs<never>) {
super(host, args);
}
export class UmbDocumentDeleteEntityBulkAction extends UmbEntityBulkActionBase<object> {
async execute() {
console.log('execute bulk delete');
}

View File

@@ -1,6 +1,6 @@
import type { UmbCollectionBulkActionPermissions } from '../../../core/collection/types.js';
import { UMB_DOCUMENT_DETAIL_REPOSITORY_ALIAS, UMB_DOCUMENT_PUBLISHING_REPOSITORY_ALIAS } from '../repository/index.js';
import { UMB_DOCUMENT_COLLECTION_ALIAS } from '../collection/index.js';
import { UMB_DOCUMENT_ENTITY_TYPE } from '../entity.js';
import { UmbDocumentCopyEntityBulkAction } from './copy/copy.action.js';
import { UmbDocumentDeleteEntityBulkAction } from './delete/delete.action.js';
import { UmbMoveDocumentEntityBulkAction } from './move/move.action.js';
@@ -21,8 +21,8 @@ export const manifests: Array<ManifestEntityBulkAction> = [
api: UmbDocumentPublishEntityBulkAction,
meta: {
label: 'Publish',
repositoryAlias: UMB_DOCUMENT_PUBLISHING_REPOSITORY_ALIAS,
},
forEntityTypes: [UMB_DOCUMENT_ENTITY_TYPE],
conditions: [
{
alias: UMB_COLLECTION_ALIAS_CONDITION,
@@ -42,8 +42,8 @@ export const manifests: Array<ManifestEntityBulkAction> = [
api: UmbDocumentUnpublishEntityBulkAction,
meta: {
label: 'Unpublish',
repositoryAlias: UMB_DOCUMENT_PUBLISHING_REPOSITORY_ALIAS,
},
forEntityTypes: [UMB_DOCUMENT_ENTITY_TYPE],
conditions: [
{
alias: UMB_COLLECTION_ALIAS_CONDITION,
@@ -63,8 +63,8 @@ export const manifests: Array<ManifestEntityBulkAction> = [
api: UmbDocumentCopyEntityBulkAction,
meta: {
label: 'Copy',
repositoryAlias: UMB_DOCUMENT_DETAIL_REPOSITORY_ALIAS,
},
forEntityTypes: [UMB_DOCUMENT_ENTITY_TYPE],
conditions: [
{
alias: UMB_COLLECTION_ALIAS_CONDITION,
@@ -84,8 +84,8 @@ export const manifests: Array<ManifestEntityBulkAction> = [
api: UmbMoveDocumentEntityBulkAction,
meta: {
label: 'Move',
repositoryAlias: UMB_DOCUMENT_DETAIL_REPOSITORY_ALIAS,
},
forEntityTypes: [UMB_DOCUMENT_ENTITY_TYPE],
conditions: [
{
alias: UMB_COLLECTION_ALIAS_CONDITION,
@@ -105,8 +105,8 @@ export const manifests: Array<ManifestEntityBulkAction> = [
api: UmbDocumentDeleteEntityBulkAction,
meta: {
label: 'Delete',
repositoryAlias: UMB_DOCUMENT_DETAIL_REPOSITORY_ALIAS,
},
forEntityTypes: [UMB_DOCUMENT_ENTITY_TYPE],
conditions: [
{
alias: UMB_COLLECTION_ALIAS_CONDITION,

View File

@@ -1,12 +1,6 @@
import type { UmbEntityBulkActionArgs } from '@umbraco-cms/backoffice/entity-bulk-action';
import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-bulk-action';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
export class UmbMoveDocumentEntityBulkAction extends UmbEntityBulkActionBase<never> {
constructor(host: UmbControllerHost, args: UmbEntityBulkActionArgs<never>) {
super(host, args);
}
export class UmbMoveDocumentEntityBulkAction extends UmbEntityBulkActionBase<object> {
async execute() {
console.log(`execute bulk move`);
}

View File

@@ -1,22 +1,25 @@
import type { UmbDocumentPublishingRepository } from '../../repository/index.js';
import { UmbDocumentPublishingRepository } from '../../repository/index.js';
import { UmbPublishDocumentEntityAction } from '../../entity-actions/publish.action.js';
import type { UmbDocumentVariantOptionModel } from '../../types.js';
import { umbPickDocumentVariantModal } from '../../modals/index.js';
import { UMB_DOCUMENT_ENTITY_TYPE } from '../../entity.js';
import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-bulk-action';
import { UmbLanguageCollectionRepository } from '@umbraco-cms/backoffice/language';
import { UmbVariantId } from '@umbraco-cms/backoffice/variant';
export class UmbDocumentPublishEntityBulkAction extends UmbEntityBulkActionBase<UmbDocumentPublishingRepository> {
export class UmbDocumentPublishEntityBulkAction extends UmbEntityBulkActionBase<object> {
async execute() {
// If there is only one selection, we can refer to the regular publish entity action:
if (this.selection.length === 1) {
const action = new UmbPublishDocumentEntityAction(this._host, '', this.selection[0], '');
const action = new UmbPublishDocumentEntityAction(this._host, {
unique: this.selection[0],
entityType: UMB_DOCUMENT_ENTITY_TYPE,
meta: {},
});
await action.execute();
return;
}
if (!this.repository) throw new Error('Document publishing repository not set');
const languageRepository = new UmbLanguageCollectionRepository(this._host);
const { data: languageData } = await languageRepository.requestCollection({});
@@ -28,11 +31,14 @@ export class UmbDocumentPublishEntityBulkAction extends UmbEntityBulkActionBase<
}));
const selectedVariants = await umbPickDocumentVariantModal(this, { type: 'publish', options });
const repository = new UmbDocumentPublishingRepository(this._host);
if (selectedVariants.length) {
for (const unique of this.selection) {
await this.repository.publish(unique, selectedVariants);
await repository.publish(unique, selectedVariants);
}
}
}
destroy(): void {}
}

View File

@@ -1,22 +1,25 @@
import { UmbUnpublishDocumentEntityAction } from '../../entity-actions/unpublish.action.js';
import { UMB_DOCUMENT_ENTITY_TYPE } from '../../entity.js';
import { umbPickDocumentVariantModal } from '../../modals/index.js';
import type { UmbDocumentPublishingRepository } from '../../repository/index.js';
import { UmbDocumentPublishingRepository } from '../../repository/index.js';
import type { UmbDocumentVariantOptionModel } from '../../types.js';
import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-bulk-action';
import { UmbLanguageCollectionRepository } from '@umbraco-cms/backoffice/language';
import { UmbVariantId } from '@umbraco-cms/backoffice/variant';
export class UmbDocumentUnpublishEntityBulkAction extends UmbEntityBulkActionBase<UmbDocumentPublishingRepository> {
export class UmbDocumentUnpublishEntityBulkAction extends UmbEntityBulkActionBase<object> {
async execute() {
// If there is only one selection, we can refer to the regular publish entity action:
if (this.selection.length === 1) {
const action = new UmbUnpublishDocumentEntityAction(this._host, '', this.selection[0], '');
const action = new UmbUnpublishDocumentEntityAction(this._host, {
unique: this.selection[0],
entityType: UMB_DOCUMENT_ENTITY_TYPE,
meta: undefined,
});
await action.execute();
return;
}
if (!this.repository) throw new Error('Document publishing repository not set');
const languageRepository = new UmbLanguageCollectionRepository(this._host);
const { data: languageData } = await languageRepository.requestCollection({});
@@ -28,11 +31,14 @@ export class UmbDocumentUnpublishEntityBulkAction extends UmbEntityBulkActionBas
}));
const selectedVariants = await umbPickDocumentVariantModal(this, { type: 'unpublish', options });
const repository = new UmbDocumentPublishingRepository(this._host);
if (selectedVariants.length) {
for (const unique of this.selection) {
await this.repository.unpublish(unique, selectedVariants);
await repository.unpublish(unique, selectedVariants);
}
}
}
destroy(): void {}
}

View File

@@ -1,12 +1,6 @@
import type { UmbEntityBulkActionArgs } from '@umbraco-cms/backoffice/entity-bulk-action';
import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-bulk-action';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
export class UmbDuplicateMediaEntityBulkAction extends UmbEntityBulkActionBase<never> {
constructor(host: UmbControllerHost, args: UmbEntityBulkActionArgs<never>) {
super(host, args);
}
export class UmbDuplicateMediaEntityBulkAction extends UmbEntityBulkActionBase<object> {
async execute() {
console.log('execute bulk duplicate');
}

View File

@@ -3,7 +3,7 @@ import { html } from '@umbraco-cms/backoffice/external/lit';
import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-bulk-action';
import { umbConfirmModal } from '@umbraco-cms/backoffice/modal';
export class UmbUserDeleteEntityBulkAction extends UmbEntityBulkActionBase<never> {
export class UmbUserDeleteEntityBulkAction extends UmbEntityBulkActionBase<object> {
async execute() {
if (this.selection.length === 0) return;

View File

@@ -1,7 +1,7 @@
import { UmbDisableUserRepository } from '../../repository/index.js';
import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-bulk-action';
export class UmbDisableUserEntityBulkAction extends UmbEntityBulkActionBase<never> {
export class UmbDisableUserEntityBulkAction extends UmbEntityBulkActionBase<object> {
async execute() {
const repository = new UmbDisableUserRepository(this._host);
await repository.disable(this.selection);

View File

@@ -1,7 +1,7 @@
import { UmbEnableUserRepository } from '../../repository/index.js';
import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-bulk-action';
export class UmbEnableUserEntityBulkAction extends UmbEntityBulkActionBase<never> {
export class UmbEnableUserEntityBulkAction extends UmbEntityBulkActionBase<object> {
async execute() {
const repository = new UmbEnableUserRepository(this._host);
await repository.enable(this.selection);

View File

@@ -1,9 +1,6 @@
import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-bulk-action';
import type { UmbModalManagerContext } from '@umbraco-cms/backoffice/modal';
export class UmbSetGroupUserEntityBulkAction extends UmbEntityBulkActionBase<never> {
#modalContext?: UmbModalManagerContext;
export class UmbSetGroupUserEntityBulkAction extends UmbEntityBulkActionBase<object> {
async execute() {
//TODO: Implement
alert('Bulk set group is not implemented yet');

View File

@@ -1,7 +1,7 @@
import { UmbUnlockUserRepository } from '../../repository/index.js';
import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-bulk-action';
export class UmbUnlockUserEntityBulkAction extends UmbEntityBulkActionBase<never> {
export class UmbUnlockUserEntityBulkAction extends UmbEntityBulkActionBase<object> {
async execute() {
const repository = new UmbUnlockUserRepository(this._host);
await repository.unlock(this.selection);