refactor collection conditions
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import type { UmbElementValueModel } from '@umbraco-cms/backoffice/content';
|
||||
|
||||
export type * from './conditions/types.js';
|
||||
export type * from './clipboard/types.js';
|
||||
|
||||
export interface UmbBlockLayoutBaseModel {
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
import type { ManifestCondition, UmbConditionConfigBase } from '@umbraco-cms/backoffice/extension-api';
|
||||
|
||||
export type CollectionAliasConditionConfig = UmbConditionConfigBase<typeof UMB_COLLECTION_ALIAS_CONDITION> & {
|
||||
/**
|
||||
* The collection that this extension should be available in
|
||||
* @example
|
||||
* "Umb.Collection.User"
|
||||
*/
|
||||
match: string;
|
||||
};
|
||||
|
||||
export const UMB_COLLECTION_ALIAS_CONDITION = 'Umb.Condition.CollectionAlias';
|
||||
export const manifest: ManifestCondition = {
|
||||
type: 'condition',
|
||||
name: 'Collection Alias Condition',
|
||||
alias: UMB_COLLECTION_ALIAS_CONDITION,
|
||||
api: () => import('./collection-alias.condition.js'),
|
||||
};
|
||||
@@ -1,17 +0,0 @@
|
||||
import type { UmbCollectionBulkActionPermissions } from './types.js';
|
||||
import type { ManifestCondition, UmbConditionConfigBase } from '@umbraco-cms/backoffice/extension-api';
|
||||
|
||||
export type CollectionBulkActionPermissionConditionConfig = UmbConditionConfigBase<
|
||||
typeof UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION
|
||||
> & {
|
||||
match: (permissions: UmbCollectionBulkActionPermissions) => boolean;
|
||||
};
|
||||
|
||||
export const UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION = 'Umb.Condition.CollectionBulkActionPermission';
|
||||
|
||||
export const manifest: ManifestCondition = {
|
||||
type: 'condition',
|
||||
name: 'Collection Bulk Action Permission Condition',
|
||||
alias: UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION,
|
||||
api: () => import('./collection-bulk-action-permission.condition.js'),
|
||||
};
|
||||
@@ -1,5 +1,5 @@
|
||||
import { UMB_COLLECTION_CONTEXT } from './default/index.js';
|
||||
import type { CollectionAliasConditionConfig } from './collection-alias.manifest.js';
|
||||
import { UMB_COLLECTION_CONTEXT } from '../default/index.js';
|
||||
import type { CollectionAliasConditionConfig } 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';
|
||||
@@ -1,5 +1,5 @@
|
||||
import { UMB_COLLECTION_CONTEXT } from './default/index.js';
|
||||
import type { CollectionBulkActionPermissionConditionConfig } from './collection-bulk-action-permission.manifest.js';
|
||||
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';
|
||||
@@ -0,0 +1,3 @@
|
||||
export const UMB_COLLECTION_ALIAS_CONDITION = 'Umb.Condition.CollectionAlias';
|
||||
|
||||
export const UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION = 'Umb.Condition.CollectionBulkActionPermission';
|
||||
@@ -0,0 +1,4 @@
|
||||
export * from './collection-bulk-action-permission.condition.js';
|
||||
export * from './collection-alias.condition.js';
|
||||
export * from './constants.js';
|
||||
export type * from './types.js';
|
||||
@@ -0,0 +1,17 @@
|
||||
import { UMB_COLLECTION_ALIAS_CONDITION, UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION } from './constants.js';
|
||||
import type { ManifestCondition } from '@umbraco-cms/backoffice/extension-api';
|
||||
|
||||
export const manifests: Array<ManifestCondition> = [
|
||||
{
|
||||
type: 'condition',
|
||||
name: 'Collection Alias Condition',
|
||||
alias: UMB_COLLECTION_ALIAS_CONDITION,
|
||||
api: () => import('./collection-alias.condition.js'),
|
||||
},
|
||||
{
|
||||
type: 'condition',
|
||||
name: 'Collection Bulk Action Permission Condition',
|
||||
alias: UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION,
|
||||
api: () => import('./collection-bulk-action-permission.condition.js'),
|
||||
},
|
||||
];
|
||||
@@ -0,0 +1,24 @@
|
||||
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';
|
||||
|
||||
export type CollectionBulkActionPermissionConditionConfig = UmbConditionConfigBase<
|
||||
typeof UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION
|
||||
> & {
|
||||
match: (permissions: UmbCollectionBulkActionPermissions) => boolean;
|
||||
};
|
||||
|
||||
export type CollectionAliasConditionConfig = UmbConditionConfigBase<typeof UMB_COLLECTION_ALIAS_CONDITION> & {
|
||||
/**
|
||||
* The collection that this extension should be available in
|
||||
* @example
|
||||
* "Umb.Collection.User"
|
||||
*/
|
||||
match: string;
|
||||
};
|
||||
|
||||
declare global {
|
||||
interface UmbExtensionConditionConfigMap {
|
||||
CollectionAliasConditionConfig: CollectionAliasConditionConfig;
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@ import './components/index.js';
|
||||
export * from './default/collection-default.element.js';
|
||||
export * from './collection.element.js';
|
||||
export * from './components/index.js';
|
||||
export * from './conditions/index.js';
|
||||
export * from './collection-item-picker-modal/index.js';
|
||||
|
||||
export * from './default/collection-default.context.js';
|
||||
@@ -12,8 +13,5 @@ export * from './default/collection-default.context-token.js';
|
||||
export * from './collection-filter-model.interface.js';
|
||||
export type * from './types.js';
|
||||
|
||||
export { UMB_COLLECTION_ALIAS_CONDITION } from './collection-alias.manifest.js';
|
||||
export { UMB_COLLECTION_BULK_ACTION_PERMISSION_CONDITION } from './collection-bulk-action-permission.manifest.js';
|
||||
|
||||
export { UmbCollectionActionElement, UmbCollectionActionBase } from './action/index.js';
|
||||
export type { UmbCollectionDataSource, UmbCollectionRepository } from './repository/index.js';
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
import type { UmbExtensionManifestKind } from '../extension-registry/registry.js';
|
||||
import { manifest as collectionAliasCondition } from './collection-alias.manifest.js';
|
||||
import { manifest as collectionBulkActionPermissionCondition } from './collection-bulk-action-permission.manifest.js';
|
||||
import { manifests as conditionManifests } from './conditions/manifests.js';
|
||||
import { manifests as workspaceViewManifests } from './workspace-view/manifests.js';
|
||||
|
||||
export const manifests: Array<UmbExtensionManifest | UmbExtensionManifestKind> = [
|
||||
...workspaceViewManifests,
|
||||
collectionAliasCondition,
|
||||
collectionBulkActionPermissionCondition,
|
||||
...conditionManifests,
|
||||
];
|
||||
|
||||
@@ -3,6 +3,7 @@ import type { Observable } from '@umbraco-cms/backoffice/external/rxjs';
|
||||
import type { UmbPaginationManager } from '@umbraco-cms/backoffice/utils';
|
||||
|
||||
export type * from './extensions/index.js';
|
||||
export type * from './conditions/types.js';
|
||||
|
||||
export interface UmbCollectionBulkActionPermissions {
|
||||
allowBulkCopy: boolean;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { CollectionAliasConditionConfig } from '../../collection/collection-alias.manifest.js';
|
||||
import type { CollectionBulkActionPermissionConditionConfig } from '../../collection/collection-bulk-action-permission.manifest.js';
|
||||
import type { CollectionAliasConditionConfig } from '../../collection/conditions/collection-alias.types.js';
|
||||
import type { CollectionBulkActionPermissionConditionConfig } from '../../collection/conditions/collection-bulk-action-permission.manifest.js';
|
||||
import type { SwitchConditionConfig } from './switch.condition.js';
|
||||
import type { UmbConditionConfigBase } from '@umbraco-cms/backoffice/extension-api';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user