Skip to content

Commit e3cf586

Browse files
committed
move section conditions
1 parent 76d5721 commit e3cf586

File tree

10 files changed

+60
-59
lines changed

10 files changed

+60
-59
lines changed
Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
import type { ManifestTypes } from '../models/index.js';
22
import { manifest as multipleAppLanguagesConditionManifest } from './multiple-app-languages.condition.js';
3-
import { manifest as sectionAliasConditionManifest } from './section-alias.condition.js';
43
import { manifest as switchConditionManifest } from './switch.condition.js';
54

6-
export const manifests: Array<ManifestTypes> = [
7-
multipleAppLanguagesConditionManifest,
8-
sectionAliasConditionManifest,
9-
switchConditionManifest,
10-
];
5+
export const manifests: Array<ManifestTypes> = [multipleAppLanguagesConditionManifest, switchConditionManifest];

src/packages/core/extension-registry/conditions/types.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import type { CollectionAliasConditionConfig } from '../../collection/collection-alias.manifest.js';
22
import type { CollectionBulkActionPermissionConditionConfig } from '../../collection/collection-bulk-action-permission.manifest.js';
33
import type { UmbSectionUserPermissionConditionConfig } from '../../section/conditions/index.js';
4-
import type { SectionAliasConditionConfig } from './section-alias.condition.js';
54
import type { SwitchConditionConfig } from './switch.condition.js';
65
import type { UmbMultipleAppLanguageConditionConfig } from './multiple-app-languages.condition.js';
76
import type { UmbConditionConfigBase } from '@umbraco-cms/backoffice/extension-api';
@@ -19,7 +18,6 @@ export type ConditionTypes =
1918
| BlockWorkspaceHasSettingsConditionConfig
2019
| CollectionAliasConditionConfig
2120
| CollectionBulkActionPermissionConditionConfig
22-
| SectionAliasConditionConfig
2321
| SwitchConditionConfig
2422
| UmbConditionConfigBase
2523
| UmbDocumentUserPermissionConditionConfig
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export * from './section-user-permission.condition.js';
1+
export type * from './types.js';
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { UmbSectionAliasCondition } from './section-alias.condition.js';
2+
import { UmbSectionUserPermissionCondition } from './section-user-permission.condition.js';
3+
4+
export const manifests: Array<UmbExtensionManifest> = [
5+
{
6+
type: 'condition',
7+
name: 'Section User Permission Condition',
8+
alias: 'Umb.Condition.SectionUserPermission',
9+
api: UmbSectionUserPermissionCondition,
10+
},
11+
{
12+
type: 'condition',
13+
name: 'Section Alias Condition',
14+
alias: 'Umb.Condition.SectionAlias',
15+
api: UmbSectionAliasCondition,
16+
},
17+
];
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
1-
import { UmbConditionBase } from './condition-base.controller.js';
1+
import { UmbConditionBase } from '../../extension-registry/conditions/condition-base.controller.js';
2+
import type { SectionAliasConditionConfig } from './types.js';
23
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
3-
import type {
4-
ManifestCondition,
5-
UmbConditionConfigBase,
6-
UmbConditionControllerArguments,
7-
UmbExtensionCondition,
8-
} from '@umbraco-cms/backoffice/extension-api';
4+
import type { UmbConditionControllerArguments, UmbExtensionCondition } from '@umbraco-cms/backoffice/extension-api';
95
import { UMB_SECTION_CONTEXT } from '@umbraco-cms/backoffice/section';
106

117
export class UmbSectionAliasCondition
@@ -35,24 +31,3 @@ export class UmbSectionAliasCondition
3531
}
3632
}
3733
}
38-
39-
export type SectionAliasConditionConfig = UmbConditionConfigBase<'Umb.Condition.SectionAlias'> & {
40-
/**
41-
* Define the section that this extension should be available in
42-
* @example "Umb.Section.Content"
43-
*/
44-
match: string;
45-
/**
46-
* Define one or more workspaces that this extension should be available in
47-
* @example
48-
* ["Umb.Section.Content", "Umb.Section.Media"]
49-
*/
50-
oneOf?: Array<string>;
51-
};
52-
53-
export const manifest: ManifestCondition = {
54-
type: 'condition',
55-
name: 'Section Alias Condition',
56-
alias: 'Umb.Condition.SectionAlias',
57-
api: UmbSectionAliasCondition,
58-
};

