diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/index.ts index d25134ee36..da8ba5fdeb 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/index.ts @@ -10,4 +10,4 @@ export * from './workspace-modal/index.js'; export * from './workspace-property-layout/workspace-property-layout.element.js'; export * from './workspace-property/index.js'; export * from './workspace-split-view-manager.class.js'; -export * from './workspace-variant/index.js'; +export * from './workspace-split-view/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-variant/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-split-view/index.ts similarity index 58% rename from src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-variant/index.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-split-view/index.ts index afbed12d8a..1312849754 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-variant/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-split-view/index.ts @@ -1,3 +1,2 @@ -export * from './variantable-property/variantable-property.element.js'; export * from './workspace-split-view.context.js'; export * from './workspace-split-view.element.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-variant/workspace-split-view.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-split-view/workspace-split-view.context.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-variant/workspace-split-view.context.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-split-view/workspace-split-view.context.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-variant/workspace-split-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-split-view/workspace-split-view.element.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-variant/workspace-split-view.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-split-view/workspace-split-view.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-variant/variantable-property/variantable-property.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-variant/variantable-property/variantable-property.element.ts deleted file mode 100644 index ad96924c55..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-variant/variantable-property/variantable-property.element.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { UMB_WORKSPACE_SPLIT_VIEW_CONTEXT } from '../workspace-split-view.context.js'; -import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui'; -import { css, html, customElement, property, state } from '@umbraco-cms/backoffice/external/lit'; -import { UmbVariantId } from '@umbraco-cms/backoffice/variant'; -import type { PropertyTypeModelBaseModel } from '@umbraco-cms/backoffice/backend-api'; -import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; - -@customElement('umb-variantable-property') -export class UmbVariantablePropertyElement extends UmbLitElement { - private _property?: PropertyTypeModelBaseModel | undefined; - @property({ type: Object, attribute: false }) - public get property(): PropertyTypeModelBaseModel | undefined { - return this._property; - } - public set property(property: PropertyTypeModelBaseModel | undefined) { - this._property = property; - this._updatePropertyVariantId(); - } - - private _variantContext?: typeof UMB_WORKSPACE_SPLIT_VIEW_CONTEXT.TYPE; - - @state() - private _workspaceVariantId?: UmbVariantId; - - @state() - private _propertyVariantId?: UmbVariantId; - - constructor() { - super(); - // TODO: Refactor: this could use the new DataSetContext: - this.consumeContext(UMB_WORKSPACE_SPLIT_VIEW_CONTEXT, (workspaceContext) => { - this._variantContext = workspaceContext; - this._observeVariantContext(); - }); - } - - private _observeVariantContext() { - if (!this._variantContext || !this.property) return; - this.observe(this._variantContext.variantId, (variantId) => { - this._workspaceVariantId = variantId; - this._updatePropertyVariantId(); - }); - } - - private _updatePropertyVariantId() { - console.log("_updatePropertyVariantId", this._workspaceVariantId && this.property) - if (this._workspaceVariantId && this.property) { - const newVariantId = UmbVariantId.Create({ - culture: this.property.variesByCulture ? this._workspaceVariantId.culture : null, - segment: this.property.variesBySegment ? this._workspaceVariantId.segment : null, - }); - if (!this._propertyVariantId || !newVariantId.equal(this._propertyVariantId)) { - this._propertyVariantId = newVariantId; - } - } - } - - render() { - return html``; - } - - static styles = [ - UUITextStyles, - css` - :host { - display: block; - } - `, - ]; -} - -declare global { - interface HTMLElementTagNameMap { - 'umb-variantable-property': UmbVariantablePropertyElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-variant/variantable-property/variantable-property.stories.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-variant/variantable-property/variantable-property.stories.ts deleted file mode 100644 index 9bb61ac331..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-variant/variantable-property/variantable-property.stories.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { Meta, StoryObj } from '@storybook/web-components'; -import './variantable-property.element.js'; -import type { UmbVariantablePropertyElement } from './variantable-property.element.js'; - -const meta: Meta = { - title: 'Components/Variantable Property', - component: 'umb-variantable-property', -}; - -export default meta; -type Story = StoryObj; - -export const Overview: Story = { - args: { - property: { - name: 'Header', - alias: 'headerAlias', - appearance: { - labelOnTop: false, - }, - description: 'This is a description', - variesByCulture: true, - variesBySegment: true, - validation: { - mandatory: true, - mandatoryMessage: 'This is a mandatory message', - }, - }, - }, -};