diff --git a/src/Umbraco.Web.UI.Client/examples/entity-content-type-condition/manifest.ts b/src/Umbraco.Web.UI.Client/examples/entity-content-type-condition/manifest.ts
index c001d1e0d0..4d0972cc7f 100644
--- a/src/Umbraco.Web.UI.Client/examples/entity-content-type-condition/manifest.ts
+++ b/src/Umbraco.Web.UI.Client/examples/entity-content-type-condition/manifest.ts
@@ -1,24 +1,22 @@
-import { ManifestWorkspaceView } from '@umbraco-cms/backoffice/extension-registry';
+import type { ManifestWorkspaceView } from '@umbraco-cms/backoffice/extension-registry';
const workspace: ManifestWorkspaceView = {
- type: 'workspaceView',
- alias: 'Example.WorkspaceView.EntityContentTypeCondition',
- name: "Example Workspace View With Entity Content Type Condition",
- element : () => import('./workspace-view.element.js'),
- meta: {
- icon : 'icon-bus',
- label : 'Conditional',
- pathname : 'conditional'
- },
- conditions : [
- {
- alias : 'Umb.Condition.WorkspaceContentTypeAlias',
+ type: 'workspaceView',
+ alias: 'Example.WorkspaceView.EntityContentTypeCondition',
+ name: 'Example Workspace View With Entity Content Type Condition',
+ element: () => import('./workspace-view.element.js'),
+ meta: {
+ icon: 'icon-bus',
+ label: 'Conditional',
+ pathname: 'conditional',
+ },
+ conditions: [
+ {
+ alias: 'Umb.Condition.WorkspaceContentTypeAlias',
//match : 'blogPost'
- oneOf : ['blogPost','mediaType1']
- }
- ]
+ oneOf: ['blogPost', 'mediaType1'],
+ },
+ ],
};
-export const manifests = [
- workspace
-]
+export const manifests = [workspace];
diff --git a/src/Umbraco.Web.UI.Client/examples/entity-content-type-condition/workspace-view.element.ts b/src/Umbraco.Web.UI.Client/examples/entity-content-type-condition/workspace-view.element.ts
index eaa81ba3b9..cd6a518e36 100644
--- a/src/Umbraco.Web.UI.Client/examples/entity-content-type-condition/workspace-view.element.ts
+++ b/src/Umbraco.Web.UI.Client/examples/entity-content-type-condition/workspace-view.element.ts
@@ -1,20 +1,19 @@
-import { css, html } from 'lit';
-import { customElement } from 'lit/decorators.js';
+import { html, customElement } from '@umbraco-cms/backoffice/external/lit';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
@customElement('umb-example-entity-content-type-condition')
export class UmbWorkspaceViewElement extends UmbLitElement {
- render() {
- return html`
This is a conditional element that is only shown in workspaces based on it's entities content type.
`;
- }
-
- static styles = [css``];
+ override render() {
+ return html`
+ This is a conditional element that is only shown in workspaces based on it's entities content type.
+
`;
+ }
}
-export default UmbWorkspaceViewElement
+export default UmbWorkspaceViewElement;
declare global {
- interface HTMLElementTagNameMap {
- 'umb-example-entity-content-type-condition': UmbWorkspaceViewElement;
- }
-}
\ No newline at end of file
+ interface HTMLElementTagNameMap {
+ 'umb-example-entity-content-type-condition': UmbWorkspaceViewElement;
+ }
+}
diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/conditions/workspace-content-type-alias.condition.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/conditions/workspace-content-type-alias.condition.ts
index e25d8c2ef6..f8daf58a67 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/conditions/workspace-content-type-alias.condition.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/conditions/workspace-content-type-alias.condition.ts
@@ -11,23 +11,33 @@ import type {
/**
* Condition to apply workspace extension based on a content type alias
*/
-export class UmbWorkspaceContentTypeAliasCondition extends UmbConditionBase implements UmbExtensionCondition {
- constructor(host: UmbControllerHost, args: UmbConditionControllerArguments) {
+export class UmbWorkspaceContentTypeAliasCondition
+ extends UmbConditionBase
+ implements UmbExtensionCondition
+{
+ constructor(
+ host: UmbControllerHost,
+ args: UmbConditionControllerArguments,
+ ) {
super(host, args);
let permissionCheck: ((contentTypeAliases: string[]) => boolean) | undefined = undefined;
if (this.config.match) {
permissionCheck = (contentTypeAliases: string[]) => contentTypeAliases.includes(this.config.match!);
} else if (this.config.oneOf) {
- permissionCheck = (contentTypeAliases: string[]) => contentTypeAliases.some(item => this.config.oneOf!.includes(item));
+ permissionCheck = (contentTypeAliases: string[]) =>
+ contentTypeAliases.some((item) => this.config.oneOf!.includes(item));
}
if (permissionCheck !== undefined) {
this.consumeContext(UMB_PROPERTY_STRUCTURE_WORKSPACE_CONTEXT, (context) => {
- this.observe(context.structure.contentTypeAliases,(contentTypeAliases) => {
- this.permitted = contentTypeAliases ? permissionCheck(contentTypeAliases) : false;
- },
- 'workspaceContentTypeAliasConditionObserver');
+ this.observe(
+ context.structure.contentTypeAliases,
+ (contentTypeAliases) => {
+ this.permitted = contentTypeAliases ? permissionCheck(contentTypeAliases) : false;
+ },
+ 'workspaceContentTypeAliasConditionObserver',
+ );
});
} else {
throw new Error(
@@ -37,22 +47,21 @@ export class UmbWorkspaceContentTypeAliasCondition extends UmbConditionBase & {
- /**
- * Define a content type alias in which workspace this extension should be available
- *
- * @example
- * Depends on implementation, but i.e. "article", "image", "blockPage"
- */
- match?: string;
- /**
- * Define one or more content type aliases in which workspace this extension should be available
- *
- * @example
- * ["article", "image", "blockPage"]
- */
- oneOf?: Array;
-};
+export type WorkspaceContentTypeAliasConditionConfig =
+ UmbConditionConfigBase<'Umb.Condition.WorkspaceContentTypeAlias'> & {
+ /**
+ * Define a content type alias in which workspace this extension should be available
+ * @example
+ * Depends on implementation, but i.e. "article", "image", "blockPage"
+ */
+ match?: string;
+ /**
+ * Define one or more content type aliases in which workspace this extension should be available
+ * @example
+ * ["article", "image", "blockPage"]
+ */
+ oneOf?: Array;
+ };
export const manifest: ManifestCondition = {
type: 'condition',
diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/contexts/tokens/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/contexts/tokens/index.ts
index df2ac1f831..69ba11bc07 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/contexts/tokens/index.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/contexts/tokens/index.ts
@@ -6,7 +6,6 @@ export * from './routable-workspace.context-token.js';
export * from './submittable-workspace.context-token.js';
export * from './variant-workspace.context-token.js';
export * from './workspace.context-token.js';
-export * from './entity-with-content-type-workspace-context-token.js';
export type * from './collection-workspace-context.interface.js';
export type * from './entity-workspace-context.interface.js';
export type * from './invariant-dataset-workspace-context.interface.js';
@@ -16,4 +15,3 @@ export type * from './routable-workspace-context.interface.js';
export type * from './submittable-workspace-context.interface.js';
export type * from './variant-dataset-workspace-context.interface.js';
export type * from './workspace-context.interface.js';
-export type * from './entity-with-content-type-workspace-context.interface.js';
\ No newline at end of file