src/packages/core/section/conditions/section-user-permission.condition.ts

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1+
import type { UmbSectionUserPermissionConditionConfig } from './types.js';
12
import { UMB_CURRENT_USER_CONTEXT } from '@umbraco-cms/backoffice/current-user';
23
import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api';
3-
import type {
4-
UmbConditionConfigBase,
5-
UmbConditionControllerArguments,
6-
UmbExtensionCondition,
7-
} from '@umbraco-cms/backoffice/extension-api';
4+
import type { UmbConditionControllerArguments, UmbExtensionCondition } from '@umbraco-cms/backoffice/extension-api';
85
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
96

107
export class UmbSectionUserPermissionCondition extends UmbControllerBase implements UmbExtensionCondition {
@@ -30,13 +27,3 @@ export class UmbSectionUserPermissionCondition extends UmbControllerBase impleme
3027
});
3128
}
3229
}
33-
34-
export type UmbSectionUserPermissionConditionConfig = UmbConditionConfigBase<'Umb.Condition.SectionUserPermission'> & {
35-
/**
36-
*
37-
*
38-
* @example
39-
* "Umb.Section.Content"
40-
*/
41-
match: string;
42-
};
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import type { UmbConditionConfigBase } from '@umbraco-cms/backoffice/extension-api';
2+
3+
export type UmbSectionUserPermissionConditionConfig = UmbConditionConfigBase<'Umb.Condition.SectionUserPermission'> & {
4+
/**
5+
*
6+
*
7+
* @example
8+
* "Umb.Section.Content"
9+
*/
10+
match: string;
11+
};
12+
13+
export type SectionAliasConditionConfig = UmbConditionConfigBase<'Umb.Condition.SectionAlias'> & {
14+
/**
15+
* Define the section that this extension should be available in
16+
* @example "Umb.Section.Content"
17+
*/
18+
match: string;
19+
/**
20+
* Define one or more workspaces that this extension should be available in
21+
* @example
22+
* ["Umb.Section.Content", "Umb.Section.Media"]
23+
*/
24+
oneOf?: Array<string>;
25+
};
26+
27+
declare global {
28+
interface UmbExtensionConditionMap {
29+
UmbSectionUserPermissionConditionConfig: UmbSectionUserPermissionConditionConfig;
30+
UmbSectionAliasConditionConfig: SectionAliasConditionConfig;
31+
}
32+
}

src/packages/core/section/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ export * from './section-sidebar-menu-with-entity-actions/index.js';
88
export * from './section-sidebar-menu/index.js';
99
export * from './section-sidebar/index.js';
1010
export * from './section.context.js';
11+
export * from './types.js';
Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { UmbSectionUserPermissionCondition } from './conditions/section-user-permission.condition.js';
1+
import { manifests as sectionUserPermissionConditionManifests } from './conditions/manifests.js';
22
import { manifests as repositoryManifests } from './repository/manifests.js';
33
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
44

@@ -9,11 +9,6 @@ export const manifests: Array<ManifestTypes> = [
99
name: 'Section Picker Modal',
1010
element: () => import('./section-picker-modal/section-picker-modal.element.js'),
1111
},
12-
{
13-
type: 'condition',
14-
name: 'Section User Permission Condition',
15-
alias: 'Umb.Condition.SectionUserPermission',
16-
api: UmbSectionUserPermissionCondition,
17-
},
12+
...sectionUserPermissionConditionManifests,
1813
...repositoryManifests,
1914
];

src/packages/core/section/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './conditions/types.js';

0 commit comments

Comments
 (0)