Merge pull request #2295 from umbraco/v15/feature/emm-section-conditions

Move section conditions to section package
This commit is contained in:
Niels Lyngsø
2024-09-14 19:20:47 +02:00
committed by GitHub
8 changed files with 40 additions and 42 deletions

View File

@@ -1,5 +1,5 @@
import type { ManifestTypes } from '../models/index.js';
import { manifest as sectionAliasConditionManifest } from './section-alias.condition.js';
import { manifest as switchConditionManifest } from './switch.condition.js';
export const manifests: Array<ManifestTypes> = [sectionAliasConditionManifest, switchConditionManifest];
export const manifests: Array<ManifestTypes> = [switchConditionManifest];

View File

@@ -1,13 +1,11 @@
import type { CollectionAliasConditionConfig } from '../../collection/collection-alias.manifest.js';
import type { CollectionBulkActionPermissionConditionConfig } from '../../collection/collection-bulk-action-permission.manifest.js';
import type { SectionAliasConditionConfig } from './section-alias.condition.js';
import type { SwitchConditionConfig } from './switch.condition.js';
import type { UmbConditionConfigBase } from '@umbraco-cms/backoffice/extension-api';
export type ConditionTypes =
| CollectionAliasConditionConfig
| CollectionBulkActionPermissionConditionConfig
| SectionAliasConditionConfig
| SwitchConditionConfig
| UmbConditionConfigBase;

View File

@@ -1 +1 @@
export * from './section-user-permission.condition.js';
export type * from './types.js';

View File

@@ -0,0 +1,17 @@
import { UmbSectionAliasCondition } from './section-alias.condition.js';
import { UmbSectionUserPermissionCondition } from './section-user-permission.condition.js';
export const manifests: Array<UmbExtensionManifest> = [
{
type: 'condition',
name: 'Section User Permission Condition',
alias: 'Umb.Condition.SectionUserPermission',
api: UmbSectionUserPermissionCondition,
},
{
type: 'condition',
name: 'Section Alias Condition',
alias: 'Umb.Condition.SectionAlias',
api: UmbSectionAliasCondition,
},
];

View File

@@ -1,11 +1,7 @@
import { UmbConditionBase } from './condition-base.controller.js';
import { UmbConditionBase } from '../../extension-registry/conditions/condition-base.controller.js';
import type { SectionAliasConditionConfig } from './types.js';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
import type {
ManifestCondition,
UmbConditionConfigBase,
UmbConditionControllerArguments,
UmbExtensionCondition,
} from '@umbraco-cms/backoffice/extension-api';
import type { UmbConditionControllerArguments, UmbExtensionCondition } from '@umbraco-cms/backoffice/extension-api';
import { UMB_SECTION_CONTEXT } from '@umbraco-cms/backoffice/section';
export class UmbSectionAliasCondition
@@ -35,24 +31,3 @@ export class UmbSectionAliasCondition
}
}
}
export type SectionAliasConditionConfig = UmbConditionConfigBase<'Umb.Condition.SectionAlias'> & {
/**
* Define the section that this extension should be available in
* @example "Umb.Section.Content"
*/
match: string;
/**
* Define one or more workspaces that this extension should be available in
* @example
* ["Umb.Section.Content", "Umb.Section.Media"]
*/
oneOf?: Array<string>;
};
export const manifest: ManifestCondition = {
type: 'condition',
name: 'Section Alias Condition',
alias: 'Umb.Condition.SectionAlias',
api: UmbSectionAliasCondition,
};

View File

@@ -27,10 +27,3 @@ export class UmbSectionUserPermissionCondition extends UmbControllerBase impleme
});
}
}
export const manifest = {
type: 'condition',
name: 'Section User Permission Condition',
alias: 'Umb.Condition.SectionUserPermission',
api: UmbSectionUserPermissionCondition,
};

View File

@@ -10,8 +10,23 @@ export type UmbSectionUserPermissionConditionConfig = UmbConditionConfigBase<'Um
match: string;
};
export type SectionAliasConditionConfig = UmbConditionConfigBase<'Umb.Condition.SectionAlias'> & {
/**
* Define the section that this extension should be available in
* @example "Umb.Section.Content"
*/
match: string;
/**
* Define one or more workspaces that this extension should be available in
* @example
* ["Umb.Section.Content", "Umb.Section.Media"]
*/
oneOf?: Array<string>;
};
declare global {
interface UmbExtensionConditionMap {
UmbSectionUserPermissionConditionConfig: UmbSectionUserPermissionConditionConfig;
UmbSectionAliasConditionConfig: SectionAliasConditionConfig;
}
}

View File

@@ -1,4 +1,4 @@
import { manifest as sectionUserPermissionConditionManifest } from './conditions/section-user-permission.condition.js';
import { manifests as sectionUserPermissionConditionManifests } from './conditions/manifests.js';
import { manifests as repositoryManifests } from './repository/manifests.js';
export const manifests: Array<UmbExtensionManifest> = [
@@ -8,6 +8,6 @@ export const manifests: Array<UmbExtensionManifest> = [
name: 'Section Picker Modal',
element: () => import('./section-picker-modal/section-picker-modal.element.js'),
},
sectionUserPermissionConditionManifest,
...sectionUserPermissionConditionManifests,
...repositoryManifests,
];