diff --git a/src/Umbraco.Web.UI.Client/.github/workflows/build_test.yml b/src/Umbraco.Web.UI.Client/.github/workflows/build_test.yml index 9f2304afbc..5a1a10a376 100644 --- a/src/Umbraco.Web.UI.Client/.github/workflows/build_test.yml +++ b/src/Umbraco.Web.UI.Client/.github/workflows/build_test.yml @@ -34,6 +34,7 @@ jobs: - run: npm ci --no-audit --no-fund --prefer-offline - run: npm run lint - run: npm run build + # - run: npm run build:libs - run: sudo npx playwright install-deps - run: npm test - name: Upload Code Coverage reports diff --git a/src/Umbraco.Web.UI.Client/.storybook/preview.js b/src/Umbraco.Web.UI.Client/.storybook/preview.js index ae238d9981..bf9f28adbd 100644 --- a/src/Umbraco.Web.UI.Client/.storybook/preview.js +++ b/src/Umbraco.Web.UI.Client/.storybook/preview.js @@ -1,5 +1,5 @@ import '@umbraco-ui/uui-css/dist/uui-css.css'; -import '../libs/css/custom-properties.css'; +import '../src/core/css/custom-properties.css'; import '@umbraco-ui/uui'; import '@umbraco-ui/uui-modal'; @@ -17,11 +17,11 @@ import { UmbDocumentStore } from '../src/backoffice/documents/documents/reposito import { UmbDocumentTreeStore } from '../src/backoffice/documents/documents/repository/document.tree.store.ts'; import customElementManifests from '../custom-elements.json'; -import { UmbIconStore } from '../libs/store/icon/icon.store'; +import { UmbIconStore } from '../src/core/stores/icon/icon.store'; import { onUnhandledRequest } from '../src/core/mocks/browser'; import { handlers } from '../src/core/mocks/browser-handlers'; import { UMB_MODAL_CONTEXT_TOKEN, UmbModalContext } from '../libs/modal'; -import { UmbLitElement } from '../libs/element'; +import { UmbLitElement } from '../src/core/lit-element'; import { umbExtensionsRegistry } from '../libs/extensions-api'; diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/auth-layout.element.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/auth-layout.element.ts index 562a927ed5..28a5120e7f 100644 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/auth-layout.element.ts +++ b/src/Umbraco.Web.UI.Client/apps/auth/src/auth-layout.element.ts @@ -1,4 +1,4 @@ -import {css, CSSResultGroup, html, LitElement, unsafeCSS} from 'lit'; +import { css, CSSResultGroup, html, LitElement, unsafeCSS } from 'lit'; import { customElement } from 'lit/decorators.js'; import logoImg from '/umbraco_logomark_white.svg'; import loginImg from '/login.jpeg'; diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/external-login-providers/manifests.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/external-login-providers/manifests.ts index 2e780045be..956ebae221 100644 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/external-login-providers/manifests.ts +++ b/src/Umbraco.Web.UI.Client/apps/auth/src/external-login-providers/manifests.ts @@ -1,5 +1,5 @@ // TODO: could these be renamed as login providers? -import type { ManifestExternalLoginProvider } from '@umbraco-cms/models'; +import type { ManifestExternalLoginProvider } from '@umbraco-cms/backoffice/extensions-registry'; export const manifests: Array = [ { diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/index.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/index.ts index c86d00fb89..ac1d861af1 100644 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/index.ts +++ b/src/Umbraco.Web.UI.Client/apps/auth/src/index.ts @@ -1,9 +1,9 @@ -import { ManifestTypes } from '@umbraco-cms/extensions-registry'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; +import { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; import { manifests as externalLoginProviders } from './external-login-providers/manifests'; import '@umbraco-ui/uui-css/dist/uui-css.css'; -import '@umbraco-cms/css'; +import '@umbraco-cms/backoffice/css'; import '@umbraco-ui/uui'; import './login.element'; diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/login.test.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/login.test.ts index 4908a6342e..d633c813aa 100644 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/login.test.ts +++ b/src/Umbraco.Web.UI.Client/apps/auth/src/login.test.ts @@ -1,5 +1,5 @@ import { expect, fixture, html } from '@open-wc/testing'; -import { defaultA11yConfig } from '@umbraco-cms/test-utils'; +import { defaultA11yConfig } from '@umbraco-cms/internal/test-utils'; import UmbLogin from './login.element'; describe('UmbLogin', () => { diff --git a/src/Umbraco.Web.UI.Client/e2e/installer.spec.ts b/src/Umbraco.Web.UI.Client/e2e/installer.spec.ts index 1de975d7c8..cc6845ff00 100644 --- a/src/Umbraco.Web.UI.Client/e2e/installer.spec.ts +++ b/src/Umbraco.Web.UI.Client/e2e/installer.spec.ts @@ -1,7 +1,7 @@ import { rest } from 'msw'; -import { umbracoPath } from '@umbraco-cms/utils'; -import { ProblemDetailsModel, RuntimeLevelModel, ServerStatusResponseModel } from '@umbraco-cms/backend-api'; +import { umbracoPath } from '@umbraco-cms/backoffice/utils'; +import { ProblemDetailsModel, RuntimeLevelModel, ServerStatusResponseModel } from '@umbraco-cms/backoffice/backend-api'; import { expect, test } from './test'; test.describe('installer tests', () => { diff --git a/src/Umbraco.Web.UI.Client/e2e/upgrader.spec.ts b/src/Umbraco.Web.UI.Client/e2e/upgrader.spec.ts index 646f1811b5..07fcffe006 100644 --- a/src/Umbraco.Web.UI.Client/e2e/upgrader.spec.ts +++ b/src/Umbraco.Web.UI.Client/e2e/upgrader.spec.ts @@ -1,6 +1,6 @@ import { rest } from 'msw'; -import { umbracoPath } from '@umbraco-cms/utils'; -import { ProblemDetailsModel, RuntimeLevelModel, ServerStatusResponseModel } from '@umbraco-cms/backend-api'; +import { umbracoPath } from '@umbraco-cms/backoffice/utils'; +import { ProblemDetailsModel, RuntimeLevelModel, ServerStatusResponseModel } from '@umbraco-cms/backoffice/backend-api'; import { expect, test } from './test'; test.describe('upgrader tests', () => { diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/backend-api/rollup.config.js deleted file mode 100644 index 44c6c08405..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/rollup.config.js +++ /dev/null @@ -1,4 +0,0 @@ -import config from '../../utils/rollup.config.js'; -export default [ - ...config, -]; diff --git a/src/Umbraco.Web.UI.Client/libs/context-api/consume/context-consumer.controller.ts b/src/Umbraco.Web.UI.Client/libs/context-api/consume/context-consumer.controller.ts index fe96b6e817..2d30084d7f 100644 --- a/src/Umbraco.Web.UI.Client/libs/context-api/consume/context-consumer.controller.ts +++ b/src/Umbraco.Web.UI.Client/libs/context-api/consume/context-consumer.controller.ts @@ -1,7 +1,7 @@ import { UmbContextToken } from '../context-token'; import { UmbContextConsumer } from './context-consumer'; import { UmbContextCallback } from './context-request.event'; -import type { UmbControllerHostInterface, UmbControllerInterface } from '@umbraco-cms/controller'; +import type { UmbControllerHostInterface, UmbControllerInterface } from '@umbraco-cms/backoffice/controller'; export class UmbContextConsumerController extends UmbContextConsumer diff --git a/src/Umbraco.Web.UI.Client/libs/context-api/provide/context-provider.controller.test.ts b/src/Umbraco.Web.UI.Client/libs/context-api/provide/context-provider.controller.test.ts index 621ae25a1a..481a916122 100644 --- a/src/Umbraco.Web.UI.Client/libs/context-api/provide/context-provider.controller.test.ts +++ b/src/Umbraco.Web.UI.Client/libs/context-api/provide/context-provider.controller.test.ts @@ -1,7 +1,7 @@ import { expect, fixture, defineCE } from '@open-wc/testing'; import { UmbContextConsumer } from '../consume/context-consumer'; import { UmbContextProviderController } from './context-provider.controller'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; class MyClass { prop = 'value from provider'; diff --git a/src/Umbraco.Web.UI.Client/libs/context-api/provide/context-provider.controller.ts b/src/Umbraco.Web.UI.Client/libs/context-api/provide/context-provider.controller.ts index 9a54497be8..54c9e2e167 100644 --- a/src/Umbraco.Web.UI.Client/libs/context-api/provide/context-provider.controller.ts +++ b/src/Umbraco.Web.UI.Client/libs/context-api/provide/context-provider.controller.ts @@ -1,6 +1,6 @@ import { UmbContextToken } from '../context-token'; import { UmbContextProvider } from './context-provider'; -import type { UmbControllerHostInterface, UmbControllerInterface } from '@umbraco-cms/controller'; +import type { UmbControllerHostInterface, UmbControllerInterface } from '@umbraco-cms/backoffice/controller'; export class UmbContextProviderController extends UmbContextProvider diff --git a/src/Umbraco.Web.UI.Client/libs/context-api/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/context-api/rollup.config.js deleted file mode 100644 index 44c6c08405..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/context-api/rollup.config.js +++ /dev/null @@ -1,4 +0,0 @@ -import config from '../../utils/rollup.config.js'; -export default [ - ...config, -]; diff --git a/src/Umbraco.Web.UI.Client/libs/controller/controller-host.mixin.ts b/src/Umbraco.Web.UI.Client/libs/controller/controller-host.mixin.ts index 6c0342846b..7c7b2a7913 100644 --- a/src/Umbraco.Web.UI.Client/libs/controller/controller-host.mixin.ts +++ b/src/Umbraco.Web.UI.Client/libs/controller/controller-host.mixin.ts @@ -1,5 +1,5 @@ import { UmbControllerInterface } from './controller.interface'; -import type { HTMLElementConstructor } from '@umbraco-cms/models'; +import type { HTMLElementConstructor } from '@umbraco-cms/backoffice/models'; export declare class UmbControllerHostInterface extends HTMLElement { //#controllers:UmbController[]; diff --git a/src/Umbraco.Web.UI.Client/libs/controller/controller.test.ts b/src/Umbraco.Web.UI.Client/libs/controller/controller.test.ts index 3d16f3a207..445af3b6d3 100644 --- a/src/Umbraco.Web.UI.Client/libs/controller/controller.test.ts +++ b/src/Umbraco.Web.UI.Client/libs/controller/controller.test.ts @@ -1,7 +1,7 @@ import { expect } from '@open-wc/testing'; import { customElement } from 'lit/decorators.js'; import { UmbControllerHostInterface, UmbControllerHostMixin } from './controller-host.mixin'; -import { UmbContextProviderController } from '@umbraco-cms/context-api'; +import { UmbContextProviderController } from '@umbraco-cms/backoffice/context-api'; class MyClass { prop = 'value from provider'; diff --git a/src/Umbraco.Web.UI.Client/libs/controller/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/controller/rollup.config.js deleted file mode 100644 index 35421e5ce7..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/controller/rollup.config.js +++ /dev/null @@ -1,3 +0,0 @@ -import config from '../../utils/rollup.config.js'; - -export default config; diff --git a/src/Umbraco.Web.UI.Client/libs/element/element.mixin.ts b/src/Umbraco.Web.UI.Client/libs/element/element.mixin.ts index 39748f9f26..aa81248a25 100644 --- a/src/Umbraco.Web.UI.Client/libs/element/element.mixin.ts +++ b/src/Umbraco.Web.UI.Client/libs/element/element.mixin.ts @@ -1,15 +1,15 @@ import { Observable } from 'rxjs'; -import type { HTMLElementConstructor } from '@umbraco-cms/models'; +import type { HTMLElementConstructor } from '@umbraco-cms/backoffice/models'; -import { UmbControllerHostInterface, UmbControllerHostMixin } from '@umbraco-cms/controller'; +import { UmbControllerHostInterface, UmbControllerHostMixin } from '@umbraco-cms/backoffice/controller'; import { UmbContextToken, UmbContextCallback, UmbContextConsumerController, UmbContextProviderController, -} from '@umbraco-cms/context-api'; -import { UmbObserverController } from '@umbraco-cms/observable-api'; +} from '@umbraco-cms/backoffice/context-api'; +import { UmbObserverController } from '@umbraco-cms/backoffice/observable-api'; // TODO: can we use this aliases to generate the key of this type interface ResolvedContexts { diff --git a/src/Umbraco.Web.UI.Client/libs/element/index.module.ts b/src/Umbraco.Web.UI.Client/libs/element/index.module.ts deleted file mode 100644 index 18d6126ccc..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/element/index.module.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './element.mixin'; diff --git a/src/Umbraco.Web.UI.Client/libs/element/index.ts b/src/Umbraco.Web.UI.Client/libs/element/index.ts index 4048b79c02..18d6126ccc 100644 --- a/src/Umbraco.Web.UI.Client/libs/element/index.ts +++ b/src/Umbraco.Web.UI.Client/libs/element/index.ts @@ -1,2 +1 @@ export * from './element.mixin'; -export * from './lit-element.element'; diff --git a/src/Umbraco.Web.UI.Client/libs/element/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/element/rollup.config.js deleted file mode 100644 index d3af596f5f..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/element/rollup.config.js +++ /dev/null @@ -1,6 +0,0 @@ -import config from '../../utils/rollup.config.js'; - -config[0].input = 'index.module.ts'; -config[1].input = 'index.module.ts'; - -export default config; diff --git a/src/Umbraco.Web.UI.Client/libs/entity-action/action.ts b/src/Umbraco.Web.UI.Client/libs/entity-action/action.ts index 70c4a25985..939ba6712a 100644 --- a/src/Umbraco.Web.UI.Client/libs/entity-action/action.ts +++ b/src/Umbraco.Web.UI.Client/libs/entity-action/action.ts @@ -1,6 +1,6 @@ -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { umbExtensionsRegistry, createExtensionClass } from '@umbraco-cms/extensions-api'; -import { UmbObserverController } from '@umbraco-cms/observable-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { umbExtensionsRegistry, createExtensionClass } from '@umbraco-cms/backoffice/extensions-api'; +import { UmbObserverController } from '@umbraco-cms/backoffice/observable-api'; export interface UmbAction { host: UmbControllerHostInterface; diff --git a/src/Umbraco.Web.UI.Client/libs/entity-action/actions/copy/copy.action.ts b/src/Umbraco.Web.UI.Client/libs/entity-action/actions/copy/copy.action.ts index ac5995ea1f..bb2ff47436 100644 --- a/src/Umbraco.Web.UI.Client/libs/entity-action/actions/copy/copy.action.ts +++ b/src/Umbraco.Web.UI.Client/libs/entity-action/actions/copy/copy.action.ts @@ -1,5 +1,5 @@ -import { UmbEntityActionBase } from '@umbraco-cms/entity-action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbCopyEntityAction }> extends UmbEntityActionBase { constructor(host: UmbControllerHostInterface, repositoryAlias: string, unique: string) { diff --git a/src/Umbraco.Web.UI.Client/libs/entity-action/actions/delete/delete.action.ts b/src/Umbraco.Web.UI.Client/libs/entity-action/actions/delete/delete.action.ts index e6d9deb818..91b855ca74 100644 --- a/src/Umbraco.Web.UI.Client/libs/entity-action/actions/delete/delete.action.ts +++ b/src/Umbraco.Web.UI.Client/libs/entity-action/actions/delete/delete.action.ts @@ -1,8 +1,8 @@ import { UMB_CONFIRM_MODAL_TOKEN } from '../../../../src/backoffice/shared/modals/confirm'; -import { UmbEntityActionBase } from '@umbraco-cms/entity-action'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; +import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; export class UmbDeleteEntityAction< T extends { delete(unique: string): Promise; requestItems(uniques: Array): any } diff --git a/src/Umbraco.Web.UI.Client/libs/entity-action/actions/move/move.action.ts b/src/Umbraco.Web.UI.Client/libs/entity-action/actions/move/move.action.ts index 79c9a20dd1..284e33aba4 100644 --- a/src/Umbraco.Web.UI.Client/libs/entity-action/actions/move/move.action.ts +++ b/src/Umbraco.Web.UI.Client/libs/entity-action/actions/move/move.action.ts @@ -1,5 +1,5 @@ -import { UmbEntityActionBase } from '@umbraco-cms/entity-action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbMoveEntityAction }> extends UmbEntityActionBase { constructor(host: UmbControllerHostInterface, repositoryAlias: string, unique: string) { diff --git a/src/Umbraco.Web.UI.Client/libs/entity-action/actions/sort-children-of/sort-children-of.action.ts b/src/Umbraco.Web.UI.Client/libs/entity-action/actions/sort-children-of/sort-children-of.action.ts index 002e0b6613..ec055860c2 100644 --- a/src/Umbraco.Web.UI.Client/libs/entity-action/actions/sort-children-of/sort-children-of.action.ts +++ b/src/Umbraco.Web.UI.Client/libs/entity-action/actions/sort-children-of/sort-children-of.action.ts @@ -1,5 +1,5 @@ -import { UmbEntityActionBase } from '@umbraco-cms/entity-action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbSortChildrenOfEntityAction< T extends { sortChildrenOf(): Promise } diff --git a/src/Umbraco.Web.UI.Client/libs/entity-action/actions/trash/trash.action.ts b/src/Umbraco.Web.UI.Client/libs/entity-action/actions/trash/trash.action.ts index 36ade2fef0..95888d0ec9 100644 --- a/src/Umbraco.Web.UI.Client/libs/entity-action/actions/trash/trash.action.ts +++ b/src/Umbraco.Web.UI.Client/libs/entity-action/actions/trash/trash.action.ts @@ -1,8 +1,8 @@ import { UMB_CONFIRM_MODAL_TOKEN } from '../../../../src/backoffice/shared/modals/confirm'; -import { UmbEntityActionBase } from '@umbraco-cms/entity-action'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; +import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; export class UmbTrashEntityAction< T extends { trash(unique: Array): Promise; requestTreeItems(uniques: Array): any } diff --git a/src/Umbraco.Web.UI.Client/libs/entity-action/entity-action.ts b/src/Umbraco.Web.UI.Client/libs/entity-action/entity-action.ts index 17b010128b..2e050d0eaf 100644 --- a/src/Umbraco.Web.UI.Client/libs/entity-action/entity-action.ts +++ b/src/Umbraco.Web.UI.Client/libs/entity-action/entity-action.ts @@ -1,5 +1,5 @@ import { UmbAction, UmbActionBase } from './action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export interface UmbEntityAction extends UmbAction { unique: string; diff --git a/src/Umbraco.Web.UI.Client/libs/entity-action/entity-bulk-action.ts b/src/Umbraco.Web.UI.Client/libs/entity-action/entity-bulk-action.ts index a75ae2e498..16e084927b 100644 --- a/src/Umbraco.Web.UI.Client/libs/entity-action/entity-bulk-action.ts +++ b/src/Umbraco.Web.UI.Client/libs/entity-action/entity-bulk-action.ts @@ -1,5 +1,5 @@ import { UmbAction, UmbActionBase } from './action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export interface UmbEntityBulkAction extends UmbAction { selection: Array; diff --git a/src/Umbraco.Web.UI.Client/libs/entity-action/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/entity-action/rollup.config.js deleted file mode 100644 index 35421e5ce7..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/entity-action/rollup.config.js +++ /dev/null @@ -1,3 +0,0 @@ -import config from '../../utils/rollup.config.js'; - -export default config; diff --git a/src/Umbraco.Web.UI.Client/libs/events/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/events/rollup.config.js deleted file mode 100644 index 35421e5ce7..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/events/rollup.config.js +++ /dev/null @@ -1,3 +0,0 @@ -import config from '../../utils/rollup.config.js'; - -export default config; diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/create-extension-class.function.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/create-extension-class.function.ts index 8057ab4b62..be6781fe16 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/create-extension-class.function.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/create-extension-class.function.ts @@ -1,11 +1,14 @@ -import type { ClassConstructor, ManifestClass } from '../models'; import { hasDefaultExport } from './has-default-export.function'; import { isManifestClassConstructorType } from './is-manifest-class-instance-type.function'; import { loadExtension } from './load-extension.function'; +import type { ClassConstructor } from '@umbraco-cms/backoffice/models'; +import type { ManifestClass } from '@umbraco-cms/backoffice/extensions-registry'; //TODO: Write tests for this method: -export async function createExtensionClass(manifest: ManifestClass, constructorArguments: unknown[]): Promise { - +export async function createExtensionClass( + manifest: ManifestClass, + constructorArguments: unknown[] +): Promise { const js = await loadExtension(manifest); if (isManifestClassConstructorType(manifest)) { @@ -17,11 +20,17 @@ export async function createExtensionClass(manifest: ManifestClass, return new js.default(...constructorArguments); } - console.error('-- Extension did not succeed creating an class instance, missing a default export of the served JavaScript file', manifest); + console.error( + '-- Extension did not succeed creating an class instance, missing a default export of the served JavaScript file', + manifest + ); return undefined; } - console.error('-- Extension did not succeed creating an class instance, missing a default export or `class` in the manifest.', manifest); + console.error( + '-- Extension did not succeed creating an class instance, missing a default export or `class` in the manifest.', + manifest + ); return undefined; } diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/create-extension-element.function.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/create-extension-element.function.ts index f6e1966c0d..4da597bcb4 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/create-extension-element.function.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/create-extension-element.function.ts @@ -1,10 +1,10 @@ -import type { HTMLElementConstructor, ManifestElement } from '../models'; import { hasDefaultExport } from './has-default-export.function'; import { isManifestElementNameType } from './is-manifest-element-name-type.function'; import { loadExtension } from './load-extension.function'; +import type { HTMLElementConstructor } from '@umbraco-cms/backoffice/models'; +import type { ManifestElement } from '@umbraco-cms/backoffice/extensions-registry'; export async function createExtensionElement(manifest: ManifestElement): Promise { - //TODO: Write tests for these extension options: const js = await loadExtension(manifest); @@ -20,12 +20,18 @@ export async function createExtensionElement(manifest: ManifestElement): Promise return new js.default(); } - console.error('-- Extension did not succeed creating an element, missing a default export of the served JavaScript file', manifest); + console.error( + '-- Extension did not succeed creating an element, missing a default export of the served JavaScript file', + manifest + ); // If some JS was loaded and it did not at least contain a default export, then we are safe to assume that it executed its side effects and does not need to be returned return undefined; } - console.error('-- Extension did not succeed creating an element, missing a default export or `elementName` in the manifest.', manifest); + console.error( + '-- Extension did not succeed creating an element, missing a default export or `elementName` in the manifest.', + manifest + ); return undefined; } diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/has-init-export.function.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/has-init-export.function.ts index a7f957c7e9..4aca8929f2 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/has-init-export.function.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/has-init-export.function.ts @@ -1,4 +1,4 @@ -import type { UmbEntrypointModule } from "./umb-lifecycle.interface"; +import type { UmbEntrypointModule } from './umb-lifecycle.interface'; /** * Validate if an ESModule exports a known init function called 'onInit' diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-class-instance-type.function.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-class-instance-type.function.ts index a66cd5de85..1683d083a2 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-class-instance-type.function.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-class-instance-type.function.ts @@ -1,7 +1,5 @@ -import type { ManifestClass, ManifestClassWithClassConstructor } from '../models'; +import type { ManifestClass, ManifestClassWithClassConstructor } from '@umbraco-cms/backoffice/extensions-registry'; export function isManifestClassConstructorType(manifest: unknown): manifest is ManifestClassWithClassConstructor { - return ( - typeof manifest === 'object' && manifest !== null && (manifest as ManifestClass).class !== undefined - ); + return typeof manifest === 'object' && manifest !== null && (manifest as ManifestClass).class !== undefined; } diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-classable-type.function.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-classable-type.function.ts index e6f247b3f4..1b80efcbc7 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-classable-type.function.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-classable-type.function.ts @@ -1,7 +1,7 @@ import { isManifestJSType } from './is-manifest-js-type.function'; import { isManifestLoaderType } from './is-manifest-loader-type.function'; import { isManifestClassConstructorType } from './is-manifest-class-instance-type.function'; -import type { ManifestBase, ManifestClass } from '@umbraco-cms/extensions-registry'; +import type { ManifestBase, ManifestClass } from '@umbraco-cms/backoffice/extensions-registry'; export function isManifestClassableType(manifest: ManifestBase): manifest is ManifestClass { return isManifestClassConstructorType(manifest) || isManifestLoaderType(manifest) || isManifestJSType(manifest); diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-element-name-type.function.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-element-name-type.function.ts index a5176b90c8..0a1ec48892 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-element-name-type.function.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-element-name-type.function.ts @@ -1,7 +1,5 @@ -import type { ManifestElement, ManifestElementWithElementName } from '../models'; +import type { ManifestElement, ManifestElementWithElementName } from '@umbraco-cms/backoffice/extensions-registry'; export function isManifestElementNameType(manifest: unknown): manifest is ManifestElementWithElementName { - return ( - typeof manifest === 'object' && manifest !== null && (manifest as ManifestElement).elementName !== undefined - ); + return typeof manifest === 'object' && manifest !== null && (manifest as ManifestElement).elementName !== undefined; } diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-elementable-type.function.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-elementable-type.function.ts index 25d9c8f478..c794099245 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-elementable-type.function.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-elementable-type.function.ts @@ -1,7 +1,7 @@ import { isManifestElementNameType } from './is-manifest-element-name-type.function'; import { isManifestJSType } from './is-manifest-js-type.function'; import { isManifestLoaderType } from './is-manifest-loader-type.function'; -import type { ManifestElement, ManifestBase } from '@umbraco-cms/extensions-registry'; +import type { ManifestElement, ManifestBase } from '@umbraco-cms/backoffice/extensions-registry'; export function isManifestElementableType(manifest: ManifestBase): manifest is ManifestElement { return isManifestElementNameType(manifest) || isManifestLoaderType(manifest) || isManifestJSType(manifest); diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-js-type.function.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-js-type.function.ts index 24962b7ec0..9d4cfbf7b8 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-js-type.function.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-js-type.function.ts @@ -1,5 +1,5 @@ import { ManifestJSType } from './load-extension.function'; -import type { ManifestBase } from '@umbraco-cms/extensions-registry'; +import type { ManifestBase } from '@umbraco-cms/backoffice/extensions-registry'; export function isManifestJSType(manifest: ManifestBase | unknown): manifest is ManifestJSType { return (manifest as ManifestJSType).js !== undefined; diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-loader-type.function.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-loader-type.function.ts index b2a3ba7dbf..1f018b2d6f 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-loader-type.function.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/is-manifest-loader-type.function.ts @@ -1,5 +1,5 @@ import { ManifestLoaderType } from './load-extension.function'; -import type { ManifestBase } from '@umbraco-cms/extensions-registry'; +import type { ManifestBase } from '@umbraco-cms/backoffice/extensions-registry'; export function isManifestLoaderType(manifest: ManifestBase): manifest is ManifestLoaderType { return typeof (manifest as ManifestLoaderType).loader === 'function'; diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/load-extension.function.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/load-extension.function.ts index 516a5d6d68..7e0c0ebda3 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/load-extension.function.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/load-extension.function.ts @@ -1,6 +1,6 @@ -import type { ManifestElement } from '../models'; import { isManifestJSType } from './is-manifest-js-type.function'; import { isManifestLoaderType } from './is-manifest-loader-type.function'; +import type { ManifestElement } from '@umbraco-cms/backoffice/extensions-registry'; export type ManifestLoaderType = ManifestElement & { loader: () => Promise }; export type ManifestJSType = ManifestElement & { js: string }; diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.test.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.test.ts index 960bdfea4a..d9d2047d24 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.test.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.test.ts @@ -1,8 +1,8 @@ import { expect } from '@open-wc/testing'; -import type { ManifestTypes } from '../../models'; import { UmbExtensionRegistry } from './extension.registry'; +import type { ManifestKind, ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; -describe('UmbContextRequestEvent', () => { +describe('UmbExtensionRegistry', () => { let extensionRegistry: UmbExtensionRegistry; let manifests: Array; @@ -60,31 +60,122 @@ describe('UmbContextRequestEvent', () => { it('should get an extension by alias', (done) => { const alias = 'Umb.Test.Section.1'; - extensionRegistry.getByAlias(alias).subscribe((extension) => { - expect(extension?.alias).to.eq(alias); - done(); - }); + extensionRegistry + .getByTypeAndAlias('section', alias) + .subscribe((extension) => { + expect(extension?.alias).to.eq(alias); + done(); + }) + .unsubscribe(); }); describe('getByType', () => { const type = 'section'; it('should get all extensions by type', (done) => { - extensionRegistry.extensionsOfType(type).subscribe((extensions) => { - expect(extensions).to.have.lengthOf(3); - expect(extensions?.[0]?.type).to.eq(type); - expect(extensions?.[1]?.type).to.eq(type); - done(); - }); + extensionRegistry + .extensionsOfType(type) + .subscribe((extensions) => { + expect(extensions).to.have.lengthOf(3); + expect(extensions?.[0]?.type).to.eq(type); + expect(extensions?.[1]?.type).to.eq(type); + done(); + }) + .unsubscribe(); }); it('should return extensions ordered by weight', (done) => { - extensionRegistry.extensionsOfType(type).subscribe((extensions) => { - expect(extensions?.[0]?.weight).to.eq(200); - expect(extensions?.[1]?.weight).to.eq(25); - expect(extensions?.[2]?.weight).to.eq(1); - done(); - }); + extensionRegistry + .extensionsOfType(type) + .subscribe((extensions) => { + expect(extensions?.[0]?.weight).to.eq(200); + expect(extensions?.[1]?.weight).to.eq(25); + expect(extensions?.[2]?.weight).to.eq(1); + done(); + }) + .unsubscribe(); }); }); }); + +describe('UmbExtensionRegistry with kinds', () => { + let extensionRegistry: UmbExtensionRegistry; + let manifests: Array; + + beforeEach(() => { + extensionRegistry = new UmbExtensionRegistry(); + manifests = [ + { + type: 'kind', + alias: 'Umb.Test.Kind', + matchType: 'section', + matchKind: 'test-kind', + manifest: { + type: 'section', + elementName: 'my-kind-element', + meta: { + label: 'my-kind-meta-label', + }, + }, + }, + { + type: 'section', + kind: 'test-kind' as unknown as undefined, // We do not know about this one, so it makes good sense that its not a valid option. + name: 'test-section-1', + alias: 'Umb.Test.Section.1', + weight: 1, + meta: { + //label: 'Test Section 1',// should come from the kind. + pathname: 'test-section-1', + }, + }, + { + type: 'section', + name: 'test-section-2', + alias: 'Umb.Test.Section.2', + weight: 200, + meta: { + label: 'Test Section 2', + pathname: 'test-section-2', + }, + }, + { + type: 'section', + kind: 'test-kind' as unknown as undefined, // We do not know about this one, so it makes good sense that its not a valid option. + name: 'test-section-3', + alias: 'Umb.Test.Section.3', + weight: 25, + meta: { + label: 'Test Section 3', + pathname: 'test-section-3', + }, + }, + { + type: 'workspace', + name: 'test-editor-1', + alias: 'Umb.Test.Editor.1', + meta: { + entityType: 'testEntity', + }, + }, + ]; + + manifests.forEach((manifest) => extensionRegistry.register(manifest)); + }); + + it('should merge with kinds', (done) => { + extensionRegistry + .extensionsOfType('section') + .subscribe((extensions) => { + expect(extensions).to.have.lengthOf(3); + expect(extensions?.[0]?.elementName).to.not.eq('my-kind-element'); + expect(extensions?.[1]?.alias).to.eq('Umb.Test.Section.3'); + expect(extensions?.[1]?.elementName).to.eq('my-kind-element'); + expect(extensions?.[2]?.alias).to.eq('Umb.Test.Section.1'); + expect(extensions?.[2]?.elementName).to.eq('my-kind-element'); + expect(extensions?.[2]?.meta.label).to.eq('my-kind-meta-label'); + done(); + }) + .unsubscribe(); + }); +}); diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.ts index 14dfe2cc9e..5eee6b93ff 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.ts @@ -1,40 +1,73 @@ -import { BehaviorSubject, map, Observable } from 'rxjs'; -import type { ManifestTypes, ManifestTypeMap, ManifestBase, ManifestEntrypoint } from '../../models'; -import { loadExtension } from '../load-extension.function'; -import { hasInitExport } from "../has-init-export.function"; -import type { UmbControllerHostInterface } from "@umbraco-cms/controller"; -import { UmbContextToken } from "@umbraco-cms/context-api"; +import { BehaviorSubject, withLatestFrom, map, Observable, distinctUntilChanged } from 'rxjs'; +import type { + ManifestTypes, + ManifestTypeMap, + ManifestBase, + SpecificManifestTypeOrManifestBase, + ManifestKind, +} from '@umbraco-cms/backoffice/extensions-registry'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; -type SpecificManifestTypeOrManifestBase = T extends keyof ManifestTypeMap - ? ManifestTypeMap[T] - : ManifestBase; +function extensionArrayMemoization( + previousValue: Array, + currentValue: Array +): boolean { + // If length is different, data is different: + if (previousValue.length !== currentValue.length) { + return true; + } + // previousValue has an alias that is not present in currentValue: + if (previousValue.find((p) => !currentValue.find((c) => c.alias === p.alias))) { + return true; + } + return false; +} + +function extensionSingleMemoization( + previousValue: T | undefined, + currentValue: T | undefined +): boolean { + if (previousValue && currentValue) { + return previousValue.alias !== currentValue.alias; + } + return previousValue !== currentValue; +} + +const sortExtensions = (a: ManifestBase, b: ManifestBase) => (b.weight || 0) - (a.weight || 0); export class UmbExtensionRegistry { - // TODO: Use UniqueBehaviorSubject, as we don't want someone to edit data of extensions. - private _extensions = new BehaviorSubject>([]); + private _extensions = new BehaviorSubject>([]); public readonly extensions = this._extensions.asObservable(); - register(manifest: ManifestTypes, rootHost?: UmbControllerHostInterface): void { - const extensionsValues = this._extensions.getValue(); - const extension = extensionsValues.find((extension) => extension.alias === manifest.alias); + private _kinds = new BehaviorSubject>([]); + public readonly kinds = this._kinds.asObservable(); - if (extension) { - console.error(`Extension with alias ${manifest.alias} is already registered`); + defineKind(kind: ManifestKind) { + const nextData = this._kinds + .getValue() + .filter( + (k) => k.matchType !== (kind as ManifestKind).matchType && k.matchKind !== (kind as ManifestKind).matchKind + ); + nextData.push(kind as ManifestKind); + this._kinds.next(nextData); + } + + register(manifest: ManifestTypes | ManifestKind): void { + if (manifest.type === 'kind') { + this.defineKind(manifest as ManifestKind); return; } - this._extensions.next([...extensionsValues, manifest]); + const extensionsValues = this._extensions.getValue(); + const extension = extensionsValues.find((extension) => extension.alias === (manifest as ManifestTypes).alias); - // If entrypoint extension, we should load and run it immediately - if (manifest.type === 'entrypoint') { - loadExtension(manifest as ManifestEntrypoint).then((js) => { - // If the extension has an onInit export, be sure to run that or else let the module handle itself - if (hasInitExport(js)) { - js.onInit(rootHost!, this); - } - }); + if (extension) { + console.error(`Extension with alias ${(manifest as ManifestTypes).alias} is already registered`); + return; } + + this._extensions.next([...extensionsValues, manifest as ManifestTypes]); } unregister(alias: string): void { @@ -55,44 +88,115 @@ export class UmbExtensionRegistry { return values.some((ext) => ext.alias === alias); } + /* getByAlias(alias: string) { // TODO: make pipes prettier/simpler/reuseable - return this.extensions.pipe(map((dataTypes) => dataTypes.find((extension) => extension.alias === alias) || null)); + return this.extensions.pipe(map((extensions) => extensions.find((extension) => extension.alias === alias) || null)); } + */ - getByTypeAndAlias(type: Key, alias: string) { - return this.extensionsOfType(type).pipe( - map((extensions) => extensions.find((extension) => extension.alias === alias) || null) + private _kindsOfType(type: Key) { + return this.kinds.pipe( + map((kinds) => kinds.filter((kind) => kind.matchType === type)), + distinctUntilChanged(extensionArrayMemoization) ); } - - extensionsOfType>(type: Key) { + private _extensionsOfType(type: Key) { return this.extensions.pipe( - map((exts) => exts.filter((ext) => ext.type === type).sort((a, b) => (b.weight || 0) - (a.weight || 0))) + map((exts) => exts.filter((ext) => ext.type === type)), + distinctUntilChanged(extensionArrayMemoization) + ); + } + private _kindsOfTypes(types: string[]) { + return this.kinds.pipe( + map((kinds) => kinds.filter((kind) => types.indexOf(kind.matchType) !== -1)), + distinctUntilChanged(extensionArrayMemoization) + ); + } + private _extensionsOfTypes(types: string[]): Observable> { + return this.extensions.pipe( + map((exts) => exts.filter((ext) => types.indexOf(ext.type) !== -1)), + distinctUntilChanged(extensionArrayMemoization) + ) as Observable>; + } + + getByTypeAndAlias< + Key extends keyof ManifestTypeMap | string, + T extends ManifestBase = SpecificManifestTypeOrManifestBase + >(type: Key, alias: string) { + return this.extensions.pipe( + map((exts) => exts.find((ext) => ext.type === type && ext.alias === alias)), + withLatestFrom(this._kindsOfType(type)), + map(([ext, kinds]) => { + // TODO: share one merge function between the different methods of this class: + // Specific Extension Meta merge (does not merge conditions) + if (ext) { + const baseManifest = kinds.find((kind) => kind.matchKind === ext.kind)?.manifest; + if (baseManifest) { + const merged = { ...baseManifest, ...ext } as any; + if ((baseManifest as any).meta) { + merged.meta = { ...(baseManifest as any).meta, ...(ext as any).meta }; + } + return merged; + } + } + return ext; + }), + distinctUntilChanged(extensionSingleMemoization) + ) as Observable; + } + + extensionsOfType< + Key extends keyof ManifestTypeMap | string, + T extends ManifestBase = SpecificManifestTypeOrManifestBase + >(type: Key) { + return this._extensionsOfType(type).pipe( + withLatestFrom(this._kindsOfType(type)), + map(([exts, kinds]) => + exts + .map((ext) => { + // Specific Extension Meta merge (does not merge conditions) + const baseManifest = kinds.find((kind) => kind.matchKind === ext.kind)?.manifest; + if (baseManifest) { + const merged = { ...baseManifest, ...ext } as any; + if ((baseManifest as any).meta) { + merged.meta = { ...(baseManifest as any).meta, ...(ext as any).meta }; + } + return merged; + } + return ext; + }) + .sort(sortExtensions) + ), + distinctUntilChanged(extensionArrayMemoization) ) as Observable>; } - extensionsOfTypes(types: string[]): Observable> { - return this.extensions.pipe( - map((exts) => - exts.filter((ext) => types.indexOf(ext.type) !== -1).sort((a, b) => (b.weight || 0) - (a.weight || 0)) - ) - ) as Observable>; - } - - extensionsSortedByTypeAndWeight(): Observable> { - return this.extensions.pipe( - map((exts) => exts - .sort((a, b) => { - // If type is the same, sort by weight - if (a.type === b.type) { - return (a.weight || 0) - (b.weight || 0); - } - - // Otherwise sort by type - return a.type.localeCompare(b.type); - })) - ) as Observable>; + extensionsOfTypes( + types: string[] + ): Observable> { + return this._extensionsOfTypes(types).pipe( + withLatestFrom(this._kindsOfTypes(types)), + map(([exts, kinds]) => + exts + .map((ext) => { + // Specific Extension Meta merge (does not merge conditions) + if (ext) { + const baseManifest = kinds.find((kind) => kind.matchKind === ext.kind)?.manifest; + if (baseManifest) { + const merged = { ...baseManifest, ...ext } as any; + if ((baseManifest as any).meta) { + merged.meta = { ...(baseManifest as any).meta, ...(ext as any).meta }; + } + return merged; + } + } + return ext; + }) + .sort(sortExtensions) + ), + distinctUntilChanged(extensionArrayMemoization) + ) as Observable>; } } diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/extensions-api/rollup.config.js deleted file mode 100644 index 35421e5ce7..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/rollup.config.js +++ /dev/null @@ -1,3 +0,0 @@ -import config from '../../utils/rollup.config.js'; - -export default config; diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/umb-lifecycle.interface.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/umb-lifecycle.interface.ts index f602a5d9cc..a676b15c1b 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/umb-lifecycle.interface.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/umb-lifecycle.interface.ts @@ -1,5 +1,5 @@ import type { UmbExtensionRegistry } from './registry/extension.registry'; -import type { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import type { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export type UmbEntrypointOnInit = (host: UmbControllerHostInterface, extensionRegistry: UmbExtensionRegistry) => void; diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/entry-point-extension-initializer.ts b/src/Umbraco.Web.UI.Client/libs/extensions-registry/entry-point-extension-initializer.ts new file mode 100644 index 0000000000..e1e051f5f8 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/extensions-registry/entry-point-extension-initializer.ts @@ -0,0 +1,28 @@ +import type { ManifestEntrypoint } from './models'; +import { hasInitExport, loadExtension, UmbExtensionRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; + +export class UmbEntryPointExtensionInitializer { + #rootHost; + #extensionRegistry; + + constructor(rootHost: UmbControllerHostInterface, extensionRegistry: UmbExtensionRegistry) { + this.#rootHost = rootHost; + this.#extensionRegistry = extensionRegistry; + // TODO: change entrypoint extension to be entryPoint: + extensionRegistry.extensionsOfType('entrypoint').subscribe((entryPoints) => { + entryPoints.forEach((entryPoint) => { + this.instantiateEntryPoint(entryPoint); + }); + }); + } + + instantiateEntryPoint(manifest: ManifestEntrypoint) { + loadExtension(manifest).then((js) => { + // If the extension has an onInit export, be sure to run that or else let the module handle itself + if (hasInitExport(js)) { + js.onInit(this.#rootHost, this.#extensionRegistry); + } + }); + } +} diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/header-app.models.ts b/src/Umbraco.Web.UI.Client/libs/extensions-registry/header-app.models.ts index 4a6f1d59d5..4834a8d9bf 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-registry/header-app.models.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-registry/header-app.models.ts @@ -2,7 +2,7 @@ import type { ManifestElement } from './models'; export interface ManifestHeaderApp extends ManifestElement { type: 'headerApp'; - meta: MetaHeaderApp; + //meta: MetaHeaderApp; } export interface MetaHeaderApp { @@ -10,3 +10,15 @@ export interface MetaHeaderApp { label: string; icon: string; } + +export interface ManifestHeaderAppButtonKind extends ManifestHeaderApp { + type: 'headerApp'; + kind: 'button'; + meta: MetaHeaderAppButtonKind; +} + +export interface MetaHeaderAppButtonKind { + href: string; + label: string; + icon: string; +} diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/index.ts b/src/Umbraco.Web.UI.Client/libs/extensions-registry/index.ts index e9644dae47..3ea5cea392 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-registry/index.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-registry/index.ts @@ -1 +1,2 @@ export * from './models'; +export * from './entry-point-extension-initializer'; diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/menu-item.models.ts b/src/Umbraco.Web.UI.Client/libs/extensions-registry/menu-item.models.ts index 56c81a7de8..e27223bbf8 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-registry/menu-item.models.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-registry/menu-item.models.ts @@ -15,3 +15,16 @@ export interface MetaMenuItem { export interface ConditionsMenuItem { menus: Array; } + +export interface ManifestMenuItemTreeKind extends ManifestMenuItem { + type: 'menuItem'; + kind: 'tree'; + meta: MetaMenuItemTreeKind; +} + +export interface MetaMenuItemTreeKind { + treeAlias: string; + label: string; + icon: string; + entityType?: string; +} diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/models.ts b/src/Umbraco.Web.UI.Client/libs/extensions-registry/models.ts index 4655df55d8..871567b74d 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-registry/models.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-registry/models.ts @@ -4,16 +4,16 @@ import type { ManifestDashboardCollection } from './dashboard-collection.models' import type { ManifestEntityAction } from './entity-action.models'; import type { ManifestEntityBulkAction } from './entity-bulk-action.models'; import type { ManifestExternalLoginProvider } from './external-login-provider.models'; -import type { ManifestHeaderApp } from './header-app.models'; +import type { ManifestHeaderApp, ManifestHeaderAppButtonKind } from './header-app.models'; import type { ManifestHealthCheck } from './health-check.models'; import type { ManifestPackageView } from './package-view.models'; import type { ManifestPropertyAction } from './property-action.models'; import type { ManifestPropertyEditorUI, ManifestPropertyEditorModel } from './property-editor.models'; import type { ManifestSection } from './section.models'; import type { ManifestSectionView } from './section-view.models'; -import type { ManifestSectionSidebarApp, ManifestMenuSectionSidebarApp } from './section-sidebar-app.models'; +import type { ManifestSectionSidebarApp, ManifestSectionSidebarAppMenuKind } from './section-sidebar-app.models'; import type { ManifestMenu } from './menu.models'; -import type { ManifestMenuItem } from './menu-item.models'; +import type { ManifestMenuItem, ManifestMenuItemTreeKind } from './menu-item.models'; import type { ManifestTheme } from './theme.models'; import type { ManifestTree } from './tree.models'; import type { ManifestUserDashboard } from './user-dashboard.models'; @@ -24,7 +24,7 @@ import type { ManifestWorkspaceViewCollection } from './workspace-view-collectio import type { ManifestRepository } from './repository.models'; import type { ManifestModal } from './modal.models'; import type { ManifestStore, ManifestTreeStore } from './store.models'; -import type { ClassConstructor } from '@umbraco-cms/models'; +import type { ClassConstructor } from '@umbraco-cms/backoffice/models'; export * from './collection-view.models'; export * from './dashboard-collection.models'; @@ -55,7 +55,6 @@ export * from './modal.models'; export type ManifestTypes = | ManifestCollectionView - | ManifestCustom | ManifestDashboard | ManifestDashboardCollection | ManifestEntityAction @@ -63,6 +62,7 @@ export type ManifestTypes = | ManifestEntrypoint | ManifestExternalLoginProvider | ManifestHeaderApp + | ManifestHeaderAppButtonKind | ManifestHealthCheck | ManifestPackageView | ManifestPropertyAction @@ -71,10 +71,11 @@ export type ManifestTypes = | ManifestRepository | ManifestSection | ManifestSectionSidebarApp + | ManifestSectionSidebarAppMenuKind | ManifestSectionView - | ManifestMenuSectionSidebarApp | ManifestMenu | ManifestMenuItem + | ManifestMenuItemTreeKind | ManifestTheme | ManifestTree | ManifestUserDashboard @@ -93,13 +94,25 @@ export type ManifestTypeMap = { [Manifest in ManifestTypes as Manifest['type']]: Manifest; }; +export type SpecificManifestTypeOrManifestBase = + T extends keyof ManifestTypeMap ? ManifestTypeMap[T] : ManifestBase; + export interface ManifestBase { type: string; alias: string; + kind?: any; // I had to add the optional kind property set to undefined. To make the ManifestTypes recognize the Manifest Kind types. Notice that Kinds has to Omit the kind property when extending. name: string; weight?: number; } +export interface ManifestKind { + type: 'kind'; + alias: string; + matchType: string; + matchKind: string; + manifest: Partial; +} + export interface ManifestWithConditions { conditions: ConditionsType; } @@ -109,7 +122,7 @@ export interface ManifestWithLoader extends ManifestBase { } export interface ManifestClass extends ManifestWithLoader { - type: ManifestStandardTypes; + //type: ManifestStandardTypes; js?: string; className?: string; class?: ClassConstructor; @@ -121,11 +134,11 @@ export interface ManifestClassWithClassConstructor extends ManifestClass { } export interface ManifestElement extends ManifestWithLoader { - type: ManifestStandardTypes; + //type: ManifestStandardTypes; js?: string; elementName?: string; //loader?: () => Promise; - meta?: unknown; + meta?: any; } export interface ManifestWithView extends ManifestElement { @@ -142,10 +155,13 @@ export interface ManifestElementWithElementName extends ManifestElement { elementName: string; } +// TODO: Remove Custom as it has no purpose currently: +/* export interface ManifestCustom extends ManifestBase { type: 'custom'; meta?: unknown; } +*/ export interface ManifestWithMeta extends ManifestBase { meta: unknown; diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/extensions-registry/rollup.config.js deleted file mode 100644 index 35421e5ce7..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/extensions-registry/rollup.config.js +++ /dev/null @@ -1,3 +0,0 @@ -import config from '../../utils/rollup.config.js'; - -export default config; diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/section-sidebar-app.models.ts b/src/Umbraco.Web.UI.Client/libs/extensions-registry/section-sidebar-app.models.ts index 5b188b3aa2..c769ded62b 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-registry/section-sidebar-app.models.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-registry/section-sidebar-app.models.ts @@ -9,14 +9,13 @@ export interface ConditionsSectionSidebarApp { sections: Array; } -// TODO: this is a temp solution until we implement kinds -export interface ManifestMenuSectionSidebarApp extends Omit { - type: 'menuSectionSidebarApp'; - meta: MetaMenuSectionSidebarApp; - conditions: ConditionsSectionSidebarApp; +export interface ManifestSectionSidebarAppMenuKind extends ManifestSectionSidebarApp { + type: 'sectionSidebarApp'; + kind: 'menu'; + meta: MetaSectionSidebarAppMenuKind; } -export interface MetaMenuSectionSidebarApp { +export interface MetaSectionSidebarAppMenuKind { label: string; menu: string; } diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/store.models.ts b/src/Umbraco.Web.UI.Client/libs/extensions-registry/store.models.ts index 35a156c466..abeb6b9fda 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-registry/store.models.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-registry/store.models.ts @@ -1,5 +1,5 @@ import type { ManifestClass } from './models'; -import { UmbStoreBase, UmbTreeStoreBase } from '@umbraco-cms/store'; +import { UmbStoreBase, UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; export interface ManifestStore extends ManifestClass { type: 'store'; diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/theme.models.ts b/src/Umbraco.Web.UI.Client/libs/extensions-registry/theme.models.ts index ff2cdcb3f9..81b84ee0bb 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-registry/theme.models.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-registry/theme.models.ts @@ -1,5 +1,4 @@ -import type { ManifestWithLoader } from "./models"; - +import type { ManifestWithLoader } from './models'; // TODO: make or find type for JS Module with default export: Would be nice to support css file directly. export interface ManifestTheme extends ManifestWithLoader { diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/tinymce-plugin.model.ts b/src/Umbraco.Web.UI.Client/libs/extensions-registry/tinymce-plugin.model.ts index ff338c1b51..a7be4cf2c0 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-registry/tinymce-plugin.model.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-registry/tinymce-plugin.model.ts @@ -1,6 +1,6 @@ +import type { ClassConstructor } from "@umbraco-cms/backoffice/models"; import { TinyMcePluginArguments, TinyMcePluginBase } from "../../src/backoffice/shared/property-editors/uis/tiny-mce/plugins/tiny-mce-plugin"; import type { ManifestBase } from "./models"; -import type { ClassConstructor } from "@umbraco-cms/models"; export interface ManifestTinyMcePlugin extends ManifestBase { type: 'tinyMcePlugin'; diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/tree.models.ts b/src/Umbraco.Web.UI.Client/libs/extensions-registry/tree.models.ts index b0f83e99f7..d4eea123a9 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-registry/tree.models.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-registry/tree.models.ts @@ -1,5 +1,5 @@ import type { ManifestBase } from './models'; -import type { ClassConstructor } from '@umbraco-cms/models'; +import type { ClassConstructor } from '@umbraco-cms/backoffice/models'; export interface ManifestTree extends ManifestBase { type: 'tree'; diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/workspace-action.models.ts b/src/Umbraco.Web.UI.Client/libs/extensions-registry/workspace-action.models.ts index 2ba63ea647..d55d4f4f89 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-registry/workspace-action.models.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-registry/workspace-action.models.ts @@ -1,7 +1,7 @@ import type { InterfaceColor, InterfaceLook } from '@umbraco-ui/uui-base/lib/types/index'; import type { ManifestElement } from './models'; -import { UmbWorkspaceAction } from '@umbraco-cms/workspace'; -import type { ClassConstructor } from '@umbraco-cms/models'; +import { UmbWorkspaceAction } from '@umbraco-cms/backoffice/workspace'; +import type { ClassConstructor } from '@umbraco-cms/backoffice/models'; export interface ManifestWorkspaceAction extends ManifestElement { type: 'workspaceAction'; diff --git a/src/Umbraco.Web.UI.Client/libs/macro/macro.service.ts b/src/Umbraco.Web.UI.Client/libs/macro/macro.service.ts index 468245e05a..11c02f9f90 100644 --- a/src/Umbraco.Web.UI.Client/libs/macro/macro.service.ts +++ b/src/Umbraco.Web.UI.Client/libs/macro/macro.service.ts @@ -1,148 +1,148 @@ -import { UmbContextToken } from "@umbraco-cms/context-api"; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; -export interface MacroSyntaxData { macroAlias: string, macroParamsDictionary: {[key: string]: string}, syntax?: string}; - -export class UmbMacroService { - - /** parses the special macro syntax like - * and returns an object with the macro alias and it's parameters - * */ - parseMacroSyntax(syntax = '') { - - //This regex will match an alias of anything except characters that are quotes or new lines (for legacy reasons, when new macros are created - // their aliases are cleaned an invalid chars are stripped) - const expression = /(<\?UMBRACO_MACRO (?:.+?)?macroAlias=["']([^"'\n\r]+?)["'][\s\S]+?)(\/>|>.*?<\/\?UMBRACO_MACRO>)/i; - const match = expression.exec(syntax); - - if (!match || match.length < 3) { - return null; - } - - const macroAlias = match[2]; - - //this will leave us with just the parameters - const paramsChunk = match[1].trim().replace(new RegExp(`UMBRACO_MACRO macroAlias=["']${macroAlias}["']`), '').trim(); - const paramExpression = /(\w+?)=['"]([\s\S]*?)['"]/g; - - const returnVal: MacroSyntaxData = { - macroAlias, - macroParamsDictionary: {} - }; - - let paramMatch; - while ((paramMatch = paramExpression.exec(paramsChunk))) { - returnVal.macroParamsDictionary[paramMatch[1]] = paramMatch[2]; - } - - return returnVal; - } - - /** - * generates the syntax for inserting a macro into a rich text editor - this is the very old umbraco style syntax * - * @param {MacroSyntaxData} args an object containing the macro alias and it's parameter values - */ - generateMacroSyntax(args: MacroSyntaxData) { - let macroString = `'; - - return macroString; - } - - /** - * generates the syntax for inserting a macro into an mvc template * - * @param {object} args an object containing the macro alias and it's parameter values - */ - generateMvcSyntax(args: MacroSyntaxData) { - let macroString = `@await Umbraco.RenderMacroAsync("${args.macroAlias}"`; - let hasParams = false; - let paramString = ''; - - if (args.macroParamsDictionary) { - - paramString = ', new {'; - - for (const [key, val] of Object.entries(args.macroParamsDictionary)) { - hasParams = true; - - const keyVal = `${key}="${(val ? val : '')}", `; - - paramString += keyVal; - } - - //remove the last , and trailing whitespace - paramString = paramString.trimEnd().replace(/,*$/, ''); - paramString += '}'; - } - - if (hasParams) { - macroString += paramString; - } - - macroString += ')'; - - return macroString; - } - - collectValueData(macro: any, macroParams: any, renderingEngine: any) { - const macroParamsDictionary: { [key: string]: string} = {}; - const macroAlias = macro.alias; - if (!macroAlias) { - throw "The macro object does not contain an alias"; - } - - macroParams.forEach((item: any) => { - let val = item.value; - if (item.value !== null && item.value !== undefined && typeof item.value !== 'string') { - try { - val = JSON.parse(val); - } - catch (e) { - // not json - } - } - - //each value needs to be xml escaped!! since the value get's stored as an xml attribute - macroParamsDictionary[item.alias] = encodeURIComponent(val); - }); - - let syntax; - - //get the syntax based on the rendering engine - if (renderingEngine && renderingEngine.toLowerCase() === 'mvc') { - syntax = this.generateMvcSyntax({ macroAlias, macroParamsDictionary }); - } - else { - syntax = this.generateMacroSyntax({ macroAlias, macroParamsDictionary }); - } - - return { - macroParamsDictionary, - macroAlias, - syntax, - } as MacroSyntaxData; - } +export interface MacroSyntaxData { + macroAlias: string; + macroParamsDictionary: { [key: string]: string }; + syntax?: string; } -export const UMB_MACRO_SERVICE_CONTEXT_TOKEN = new UmbContextToken( - UmbMacroService.name -); \ No newline at end of file +export class UmbMacroService { + /** parses the special macro syntax like + * and returns an object with the macro alias and it's parameters + * */ + parseMacroSyntax(syntax = '') { + //This regex will match an alias of anything except characters that are quotes or new lines (for legacy reasons, when new macros are created + // their aliases are cleaned an invalid chars are stripped) + const expression = + /(<\?UMBRACO_MACRO (?:.+?)?macroAlias=["']([^"'\n\r]+?)["'][\s\S]+?)(\/>|>.*?<\/\?UMBRACO_MACRO>)/i; + const match = expression.exec(syntax); + + if (!match || match.length < 3) { + return null; + } + + const macroAlias = match[2]; + + //this will leave us with just the parameters + const paramsChunk = match[1] + .trim() + .replace(new RegExp(`UMBRACO_MACRO macroAlias=["']${macroAlias}["']`), '') + .trim(); + const paramExpression = /(\w+?)=['"]([\s\S]*?)['"]/g; + + const returnVal: MacroSyntaxData = { + macroAlias, + macroParamsDictionary: {}, + }; + + let paramMatch; + while ((paramMatch = paramExpression.exec(paramsChunk))) { + returnVal.macroParamsDictionary[paramMatch[1]] = paramMatch[2]; + } + + return returnVal; + } + + /** + * generates the syntax for inserting a macro into a rich text editor - this is the very old umbraco style syntax * + * @param {MacroSyntaxData} args an object containing the macro alias and it's parameter values + */ + generateMacroSyntax(args: MacroSyntaxData) { + let macroString = `'; + + return macroString; + } + + /** + * generates the syntax for inserting a macro into an mvc template * + * @param {object} args an object containing the macro alias and it's parameter values + */ + generateMvcSyntax(args: MacroSyntaxData) { + let macroString = `@await Umbraco.RenderMacroAsync("${args.macroAlias}"`; + let hasParams = false; + let paramString = ''; + + if (args.macroParamsDictionary) { + paramString = ', new {'; + + for (const [key, val] of Object.entries(args.macroParamsDictionary)) { + hasParams = true; + + const keyVal = `${key}="${val ? val : ''}", `; + + paramString += keyVal; + } + + //remove the last , and trailing whitespace + paramString = paramString.trimEnd().replace(/,*$/, ''); + paramString += '}'; + } + + if (hasParams) { + macroString += paramString; + } + + macroString += ')'; + + return macroString; + } + + collectValueData(macro: any, macroParams: any, renderingEngine: any) { + const macroParamsDictionary: { [key: string]: string } = {}; + const macroAlias = macro.alias; + if (!macroAlias) { + throw 'The macro object does not contain an alias'; + } + + macroParams.forEach((item: any) => { + let val = item.value; + if (item.value !== null && item.value !== undefined && typeof item.value !== 'string') { + try { + val = JSON.parse(val); + } catch (e) { + // not json + } + } + + //each value needs to be xml escaped!! since the value get's stored as an xml attribute + macroParamsDictionary[item.alias] = encodeURIComponent(val); + }); + + let syntax; + + //get the syntax based on the rendering engine + if (renderingEngine && renderingEngine.toLowerCase() === 'mvc') { + syntax = this.generateMvcSyntax({ macroAlias, macroParamsDictionary }); + } else { + syntax = this.generateMacroSyntax({ macroAlias, macroParamsDictionary }); + } + + return { + macroParamsDictionary, + macroAlias, + syntax, + } as MacroSyntaxData; + } +} + +export const UMB_MACRO_SERVICE_CONTEXT_TOKEN = new UmbContextToken(UmbMacroService.name); diff --git a/src/Umbraco.Web.UI.Client/libs/modal/index.ts b/src/Umbraco.Web.UI.Client/libs/modal/index.ts index 5882bda117..3c252e27f2 100644 --- a/src/Umbraco.Web.UI.Client/libs/modal/index.ts +++ b/src/Umbraco.Web.UI.Client/libs/modal/index.ts @@ -1,5 +1,4 @@ export * from './modal.context'; export * from './modal-handler'; -export * from './elements/modal-element.element'; -export * from './elements/modal-element-picker-base'; export * from './token/modal-token'; +export * from './modal.interfaces'; diff --git a/src/Umbraco.Web.UI.Client/libs/modal/modal-handler.ts b/src/Umbraco.Web.UI.Client/libs/modal/modal-handler.ts index bf46856f13..ec77d83c3e 100644 --- a/src/Umbraco.Web.UI.Client/libs/modal/modal-handler.ts +++ b/src/Umbraco.Web.UI.Client/libs/modal/modal-handler.ts @@ -5,10 +5,10 @@ import { v4 as uuidv4 } from 'uuid'; import { BehaviorSubject } from 'rxjs'; import { UmbModalConfig, UmbModalType } from './modal.context'; import { UmbModalToken } from './token/modal-token'; -import { createExtensionElement, umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import { UmbObserverController } from '@umbraco-cms/observable-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { ManifestModal } from '@umbraco-cms/extensions-registry'; +import { createExtensionElement, umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { UmbObserverController } from '@umbraco-cms/backoffice/observable-api'; +import type { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import type { ManifestModal } from '@umbraco-cms/backoffice/extensions-registry'; /** * Type which omits the real submit method, and replaces it with a submit method which accepts an optional argument depending on the generic type. diff --git a/src/Umbraco.Web.UI.Client/libs/modal/modal.context.ts b/src/Umbraco.Web.UI.Client/libs/modal/modal.context.ts index aacb0f1646..0b54fbf806 100644 --- a/src/Umbraco.Web.UI.Client/libs/modal/modal.context.ts +++ b/src/Umbraco.Web.UI.Client/libs/modal/modal.context.ts @@ -6,8 +6,8 @@ import { BehaviorSubject } from 'rxjs'; import type { UUIModalDialogElement } from '@umbraco-ui/uui-modal-dialog'; import { UmbModalHandler, UmbModalHandlerClass } from './modal-handler'; import type { UmbModalToken } from './token/modal-token'; -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export type UmbModalType = 'dialog' | 'sidebar'; diff --git a/src/Umbraco.Web.UI.Client/libs/modal/modal.interfaces.ts b/src/Umbraco.Web.UI.Client/libs/modal/modal.interfaces.ts new file mode 100644 index 0000000000..86ad653a1b --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/modal/modal.interfaces.ts @@ -0,0 +1,9 @@ +export interface UmbPickerModalData { + multiple: boolean; + selection: Array; + filter?: (language: T) => boolean; +} + +export interface UmbPickerModalResult { + selection: Array; +} diff --git a/src/Umbraco.Web.UI.Client/libs/models/index.ts b/src/Umbraco.Web.UI.Client/libs/models/index.ts index 9a0da3170f..9690ea94f9 100644 --- a/src/Umbraco.Web.UI.Client/libs/models/index.ts +++ b/src/Umbraco.Web.UI.Client/libs/models/index.ts @@ -1,18 +1,14 @@ -import { +import type { ContentTreeItemResponseModel, - DictionaryItemTranslationModel, EntityTreeItemResponseModel, FolderTreeItemResponseModel, PackageManifestResponseModel, - ProblemDetailsModel, -} from '@umbraco-cms/backend-api'; - -// Extension Manifests -export * from '@umbraco-cms/extensions-registry'; +} from '@umbraco-cms/backoffice/backend-api'; // eslint-disable-next-line @typescript-eslint/no-explicit-any export type HTMLElementConstructor = new (...args: any[]) => T; +// eslint-disable-next-line @typescript-eslint/no-explicit-any export type ClassConstructor = new (...args: any[]) => T; // Users @@ -26,13 +22,6 @@ export interface Entity { parentKey: string | null; } -export interface ContentDetails extends ContentTreeItemResponseModel { - isTrashed: boolean; // TODO: remove only temp part of refactor - properties: Array; - //data: Array; - //layout?: any; // TODO: define layout type - make it non-optional -} - export interface UserEntity extends Entity { type: 'user'; } @@ -64,21 +53,6 @@ export interface UserGroupDetails extends UserGroupEntity { permissions: Array; } -/* -// Data Types -export interface DataTypeDetails extends FolderTreeItemModel { - key: string; // TODO: Remove this when the backend is fixed - propertyEditorAlias: string | null; - propertyEditorUiAlias: string | null; - data: Array; -} - -export interface DataTypeProperty { - alias: string; - value: any; -} -*/ - // TODO: Make sure Entity Type/interface. export interface MemberTypeDetails extends EntityTreeItemResponseModel { key: string; // TODO: Remove this when the backend is fixed @@ -86,29 +60,6 @@ export interface MemberTypeDetails extends EntityTreeItemResponseModel { properties: []; } -// Content -export interface ContentProperty { - alias: string; - label: string; - description: string; - dataTypeKey: string; -} - -export interface ContentPropertyData { - alias: string; - value: any; -} - -// Media -export interface MediaDetails extends ContentTreeItemResponseModel { - key: string; // TODO: Remove this when the backend is fixed - isTrashed: boolean; // TODO: remove only temp part of refactor - properties: Array; - data: Array; - variants: Array; // TODO: define variant data - //layout?: any; // TODO: define layout type - make it non-optional -} - // Media Types export interface MediaTypeDetails extends FolderTreeItemResponseModel { @@ -126,12 +77,6 @@ export interface MemberDetails extends EntityTreeItemResponseModel { key: string; // TODO: Remove this when the backend is fixed } -// Dictionary -export interface DictionaryDetails extends EntityTreeItemResponseModel { - key: string; // TODO: Remove this when the backend is fixed - translations: DictionaryItemTranslationModel[]; -} - // Document Blueprint export interface DocumentBlueprintDetails { key: string; @@ -143,11 +88,6 @@ export interface DocumentBlueprintDetails { documentTypeKey: string; } -export interface DataSourceResponse { - data?: T; - error?: ProblemDetailsModel; -} - export interface SwatchDetails { label: string; value: string; diff --git a/src/Umbraco.Web.UI.Client/libs/models/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/models/rollup.config.js deleted file mode 100644 index 35421e5ce7..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/models/rollup.config.js +++ /dev/null @@ -1,3 +0,0 @@ -import config from '../../utils/rollup.config.js'; - -export default config; diff --git a/src/Umbraco.Web.UI.Client/libs/notification/notification.context.ts b/src/Umbraco.Web.UI.Client/libs/notification/notification.context.ts index e3aad5ccd4..1cf55a0525 100644 --- a/src/Umbraco.Web.UI.Client/libs/notification/notification.context.ts +++ b/src/Umbraco.Web.UI.Client/libs/notification/notification.context.ts @@ -1,6 +1,6 @@ import { BehaviorSubject } from 'rxjs'; import { UmbNotificationHandler } from './notification-handler'; -import { UmbContextToken } from '@umbraco-cms/context-api'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; /** * The default data of notifications diff --git a/src/Umbraco.Web.UI.Client/libs/notification/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/notification/rollup.config.js deleted file mode 100644 index 35421e5ce7..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/notification/rollup.config.js +++ /dev/null @@ -1,3 +0,0 @@ -import config from '../../utils/rollup.config.js'; - -export default config; diff --git a/src/Umbraco.Web.UI.Client/libs/observable-api/basic-state.ts b/src/Umbraco.Web.UI.Client/libs/observable-api/basic-state.ts index 3512c0508c..57d7f8581b 100644 --- a/src/Umbraco.Web.UI.Client/libs/observable-api/basic-state.ts +++ b/src/Umbraco.Web.UI.Client/libs/observable-api/basic-state.ts @@ -1,4 +1,4 @@ -import { BehaviorSubject } from "rxjs"; +import { BehaviorSubject } from 'rxjs'; /** * @export @@ -12,7 +12,7 @@ export class BasicState extends BehaviorSubject { } next(newData: T): void { - if(newData !== this.getValue()) { + if (newData !== this.getValue()) { super.next(newData); } } diff --git a/src/Umbraco.Web.UI.Client/libs/observable-api/class-state.ts b/src/Umbraco.Web.UI.Client/libs/observable-api/class-state.ts index 138d51b055..11c38dc6b9 100644 --- a/src/Umbraco.Web.UI.Client/libs/observable-api/class-state.ts +++ b/src/Umbraco.Web.UI.Client/libs/observable-api/class-state.ts @@ -6,10 +6,9 @@ interface ClassStateData { /** * @export - * @class DeepState + * @class ClassState * @extends {BehaviorSubject} - * @description - A RxJS BehaviorSubject which deepFreezes the data to ensure its not manipulated from any implementations. - * Additionally the Subject ensures the data is unique, not updating any Observes unless there is an actual change of the content. + * @description - A RxJS BehaviorSubject which can hold class instance which has a equal method to compare in coming instances for changes. */ export class ClassState extends BehaviorSubject { constructor(initialData: T) { diff --git a/src/Umbraco.Web.UI.Client/libs/observable-api/create-observable-part.function.ts b/src/Umbraco.Web.UI.Client/libs/observable-api/create-observable-part.function.ts index 5dd2e2f085..c795965a84 100644 --- a/src/Umbraco.Web.UI.Client/libs/observable-api/create-observable-part.function.ts +++ b/src/Umbraco.Web.UI.Client/libs/observable-api/create-observable-part.function.ts @@ -1,5 +1,7 @@ import { distinctUntilChanged, map, Observable, shareReplay } from 'rxjs'; -import { MappingFunction, MemoizationFunction, defaultMemoization } from './deep-state'; +import { MemoizationFunction } from './memoization-function'; +import { MappingFunction } from './mapping-function'; +import { defaultMemoization } from './default-memoization'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/libs/observable-api/deep-state.ts b/src/Umbraco.Web.UI.Client/libs/observable-api/deep-state.ts index ad3bf66ca0..201ab479c8 100644 --- a/src/Umbraco.Web.UI.Client/libs/observable-api/deep-state.ts +++ b/src/Umbraco.Web.UI.Client/libs/observable-api/deep-state.ts @@ -1,20 +1,9 @@ import { BehaviorSubject } from 'rxjs'; import { createObservablePart } from './create-observable-part.function'; import { deepFreeze } from './deep-freeze.function'; - -export function naiveObjectComparison(objOne: any, objTwo: any): boolean { - return JSON.stringify(objOne) === JSON.stringify(objTwo); -} - -export type MappingFunction = (mappable: T) => R; -export type MemoizationFunction = (previousResult: R, currentResult: R) => boolean; - -export function defaultMemoization(previousValue: any, currentValue: any): boolean { - if (typeof previousValue === 'object' && typeof currentValue === 'object') { - return naiveObjectComparison(previousValue, currentValue); - } - return previousValue === currentValue; -} +import type { MappingFunction } from './mapping-function'; +import type { MemoizationFunction } from './memoization-function'; +import { naiveObjectComparison } from './naive-object-comparison'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/libs/observable-api/default-memoization.ts b/src/Umbraco.Web.UI.Client/libs/observable-api/default-memoization.ts new file mode 100644 index 0000000000..f8811febad --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/observable-api/default-memoization.ts @@ -0,0 +1,8 @@ +import { naiveObjectComparison } from './naive-object-comparison'; + +export function defaultMemoization(previousValue: any, currentValue: any): boolean { + if (typeof previousValue === 'object' && typeof currentValue === 'object') { + return naiveObjectComparison(previousValue, currentValue); + } + return previousValue === currentValue; +} diff --git a/src/Umbraco.Web.UI.Client/libs/observable-api/mapping-function.ts b/src/Umbraco.Web.UI.Client/libs/observable-api/mapping-function.ts new file mode 100644 index 0000000000..1b843ecff4 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/observable-api/mapping-function.ts @@ -0,0 +1 @@ +export type MappingFunction = (mappable: T) => R; diff --git a/src/Umbraco.Web.UI.Client/libs/observable-api/memoization-function.ts b/src/Umbraco.Web.UI.Client/libs/observable-api/memoization-function.ts new file mode 100644 index 0000000000..1d43da86ea --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/observable-api/memoization-function.ts @@ -0,0 +1 @@ +export type MemoizationFunction = (previousResult: R, currentResult: R) => boolean; diff --git a/src/Umbraco.Web.UI.Client/libs/observable-api/naive-object-comparison.ts b/src/Umbraco.Web.UI.Client/libs/observable-api/naive-object-comparison.ts new file mode 100644 index 0000000000..4afbe928cb --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/observable-api/naive-object-comparison.ts @@ -0,0 +1,3 @@ +export function naiveObjectComparison(objOne: any, objTwo: any): boolean { + return JSON.stringify(objOne) === JSON.stringify(objTwo); +} diff --git a/src/Umbraco.Web.UI.Client/libs/observable-api/number-state.ts b/src/Umbraco.Web.UI.Client/libs/observable-api/number-state.ts index 9d1cfd5c21..ded3defeb9 100644 --- a/src/Umbraco.Web.UI.Client/libs/observable-api/number-state.ts +++ b/src/Umbraco.Web.UI.Client/libs/observable-api/number-state.ts @@ -1,4 +1,4 @@ -import { BasicState } from "./basic-state"; +import { BasicState } from './basic-state'; /** * @export @@ -10,5 +10,4 @@ export class NumberState extends BasicState { constructor(initialData: T | number) { super(initialData); } - } diff --git a/src/Umbraco.Web.UI.Client/libs/observable-api/object-state.ts b/src/Umbraco.Web.UI.Client/libs/observable-api/object-state.ts index e726a075bb..04c72dd9b3 100644 --- a/src/Umbraco.Web.UI.Client/libs/observable-api/object-state.ts +++ b/src/Umbraco.Web.UI.Client/libs/observable-api/object-state.ts @@ -1,4 +1,4 @@ -import { DeepState } from "./deep-state"; +import { DeepState } from './deep-state'; /** * @export @@ -10,7 +10,6 @@ import { DeepState } from "./deep-state"; * The ObjectState provides methods to append data when the data is an Object. */ export class ObjectState extends DeepState { - /** * @method update * @param {Partial} partialData - A object containing some of the data to update in this Subject. diff --git a/src/Umbraco.Web.UI.Client/libs/observable-api/observer.controller.ts b/src/Umbraco.Web.UI.Client/libs/observable-api/observer.controller.ts index 98b1575241..2975d41555 100644 --- a/src/Umbraco.Web.UI.Client/libs/observable-api/observer.controller.ts +++ b/src/Umbraco.Web.UI.Client/libs/observable-api/observer.controller.ts @@ -1,6 +1,6 @@ import { Observable } from 'rxjs'; import { UmbObserver } from './observer'; -import { UmbControllerInterface, UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbControllerInterface, UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbObserverController extends UmbObserver implements UmbControllerInterface { _alias?: string; diff --git a/src/Umbraco.Web.UI.Client/libs/observable-api/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/observable-api/rollup.config.js deleted file mode 100644 index 35421e5ce7..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/observable-api/rollup.config.js +++ /dev/null @@ -1,3 +0,0 @@ -import config from '../../utils/rollup.config.js'; - -export default config; diff --git a/src/Umbraco.Web.UI.Client/libs/observable-api/string-state.ts b/src/Umbraco.Web.UI.Client/libs/observable-api/string-state.ts index 7a92238a6a..d3e9689a7b 100644 --- a/src/Umbraco.Web.UI.Client/libs/observable-api/string-state.ts +++ b/src/Umbraco.Web.UI.Client/libs/observable-api/string-state.ts @@ -1,4 +1,4 @@ -import { BasicState } from "./basic-state"; +import { BasicState } from './basic-state'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/libs/package.json b/src/Umbraco.Web.UI.Client/libs/package.json new file mode 100644 index 0000000000..0064a56274 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/package.json @@ -0,0 +1,23 @@ +{ + "name": "@umbraco-cms/backoffice", + "version": "13.0.0-alpha.0", + "license": "MIT", + "repository": { + "url": "https://github.com/umbraco/Umbraco.CMS.Backoffice", + "type": "git" + }, + "bugs": { + "url": "https://github.com/umbraco/Umbraco.CMS.Backoffice/issues" + }, + "author": { + "name": "Umbraco A/S", + "email": "backoffice@umbraco.com", + "url": "https://umbraco.com" + }, + "type": "module", + "peerDependencies": { + "@types/uuid": "^9.0.1", + "@umbraco-ui/uui": "^1.2.0-rc.0", + "rxjs": "^7.8.0" + } +} diff --git a/src/Umbraco.Web.UI.Client/libs/property-editor/index.ts b/src/Umbraco.Web.UI.Client/libs/property-editor/index.ts index 61b6a23c04..afa798d5e8 100644 --- a/src/Umbraco.Web.UI.Client/libs/property-editor/index.ts +++ b/src/Umbraco.Web.UI.Client/libs/property-editor/index.ts @@ -1,4 +1,4 @@ -import { DataTypePropertyPresentationModel } from '@umbraco-cms/backend-api'; +import { DataTypePropertyPresentationModel } from '@umbraco-cms/backoffice/backend-api'; export interface UmbPropertyEditorElement extends HTMLElement { value: unknown; diff --git a/src/Umbraco.Web.UI.Client/libs/property-editor/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/property-editor/rollup.config.js deleted file mode 100644 index 35421e5ce7..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/property-editor/rollup.config.js +++ /dev/null @@ -1,3 +0,0 @@ -import config from '../../utils/rollup.config.js'; - -export default config; diff --git a/src/Umbraco.Web.UI.Client/libs/repository/data-source-response.interface.ts b/src/Umbraco.Web.UI.Client/libs/repository/data-source-response.interface.ts new file mode 100644 index 0000000000..a3ee6e90f0 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/repository/data-source-response.interface.ts @@ -0,0 +1,6 @@ +import type { ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; + +export interface DataSourceResponse { + data?: T; + error?: ProblemDetailsModel; +} diff --git a/src/Umbraco.Web.UI.Client/libs/repository/detail-repository.interface.ts b/src/Umbraco.Web.UI.Client/libs/repository/detail-repository.interface.ts index ea842ef36f..11862c979b 100644 --- a/src/Umbraco.Web.UI.Client/libs/repository/detail-repository.interface.ts +++ b/src/Umbraco.Web.UI.Client/libs/repository/detail-repository.interface.ts @@ -1,4 +1,4 @@ -import type { ProblemDetailsModel } from '@umbraco-cms/backend-api'; +import type { ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; export interface UmbDetailRepository { createScaffold(parentKey: string | null): Promise<{ diff --git a/src/Umbraco.Web.UI.Client/libs/repository/index.ts b/src/Umbraco.Web.UI.Client/libs/repository/index.ts index c90aed53e7..cd4c9e7d46 100644 --- a/src/Umbraco.Web.UI.Client/libs/repository/index.ts +++ b/src/Umbraco.Web.UI.Client/libs/repository/index.ts @@ -1,3 +1,4 @@ +export * from './data-source-response.interface'; export * from './detail-repository.interface'; export * from './tree-repository.interface'; export * from './repository-tree-data-source.interface'; diff --git a/src/Umbraco.Web.UI.Client/libs/repository/repository-detail-data-source.interface.ts b/src/Umbraco.Web.UI.Client/libs/repository/repository-detail-data-source.interface.ts index 7715d5a61e..ff4cdd3a6a 100644 --- a/src/Umbraco.Web.UI.Client/libs/repository/repository-detail-data-source.interface.ts +++ b/src/Umbraco.Web.UI.Client/libs/repository/repository-detail-data-source.interface.ts @@ -1,4 +1,4 @@ -import type { DataSourceResponse } from '@umbraco-cms/models'; +import type { DataSourceResponse } from '@umbraco-cms/backoffice/repository'; export interface RepositoryDetailDataSource { createScaffold(parentKey: string | null): Promise>; diff --git a/src/Umbraco.Web.UI.Client/libs/repository/repository-tree-data-source.interface.ts b/src/Umbraco.Web.UI.Client/libs/repository/repository-tree-data-source.interface.ts index 7e51e5a566..c131d41fff 100644 --- a/src/Umbraco.Web.UI.Client/libs/repository/repository-tree-data-source.interface.ts +++ b/src/Umbraco.Web.UI.Client/libs/repository/repository-tree-data-source.interface.ts @@ -1,5 +1,5 @@ -import { EntityTreeItemResponseModel, PagedEntityTreeItemResponseModel } from '@umbraco-cms/backend-api'; -import type { DataSourceResponse } from '@umbraco-cms/models'; +import { EntityTreeItemResponseModel, PagedEntityTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import type { DataSourceResponse } from '@umbraco-cms/backoffice/repository'; export interface RepositoryTreeDataSource { getRootItems(): Promise>; diff --git a/src/Umbraco.Web.UI.Client/libs/repository/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/repository/rollup.config.js deleted file mode 100644 index 35421e5ce7..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/repository/rollup.config.js +++ /dev/null @@ -1,3 +0,0 @@ -import config from '../../utils/rollup.config.js'; - -export default config; diff --git a/src/Umbraco.Web.UI.Client/libs/repository/tree-repository.interface.ts b/src/Umbraco.Web.UI.Client/libs/repository/tree-repository.interface.ts index b702adaaec..a1de9f88ba 100644 --- a/src/Umbraco.Web.UI.Client/libs/repository/tree-repository.interface.ts +++ b/src/Umbraco.Web.UI.Client/libs/repository/tree-repository.interface.ts @@ -1,5 +1,5 @@ import type { Observable } from 'rxjs'; -import { EntityTreeItemResponseModel, PagedEntityTreeItemResponseModel, ProblemDetailsModel } from '@umbraco-cms/backend-api'; +import { EntityTreeItemResponseModel, PagedEntityTreeItemResponseModel, ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; export interface UmbTreeRepository { requestRootTreeItems: () => Promise<{ diff --git a/src/Umbraco.Web.UI.Client/libs/resources/resource.controller.ts b/src/Umbraco.Web.UI.Client/libs/resources/resource.controller.ts index 26c8a481a2..aa12fa3adc 100644 --- a/src/Umbraco.Web.UI.Client/libs/resources/resource.controller.ts +++ b/src/Umbraco.Web.UI.Client/libs/resources/resource.controller.ts @@ -3,11 +3,11 @@ import { UmbNotificationOptions, UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN, -} from '@umbraco-cms/notification'; -import { ApiError, CancelablePromise, ProblemDetailsModel } from '@umbraco-cms/backend-api'; -import { UmbController, UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; -import type { DataSourceResponse } from '@umbraco-cms/models'; +} from '@umbraco-cms/backoffice/notification'; +import { ApiError, CancelablePromise, ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbController, UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import type { DataSourceResponse } from '@umbraco-cms/backoffice/repository'; export class UmbResourceController extends UmbController { #promise: Promise; @@ -56,9 +56,9 @@ export class UmbResourceController extends UmbController { */ static async tryExecute(promise: Promise): Promise> { try { - return {data: await promise}; + return { data: await promise }; } catch (e) { - return {error: UmbResourceController.toProblemDetailsModel(e)}; + return { error: UmbResourceController.toProblemDetailsModel(e) }; } } @@ -67,15 +67,16 @@ export class UmbResourceController extends UmbController { * If the executor function throws an error, then show the details in a notification. */ async tryExecuteAndNotify(options?: UmbNotificationOptions): Promise> { - const {data, error} = await UmbResourceController.tryExecute(this.#promise); + const { data, error } = await UmbResourceController.tryExecute(this.#promise); if (error) { if (this.#notificationContext) { this.#notificationContext?.peek('danger', { data: { headline: error.title ?? 'Server Error', - message: error.detail ?? 'Something went wrong' - }, ...options + message: error.detail ?? 'Something went wrong', + }, + ...options, }); } else { console.group('UmbResourceController'); @@ -84,7 +85,7 @@ export class UmbResourceController extends UmbController { } } - return {data, error}; + return { data, error }; } /** diff --git a/src/Umbraco.Web.UI.Client/libs/resources/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/resources/rollup.config.js deleted file mode 100644 index 44c6c08405..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/resources/rollup.config.js +++ /dev/null @@ -1,4 +0,0 @@ -import config from '../../utils/rollup.config.js'; -export default [ - ...config, -]; diff --git a/src/Umbraco.Web.UI.Client/libs/resources/tryExecuteAndNotify.function.ts b/src/Umbraco.Web.UI.Client/libs/resources/tryExecuteAndNotify.function.ts index 8a280ec876..b9b4222d59 100644 --- a/src/Umbraco.Web.UI.Client/libs/resources/tryExecuteAndNotify.function.ts +++ b/src/Umbraco.Web.UI.Client/libs/resources/tryExecuteAndNotify.function.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import { UmbResourceController } from './resource.controller'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import type { UmbNotificationOptions } from '@umbraco-cms/notification'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import type { UmbNotificationOptions } from '@umbraco-cms/backoffice/notification'; export function tryExecuteAndNotify( host: UmbControllerHostInterface, diff --git a/src/Umbraco.Web.UI.Client/libs/store/index.ts b/src/Umbraco.Web.UI.Client/libs/store/index.ts index fbda429a4b..865fdf2b5a 100644 --- a/src/Umbraco.Web.UI.Client/libs/store/index.ts +++ b/src/Umbraco.Web.UI.Client/libs/store/index.ts @@ -1,4 +1,3 @@ -export * from './icon/icon.store'; export * from './store'; export * from './store-base'; export * from './tree-store-base'; diff --git a/src/Umbraco.Web.UI.Client/libs/store/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/store/rollup.config.js deleted file mode 100644 index 35421e5ce7..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/store/rollup.config.js +++ /dev/null @@ -1,3 +0,0 @@ -import config from '../../utils/rollup.config.js'; - -export default config; diff --git a/src/Umbraco.Web.UI.Client/libs/store/store-base.ts b/src/Umbraco.Web.UI.Client/libs/store/store-base.ts index 0c640fe58e..b377a59391 100644 --- a/src/Umbraco.Web.UI.Client/libs/store/store-base.ts +++ b/src/Umbraco.Web.UI.Client/libs/store/store-base.ts @@ -1,5 +1,5 @@ -import { UmbContextProviderController } from '@umbraco-cms/context-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbContextProviderController } from '@umbraco-cms/backoffice/context-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbStoreBase { constructor(protected _host: UmbControllerHostInterface, public readonly storeAlias: string) { diff --git a/src/Umbraco.Web.UI.Client/libs/store/tree-store-base.ts b/src/Umbraco.Web.UI.Client/libs/store/tree-store-base.ts index 0f199a1f3b..7b2f35893e 100644 --- a/src/Umbraco.Web.UI.Client/libs/store/tree-store-base.ts +++ b/src/Umbraco.Web.UI.Client/libs/store/tree-store-base.ts @@ -1,6 +1,6 @@ -import { EntityTreeItemResponseModel } from '@umbraco-cms/backend-api'; -import { ArrayState, partialUpdateFrozenArray } from '@umbraco-cms/observable-api'; -import { UmbStoreBase } from '@umbraco-cms/store'; +import { EntityTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { ArrayState, partialUpdateFrozenArray } from '@umbraco-cms/backoffice/observable-api'; +import { UmbStoreBase } from '@umbraco-cms/backoffice/store'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/libs/test-utils/index.ts b/src/Umbraco.Web.UI.Client/libs/test-utils/index.ts deleted file mode 100644 index 0d2296cc1c..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/test-utils/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './chai'; diff --git a/src/Umbraco.Web.UI.Client/libs/events/change.event.ts b/src/Umbraco.Web.UI.Client/libs/umb-events/change.event.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/libs/events/change.event.ts rename to src/Umbraco.Web.UI.Client/libs/umb-events/change.event.ts diff --git a/src/Umbraco.Web.UI.Client/libs/events/delete.event.ts b/src/Umbraco.Web.UI.Client/libs/umb-events/delete.event.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/libs/events/delete.event.ts rename to src/Umbraco.Web.UI.Client/libs/umb-events/delete.event.ts diff --git a/src/Umbraco.Web.UI.Client/libs/events/executed.event.ts b/src/Umbraco.Web.UI.Client/libs/umb-events/executed.event.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/libs/events/executed.event.ts rename to src/Umbraco.Web.UI.Client/libs/umb-events/executed.event.ts diff --git a/src/Umbraco.Web.UI.Client/libs/events/index.ts b/src/Umbraco.Web.UI.Client/libs/umb-events/index.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/libs/events/index.ts rename to src/Umbraco.Web.UI.Client/libs/umb-events/index.ts diff --git a/src/Umbraco.Web.UI.Client/libs/events/input.event.ts b/src/Umbraco.Web.UI.Client/libs/umb-events/input.event.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/libs/events/input.event.ts rename to src/Umbraco.Web.UI.Client/libs/umb-events/input.event.ts diff --git a/src/Umbraco.Web.UI.Client/libs/utils/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/utils/rollup.config.js deleted file mode 100644 index 44c6c08405..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/utils/rollup.config.js +++ /dev/null @@ -1,4 +0,0 @@ -import config from '../../utils/rollup.config.js'; -export default [ - ...config, -]; diff --git a/src/Umbraco.Web.UI.Client/libs/utils/utils.test.ts b/src/Umbraco.Web.UI.Client/libs/utils/utils.test.ts index 47950df551..36bbe2e2a0 100644 --- a/src/Umbraco.Web.UI.Client/libs/utils/utils.test.ts +++ b/src/Umbraco.Web.UI.Client/libs/utils/utils.test.ts @@ -1,7 +1,7 @@ import { expect } from '@open-wc/testing'; import { InterfaceColor, InterfaceLook } from '@umbraco-ui/uui-base/lib/types'; import { getLookAndColorFromUserStatus } from './utils'; -import type { UserStatus } from '@umbraco-cms/models'; +import type { UserStatus } from '@umbraco-cms/backoffice/models'; describe('UmbUserExtensions', () => { it('returns correct look and color from a status string', () => { diff --git a/src/Umbraco.Web.UI.Client/libs/utils/utils.ts b/src/Umbraco.Web.UI.Client/libs/utils/utils.ts index 15c6ed72c4..76da7bba7c 100644 --- a/src/Umbraco.Web.UI.Client/libs/utils/utils.ts +++ b/src/Umbraco.Web.UI.Client/libs/utils/utils.ts @@ -1,5 +1,5 @@ import { InterfaceColor, InterfaceLook } from '@umbraco-ui/uui-base/lib/types'; -import type { UserStatus } from '@umbraco-cms/models'; +import type { UserStatus } from '@umbraco-cms/backoffice/models'; export const getLookAndColorFromUserStatus = (status: UserStatus): { look: InterfaceLook; color: InterfaceColor } => { switch ((status || '').toLowerCase()) { diff --git a/src/Umbraco.Web.UI.Client/libs/workspace/actions/save/save.action.ts b/src/Umbraco.Web.UI.Client/libs/workspace/actions/save/save.action.ts index 5429581259..38dd1744eb 100644 --- a/src/Umbraco.Web.UI.Client/libs/workspace/actions/save/save.action.ts +++ b/src/Umbraco.Web.UI.Client/libs/workspace/actions/save/save.action.ts @@ -1,6 +1,6 @@ import { UmbWorkspaceContextInterface } from '../../../../src/backoffice/shared/components/workspace/workspace-context/workspace-context.interface'; import { UmbWorkspaceActionBase } from '../workspace-action-base'; -import type { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import type { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; // TODO: add interface for repo/partial repo/save-repo export class UmbSaveWorkspaceAction extends UmbWorkspaceActionBase { diff --git a/src/Umbraco.Web.UI.Client/libs/workspace/actions/workspace-action-base.ts b/src/Umbraco.Web.UI.Client/libs/workspace/actions/workspace-action-base.ts index f717762b18..cf7e2f97b0 100644 --- a/src/Umbraco.Web.UI.Client/libs/workspace/actions/workspace-action-base.ts +++ b/src/Umbraco.Web.UI.Client/libs/workspace/actions/workspace-action-base.ts @@ -1,5 +1,5 @@ -import type { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; +import type { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; export interface UmbWorkspaceAction { host: UmbControllerHostInterface; diff --git a/src/Umbraco.Web.UI.Client/libs/workspace/rollup.config.js b/src/Umbraco.Web.UI.Client/libs/workspace/rollup.config.js deleted file mode 100644 index 44c6c08405..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/workspace/rollup.config.js +++ /dev/null @@ -1,4 +0,0 @@ -import config from '../../utils/rollup.config.js'; -export default [ - ...config, -]; diff --git a/src/Umbraco.Web.UI.Client/package.json b/src/Umbraco.Web.UI.Client/package.json index 6fef07637d..f795bfbebd 100644 --- a/src/Umbraco.Web.UI.Client/package.json +++ b/src/Umbraco.Web.UI.Client/package.json @@ -28,8 +28,9 @@ "scripts": { "dev": "vite", "build": "tsc && vite build --mode staging", + "build:libs": "rollup -c rollup-libs.config.js && node utils/move-libs.js", "build:for:static": "tsc && vite build", - "build:for:cms": "tsc && vite build -c vite.cms.config.ts && node utils/build-libs.js", + "build:for:cms": "tsc && vite build -c vite.cms.config.ts && npm run build:libs", "build:for:cms:watch": "vite build -c vite.cms.config.ts --watch", "preview": "vite preview --open", "test": "web-test-runner --coverage", diff --git a/src/Umbraco.Web.UI.Client/rollup-libs.config.js b/src/Umbraco.Web.UI.Client/rollup-libs.config.js new file mode 100644 index 0000000000..18f16539aa --- /dev/null +++ b/src/Umbraco.Web.UI.Client/rollup-libs.config.js @@ -0,0 +1,33 @@ +import esbuild from 'rollup-plugin-esbuild'; +import pluginJson from '@rollup/plugin-json'; +import { nodeResolve } from '@rollup/plugin-node-resolve'; +import dts from 'rollup-plugin-dts'; +import { readdirSync, lstatSync } from 'fs'; + +const libs = readdirSync('./libs').filter(lib => lstatSync(`libs/${lib}`).isDirectory()); +const outputDir = './dist/libs'; + +export default libs.map(lib => { + /** @type {import('rollup').RollupOptions[]} */ + return [ + { + input: `./libs/${lib}/index.ts`, + external: [/^@umbraco-cms\//], + output: { + file: `${outputDir}/${lib}.js`, + format: 'es', + sourcemap: true, + }, + plugins: [nodeResolve(), pluginJson(), esbuild()] + }, + { + input: `./libs/${lib}/index.ts`, + external: [/^@umbraco/, /^lit/, /^rxjs/, /^uuid/], + output: { + file: `${outputDir}/${lib}.d.ts`, + format: 'es' + }, + plugins: [dts({ respectExternal: true })], + } + ]; +}).flat(); diff --git a/src/Umbraco.Web.UI.Client/src/app.ts b/src/Umbraco.Web.UI.Client/src/app.ts index 10fd0f49e3..5f71faa122 100644 --- a/src/Umbraco.Web.UI.Client/src/app.ts +++ b/src/Umbraco.Web.UI.Client/src/app.ts @@ -1,5 +1,5 @@ import '@umbraco-ui/uui-css/dist/uui-css.css'; -import '@umbraco-cms/css'; +import './core/css/custom-properties.css'; // TODO: remove these imports when they are part of UUI import '@umbraco-ui/uui-modal'; @@ -10,17 +10,18 @@ import 'element-internals-polyfill'; import './core/router/router-slot.element'; import './core/notification/layouts/default'; +import './core/modal/modal-element.element'; import { UUIIconRegistryEssential } from '@umbraco-ui/uui'; import { css, html } from 'lit'; import { customElement, property, state } from 'lit/decorators.js'; -import type { Guard, IRoute } from '@umbraco-cms/router'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; -import { OpenAPI, RuntimeLevelModel, ServerResource } from '@umbraco-cms/backend-api'; -import { UmbIconStore } from '@umbraco-cms/store'; -import { umbDebugContextEventType } from '@umbraco-cms/context-api'; +import type { Guard, IRoute } from '@umbraco-cms/internal/router'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; +import { OpenAPI, RuntimeLevelModel, ServerResource } from '@umbraco-cms/backoffice/backend-api'; +import { UmbIconStore } from './core/stores/icon/icon.store'; +import { umbDebugContextEventType } from '@umbraco-cms/backoffice/context-api'; @customElement('umb-app') export class UmbApp extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/backoffice.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/backoffice.element.ts index 75e0738142..9deb5efb8e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/backoffice.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/backoffice.element.ts @@ -18,10 +18,11 @@ import { UmbAppLanguageContext, } from './settings/languages/app-language-select/app-language.context'; import { UmbServerExtensionController } from './packages/repository/server-extension.controller'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; -import { createExtensionClass, umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/notification'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; +import { createExtensionClass, umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/notification'; +import { UmbEntryPointExtensionInitializer } from '@umbraco-cms/backoffice/extensions-registry'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; // Domains import './settings'; @@ -55,6 +56,8 @@ export class UmbBackofficeElement extends UmbLitElement { constructor() { super(); + new UmbEntryPointExtensionInitializer(this, umbExtensionsRegistry); + this.provideContext(UMB_MODAL_CONTEXT_TOKEN, new UmbModalContext(this)); this.provideContext(UMB_NOTIFICATION_CONTEXT_TOKEN, new UmbNotificationContext()); this.provideContext(UMB_CURRENT_USER_STORE_CONTEXT_TOKEN, new UmbCurrentUserStore()); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/manifests.ts index 6ebc283a4c..e059b11888 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestDashboard } from '@umbraco-cms/models'; +import type { ManifestDashboard } from '@umbraco-cms/backoffice/extensions-registry'; const dashboards: Array = [ { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/redirect-management/dashboard-redirect-management.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/redirect-management/dashboard-redirect-management.element.ts index 45e447f840..22ebfabae6 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/redirect-management/dashboard-redirect-management.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/redirect-management/dashboard-redirect-management.element.ts @@ -3,10 +3,10 @@ import { css, html, nothing } from 'lit'; import { customElement, state, query, property } from 'lit/decorators.js'; import { UUIButtonState, UUIPaginationElement, UUIPaginationEvent } from '@umbraco-ui/uui'; import { UMB_CONFIRM_MODAL_TOKEN } from '../../../shared/modals/confirm'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { RedirectManagementResource, RedirectStatusModel, RedirectUrlResponseModel } from '@umbraco-cms/backend-api'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { RedirectManagementResource, RedirectStatusModel, RedirectUrlResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; @customElement('umb-dashboard-redirect-management') export class UmbDashboardRedirectManagementElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/redirect-management/dashboard-redirect-management.test.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/redirect-management/dashboard-redirect-management.test.ts index 2d960a1757..48709103be 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/redirect-management/dashboard-redirect-management.test.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/redirect-management/dashboard-redirect-management.test.ts @@ -1,7 +1,7 @@ import { expect, fixture, html } from '@open-wc/testing'; import { UmbDashboardRedirectManagementElement } from './dashboard-redirect-management.element'; -import { defaultA11yConfig } from '@umbraco-cms/test-utils'; +import { defaultA11yConfig } from '@umbraco-cms/internal/test-utils'; describe('UmbDashboardRedirectManagement', () => { let element: UmbDashboardRedirectManagementElement; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/welcome/dashboard-welcome.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/welcome/dashboard-welcome.element.ts index 7f6d71ba41..e4411cb4c7 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/welcome/dashboard-welcome.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/welcome/dashboard-welcome.element.ts @@ -4,7 +4,16 @@ import { customElement } from 'lit/decorators.js'; @customElement('umb-dashboard-welcome') export class UmbDashboardWelcomeElement extends LitElement { - static styles = [UUITextStyles, css``]; + static styles = [ + UUITextStyles, + css` + :host { + display: block; + position: relative; + margin: var(--uui-size-layout-1); + } + `, + ]; render() { return html` diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/document-blueprint.detail.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/document-blueprint.detail.store.ts index c847dbb2cb..febb564943 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/document-blueprint.detail.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/document-blueprint.detail.store.ts @@ -1,8 +1,8 @@ -import type { DocumentBlueprintDetails } from '@umbraco-cms/models'; -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { ArrayState } from '@umbraco-cms/observable-api'; -import { UmbStoreBase } from '@umbraco-cms/store'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import type { DocumentBlueprintDetails } from '@umbraco-cms/backoffice/models'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { ArrayState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/document-blueprint.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/document-blueprint.tree.store.ts index 08aa3e6b3e..fb1968d7a2 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/document-blueprint.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/document-blueprint.tree.store.ts @@ -1,6 +1,6 @@ -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { UmbTreeStoreBase } from '@umbraco-cms/store'; -import type { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import type { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export const UMB_DOCUMENT_BLUEPRINT_TREE_STORE_CONTEXT_TOKEN = new UmbContextToken( 'UmbDocumentBlueprintTreeStore' diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/manifests.ts index 4b80c03dbb..d4bf4ceeaa 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/manifests.ts @@ -2,7 +2,7 @@ import { UmbDocumentBlueprintStore } from './document-blueprint.detail.store'; import { UmbDocumentBlueprintTreeStore } from './document-blueprint.tree.store'; import { manifests as menuItemManifests } from './menu-item/manifests'; import { manifests as workspaceManifests } from './workspace/manifests'; -import type { ManifestStore, ManifestTreeStore } from '@umbraco-cms/extensions-registry'; +import type { ManifestStore, ManifestTreeStore } from '@umbraco-cms/backoffice/extensions-registry'; export const DOCUMENT_BLUEPRINT_STORE_ALIAS = 'Umb.Store.DocumentBlueprint'; export const DOCUMENT_BLUEPRINT_TREE_STORE_ALIAS = 'Umb.Store.DocumentBlueprintTree'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/menu-item/manifests.ts index fba786754b..6a91c95697 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/menu-item/manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestMenuItem } from '@umbraco-cms/backoffice/extensions-registry'; const menuItem: ManifestMenuItem = { type: 'menuItem', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/workspace/manifests.ts index 1391409e25..50af2c386e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/workspace/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/workspace/manifests.ts @@ -1,4 +1,8 @@ -import type { ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceView } from '@umbraco-cms/models'; +import type { + ManifestWorkspace, + ManifestWorkspaceAction, + ManifestWorkspaceView, +} from '@umbraco-cms/backoffice/extensions-registry'; const workspace: ManifestWorkspace = { type: 'workspace', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/menu-item/document-types-menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/menu-item/document-types-menu-item.element.ts deleted file mode 100644 index 7362cf82cb..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/menu-item/document-types-menu-item.element.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { html, nothing } from 'lit'; -import { customElement, state } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; - -// TODO: align menu items and tree items -@customElement('umb-document-types-sidebar-menu-item') -export class UmbDocumentTypesSidebarMenuItemElement extends UmbLitElement { - @state() - private _renderTree = false; - - private _onShowChildren() { - this._renderTree = true; - } - - private _onHideChildren() { - this._renderTree = false; - } - - // TODO: check if root has children before settings the has-children attribute - // TODO: how do we want to cache the tree? (do we want to rerender every time the user opens the tree)? - // TODO: can we make this reusable? - render() { - return html` - - ${this._renderTree ? html`` : nothing} - - `; - } -} - -export default UmbDocumentTypesSidebarMenuItemElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-document-types-sidebar-menu-item': UmbDocumentTypesSidebarMenuItemElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/menu-item/manifests.ts index fd1020a010..95e1e8cf94 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/menu-item/manifests.ts @@ -1,12 +1,13 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; -const menuItem: ManifestMenuItem = { +const menuItem: ManifestTypes = { type: 'menuItem', + kind: 'tree', alias: 'Umb.MenuItem.DocumentTypes', name: 'Document Types Menu Item', weight: 10, - loader: () => import('./document-types-menu-item.element'), meta: { + treeAlias: 'Umb.Tree.DocumentTypes', label: 'Document Types', icon: 'umb:folder', }, diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts index c515f6007f..bf146b2944 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts @@ -4,8 +4,8 @@ import { customElement, state } from 'lit/decorators.js'; import { ifDefined } from 'lit-html/directives/if-defined.js'; import { UmbDocumentTypeRepository } from '../../repository/document-type.repository'; import { UmbAllowedDocumentTypesModalData, UmbAllowedDocumentTypesModalResult } from '.'; -import { UmbModalBaseElement } from '@umbraco-cms/modal'; -import { DocumentTypeTreeItemResponseModel } from '@umbraco-cms/backend-api'; +import { UmbModalBaseElement } from '@umbraco-cms/internal/modal'; +import { DocumentTypeTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; @customElement('umb-allowed-document-types-modal') export class UmbAllowedDocumentTypesModalElement extends UmbModalBaseElement< diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/modals/allowed-document-types/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/modals/allowed-document-types/index.ts index 940cbc3074..f4c5820dd4 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/modals/allowed-document-types/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/modals/allowed-document-types/index.ts @@ -1,4 +1,4 @@ -import { UmbModalToken } from '@umbraco-cms/modal'; +import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; export interface UmbAllowedDocumentTypesModalData { key: string | null; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/modals/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/modals/manifests.ts index f6be3880fb..e0e2b4d05f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/modals/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/modals/manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestModal } from '@umbraco-cms/extensions-registry'; +import type { ManifestModal } from '@umbraco-cms/backoffice/extensions-registry'; const modals: Array = [ { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.repository.ts index c5a1a610d5..174b6d4f8f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.repository.ts @@ -1,14 +1,16 @@ -import type { RepositoryTreeDataSource } from '../../../../../libs/repository/repository-tree-data-source.interface'; +import type { + RepositoryTreeDataSource, + UmbTreeRepository, + UmbDetailRepository, +} from '@umbraco-cms/backoffice/repository'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import { ProblemDetailsModel, DocumentTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/notification'; import { DocumentTypeTreeServerDataSource } from './sources/document-type.tree.server.data'; import { UmbDocumentTypeServerDataSource } from './sources/document-type.server.data'; import { UmbDocumentTypeTreeStore, UMB_DOCUMENT_TYPE_TREE_STORE_CONTEXT_TOKEN } from './document-type.tree.store'; import { UmbDocumentTypeStore, UMB_DOCUMENT_TYPE_STORE_CONTEXT_TOKEN } from './document-type.store'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; -import { ProblemDetailsModel, DocumentTypeResponseModel } from '@umbraco-cms/backend-api'; -import type { UmbTreeRepository } from 'libs/repository/tree-repository.interface'; -import { UmbDetailRepository } from '@umbraco-cms/repository'; -import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/notification'; type ItemType = DocumentTypeResponseModel; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.store.ts index b1ff1f9bea..80d83734c4 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.store.ts @@ -1,8 +1,8 @@ -import { DocumentTypeResponseModel } from '@umbraco-cms/backend-api'; -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { ArrayState } from '@umbraco-cms/observable-api'; -import { UmbStoreBase } from '@umbraco-cms/store'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { DocumentTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { ArrayState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.tree.store.ts index 0f1e5b38ca..7cfdee24df 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.tree.store.ts @@ -1,6 +1,6 @@ -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { UmbTreeStoreBase } from '@umbraco-cms/store'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/manifests.ts index 5a6bf52874..567468606f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/manifests.ts @@ -1,7 +1,7 @@ import { UmbDocumentTypeRepository } from './document-type.repository'; import { UmbDocumentTypeStore } from './document-type.store'; import { UmbDocumentTypeTreeStore } from './document-type.tree.store'; -import { ManifestRepository, ManifestStore, ManifestTreeStore } from '@umbraco-cms/extensions-registry'; +import { ManifestRepository, ManifestStore, ManifestTreeStore } from '@umbraco-cms/backoffice/extensions-registry'; export const DOCUMENT_TYPE_REPOSITORY_ALIAS = 'Umb.Repository.DocumentType'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/sources/document-type.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/sources/document-type.server.data.ts index 62bdb7cf4a..358910aabc 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/sources/document-type.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/sources/document-type.server.data.ts @@ -1,7 +1,7 @@ -import { RepositoryDetailDataSource } from '@umbraco-cms/repository'; -import { DocumentTypeResource, ProblemDetailsModel, DocumentTypeResponseModel } from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import { RepositoryDetailDataSource } from '@umbraco-cms/backoffice/repository'; +import { DocumentTypeResource, ProblemDetailsModel, DocumentTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * A data source for the Document Type that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/sources/document-type.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/sources/document-type.tree.server.data.ts index 8e4b1fefeb..1d7deb1778 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/sources/document-type.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/sources/document-type.tree.server.data.ts @@ -1,7 +1,7 @@ -import type { RepositoryTreeDataSource } from '../../../../../../libs/repository/repository-tree-data-source.interface'; -import { ProblemDetailsModel, DocumentTypeResource } from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import type { RepositoryTreeDataSource } from '@umbraco-cms/backoffice/repository'; +import { ProblemDetailsModel, DocumentTypeResource } from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * A data source for the Document tree that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/tree/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/tree/manifests.ts index 1a2876f55f..fbe7421b2c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/tree/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/tree/manifests.ts @@ -1,5 +1,5 @@ import { UmbDocumentTypeRepository } from '../repository/document-type.repository'; -import type { ManifestTree } from '@umbraco-cms/models'; +import type { ManifestTree } from '@umbraco-cms/backoffice/extensions-registry'; const tree: ManifestTree = { type: 'tree', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace-edit.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace-edit.element.ts index 5192564679..57d9095924 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace-edit.element.ts @@ -4,9 +4,9 @@ import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UMB_ICON_PICKER_MODAL_TOKEN } from '../../../shared/modals/icon-picker'; import { UmbWorkspaceDocumentTypeContext } from './document-type-workspace.context'; -import type { DocumentTypeResponseModel } from '@umbraco-cms/backend-api'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; +import type { DocumentTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; @customElement('umb-document-type-workspace-edit') export class UmbDocumentTypeWorkspaceEditElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.context.ts index 1ec5daf8fe..30c185de69 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.context.ts @@ -1,9 +1,9 @@ import { UmbWorkspaceContext } from '../../../shared/components/workspace/workspace-context/workspace-context'; import { UmbEntityWorkspaceContextInterface } from '../../../shared/components/workspace/workspace-context/workspace-entity-context.interface'; import { UmbDocumentTypeRepository } from '../repository/document-type.repository'; -import type { DocumentTypeResponseModel } from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { ObjectState } from '@umbraco-cms/observable-api'; +import type { DocumentTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { ObjectState } from '@umbraco-cms/backoffice/observable-api'; type EntityType = DocumentTypeResponseModel; export class UmbWorkspaceDocumentTypeContext diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.element.ts index 8bcd5f7aff..efdaab0cdd 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.element.ts @@ -3,8 +3,8 @@ import { html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UmbWorkspaceDocumentTypeContext } from './document-type-workspace.context'; import { UmbDocumentTypeWorkspaceEditElement } from './document-type-workspace-edit.element'; -import { IRoutingInfo } from '@umbraco-cms/router'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { IRoutingInfo } from '@umbraco-cms/internal/router'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-document-type-workspace') export class UmbDocumentTypeWorkspaceElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/manifests.ts index c2f912764b..b596be3178 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/manifests.ts @@ -1,5 +1,9 @@ -import { UmbSaveWorkspaceAction } from '@umbraco-cms/workspace'; -import type { ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceView } from '@umbraco-cms/models'; +import { UmbSaveWorkspaceAction } from '@umbraco-cms/backoffice/workspace'; +import type { + ManifestWorkspace, + ManifestWorkspaceAction, + ManifestWorkspaceView, +} from '@umbraco-cms/backoffice/extensions-registry'; const workspace: ManifestWorkspace = { type: 'workspace', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/design/workspace-view-document-type-design.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/design/workspace-view-document-type-design.element.ts index 2e453ded63..d4007d6ccc 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/design/workspace-view-document-type-design.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/design/workspace-view-document-type-design.element.ts @@ -2,8 +2,8 @@ import { css, html } from 'lit'; import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement, state } from 'lit/decorators.js'; import { UmbWorkspaceDocumentTypeContext } from '../../document-type-workspace.context'; -import { UmbLitElement } from '@umbraco-cms/element'; -import type { DocumentTypeResponseModel } from '@umbraco-cms/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import type { DocumentTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; import '../../../../../shared/property-creator/property-creator.element.ts'; @customElement('umb-workspace-view-document-type-design') @@ -13,8 +13,7 @@ export class UmbWorkspaceViewDocumentTypeDesignElement extends UmbLitElement { css` :host { display: block; - margin: var(--uui-size-space-6); - padding: var(--uui-size-space-6); + margin: var(--uui-size-layout-1); } `, ]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/manifests.ts index 46a81915a4..85d3376119 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/manifests.ts @@ -1,4 +1,4 @@ -import { ManifestCollectionView } from '@umbraco-cms/extensions-registry'; +import { ManifestCollectionView } from '@umbraco-cms/backoffice/extensions-registry'; export const manifests: Array = [ { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/views/table/column-layouts/document-table-actions-column-layout.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/views/table/column-layouts/document-table-actions-column-layout.element.ts index cd8b0fcd0a..48781fd710 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/views/table/column-layouts/document-table-actions-column-layout.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/views/table/column-layouts/document-table-actions-column-layout.element.ts @@ -2,7 +2,7 @@ import { css, html, LitElement, nothing } from 'lit'; import { ifDefined } from 'lit-html/directives/if-defined.js'; import { customElement, property, state } from 'lit/decorators.js'; import type { UmbTableColumn, UmbTableItem } from '../../../../../../shared/components/table'; -import { UmbExecutedEvent } from '@umbraco-cms/events'; +import { UmbExecutedEvent } from '@umbraco-cms/backoffice/events'; // TODO: this could be done more generic, but for now we just need it for the document table @customElement('umb-document-table-actions-column-layout') diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/views/table/document-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/views/table/document-table-collection-view.element.ts index 18c642313e..5f63a23d34 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/views/table/document-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/views/table/document-table-collection-view.element.ts @@ -14,8 +14,8 @@ import { UmbTableOrderedEvent, UmbTableSelectedEvent, } from '../../../../../shared/components/table'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { DocumentTreeItemResponseModel, EntityTreeItemResponseModel } from '@umbraco-cms/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { DocumentTreeItemResponseModel, EntityTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; import './column-layouts/document-table-actions-column-layout.element'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create-blueprint.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create-blueprint.action.ts index a0780eb967..f81918a27c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create-blueprint.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create-blueprint.action.ts @@ -1,6 +1,6 @@ import { UmbDocumentRepository } from '../repository/document.repository'; -import { UmbEntityActionBase } from '@umbraco-cms/entity-action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbCreateDocumentBlueprintEntityAction extends UmbEntityActionBase { constructor(host: UmbControllerHostInterface, repositoryAlias: string, unique: string) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create/create.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create/create.action.ts index 864248e63a..2c0bdfbcc1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create/create.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create/create.action.ts @@ -1,9 +1,9 @@ import { UMB_ALLOWED_DOCUMENT_TYPES_MODAL_TOKEN } from '../../../document-types/modals/allowed-document-types'; import type { UmbDocumentRepository } from '../../repository/document.repository'; -import { UmbEntityActionBase } from '@umbraco-cms/entity-action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; +import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; export class UmbCreateDocumentEntityAction extends UmbEntityActionBase { #modalContext?: UmbModalContext; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/culture-and-hostnames.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/culture-and-hostnames.action.ts index 1ba8de7356..f487877ac3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/culture-and-hostnames.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/culture-and-hostnames.action.ts @@ -1,6 +1,6 @@ import { UmbDocumentRepository } from '../repository/document.repository'; -import { UmbEntityActionBase } from '@umbraco-cms/entity-action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbDocumentCultureAndHostnamesEntityAction extends UmbEntityActionBase { constructor(host: UmbControllerHostInterface, repositoryAlias: string, unique: string) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/manifests.ts index 428dbc55e5..ab2d9ac5b8 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/manifests.ts @@ -12,8 +12,8 @@ import { UmbMoveEntityAction, UmbTrashEntityAction, UmbSortChildrenOfEntityAction, -} from '@umbraco-cms/entity-action'; -import { ManifestEntityAction, ManifestModal } from '@umbraco-cms/extensions-registry'; +} from '@umbraco-cms/backoffice/entity-action'; +import { ManifestEntityAction, ManifestModal } from '@umbraco-cms/backoffice/extensions-registry'; const entityType = 'document'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/permissions.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/permissions.action.ts index a116358cce..e1e9b98d10 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/permissions.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/permissions.action.ts @@ -1,6 +1,6 @@ import { UmbDocumentRepository } from '../repository/document.repository'; -import { UmbEntityActionBase } from '@umbraco-cms/entity-action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbDocumentPermissionsEntityAction extends UmbEntityActionBase { constructor(host: UmbControllerHostInterface, repositoryAlias: string, unique: string) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/public-access.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/public-access.action.ts index aff79a03b2..18498d3aa9 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/public-access.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/public-access.action.ts @@ -1,6 +1,6 @@ import { UmbDocumentRepository } from '../repository/document.repository'; -import { UmbEntityActionBase } from '@umbraco-cms/entity-action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbDocumentPublicAccessEntityAction extends UmbEntityActionBase { constructor(host: UmbControllerHostInterface, repositoryAlias: string, unique: string) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/publish.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/publish.action.ts index 47d49c6517..53ca56ea8c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/publish.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/publish.action.ts @@ -1,6 +1,6 @@ import { UmbDocumentRepository } from '../repository/document.repository'; -import { UmbEntityActionBase } from '@umbraco-cms/entity-action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbPublishDocumentEntityAction extends UmbEntityActionBase { constructor(host: UmbControllerHostInterface, repositoryAlias: string, unique: string) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/rollback.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/rollback.action.ts index 8e473ecbfb..ae0f80225b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/rollback.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/rollback.action.ts @@ -1,6 +1,6 @@ import { UmbDocumentRepository } from '../repository/document.repository'; -import { UmbEntityActionBase } from '@umbraco-cms/entity-action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbRollbackDocumentEntityAction extends UmbEntityActionBase { constructor(host: UmbControllerHostInterface, repositoryAlias: string, unique: string) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/unpublish.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/unpublish.action.ts index 3820cae4d9..e7025457a8 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/unpublish.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/unpublish.action.ts @@ -1,6 +1,6 @@ import { UmbDocumentRepository } from '../repository/document.repository'; -import { UmbEntityActionBase } from '@umbraco-cms/entity-action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbUnpublishDocumentEntityAction extends UmbEntityActionBase { constructor(host: UmbControllerHostInterface, repositoryAlias: string, unique: string) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-bulk-actions/copy/copy.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-bulk-actions/copy/copy.action.ts index daf1482bed..42b95a1253 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-bulk-actions/copy/copy.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-bulk-actions/copy/copy.action.ts @@ -1,6 +1,6 @@ import { UmbDocumentRepository } from '../../repository/document.repository'; -import { UmbEntityBulkActionBase } from '@umbraco-cms/entity-action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbDocumentCopyEntityBulkAction extends UmbEntityBulkActionBase { constructor(host: UmbControllerHostInterface, repositoryAlias: string, selection: Array) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-bulk-actions/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-bulk-actions/manifests.ts index b7032e2bc7..3f3e873d4b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-bulk-actions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-bulk-actions/manifests.ts @@ -1,7 +1,7 @@ import { DOCUMENT_REPOSITORY_ALIAS } from '../repository/manifests'; import { UmbDocumentMoveEntityBulkAction } from './move/move.action'; import { UmbDocumentCopyEntityBulkAction } from './copy/copy.action'; -import { ManifestEntityBulkAction } from '@umbraco-cms/extensions-registry'; +import { ManifestEntityBulkAction } from '@umbraco-cms/backoffice/extensions-registry'; const entityType = 'document'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-bulk-actions/move/move.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-bulk-actions/move/move.action.ts index ebe5bb2a8a..bbc16b3a4f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-bulk-actions/move/move.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-bulk-actions/move/move.action.ts @@ -1,6 +1,6 @@ import { UmbDocumentRepository } from '../../repository/document.repository'; -import { UmbEntityBulkActionBase } from '@umbraco-cms/entity-action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbDocumentMoveEntityBulkAction extends UmbEntityBulkActionBase { constructor(host: UmbControllerHostInterface, repositoryAlias: string, selection: Array) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/modals/document-picker/document-picker-modal.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/modals/document-picker/document-picker-modal.element.ts index 811c812a64..1fc81dbb4a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/modals/document-picker/document-picker-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/modals/document-picker/document-picker-modal.element.ts @@ -3,7 +3,7 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement, state } from 'lit/decorators.js'; import type { UmbTreeElement } from '../../../../shared/components/tree/tree.element'; import { UmbDocumentPickerModalData, UmbDocumentPickerModalResult } from '.'; -import { UmbModalBaseElement } from '@umbraco-cms/modal'; +import { UmbModalBaseElement } from '@umbraco-cms/internal/modal'; // TODO: make use of UmbPickerLayoutBase @customElement('umb-document-picker-modal') diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/modals/document-picker/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/modals/document-picker/index.ts index b67bffe04e..4452cf228d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/modals/document-picker/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/modals/document-picker/index.ts @@ -1,4 +1,4 @@ -import { UmbModalToken } from '@umbraco-cms/modal'; +import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; export interface UmbDocumentPickerModalData { multiple?: boolean; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/modals/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/modals/manifests.ts index dcaf83f082..ae03c13d31 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/modals/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/modals/manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestModal } from '@umbraco-cms/extensions-registry'; +import type { ManifestModal } from '@umbraco-cms/backoffice/extensions-registry'; const modals: Array = [ { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.repository.ts index 0595eba64a..dd7fc1789c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.repository.ts @@ -1,14 +1,16 @@ -import type { RepositoryTreeDataSource } from '../../../../../libs/repository/repository-tree-data-source.interface'; +import type { + RepositoryTreeDataSource, + UmbTreeRepository, + UmbDetailRepository, +} from '@umbraco-cms/backoffice/repository'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import { ProblemDetailsModel, DocumentResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/notification'; import { DocumentTreeServerDataSource } from './sources/document.tree.server.data'; import { UmbDocumentTreeStore, UMB_DOCUMENT_TREE_STORE_CONTEXT_TOKEN } from './document.tree.store'; import { UmbDocumentStore, UMB_DOCUMENT_STORE_CONTEXT_TOKEN } from './document.store'; import { UmbDocumentServerDataSource } from './sources/document.server.data'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; -import { ProblemDetailsModel, DocumentResponseModel } from '@umbraco-cms/backend-api'; -import type { UmbTreeRepository } from 'libs/repository/tree-repository.interface'; -import { UmbDetailRepository } from '@umbraco-cms/repository'; -import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/notification'; type ItemType = DocumentResponseModel; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.store.ts index 2fb2a87fe4..8454ce8ef3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.store.ts @@ -1,8 +1,8 @@ -import { DocumentResponseModel } from '@umbraco-cms/backend-api'; -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { ArrayState } from '@umbraco-cms/observable-api'; -import { UmbStoreBase } from '@umbraco-cms/store'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { DocumentResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { ArrayState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.tree.store.ts index 71a563ed34..4b3bbaa7f8 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.tree.store.ts @@ -1,6 +1,6 @@ -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { UmbTreeStoreBase } from '@umbraco-cms/store'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/manifests.ts index da7a9197b2..6276b2c00b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/manifests.ts @@ -2,7 +2,7 @@ import { UmbDocumentRepository } from '../repository/document.repository'; import { UmbDocumentStore } from './document.store'; import { UmbDocumentTreeStore } from './document.tree.store'; import { ManifestRepository } from 'libs/extensions-registry/repository.models'; -import { ManifestStore, ManifestTreeStore } from '@umbraco-cms/extensions-registry'; +import { ManifestStore, ManifestTreeStore } from '@umbraco-cms/backoffice/extensions-registry'; export const DOCUMENT_REPOSITORY_ALIAS = 'Umb.Repository.Document'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/document.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/document.server.data.ts index 59b9e2f0c8..467b0fa35f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/document.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/document.server.data.ts @@ -1,13 +1,13 @@ import { v4 as uuidv4 } from 'uuid'; -import { RepositoryDetailDataSource } from '@umbraco-cms/repository'; +import { RepositoryDetailDataSource } from '@umbraco-cms/backoffice/repository'; import { DocumentResource, ProblemDetailsModel, DocumentResponseModel, ContentStateModel, -} from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +} from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * A data source for the Document that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/document.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/document.tree.server.data.ts index 25e3094778..17ab86a2fb 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/document.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/document.tree.server.data.ts @@ -1,7 +1,7 @@ -import type { RepositoryTreeDataSource } from '../../../../../../libs/repository/repository-tree-data-source.interface'; -import { ProblemDetailsModel, DocumentResource } from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import type { RepositoryTreeDataSource } from '@umbraco-cms/backoffice/repository'; +import { ProblemDetailsModel, DocumentResource } from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * A data source for the Document tree that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/index.ts index bb7b3aeefb..ac6a6497ed 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/index.ts @@ -1,6 +1,5 @@ -import { DocumentResponseModel } from '@umbraco-cms/backend-api'; -import type { DataSourceResponse } from '@umbraco-cms/models'; -import { RepositoryDetailDataSource } from '@umbraco-cms/repository'; +import type { DocumentResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { RepositoryDetailDataSource, DataSourceResponse } from '@umbraco-cms/backoffice/repository'; export interface UmbDocumentDataSource extends RepositoryDetailDataSource { createScaffold(documentTypeKey: string): Promise>; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/sidebar-menu-item/document-sidebar-menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/sidebar-menu-item/document-sidebar-menu-item.element.ts index d0e12bfbd7..7102a30105 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/sidebar-menu-item/document-sidebar-menu-item.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/sidebar-menu-item/document-sidebar-menu-item.element.ts @@ -1,6 +1,6 @@ import { html } from 'lit'; import { customElement } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-document-sidebar-menu-item') export class UmbDocumentSidebarMenuItemElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/sidebar-menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/sidebar-menu-item/manifests.ts index 06754de189..e06fc87a74 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/sidebar-menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/sidebar-menu-item/manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestMenuItem } from '@umbraco-cms/backoffice/extensions-registry'; const menuItem: ManifestMenuItem = { type: 'menuItem', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/tree/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/tree/manifests.ts index 1abb5fd1f5..c1e6a79314 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/tree/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/tree/manifests.ts @@ -1,5 +1,5 @@ import { UmbDocumentRepository } from '../repository/document.repository'; -import type { ManifestTree } from '@umbraco-cms/models'; +import type { ManifestTree } from '@umbraco-cms/backoffice/extensions-registry'; const treeAlias = 'Umb.Tree.Documents'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/actions/save-and-preview.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/actions/save-and-preview.action.ts index 10470f8d25..6a54050580 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/actions/save-and-preview.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/actions/save-and-preview.action.ts @@ -1,6 +1,6 @@ import { UmbDocumentWorkspaceContext } from '../document-workspace.context'; -import { UmbWorkspaceActionBase } from '@umbraco-cms/workspace'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbWorkspaceActionBase } from '@umbraco-cms/backoffice/workspace'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbDocumentSaveAndPreviewWorkspaceAction extends UmbWorkspaceActionBase { constructor(host: UmbControllerHostInterface) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/actions/save-and-publish.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/actions/save-and-publish.action.ts index ef49816688..eb0fc8c24c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/actions/save-and-publish.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/actions/save-and-publish.action.ts @@ -1,6 +1,6 @@ import { UmbDocumentWorkspaceContext } from '../document-workspace.context'; -import { UmbWorkspaceActionBase } from '@umbraco-cms/workspace'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbWorkspaceActionBase } from '@umbraco-cms/backoffice/workspace'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbDocumentSaveAndPublishWorkspaceAction extends UmbWorkspaceActionBase { constructor(host: UmbControllerHostInterface) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/actions/save-and-schedule.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/actions/save-and-schedule.action.ts index aa630bbc6e..8b25669b5a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/actions/save-and-schedule.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/actions/save-and-schedule.action.ts @@ -1,6 +1,6 @@ import { UmbDocumentWorkspaceContext } from '../document-workspace.context'; -import { UmbWorkspaceActionBase } from '@umbraco-cms/workspace'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbWorkspaceActionBase } from '@umbraco-cms/backoffice/workspace'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbSaveAndScheduleDocumentWorkspaceAction extends UmbWorkspaceActionBase { constructor(host: UmbControllerHostInterface) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace-edit.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace-edit.element.ts index e427be75ba..9097b679e7 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace-edit.element.ts @@ -6,10 +6,10 @@ import { UmbVariantId } from '../../../shared/variants/variant-id.class'; import { ActiveVariant } from '../../../shared/components/workspace/workspace-context/workspace-split-view-manager.class'; import { UmbDocumentWorkspaceContext } from './document-workspace.context'; import { UmbDocumentWorkspaceSplitViewElement } from './document-workspace-split-view.element'; -import { UmbRouterSlotInitEvent } from '@umbraco-cms/router'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbRouterSlotInitEvent } from '@umbraco-cms/internal/router'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import '../../../shared/components/workspace/workspace-variant/workspace-variant.element'; -import { VariantModelBaseModel } from '@umbraco-cms/backend-api'; +import { VariantModelBaseModel } from '@umbraco-cms/backoffice/backend-api'; @customElement('umb-document-workspace-edit') export class UmbDocumentWorkspaceEditElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace-split-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace-split-view.element.ts index ec66755894..ada7416b49 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace-split-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace-split-view.element.ts @@ -4,7 +4,7 @@ import { customElement, state } from 'lit/decorators.js'; import { repeat } from 'lit/directives/repeat.js'; import { ActiveVariant } from '../../../shared/components/workspace/workspace-context/workspace-split-view-manager.class'; import { UmbDocumentWorkspaceContext } from './document-workspace.context'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import '../../../shared/components/workspace/workspace-variant/workspace-variant.element'; @customElement('umb-document-workspace-split-view') diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts index f7ac814b09..b3c9df0e28 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts @@ -5,9 +5,9 @@ import { UmbWorkspaceVariableEntityContextInterface } from '../../../shared/comp import { UmbVariantId } from '../../../shared/variants/variant-id.class'; import { UmbWorkspacePropertyStructureManager } from '../../../shared/components/workspace/workspace-context/workspace-property-structure-manager.class'; import { UmbWorkspaceSplitViewManager } from '../../../shared/components/workspace/workspace-context/workspace-split-view-manager.class'; -import type { DocumentResponseModel } from '@umbraco-cms/backend-api'; -import { partialUpdateFrozenArray, ObjectState, UmbObserverController } from '@umbraco-cms/observable-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import type { DocumentResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { partialUpdateFrozenArray, ObjectState, UmbObserverController } from '@umbraco-cms/backoffice/observable-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; // TODO: should this context be called DocumentDraft instead of workspace? or should the draft be part of this? // TODO: Should we have a DocumentStructureContext and maybe even a DocumentDraftContext? diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.element.ts index d51b7ae609..d341351acd 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.element.ts @@ -3,7 +3,7 @@ import { html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { IRoute, IRoutingInfo } from 'router-slot'; import { UmbDocumentWorkspaceContext } from './document-workspace.context'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import './document-workspace-edit.element'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.test.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.test.ts index 99dbc4d512..3bf624e247 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.test.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.test.ts @@ -1,6 +1,6 @@ import { expect, fixture, html } from '@open-wc/testing'; import { UmbDocumentWorkspaceElement } from './document-workspace.element'; -import { defaultA11yConfig } from '@umbraco-cms/test-utils'; +import { defaultA11yConfig } from '@umbraco-cms/internal/test-utils'; describe('UmbDocumentWorkspaceElement', () => { let element: UmbDocumentWorkspaceElement; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/manifests.ts index 07342f39d0..bc08b979de 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/manifests.ts @@ -1,13 +1,13 @@ -import { UmbDocumentSaveAndPublishWorkspaceAction } from './actions/save-and-publish.action'; -import { UmbDocumentSaveAndPreviewWorkspaceAction } from './actions/save-and-preview.action'; -import { UmbSaveAndScheduleDocumentWorkspaceAction } from './actions/save-and-schedule.action'; -import { UmbSaveWorkspaceAction } from '@umbraco-cms/workspace'; import type { ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceView, ManifestWorkspaceViewCollection, -} from '@umbraco-cms/models'; +} from '@umbraco-cms/backoffice/extensions-registry'; +import { UmbSaveWorkspaceAction } from '@umbraco-cms/backoffice/workspace'; +import { UmbDocumentSaveAndPublishWorkspaceAction } from './actions/save-and-publish.action'; +import { UmbDocumentSaveAndPreviewWorkspaceAction } from './actions/save-and-preview.action'; +import { UmbSaveAndScheduleDocumentWorkspaceAction } from './actions/save-and-schedule.action'; const workspace: ManifestWorkspace = { type: 'workspace', @@ -24,7 +24,7 @@ const workspaceViews: Array = [ type: 'workspaceView', alias: 'Umb.WorkspaceView.Document.Edit', name: 'Document Workspace Edit View', - loader: () => import('./views/document-workspace-view-edit.element'), + loader: () => import('./views/edit/document-workspace-view-edit.element'), weight: 200, meta: { label: 'Content', @@ -39,8 +39,7 @@ const workspaceViews: Array = [ type: 'workspaceView', alias: 'Umb.WorkspaceView.Document.Info', name: 'Document Workspace Info View', - loader: () => - import('../../../shared/components/workspace/workspace-content/views/info/workspace-view-content-info.element'), + loader: () => import('./views/info/document-info-workspace-view.element'), weight: 100, meta: { label: 'Info', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/document-workspace-view-edit-properties.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/edit/document-workspace-view-edit-properties.element.ts similarity index 93% rename from src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/document-workspace-view-edit-properties.element.ts rename to src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/edit/document-workspace-view-edit-properties.element.ts index e9bfd39eec..3022686c25 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/document-workspace-view-edit-properties.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/edit/document-workspace-view-edit-properties.element.ts @@ -2,9 +2,12 @@ import { css, html } from 'lit'; import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement, property, state } from 'lit/decorators.js'; import { repeat } from 'lit/directives/repeat.js'; -import { UmbDocumentWorkspaceContext } from '../document-workspace.context'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { DocumentTypePropertyTypeResponseModel, PropertyTypeContainerResponseModelBaseModel } from '@umbraco-cms/backend-api'; +import { UmbDocumentWorkspaceContext } from '../../document-workspace.context'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { + DocumentTypePropertyTypeResponseModel, + PropertyTypeContainerResponseModelBaseModel, +} from '@umbraco-cms/backoffice/backend-api'; @customElement('umb-document-workspace-view-edit-properties') export class UmbDocumentWorkspaceViewEditPropertiesElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/document-workspace-view-edit-tab.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/edit/document-workspace-view-edit-tab.element.ts similarity index 96% rename from src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/document-workspace-view-edit-tab.element.ts rename to src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/edit/document-workspace-view-edit-tab.element.ts index 8992495248..1b8066421a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/document-workspace-view-edit-tab.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/edit/document-workspace-view-edit-tab.element.ts @@ -2,9 +2,9 @@ import { css, html } from 'lit'; import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement, property, state } from 'lit/decorators.js'; import { repeat } from 'lit/directives/repeat.js'; -import { UmbDocumentWorkspaceContext } from '../document-workspace.context'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { PropertyTypeContainerResponseModelBaseModel } from '@umbraco-cms/backend-api'; +import { UmbDocumentWorkspaceContext } from '../../document-workspace.context'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { PropertyTypeContainerResponseModelBaseModel } from '@umbraco-cms/backoffice/backend-api'; import './document-workspace-view-edit-properties.element'; @customElement('umb-document-workspace-view-edit-tab') diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/document-workspace-view-edit.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/edit/document-workspace-view-edit.element.ts similarity index 94% rename from src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/document-workspace-view-edit.element.ts rename to src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/edit/document-workspace-view-edit.element.ts index 36032110ec..1b117564bf 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/document-workspace-view-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/edit/document-workspace-view-edit.element.ts @@ -2,10 +2,10 @@ import { css, html } from 'lit'; import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement, state } from 'lit/decorators.js'; import { repeat } from 'lit/directives/repeat.js'; -import { UmbDocumentWorkspaceContext } from '../document-workspace.context'; -import type { UmbRouterSlotChangeEvent, UmbRouterSlotInitEvent, IRoute } from '@umbraco-cms/router'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { PropertyTypeContainerResponseModelBaseModel } from '@umbraco-cms/backend-api'; +import { UmbDocumentWorkspaceContext } from '../../document-workspace.context'; +import type { UmbRouterSlotChangeEvent, UmbRouterSlotInitEvent, IRoute } from '@umbraco-cms/internal/router'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { PropertyTypeContainerResponseModelBaseModel } from '@umbraco-cms/backoffice/backend-api'; @customElement('umb-document-workspace-view-edit') export class UmbDocumentWorkspaceViewEditElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-content/views/info/workspace-view-content-info.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/info/document-info-workspace-view.element.ts similarity index 93% rename from src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-content/views/info/workspace-view-content-info.element.ts rename to src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/info/document-info-workspace-view.element.ts index ba86f7da12..439a076c13 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-content/views/info/workspace-view-content-info.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/info/document-info-workspace-view.element.ts @@ -3,9 +3,9 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { repeat } from 'lit/directives/repeat.js'; import { customElement, state } from 'lit/decorators.js'; import { UUIPaginationEvent } from '@umbraco-ui/uui'; -import { UmbEntityWorkspaceContextInterface } from '../../../workspace-context/workspace-entity-context.interface'; -import type { DocumentResponseModel } from '@umbraco-cms/backend-api'; -import { UmbLitElement } from '@umbraco-cms/element'; +import type { DocumentResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { UmbEntityWorkspaceContextInterface } from '../../../../../shared/components/workspace/workspace-context/workspace-entity-context.interface'; interface HistoryNode { userId?: number; @@ -21,8 +21,8 @@ interface HistoryNode { type HistoryLogType = 'Publish' | 'Save' | 'Unpublish' | 'ContentVersionEnableCleanup' | 'ContentVersionPreventCleanup'; -@customElement('umb-workspace-view-content-info') -export class UmbWorkspaceViewContentInfoElement extends UmbLitElement { +@customElement('umb-document-info-workspace-view') +export class UmbDocumentInfoWorkspaceViewElement extends UmbLitElement { static styles = [ UUITextStyles, css` @@ -332,10 +332,10 @@ export class UmbWorkspaceViewContentInfoElement extends UmbLitElement { } } -export default UmbWorkspaceViewContentInfoElement; +export default UmbDocumentInfoWorkspaceViewElement; declare global { interface HTMLElementTagNameMap { - 'umb-workspace-view-content-info': UmbWorkspaceViewContentInfoElement; + 'umb-document-info-workspace-view': UmbDocumentInfoWorkspaceViewElement; } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-content/views/info/workspace-view-content-info.stories.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/info/document-info-workspace-view.stories.ts similarity index 55% rename from src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-content/views/info/workspace-view-content-info.stories.ts rename to src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/info/document-info-workspace-view.stories.ts index f5eed2b094..1b213e6803 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-content/views/info/workspace-view-content-info.stories.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/info/document-info-workspace-view.stories.ts @@ -1,4 +1,4 @@ -import './workspace-view-content-info.element'; +import './document-info-workspace-view.element'; import { Meta, Story } from '@storybook/web-components'; import { html } from 'lit-html'; @@ -6,12 +6,12 @@ import { html } from 'lit-html'; // import { data } from '../../../../../../core/mocks/data/document.data'; // import { UmbNodeContext } from '../../node.context'; -import type { UmbWorkspaceViewContentInfoElement } from './workspace-view-content-info.element'; +import type { UmbDocumentInfoWorkspaceViewElement } from './document-info-workspace-view.element'; export default { - title: 'Workspaces/Shared/Node/Views/Info', - component: 'umb-workspace-view-content-info', - id: 'umb-workspace-view-content-info', + title: 'Workspaces/Documents/Views/Info', + component: 'umb-document-info-workspace-view', + id: 'umb-document-info-workspace-view', decorators: [ (story) => { return html`TODO: make use of mocked workspace context??`; @@ -22,6 +22,6 @@ export default { ], } as Meta; -export const AAAOverview: Story = () => - html` `; +export const AAAOverview: Story = () => + html` `; AAAOverview.storyName = 'Overview'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/index.ts index 7cfabc7cce..96b85feed0 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/index.ts @@ -5,8 +5,8 @@ import { manifests as documentBlueprintManifests } from './document-blueprints/m import { manifests as documentTypeManifests } from './document-types/manifests'; import { manifests as documentManifests } from './documents/manifests'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import { ManifestTypes } from '@umbraco-cms/extensions-registry'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; export const manifests = [ ...dashboardManifests, diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/menu.manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/menu.manifests.ts index 1595462273..d9c7475351 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/menu.manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/menu.manifests.ts @@ -1,4 +1,4 @@ -import { ManifestMenu } from '@umbraco-cms/extensions-registry'; +import { ManifestMenu } from '@umbraco-cms/backoffice/extensions-registry'; const menu: ManifestMenu = { type: 'menu', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/section.manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/section.manifests.ts index a50e038ea8..f92e70697c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/section.manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/section.manifests.ts @@ -1,8 +1,9 @@ -import type { ManifestSection, ManifestMenuSectionSidebarApp } from '@umbraco-cms/models'; +import type { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; +import { ManifestSectionSidebarAppMenuKind } from '@umbraco-cms/backoffice/extensions-registry'; const sectionAlias = 'Umb.Section.Content'; -const section: ManifestSection = { +const section: ManifestTypes = { type: 'section', alias: sectionAlias, name: 'Content Section', @@ -13,8 +14,9 @@ const section: ManifestSection = { }, }; -const menuSectionSidebarApp: ManifestMenuSectionSidebarApp = { - type: 'menuSectionSidebarApp', +const menuSectionSidebarApp: ManifestSectionSidebarAppMenuKind = { + type: 'sectionSidebarApp', + kind: 'menu', alias: 'Umb.SidebarMenu.Content', name: 'Content Sidebar Menu', weight: 100, diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/index.ts index 76a1e6c199..c6eb537f80 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/index.ts @@ -3,8 +3,8 @@ import { manifests as mediaMenuManifests } from './menu.manifests'; import { manifests as mediaManifests } from './media/manifests'; import { manifests as mediaTypesManifests } from './media-types/manifests'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import { ManifestTypes } from '@umbraco-cms/extensions-registry'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; export const manifests = [...mediaSectionManifests, ...mediaMenuManifests, ...mediaManifests, ...mediaTypesManifests]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/entity-actions/create.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/entity-actions/create.action.ts index 9d5c7cdf57..b00705305e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/entity-actions/create.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/entity-actions/create.action.ts @@ -1,6 +1,6 @@ import { UmbMediaTypeRepository } from '../repository/media-type.repository'; -import { UmbEntityActionBase } from '@umbraco-cms/entity-action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbCreateMediaTypeEntityAction extends UmbEntityActionBase { constructor(host: UmbControllerHostInterface, repositoryAlias: string, unique: string) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/entity-actions/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/entity-actions/manifests.ts index 8970c9af81..0535ffc768 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/entity-actions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/entity-actions/manifests.ts @@ -1,8 +1,8 @@ import { MEDIA_TYPE_REPOSITORY_ALIAS } from '../repository/manifests'; import { UmbCreateMediaTypeEntityAction } from './create.action'; import UmbReloadMediaTypeEntityAction from './reload.action'; -import { UmbDeleteEntityAction, UmbMoveEntityAction, UmbCopyEntityAction } from '@umbraco-cms/entity-action'; -import type { ManifestEntityAction } from '@umbraco-cms/models'; +import { UmbDeleteEntityAction, UmbMoveEntityAction, UmbCopyEntityAction } from '@umbraco-cms/backoffice/entity-action'; +import type { ManifestEntityAction } from '@umbraco-cms/backoffice/extensions-registry'; const entityType = 'media-type'; const repositoryAlias = MEDIA_TYPE_REPOSITORY_ALIAS; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/entity-actions/reload.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/entity-actions/reload.action.ts index e12ee63785..01d31ebd07 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/entity-actions/reload.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/entity-actions/reload.action.ts @@ -1,7 +1,7 @@ import { UUITextStyles } from '@umbraco-ui/uui-css'; import { UmbMediaTypeRepository } from '../repository/media-type.repository'; -import { UmbEntityActionBase } from '@umbraco-cms/entity-action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export default class UmbReloadMediaTypeEntityAction extends UmbEntityActionBase { static styles = [UUITextStyles]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/menu-item/manifests.ts index cdbdf67653..ea1ac3dbe1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/menu-item/manifests.ts @@ -1,14 +1,15 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; -const menuItem: ManifestMenuItem = { +const menuItem: ManifestTypes = { type: 'menuItem', + kind: 'tree', alias: 'Umb.MenuItem.MediaTypes', name: 'Media Types Menu Item', weight: 20, - loader: () => import('./media-types-menu-item.element'), meta: { label: 'Media Types', icon: 'umb:folder', + treeAlias: 'Umb.Tree.MediaTypes', }, conditions: { menus: ['Umb.Menu.Settings'], diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/menu-item/media-types-menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/menu-item/media-types-menu-item.element.ts deleted file mode 100644 index f4c95d9248..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/menu-item/media-types-menu-item.element.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { html, nothing } from 'lit'; -import { customElement, state } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; - -@customElement('umb-media-types-menu-item') -export class UmbMediaTypesMenuItemElement extends UmbLitElement { - @state() - private _renderTree = false; - - private _onShowChildren() { - this._renderTree = true; - } - - private _onHideChildren() { - this._renderTree = false; - } - - // TODO: check if root has children before settings the has-children attribute - // TODO: how do we want to cache the tree? (do we want to rerender every time the user opens the tree)? - // TODO: can we make this reusable? - render() { - return html` - ${this._renderTree ? html`` : nothing} - `; - } -} - -export default UmbMediaTypesMenuItemElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-media-types-menu-item': UmbMediaTypesMenuItemElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/manifests.ts index dc5de79647..23906ac74e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/manifests.ts @@ -2,7 +2,7 @@ import { UmbMediaTypeRepository } from './media-type.repository'; import { UmbMediaTypeStore } from './media-type.detail.store'; import { UmbMediaTypeTreeStore } from './media-type.tree.store'; import { ManifestRepository } from 'libs/extensions-registry/repository.models'; -import { ManifestStore, ManifestTreeStore } from '@umbraco-cms/extensions-registry'; +import { ManifestStore, ManifestTreeStore } from '@umbraco-cms/backoffice/extensions-registry'; export const MEDIA_TYPE_REPOSITORY_ALIAS = 'Umb.Repository.MediaType'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.detail.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.detail.store.ts index 57dc378d61..601807dfd6 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.detail.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.detail.store.ts @@ -1,8 +1,8 @@ -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { UmbStoreBase } from '@umbraco-cms/store'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { ArrayState } from '@umbraco-cms/observable-api'; -import type { MediaTypeDetails } from '@umbraco-cms/models'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UmbStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { ArrayState } from '@umbraco-cms/backoffice/observable-api'; +import type { MediaTypeDetails } from '@umbraco-cms/backoffice/models'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.repository.ts index 8123483e57..5bdfda591d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.repository.ts @@ -2,12 +2,12 @@ import { UmbMediaTypeTreeStore, UMB_MEDIA_TYPE_TREE_STORE_CONTEXT_TOKEN } from ' import { UmbMediaTypeDetailServerDataSource } from './sources/media-type.detail.server.data'; import { UmbMediaTypeStore, UMB_MEDIA_TYPE_STORE_CONTEXT_TOKEN } from './media-type.detail.store'; import { MediaTypeTreeServerDataSource } from './sources/media-type.tree.server.data'; -import { ProblemDetailsModel } from '@umbraco-cms/backend-api'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import type { MediaTypeDetails } from '@umbraco-cms/models'; -import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/notification'; -import { UmbTreeRepository, RepositoryTreeDataSource } from '@umbraco-cms/repository'; +import { ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import type { MediaTypeDetails } from '@umbraco-cms/backoffice/models'; +import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/notification'; +import { UmbTreeRepository, RepositoryTreeDataSource } from '@umbraco-cms/backoffice/repository'; export class UmbMediaTypeRepository implements UmbTreeRepository { #init!: Promise; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.tree.store.ts index a70127f5d6..6e6f69ed7d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.tree.store.ts @@ -1,6 +1,6 @@ -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { UmbTreeStoreBase } from '@umbraco-cms/store'; -import type { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import type { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.detail.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.detail.server.data.ts index d0fe79bfc7..9a96c2c7e2 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.detail.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.detail.server.data.ts @@ -1,8 +1,8 @@ import { MediaTypeDetailDataSource } from './media-type.details.server.data.interface'; -import { ProblemDetailsModel } from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import type { MediaTypeDetails } from '@umbraco-cms/models'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import { ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import type { MediaTypeDetails } from '@umbraco-cms/backoffice/models'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * @description - A data source for the Media Type detail that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.details.server.data.interface.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.details.server.data.interface.ts index b3a4306511..8182c5d0f1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.details.server.data.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.details.server.data.interface.ts @@ -1,4 +1,5 @@ -import type { DataSourceResponse, MediaTypeDetails } from '@umbraco-cms/models'; +import type { MediaTypeDetails } from '@umbraco-cms/backoffice/models'; +import type { DataSourceResponse } from '@umbraco-cms/backoffice/repository'; // TODO => Use models when they exist export interface MediaTypeDetailDataSource { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.tree.server.data.ts index b24810721b..b246beefef 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.tree.server.data.ts @@ -1,7 +1,7 @@ -import { MediaTypeResource, ProblemDetailsModel } from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { RepositoryTreeDataSource } from '@umbraco-cms/repository'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import { MediaTypeResource, ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { RepositoryTreeDataSource } from '@umbraco-cms/backoffice/repository'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * A data source for the MediaType tree that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/tree/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/tree/manifests.ts index 2b64d4357b..526aff49b2 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/tree/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/tree/manifests.ts @@ -1,5 +1,5 @@ import { UmbMediaTypeRepository } from '../repository/media-type.repository'; -import type { ManifestTree } from '@umbraco-cms/models'; +import type { ManifestTree } from '@umbraco-cms/backoffice/extensions-registry'; const tree: ManifestTree = { type: 'tree', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/manifests.ts index e7dae7efa0..b7965aad4b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/manifests.ts @@ -3,7 +3,7 @@ import type { ManifestWorkspaceAction, ManifestWorkspaceView, ManifestWorkspaceViewCollection, -} from '@umbraco-cms/models'; +} from '@umbraco-cms/backoffice/extensions-registry'; const workspace: ManifestWorkspace = { type: 'workspace', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace-edit.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace-edit.element.ts index b1b9497677..43923578ac 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace-edit.element.ts @@ -3,7 +3,7 @@ import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UUIInputElement, UUIInputEvent } from '@umbraco-ui/uui'; import { UmbWorkspaceMediaTypeContext } from './media-type-workspace.context'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-media-type-workspace-edit') export class UmbMediaTypeWorkspaceEditElement extends UmbLitElement { @@ -12,7 +12,7 @@ export class UmbMediaTypeWorkspaceEditElement extends UmbLitElement { css` #header { display: flex; - padding: 0 var(--uui-size-space-6); + padding: 0 var(--uui-size-layout-1); gap: var(--uui-size-space-4); width: 100%; } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace.context.ts index d08f00a937..5bbbb01e3b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace.context.ts @@ -1,9 +1,9 @@ import { UmbWorkspaceContext } from '../../../shared/components/workspace/workspace-context/workspace-context'; import { UmbEntityWorkspaceContextInterface } from '../../../shared/components/workspace/workspace-context/workspace-entity-context.interface'; import { UmbMediaTypeRepository } from '../repository/media-type.repository'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { ObjectState } from '@umbraco-cms/observable-api'; -import type { MediaTypeDetails } from '@umbraco-cms/models'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { ObjectState } from '@umbraco-cms/backoffice/observable-api'; +import type { MediaTypeDetails } from '@umbraco-cms/backoffice/models'; type EntityType = MediaTypeDetails; export class UmbWorkspaceMediaTypeContext diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace.element.ts index 7235c843d0..5b1ef7f277 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace.element.ts @@ -3,8 +3,8 @@ import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UmbWorkspaceMediaTypeContext } from './media-type-workspace.context'; import { UmbMediaTypeWorkspaceEditElement } from './media-type-workspace-edit.element'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { IRoutingInfo } from '@umbraco-cms/router'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { IRoutingInfo } from '@umbraco-cms/internal/router'; @customElement('umb-media-type-workspace') export class UmbMediaTypeWorkspaceElement extends UmbLitElement { @@ -13,7 +13,7 @@ export class UmbMediaTypeWorkspaceElement extends UmbLitElement { css` #header { display: flex; - padding: 0 var(--uui-size-space-6); + padding: 0 var(--uui-size-layout-1); gap: var(--uui-size-space-4); width: 100%; } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/views/collection-view-media-test.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/collection-view-media-test.element.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/views/collection-view-media-test.element.ts rename to src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/collection-view-media-test.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/views/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/manifests.ts similarity index 64% rename from src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/views/manifests.ts rename to src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/manifests.ts index e56717323b..f5170bc0c8 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/views/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/manifests.ts @@ -1,12 +1,11 @@ -import type { ManifestCollectionView } from '@umbraco-cms/models'; +import type { ManifestCollectionView } from '@umbraco-cms/backoffice/extensions-registry'; export const manifests: Array = [ { type: 'collectionView', - alias: 'Umb.CollectionView.Grid', - name: 'Grid', - elementName: 'umb-collection-view-media-grid', - loader: () => import('./collection-view-media-grid.element'), + alias: 'Umb.CollectionView.MediaGrid', + name: 'Media Grid Collection View', + loader: () => import('./media-grid-collection-view.element'), weight: 300, meta: { label: 'Grid', @@ -19,10 +18,9 @@ export const manifests: Array = [ }, { type: 'collectionView', - alias: 'Umb.CollectionView.Table', - name: 'Table', - elementName: 'umb-collection-view-media-table', - loader: () => import('./collection-view-media-table.element'), + alias: 'Umb.CollectionView.MediaTable', + name: 'Media Table Collection View', + loader: () => import('./media-table-collection-view.element'), weight: 200, meta: { label: 'Table', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/views/collection-view-media-grid.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/media-grid-collection-view.element.ts similarity index 90% rename from src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/views/collection-view-media-grid.element.ts rename to src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/media-grid-collection-view.element.ts index dd3c39e2af..22ffd35e91 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/views/collection-view-media-grid.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/media-grid-collection-view.element.ts @@ -2,12 +2,13 @@ import { UUITextStyles } from '@umbraco-ui/uui-css'; import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { repeat } from 'lit/directives/repeat.js'; -import { UmbCollectionContext, UMB_COLLECTION_CONTEXT_TOKEN } from '../collection.context'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { EntityTreeItemResponseModel } from '@umbraco-cms/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { EntityTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; +// TODO: this should be a lib import +import { UmbCollectionContext, UMB_COLLECTION_CONTEXT_TOKEN } from '../../../shared/collection/collection.context'; -@customElement('umb-collection-view-media-grid') -export class UmbCollectionViewsMediaGridElement extends UmbLitElement { +@customElement('umb-media-grid-collection-view') +export class UmbMediaGridCollectionViewElement extends UmbLitElement { static styles = [ UUITextStyles, css` @@ -175,8 +176,10 @@ export class UmbCollectionViewsMediaGridElement extends UmbLitElement { } } +export default UmbMediaGridCollectionViewElement; + declare global { interface HTMLElementTagNameMap { - 'umb-collection-view-media-grid': UmbCollectionViewsMediaGridElement; + 'umb-media-grid-collection-view': UmbMediaGridCollectionViewElement; } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/views/collection-view-media-table.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/media-table-collection-view.element.ts similarity index 86% rename from src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/views/collection-view-media-table.element.ts rename to src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/media-table-collection-view.element.ts index f225d490b4..acacf64c88 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/views/collection-view-media-table.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/media-table-collection-view.element.ts @@ -1,8 +1,7 @@ import { UUITextStyles } from '@umbraco-ui/uui-css'; import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; -import { UmbCollectionContext, UMB_COLLECTION_CONTEXT_TOKEN } from '../collection.context'; -import { +import type { UmbTableColumn, UmbTableConfig, UmbTableDeselectedEvent, @@ -10,13 +9,14 @@ import { UmbTableItem, UmbTableOrderedEvent, UmbTableSelectedEvent, -} from '../../components/table'; -import type { MediaDetails } from '@umbraco-cms/models'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { EntityTreeItemResponseModel } from '@umbraco-cms/backend-api'; +} from '../../../shared/components/table'; +import type { MediaDetails } from '../'; +import { UmbCollectionContext, UMB_COLLECTION_CONTEXT_TOKEN } from '../../../shared/collection/collection.context'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { EntityTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; -@customElement('umb-collection-view-media-table') -export class UmbCollectionViewMediaTableElement extends UmbLitElement { +@customElement('umb-media-table-collection-view') +export class UmbMediaTableCollectionViewElement extends UmbLitElement { static styles = [ UUITextStyles, css` @@ -132,8 +132,10 @@ export class UmbCollectionViewMediaTableElement extends UmbLitElement { } } +export default UmbMediaTableCollectionViewElement; + declare global { interface HTMLElementTagNameMap { - 'umb-collection-view-media-table': UmbCollectionViewMediaTableElement; + 'umb-media-table-collection-view': UmbMediaTableCollectionViewElement; } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-actions/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-actions/manifests.ts index 10d74bb1ae..eb7b4c6ce0 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-actions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-actions/manifests.ts @@ -1,5 +1,5 @@ import { MEDIA_REPOSITORY_ALIAS } from '../repository/manifests'; -import { UmbTrashEntityAction } from '@umbraco-cms/entity-action'; +import { UmbTrashEntityAction } from '@umbraco-cms/backoffice/entity-action'; import { ManifestEntityAction } from 'libs/extensions-registry/entity-action.models'; const entityActions: Array = [ diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-bulk-actions/copy/copy.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-bulk-actions/copy/copy.action.ts index 273334c4b7..7a6a36cd51 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-bulk-actions/copy/copy.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-bulk-actions/copy/copy.action.ts @@ -1,6 +1,6 @@ import type { UmbMediaRepository } from '../../repository/media.repository'; -import { UmbEntityBulkActionBase } from '@umbraco-cms/entity-action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbMediaCopyEntityBulkAction extends UmbEntityBulkActionBase { constructor(host: UmbControllerHostInterface, repositoryAlias: string, selection: Array) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-bulk-actions/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-bulk-actions/manifests.ts index a7159898b0..1574cf57c3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-bulk-actions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-bulk-actions/manifests.ts @@ -2,7 +2,7 @@ import { MEDIA_REPOSITORY_ALIAS } from '../repository/manifests'; import { UmbMediaMoveEntityBulkAction } from './move/move.action'; import { UmbMediaCopyEntityBulkAction } from './copy/copy.action'; import { UmbMediaTrashEntityBulkAction } from './trash/trash.action'; -import { ManifestEntityBulkAction } from '@umbraco-cms/extensions-registry'; +import { ManifestEntityBulkAction } from '@umbraco-cms/backoffice/extensions-registry'; const entityType = 'media'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-bulk-actions/move/move.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-bulk-actions/move/move.action.ts index 42f84f7b43..2e2496632c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-bulk-actions/move/move.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-bulk-actions/move/move.action.ts @@ -1,9 +1,9 @@ import type { UmbMediaRepository } from '../../repository/media.repository'; import { UMB_MEDIA_PICKER_MODAL_TOKEN } from '../../modals/media-picker'; -import { UmbEntityBulkActionBase } from '@umbraco-cms/entity-action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; +import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; export class UmbMediaMoveEntityBulkAction extends UmbEntityBulkActionBase { #modalContext?: UmbModalContext; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-bulk-actions/trash/trash.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-bulk-actions/trash/trash.action.ts index 4ff8837bfd..0b14d85089 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-bulk-actions/trash/trash.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/entity-bulk-actions/trash/trash.action.ts @@ -1,10 +1,10 @@ import { html } from 'lit'; import type { UmbMediaRepository } from '../../repository/media.repository'; import { UMB_CONFIRM_MODAL_TOKEN } from '../../../../shared/modals/confirm'; -import { UmbEntityBulkActionBase } from '@umbraco-cms/entity-action'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; +import { UmbEntityBulkActionBase } from '@umbraco-cms/backoffice/entity-action'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; export class UmbMediaTrashEntityBulkAction extends UmbEntityBulkActionBase { #modalContext?: UmbModalContext; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/index.ts new file mode 100644 index 0000000000..d76d6bef9e --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/index.ts @@ -0,0 +1,24 @@ +import { ContentTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; + +// Content +export interface ContentProperty { + alias: string; + label: string; + description: string; + dataTypeKey: string; +} + +export interface ContentPropertyData { + alias: string; + value: any; +} + +// Media +export interface MediaDetails extends ContentTreeItemResponseModel { + key: string; // TODO: Remove this when the backend is fixed + isTrashed: boolean; // TODO: remove only temp part of refactor + properties: Array; + data: Array; + variants: Array; // TODO: define variant data + //layout?: any; // TODO: define layout type - make it non-optional +} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/manifests.ts index 785dfaf736..cd5d6c0b79 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/manifests.ts @@ -1,3 +1,4 @@ +import { manifests as collectionViewManifests } from './collection-view/manifests'; import { manifests as repositoryManifests } from './repository/manifests'; import { manifests as menuItemManifests } from './menu-item/manifests'; import { manifests as treeManifests } from './tree/manifests'; @@ -7,6 +8,7 @@ import { manifests as entityBulkActionsManifests } from './entity-bulk-actions/m import { manifests as modalManifests } from './modals/manifests'; export const manifests = [ + ...collectionViewManifests, ...repositoryManifests, ...menuItemManifests, ...treeManifests, diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/menu-item/manifests.ts index 337bb74407..fa30637221 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/menu-item/manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestMenuItem } from '@umbraco-cms/backoffice/extensions-registry'; const menuItem: ManifestMenuItem = { type: 'menuItem', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/menu-item/media-menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/menu-item/media-menu-item.element.ts index 6bba1af067..6a4157ece4 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/menu-item/media-menu-item.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/menu-item/media-menu-item.element.ts @@ -1,6 +1,6 @@ import { html } from 'lit'; import { customElement } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-media-menu-item') export class UmbMediaMenuItemElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/modals/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/modals/manifests.ts index a1230b8792..cced5231cb 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/modals/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/modals/manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestModal } from '@umbraco-cms/extensions-registry'; +import type { ManifestModal } from '@umbraco-cms/backoffice/extensions-registry'; const modals: Array = [ { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/modals/media-picker/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/modals/media-picker/index.ts index 7075158e15..4cb0657504 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/modals/media-picker/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/modals/media-picker/index.ts @@ -1,4 +1,4 @@ -import { UmbModalToken } from '@umbraco-cms/modal'; +import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; export interface UmbMediaPickerModalData { multiple?: boolean; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/modals/media-picker/media-picker-modal.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/modals/media-picker/media-picker-modal.element.ts index 82fa6411f0..8fa0de909e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/modals/media-picker/media-picker-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/modals/media-picker/media-picker-modal.element.ts @@ -3,7 +3,7 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement, state } from 'lit/decorators.js'; import { UmbTreeElement } from '../../../../shared/components/tree/tree.element'; import { UmbMediaPickerModalData, UmbMediaPickerModalResult } from '.'; -import { UmbModalBaseElement } from '@umbraco-cms/modal'; +import { UmbModalBaseElement } from '@umbraco-cms/internal/modal'; @customElement('umb-media-picker-modal') export class UmbMediaPickerModalElement extends UmbModalBaseElement< diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/manifests.ts index 0cbeb9aede..30c09e5a8b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/manifests.ts @@ -2,7 +2,7 @@ import { UmbMediaRepository } from './media.repository'; import { UmbMediaStore } from './media.store'; import { UmbMediaTreeStore } from './media.tree.store'; import { ManifestRepository } from 'libs/extensions-registry/repository.models'; -import { ManifestStore, ManifestTreeStore } from '@umbraco-cms/extensions-registry'; +import { ManifestStore, ManifestTreeStore } from '@umbraco-cms/backoffice/extensions-registry'; export const MEDIA_REPOSITORY_ALIAS = 'Umb.Repository.Media'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.repository.ts index 9adb982bff..24e5fd28aa 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.repository.ts @@ -1,22 +1,18 @@ +import type { RepositoryTreeDataSource } from '@umbraco-cms/backoffice/repository'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import { ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbDetailRepository } from '@umbraco-cms/backoffice/repository'; +import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/notification'; +import type { MediaDetails } from '../'; import { MediaTreeServerDataSource } from './sources/media.tree.server.data'; import { UmbMediaTreeStore, UMB_MEDIA_TREE_STORE_CONTEXT_TOKEN } from './media.tree.store'; import { UmbMediaStore, UMB_MEDIA_STORE_CONTEXT_TOKEN } from './media.store'; import { UmbMediaDetailServerDataSource } from './sources/media.detail.server.data'; -import type { RepositoryTreeDataSource } from '@umbraco-cms/repository'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; -import { ProblemDetailsModel } from '@umbraco-cms/backend-api'; import type { UmbTreeRepository } from 'libs/repository/tree-repository.interface'; -import { UmbDetailRepository } from '@umbraco-cms/repository'; -import type { MediaDetails } from '@umbraco-cms/models'; -import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/notification'; type ItemDetailType = MediaDetails; -// Move to documentation / JSdoc -/* We need to create a new instance of the repository from within the element context. We want the notifications to be displayed in the right context. */ -// element -> context -> repository -> (store) -> data source -// All methods should be async and return a promise. Some methods might return an observable as part of the promise response. export class UmbMediaRepository implements UmbTreeRepository, UmbDetailRepository { #init!: Promise; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.store.ts index 070a596885..a34e9e8da0 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.store.ts @@ -1,8 +1,8 @@ -import type { MediaDetails } from '@umbraco-cms/models'; -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { ArrayState } from '@umbraco-cms/observable-api'; -import { UmbStoreBase } from '@umbraco-cms/store'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { ArrayState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import type { MediaDetails } from '../'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.tree.store.ts index 9028802a8d..88903b1cb1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.tree.store.ts @@ -1,8 +1,8 @@ -import { EntityTreeItemResponseModel } from '@umbraco-cms/backend-api'; -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { ArrayState } from '@umbraco-cms/observable-api'; -import { UmbTreeStoreBase } from '@umbraco-cms/store'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { EntityTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { ArrayState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export const UMB_MEDIA_TREE_STORE_CONTEXT_TOKEN = new UmbContextToken('UmbMediaTreeStore'); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/sources/media.detail.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/sources/media.detail.server.data.ts index 2cbbe19cc0..57b1fde3c7 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/sources/media.detail.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/sources/media.detail.server.data.ts @@ -1,8 +1,8 @@ -import { RepositoryDetailDataSource } from '@umbraco-cms/repository'; -import { ProblemDetailsModel } from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; -import type { MediaDetails } from '@umbraco-cms/models'; +import type { MediaDetails } from '../../'; +import { RepositoryDetailDataSource } from '@umbraco-cms/backoffice/repository'; +import { ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * A data source for the Template detail that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/sources/media.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/sources/media.tree.server.data.ts index 3ea980f8f5..b2b2cd2603 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/sources/media.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/sources/media.tree.server.data.ts @@ -1,7 +1,7 @@ -import type { RepositoryTreeDataSource } from '../../../../../../libs/repository/repository-tree-data-source.interface'; -import { ProblemDetailsModel, MediaResource } from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import type { RepositoryTreeDataSource } from '@umbraco-cms/backoffice/repository'; +import { ProblemDetailsModel, MediaResource } from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * A data source for the Media tree that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/tree/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/tree/manifests.ts index 0e60c1d4af..6f40b6d6ee 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/tree/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/tree/manifests.ts @@ -1,5 +1,5 @@ import { UmbMediaRepository } from '../repository/media.repository'; -import type { ManifestTree } from '@umbraco-cms/models'; +import type { ManifestTree } from '@umbraco-cms/backoffice/extensions-registry'; const treeAlias = 'Umb.Tree.Media'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/manifests.ts index 5b26b451bc..c58ae9fbf1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/manifests.ts @@ -1,11 +1,11 @@ -import { MEDIA_REPOSITORY_ALIAS } from '../repository/manifests'; -import { UmbSaveWorkspaceAction } from '@umbraco-cms/workspace'; +import { UmbSaveWorkspaceAction } from '@umbraco-cms/backoffice/workspace'; import type { ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceView, ManifestWorkspaceViewCollection, -} from '@umbraco-cms/models'; +} from '@umbraco-cms/backoffice/extensions-registry'; +import { MEDIA_REPOSITORY_ALIAS } from '../repository/manifests'; const workspace: ManifestWorkspace = { type: 'workspace', @@ -22,8 +22,7 @@ const workspaceViews: Array = [ type: 'workspaceView', alias: 'Umb.WorkspaceView.Media.Edit', name: 'Media Workspace Edit View', - loader: () => - import('../../../shared/components/workspace/workspace-content/views/edit/workspace-view-content-edit.element'), + loader: () => import('./views/edit/media-edit-workspace-view.element'), weight: 200, meta: { label: 'Media', @@ -38,8 +37,7 @@ const workspaceViews: Array = [ type: 'workspaceView', alias: 'Umb.WorkspaceView.Media.Info', name: 'Media Workspace Info View', - loader: () => - import('../../../shared/components/workspace/workspace-content/views/info/workspace-view-content-info.element'), + loader: () => import('./views/info/media-info-workspace-view.element'), weight: 100, meta: { label: 'Info', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace-edit.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace-edit.element.ts index e7f23ea7bc..264902479b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace-edit.element.ts @@ -1,8 +1,8 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, html, nothing } from 'lit'; import { customElement, state } from 'lit/decorators.js'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { UmbMediaWorkspaceContext } from './media-workspace.context'; -import { UmbLitElement } from '@umbraco-cms/element'; @customElement('umb-media-workspace-edit') export class UmbMediaWorkspaceEditElement extends UmbLitElement { @@ -14,6 +14,15 @@ export class UmbMediaWorkspaceEditElement extends UmbLitElement { width: 100%; height: 100%; } + + #header { + margin: 0 var(--uui-size-layout-1); + flex: 1 1 auto; + } + + #footer { + margin: 0 var(--uui-size-layout-1); + } `, ]; @@ -37,16 +46,14 @@ export class UmbMediaWorkspaceEditElement extends UmbLitElement { } render() { - return html` - ${this._key - ? html` - - ` - : nothing} - `; + if (!this._key) return nothing; + return html` + + + `; } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.context.ts index a2eee22259..7bffe8f9af 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.context.ts @@ -1,9 +1,9 @@ import { UmbWorkspaceContext } from '../../../shared/components/workspace/workspace-context/workspace-context'; import { UmbMediaRepository } from '../repository/media.repository'; import type { UmbEntityWorkspaceContextInterface } from '../../../shared/components/workspace/workspace-context/workspace-entity-context.interface'; -import { appendToFrozenArray, ObjectState } from '@umbraco-cms/observable-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import type { MediaDetails } from '@umbraco-cms/models'; +import { appendToFrozenArray, ObjectState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import type { MediaDetails } from '../'; type EntityType = MediaDetails; export class UmbMediaWorkspaceContext diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.element.ts index 6e78b7a7ad..a2595863bf 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.element.ts @@ -1,10 +1,10 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; +import { IRoute, IRoutingInfo } from '@umbraco-cms/internal/router'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { UmbMediaWorkspaceContext } from './media-workspace.context'; import { UmbMediaWorkspaceEditElement } from './media-workspace-edit.element'; -import { IRoute, IRoutingInfo } from '@umbraco-cms/router'; -import { UmbLitElement } from '@umbraco-cms/element'; @customElement('umb-media-workspace') export class UmbMediaWorkspaceElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/edit/media-edit-workspace-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/edit/media-edit-workspace-view.element.ts new file mode 100644 index 0000000000..3c0bd2eb8c --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/edit/media-edit-workspace-view.element.ts @@ -0,0 +1,21 @@ +import { css, html } from 'lit'; +import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; +import { customElement } from 'lit/decorators.js'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; + +@customElement('umb-media-edit-workspace-view') +export class UmbMediaEditWorkspaceViewElement extends UmbLitElement { + static styles = [UUITextStyles, css``]; + + render() { + return html`
Render Media Props
`; + } +} + +export default UmbMediaEditWorkspaceViewElement; + +declare global { + interface HTMLElementTagNameMap { + 'umb-media-edit-workspace-view': UmbMediaEditWorkspaceViewElement; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/edit/media-edit-workspace-view.stories.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/edit/media-edit-workspace-view.stories.ts new file mode 100644 index 0000000000..ea00e6733b --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/edit/media-edit-workspace-view.stories.ts @@ -0,0 +1,27 @@ +import './media-edit-workspace-view.element'; + +import { Meta, Story } from '@storybook/web-components'; +import { html } from 'lit-html'; + +// import { data } from '../../../../../../core/mocks/data/media.data'; +// import { UmbNodeContext } from '../../node.context'; + +import type { UmbMediaEditWorkspaceViewElement } from './media-edit-workspace-view.element'; + +export default { + title: 'Workspaces/Media/Views/Edit', + component: 'umb-media-edit-workspace-view', + id: 'umb-media-edit-workspace-view', + decorators: [ + (story) => { + return html`TODO: make use of mocked workspace context??`; + /*html` + ${story()} + `,*/ + }, + ], +} as Meta; + +export const AAAOverview: Story = () => + html` `; +AAAOverview.storyName = 'Overview'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/info/media-info-workspace-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/info/media-info-workspace-view.element.ts new file mode 100644 index 0000000000..a6e840c2c7 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/info/media-info-workspace-view.element.ts @@ -0,0 +1,21 @@ +import { css, html } from 'lit'; +import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; +import { customElement } from 'lit/decorators.js'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; + +@customElement('umb-media-info-workspace-view') +export class UmbMediaInfoWorkspaceViewElement extends UmbLitElement { + static styles = [UUITextStyles, css``]; + + render() { + return html`
Media info
`; + } +} + +export default UmbMediaInfoWorkspaceViewElement; + +declare global { + interface HTMLElementTagNameMap { + 'umb-media-info-workspace-view': UmbMediaInfoWorkspaceViewElement; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/info/media-info-workspace-view.stories.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/info/media-info-workspace-view.stories.ts new file mode 100644 index 0000000000..4afbc8700b --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/info/media-info-workspace-view.stories.ts @@ -0,0 +1,27 @@ +import './media-info-workspace-view.element'; + +import { Meta, Story } from '@storybook/web-components'; +import { html } from 'lit-html'; + +// import { data } from '../../../../../../core/mocks/data/media.data'; +// import { UmbNodeContext } from '../../node.context'; + +import type { UmbMediaInfoWorkspaceViewElement } from './media-info-workspace-view.element'; + +export default { + title: 'Workspaces/Media/Views/Info', + component: 'umb-media-info-workspace-view', + id: 'umb-media-info-workspace-view', + decorators: [ + (story) => { + return html`TODO: make use of mocked workspace context??`; + /*html` + ${story()} + `,*/ + }, + ], +} as Meta; + +export const AAAOverview: Story = () => + html` `; +AAAOverview.storyName = 'Overview'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/menu.manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/menu.manifests.ts index 48f15abb44..46ae89c9d2 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/menu.manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/menu.manifests.ts @@ -1,4 +1,4 @@ -import { ManifestMenu } from '@umbraco-cms/extensions-registry'; +import { ManifestMenu } from '@umbraco-cms/backoffice/extensions-registry'; const menu: ManifestMenu = { type: 'menu', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/section.manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/section.manifests.ts index c11cb83ab3..425af38e6d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/section.manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/section.manifests.ts @@ -1,5 +1,9 @@ import { MEDIA_REPOSITORY_ALIAS } from './media/repository/manifests'; -import type { ManifestDashboardCollection, ManifestSection, ManifestMenuSectionSidebarApp } from '@umbraco-cms/models'; +import type { + ManifestDashboardCollection, + ManifestSection, + ManifestTypes, +} from '@umbraco-cms/backoffice/extensions-registry'; const sectionAlias = 'Umb.Section.Media'; @@ -32,8 +36,9 @@ const dashboards: Array = [ }, ]; -const menuSectionSidebarApp: ManifestMenuSectionSidebarApp = { - type: 'menuSectionSidebarApp', +const menuSectionSidebarApp: ManifestTypes = { + type: 'sectionSidebarApp', + kind: 'menu', alias: 'Umb.SectionSidebarMenu.Media', name: 'Media Section Sidebar Menu', weight: 100, diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/index.ts index 386a38582f..ec7c105679 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/index.ts @@ -4,8 +4,8 @@ import { manifests as memberGroupManifests } from './member-groups/manifests'; import { manifests as memberTypeManifests } from './member-types/manifests'; import { manifests as memberManifests } from './members/manifests'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import { ManifestTypes } from '@umbraco-cms/extensions-registry'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; export const manifests = [ ...memberSectionManifests, diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/entity-actions/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/entity-actions/manifests.ts index 35d0341dbb..174945b696 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/entity-actions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/entity-actions/manifests.ts @@ -1,5 +1,5 @@ import { MEMBER_GROUP_REPOSITORY_ALIAS } from '../repository/manifests'; -import { UmbDeleteEntityAction } from '@umbraco-cms/entity-action'; +import { UmbDeleteEntityAction } from '@umbraco-cms/backoffice/entity-action'; import { ManifestEntityAction } from 'libs/extensions-registry/entity-action.models'; const entityActions: Array = [ diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/menu-item/manifests.ts index e9880b658f..d9c2d2b8a1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/menu-item/manifests.ts @@ -1,14 +1,15 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; -const menuItem: ManifestMenuItem = { +const menuItem: ManifestTypes = { type: 'menuItem', + kind: 'tree', alias: 'Umb.MenuItem.MemberGroups', name: 'Member Groups Menu Item', weight: 800, - loader: () => import('./member-groups-menu-item.element'), meta: { label: 'Member Groups', icon: 'umb:folder', + treeAlias: 'Umb.Tree.MemberGroups', }, conditions: { menus: ['Umb.Menu.Members'], diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/menu-item/member-groups-menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/menu-item/member-groups-menu-item.element.ts deleted file mode 100644 index 2a215bad63..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/menu-item/member-groups-menu-item.element.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { html, nothing } from 'lit'; -import { customElement, state } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; - -@customElement('umb-member-groups-menu-item') -export class UmbMemberGroupsMenuItemElement extends UmbLitElement { - @state() - private _renderTree = false; - - private _onShowChildren() { - this._renderTree = true; - } - - private _onHideChildren() { - this._renderTree = false; - } - - // TODO: check if root has children before settings the has-children attribute - // TODO: how do we want to cache the tree? (do we want to rerender every time the user opens the tree)? - // TODO: can we make this reusable? - render() { - return html` - ${this._renderTree ? html`` : nothing} - `; - } -} - -export default UmbMemberGroupsMenuItemElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-member-groups-menu-item': UmbMemberGroupsMenuItemElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/manifests.ts index c4fb973526..c9efa0f4be 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/manifests.ts @@ -2,7 +2,7 @@ import { UmbMemberGroupRepository } from './member-group.repository'; import { UmbMemberGroupStore } from './member-group.store'; import { UmbMemberGroupTreeStore } from './member-group.tree.store'; import { ManifestRepository } from 'libs/extensions-registry/repository.models'; -import { ManifestStore, ManifestTreeStore } from '@umbraco-cms/extensions-registry'; +import { ManifestStore, ManifestTreeStore } from '@umbraco-cms/backoffice/extensions-registry'; export const MEMBER_GROUP_REPOSITORY_ALIAS = 'Umb.Repository.MemberGroup'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.repository.ts index 0c0f315b71..0ed1749225 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.repository.ts @@ -2,12 +2,16 @@ import { UmbMemberGroupTreeStore, UMB_MEMBER_GROUP_TREE_STORE_CONTEXT_TOKEN } fr import { UmbMemberGroupDetailServerDataSource } from './sources/member-group.detail.server.data'; import { UmbMemberGroupStore, UMB_MEMBER_GROUP_STORE_CONTEXT_TOKEN } from './member-group.store'; import { MemberGroupTreeServerDataSource } from './sources/member-group.tree.server.data'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/notification'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; -import type { MemberGroupDetails } from '@umbraco-cms/models'; -import { ProblemDetailsModel } from '@umbraco-cms/backend-api'; -import type { RepositoryTreeDataSource, UmbDetailRepository, UmbTreeRepository } from '@umbraco-cms/repository'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/notification'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import type { MemberGroupDetails } from '@umbraco-cms/backoffice/models'; +import { ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import type { + RepositoryTreeDataSource, + UmbDetailRepository, + UmbTreeRepository, +} from '@umbraco-cms/backoffice/repository'; // TODO => Update type when backend updated export class UmbMemberGroupRepository implements UmbTreeRepository, UmbDetailRepository { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.store.ts index 864430facf..b58cd314c0 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.store.ts @@ -1,8 +1,8 @@ -import type { MemberGroupDetails } from '@umbraco-cms/models'; -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { ArrayState } from '@umbraco-cms/observable-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbStoreBase } from '@umbraco-cms/store'; +import type { MemberGroupDetails } from '@umbraco-cms/backoffice/models'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { ArrayState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbStoreBase } from '@umbraco-cms/backoffice/store'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.tree.store.ts index 4d1f4ce44a..1a67085088 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.tree.store.ts @@ -1,6 +1,6 @@ -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { UmbTreeStoreBase } from '@umbraco-cms/store'; -import type { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import type { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/sources/member-group.detail.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/sources/member-group.detail.server.data.ts index 354888fb1a..91d1b54cd7 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/sources/member-group.detail.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/sources/member-group.detail.server.data.ts @@ -1,8 +1,8 @@ -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; -import { ProblemDetailsModel } from '@umbraco-cms/backend-api'; -import type { MemberGroupDetails } from '@umbraco-cms/models'; -import { RepositoryDetailDataSource } from '@umbraco-cms/repository'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; +import { ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import type { MemberGroupDetails } from '@umbraco-cms/backoffice/models'; +import { RepositoryDetailDataSource } from '@umbraco-cms/backoffice/repository'; /** * @description - A data source for the MemberGroup detail that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/sources/member-group.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/sources/member-group.tree.server.data.ts index c0e3cce038..6ccabbbf3c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/sources/member-group.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/sources/member-group.tree.server.data.ts @@ -1,7 +1,7 @@ -import { MemberGroupResource, ProblemDetailsModel } from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { RepositoryTreeDataSource } from '@umbraco-cms/repository'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import { MemberGroupResource, ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { RepositoryTreeDataSource } from '@umbraco-cms/backoffice/repository'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * A data source for the Member Group tree that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/tree/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/tree/manifests.ts index 32cdd97328..ee8ef370fb 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/tree/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/tree/manifests.ts @@ -1,5 +1,5 @@ import { UmbMemberGroupRepository } from '../repository/member-group.repository'; -import type { ManifestTree } from '@umbraco-cms/models'; +import type { ManifestTree } from '@umbraco-cms/backoffice/extensions-registry'; const treeAlias = 'Umb.Tree.MemberGroups'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/manifests.ts index 9a1f8802e9..24bacb44ca 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/manifests.ts @@ -1,5 +1,9 @@ -import { UmbSaveWorkspaceAction } from '@umbraco-cms/workspace'; -import type { ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceView } from '@umbraco-cms/models'; +import { UmbSaveWorkspaceAction } from '@umbraco-cms/backoffice/workspace'; +import type { + ManifestWorkspace, + ManifestWorkspaceAction, + ManifestWorkspaceView, +} from '@umbraco-cms/backoffice/extensions-registry'; const workspace: ManifestWorkspace = { type: 'workspace', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace-edit.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace-edit.element.ts index bf1a593e9a..7fe6a6d456 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace-edit.element.ts @@ -1,7 +1,7 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, html } from 'lit'; import { customElement } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; /** * @element umb-member-group-edit-workspace diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.context.ts index 9f5828a437..ea030f00fb 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.context.ts @@ -1,9 +1,9 @@ import { UmbEntityWorkspaceContextInterface } from '../../../../backoffice/shared/components/workspace/workspace-context/workspace-entity-context.interface'; import { UmbWorkspaceContext } from '../../../../backoffice/shared/components/workspace/workspace-context/workspace-context'; import { UmbMemberGroupRepository } from '../repository/member-group.repository'; -import type { MemberGroupDetails } from '@umbraco-cms/models'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { ObjectState } from '@umbraco-cms/observable-api'; +import type { MemberGroupDetails } from '@umbraco-cms/backoffice/models'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { ObjectState } from '@umbraco-cms/backoffice/observable-api'; type EntityType = MemberGroupDetails; export class UmbWorkspaceMemberGroupContext diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.element.ts index 368b175a4d..674512ad7f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.element.ts @@ -4,7 +4,7 @@ import { customElement, state } from 'lit/decorators.js'; import { IRoutingInfo } from 'router-slot'; import { UmbWorkspaceMemberGroupContext } from './member-group-workspace.context'; import { UmbMemberGroupWorkspaceEditElement } from './member-group-workspace-edit.element'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; /** * @element umb-member-group-workspace diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/views/info/workspace-view-member-group-info.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/views/info/workspace-view-member-group-info.element.ts index faf7d7e59d..58296b175a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/views/info/workspace-view-member-group-info.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/views/info/workspace-view-member-group-info.element.ts @@ -2,8 +2,8 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UmbWorkspaceMemberGroupContext } from '../../member-group-workspace.context'; -import type { MemberGroupDetails } from '@umbraco-cms/models'; -import { UmbLitElement } from '@umbraco-cms/element'; +import type { MemberGroupDetails } from '@umbraco-cms/backoffice/models'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-workspace-view-member-group-info') export class UmbWorkspaceViewMemberGroupInfoElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/entity-actions/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/entity-actions/manifests.ts index b569d782c6..db52c2c7a8 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/entity-actions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/entity-actions/manifests.ts @@ -1,6 +1,6 @@ import { MEMBER_TYPES_REPOSITORY_ALIAS } from '../repository/manifests'; -import { UmbDeleteEntityAction } from '@umbraco-cms/entity-action'; -import type { ManifestEntityAction } from '@umbraco-cms/models'; +import { UmbDeleteEntityAction } from '@umbraco-cms/backoffice/entity-action'; +import type { ManifestEntityAction } from '@umbraco-cms/backoffice/extensions-registry'; const entityType = 'member-type'; const repositoryAlias = MEMBER_TYPES_REPOSITORY_ALIAS; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/menu-item/manifests.ts index 02c64aa21a..2feda6caeb 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/menu-item/manifests.ts @@ -1,14 +1,15 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; -const menuItem: ManifestMenuItem = { +const menuItem: ManifestTypes = { type: 'menuItem', + kind: 'tree', alias: 'Umb.MenuItem.MemberTypes', name: 'Member Types Menu Item', weight: 30, - loader: () => import('./member-types-menu-item.element'), meta: { label: 'Member Types', icon: 'umb:folder', + treeAlias: 'Umb.Tree.MemberTypes', }, conditions: { menus: ['Umb.Menu.Settings'], diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/menu-item/member-types-menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/menu-item/member-types-menu-item.element.ts deleted file mode 100644 index d1bcb90473..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/menu-item/member-types-menu-item.element.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { html, nothing } from 'lit'; -import { customElement, state } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; - -@customElement('umb-member-types-menu-item') -export class UmbMemberTypesMenuItemElement extends UmbLitElement { - @state() - private _renderTree = false; - - private _onShowChildren() { - this._renderTree = true; - } - - private _onHideChildren() { - this._renderTree = false; - } - - // TODO: check if root has children before settings the has-children attribute - // TODO: how do we want to cache the tree? (do we want to rerender every time the user opens the tree)? - // TODO: can we make this reusable? - render() { - return html` - ${this._renderTree ? html`` : nothing} - `; - } -} - -export default UmbMemberTypesMenuItemElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-member-types-menu-item': UmbMemberTypesMenuItemElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/manifests.ts index f40c631433..3c06da7999 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/manifests.ts @@ -1,7 +1,7 @@ import { UmbMemberTypeRepository } from './member-type.repository'; import { UmbMemberTypeStore } from './member-type.store'; import { UmbMemberTypeTreeStore } from './member-type.tree.store'; -import type { ManifestRepository, ManifestStore, ManifestTreeStore } from '@umbraco-cms/extensions-registry'; +import type { ManifestRepository, ManifestStore, ManifestTreeStore } from '@umbraco-cms/backoffice/extensions-registry'; export const MEMBER_TYPES_REPOSITORY_ALIAS = 'Umb.Repository.MemberType'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.repository.ts index 83120d5b3d..5b7f0cf65d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.repository.ts @@ -2,12 +2,12 @@ import { MemberTypeTreeServerDataSource } from './sources/member-type.tree.serve import { UmbMemberTypeTreeStore, UMB_MEMBER_TYPE_TREE_STORE_CONTEXT_TOKEN } from './member-type.tree.store'; import { UmbMemberTypeStore, UMB_MEMBER_TYPE_STORE_CONTEXT_TOKEN } from './member-type.store'; import { UmbMemberTypeDetailServerDataSource } from './sources/member-type.detail.server.data'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; -import { RepositoryTreeDataSource, UmbDetailRepository, UmbTreeRepository } from '@umbraco-cms/repository'; -import { ProblemDetailsModel } from '@umbraco-cms/backend-api'; -import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/notification'; -import type { MemberTypeDetails } from '@umbraco-cms/models'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import { RepositoryTreeDataSource, UmbDetailRepository, UmbTreeRepository } from '@umbraco-cms/backoffice/repository'; +import { ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/notification'; +import type { MemberTypeDetails } from '@umbraco-cms/backoffice/models'; // TODO => use correct type when available type ItemType = any; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.store.ts index c13dacc56f..9920319c4c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.store.ts @@ -1,8 +1,8 @@ -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { UmbStoreBase } from '@umbraco-cms/store'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { ArrayState } from '@umbraco-cms/observable-api'; -import type { MemberTypeDetails } from '@umbraco-cms/models'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UmbStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { ArrayState } from '@umbraco-cms/backoffice/observable-api'; +import type { MemberTypeDetails } from '@umbraco-cms/backoffice/models'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.tree.store.ts index d10cf2953e..f008de15aa 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.tree.store.ts @@ -1,6 +1,6 @@ -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { UmbTreeStoreBase } from '@umbraco-cms/store'; -import type { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import type { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/sources/member-type.detail.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/sources/member-type.detail.server.data.ts index 58ec90e115..91ed934ef9 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/sources/member-type.detail.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/sources/member-type.detail.server.data.ts @@ -1,8 +1,8 @@ -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; -import { ProblemDetailsModel } from '@umbraco-cms/backend-api'; -import type { MemberTypeDetails } from '@umbraco-cms/models'; -import { UmbDetailRepository } from '@umbraco-cms/repository'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; +import { ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import type { MemberTypeDetails } from '@umbraco-cms/backoffice/models'; +import { UmbDetailRepository } from '@umbraco-cms/backoffice/repository'; /** * @description - A data source for the MemberType detail that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/sources/member-type.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/sources/member-type.tree.server.data.ts index 8e147af77d..1384165787 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/sources/member-type.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/sources/member-type.tree.server.data.ts @@ -1,7 +1,7 @@ -import { MemberTypeResource, ProblemDetailsModel } from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { RepositoryTreeDataSource } from '@umbraco-cms/repository'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import { MemberTypeResource, ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { RepositoryTreeDataSource } from '@umbraco-cms/backoffice/repository'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * A data source for the MemberType tree that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/tree/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/tree/manifests.ts index 2e16d022d4..042a06d314 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/tree/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/tree/manifests.ts @@ -1,5 +1,5 @@ import { UmbMemberTypeRepository } from '../repository/member-type.repository'; -import type { ManifestTree } from '@umbraco-cms/models'; +import type { ManifestTree } from '@umbraco-cms/backoffice/extensions-registry'; const treeAlias = 'Umb.Tree.MemberTypes'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/manifests.ts index a90305204e..7eb06e2bf4 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/manifests.ts @@ -1,4 +1,8 @@ -import type { ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceView } from '@umbraco-cms/models'; +import type { + ManifestWorkspace, + ManifestWorkspaceAction, + ManifestWorkspaceView, +} from '@umbraco-cms/backoffice/extensions-registry'; const workspace: ManifestWorkspace = { type: 'workspace', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace-edit.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace-edit.element.ts index 99d8acb36b..eac47341ec 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace-edit.element.ts @@ -1,7 +1,7 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, html } from 'lit'; import { customElement } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-member-type-workspace-edit') export class UmbMemberTypeWorkspaceEditElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace.context.ts index 359230671f..9c8fb39b76 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace.context.ts @@ -1,8 +1,8 @@ import { UmbWorkspaceContext } from '../../../shared/components/workspace/workspace-context/workspace-context'; import { UmbEntityWorkspaceContextInterface as UmbEntityWorkspaceContextInterface } from '../../../shared/components/workspace/workspace-context/workspace-entity-context.interface'; import { UmbMemberTypeRepository } from '../repository/member-type.repository'; -import { ObjectState } from '@umbraco-cms/observable-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { ObjectState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; // TODO => use correct tpye type EntityType = any; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace.element.ts index 8345578924..a5e1593549 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace.element.ts @@ -4,7 +4,7 @@ import { customElement, state } from 'lit/decorators.js'; import { IRoutingInfo } from 'router-slot'; import { UmbMemberTypeWorkspaceEditElement } from './member-type-workspace-edit.element'; import { UmbMemberTypeWorkspaceContext } from './member-type-workspace.context'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-member-type-workspace') export class UmbMemberTypeWorkspaceElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/entity-actions/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/entity-actions/manifests.ts index cef15f5563..b9a055bbd6 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/entity-actions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/entity-actions/manifests.ts @@ -1,5 +1,5 @@ import { MEMBER_REPOSITORY_ALIAS } from '../repository/manifests'; -import { UmbDeleteEntityAction } from '@umbraco-cms/entity-action'; +import { UmbDeleteEntityAction } from '@umbraco-cms/backoffice/entity-action'; import { ManifestEntityAction } from 'libs/extensions-registry/entity-action.models'; const entityActions: Array = [ diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/member.detail.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/member.detail.store.ts index a3a52703fb..a57a23e317 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/member.detail.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/member.detail.store.ts @@ -1,10 +1,10 @@ import { Observable } from 'rxjs'; import { umbMemberData } from '../../../core/mocks/data/member.data'; -import type { MemberDetails, MemberGroupDetails } from '@umbraco-cms/models'; -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { ArrayState, createObservablePart } from '@umbraco-cms/observable-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbEntityDetailStore, UmbStoreBase } from '@umbraco-cms/store'; +import type { MemberDetails, MemberGroupDetails } from '@umbraco-cms/backoffice/models'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { ArrayState, createObservablePart } from '@umbraco-cms/backoffice/observable-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbEntityDetailStore, UmbStoreBase } from '@umbraco-cms/backoffice/store'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/menu-item/manifests.ts index 375f8a5ac5..93d9cbbc5b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/menu-item/manifests.ts @@ -1,15 +1,16 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; -const menuItem: ManifestMenuItem = { +const menuItem: ManifestTypes = { type: 'menuItem', + kind: 'tree', alias: 'Umb.MenuItem.Members', name: 'Members Menu Item', weight: 400, - loader: () => import('./members-menu-item.element'), meta: { label: 'Members', icon: 'umb:folder', entityType: 'member', + treeAlias: 'Umb.Tree.Members', }, conditions: { menus: ['Umb.Menu.Members'], diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/menu-item/members-menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/menu-item/members-menu-item.element.ts deleted file mode 100644 index 2d89af68e8..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/menu-item/members-menu-item.element.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { html, nothing } from 'lit'; -import { customElement, state } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; - -@customElement('umb-members-menu-item') -export class UmbMembersMenuItemElement extends UmbLitElement { - @state() - private _renderTree = false; - - private _onShowChildren() { - this._renderTree = true; - } - - private _onHideChildren() { - this._renderTree = false; - } - - // TODO: check if root has children before settings the has-children attribute - // TODO: how do we want to cache the tree? (do we want to rerender every time the user opens the tree)? - // TODO: can we make this reusable? - render() { - return html` - ${this._renderTree ? html`` : nothing} - `; - } -} - -export default UmbMembersMenuItemElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-members-menu-item': UmbMembersMenuItemElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/manifests.ts index a2e150c0ca..e5cd53441d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/manifests.ts @@ -2,7 +2,7 @@ import { UmbMemberRepository } from './member.repository'; import { UmbMemberStore } from './member.store'; import { UmbMemberTreeStore } from './member.tree.store'; import { ManifestRepository } from 'libs/extensions-registry/repository.models'; -import { ManifestStore, ManifestTreeStore } from '@umbraco-cms/extensions-registry'; +import { ManifestStore, ManifestTreeStore } from '@umbraco-cms/backoffice/extensions-registry'; export const MEMBER_REPOSITORY_ALIAS = 'Umb.Repository.Member'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.repository.ts index 74b1d752fe..06d8dd2c48 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.repository.ts @@ -1,10 +1,10 @@ import { UmbMemberTreeStore, UMB_MEMBER_TREE_STORE_CONTEXT_TOKEN } from './member.tree.store'; import { MemberTreeServerDataSource } from './sources/member.tree.server.data'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/notification'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; -import { UmbTreeRepository } from '@umbraco-cms/repository'; -import { ProblemDetailsModel } from '@umbraco-cms/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/notification'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import { UmbTreeRepository } from '@umbraco-cms/backoffice/repository'; +import { ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; export class UmbMemberRepository implements UmbTreeRepository { #host: UmbControllerHostInterface; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.store.ts index 991ada05f4..4db3ae37b9 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.store.ts @@ -1,8 +1,8 @@ -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { UmbStoreBase } from '@umbraco-cms/store'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { ArrayState } from '@umbraco-cms/observable-api'; -import type { MemberDetails } from '@umbraco-cms/models'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UmbStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { ArrayState } from '@umbraco-cms/backoffice/observable-api'; +import type { MemberDetails } from '@umbraco-cms/backoffice/models'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.tree.store.ts index 6dd095fded..b315e84c5a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.tree.store.ts @@ -1,6 +1,6 @@ -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { UmbTreeStoreBase } from '@umbraco-cms/store'; -import type { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import type { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export const UMB_MEMBER_TREE_STORE_CONTEXT_TOKEN = new UmbContextToken('UmbMemberTreeStore'); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/sources/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/sources/index.ts index 8659bec685..c327035dfc 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/sources/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/sources/index.ts @@ -1,5 +1,8 @@ -import type { DataSourceResponse } from '@umbraco-cms/models'; -import type { EntityTreeItemResponseModel, PagedEntityTreeItemResponseModel } from '@umbraco-cms/backend-api'; +import type { DataSourceResponse } from '@umbraco-cms/backoffice/repository'; +import type { + EntityTreeItemResponseModel, + PagedEntityTreeItemResponseModel, +} from '@umbraco-cms/backoffice/backend-api'; export interface MemberTreeDataSource { getRootItems(): Promise>; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/sources/member.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/sources/member.tree.server.data.ts index 4f4fce08c8..ba110ff410 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/sources/member.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/sources/member.tree.server.data.ts @@ -1,5 +1,5 @@ import { MemberTreeDataSource } from '.'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; /** * A data source for the Member tree that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/tree/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/tree/manifests.ts index b059f518fd..3be0767383 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/tree/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/tree/manifests.ts @@ -1,5 +1,5 @@ import { UmbMemberRepository } from '../repository/member.repository'; -import type { ManifestTree } from '@umbraco-cms/models'; +import type { ManifestTree } from '@umbraco-cms/backoffice/extensions-registry'; const tree: ManifestTree = { type: 'tree', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/manifests.ts index e4b4fe560f..a2e1875688 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/manifests.ts @@ -1,4 +1,8 @@ -import type { ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceView } from '@umbraco-cms/models'; +import type { + ManifestWorkspace, + ManifestWorkspaceAction, + ManifestWorkspaceView, +} from '@umbraco-cms/backoffice/extensions-registry'; const workspace: ManifestWorkspace = { type: 'workspace', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.context.ts index 96aae13705..99086c9254 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.context.ts @@ -1,8 +1,8 @@ import { UmbWorkspaceContext } from '../../../shared/components/workspace/workspace-context/workspace-context'; import { UmbEntityWorkspaceContextInterface as UmbEntityWorkspaceContextInterface } from '../../../shared/components/workspace/workspace-context/workspace-entity-context.interface'; import { UmbMemberRepository } from '../repository/member.repository'; -import type { MemberDetails } from '@umbraco-cms/models'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import type { MemberDetails } from '@umbraco-cms/backoffice/models'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbMemberWorkspaceContext extends UmbWorkspaceContext diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.element.ts index dc78cf8575..5b76fa0e97 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.element.ts @@ -4,7 +4,7 @@ import { customElement, state } from 'lit/decorators.js'; import { IRoutingInfo } from 'router-slot'; import { UmbMemberWorkspaceEditElement } from './member-workspace-edit.element'; import { UmbMemberWorkspaceContext } from './member-workspace.context'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-member-workspace') export class UmbMemberWorkspaceElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/menu.manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/menu.manifests.ts index 1bd7ca6a85..b5ffba5eb7 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/menu.manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/menu.manifests.ts @@ -1,4 +1,4 @@ -import { ManifestMenu } from '@umbraco-cms/extensions-registry'; +import { ManifestMenu } from '@umbraco-cms/backoffice/extensions-registry'; const menu: ManifestMenu = { type: 'menu', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/section.manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/section.manifests.ts index 50b4a5b254..8165066175 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/section.manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/section.manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestDashboard, ManifestSection, ManifestMenuSectionSidebarApp } from '@umbraco-cms/models'; +import type { ManifestDashboard, ManifestSection, ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; const sectionAlias = 'Umb.Section.Members'; @@ -30,8 +30,9 @@ const dashboards: Array = [ }, ]; -const menuSectionSidebarApp: ManifestMenuSectionSidebarApp = { - type: 'menuSectionSidebarApp', +const menuSectionSidebarApp: ManifestTypes = { + type: 'sectionSidebarApp', + kind: 'menu', alias: 'Umb.SectionSidebarMenu.Members', name: 'Members Section Sidebar Menu', weight: 100, diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/index.ts index f0a7107779..41064c5222 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/index.ts @@ -3,8 +3,8 @@ import { manifests as packageBuilderManifests } from './package-builder/manifest import { manifests as packageRepoManifests } from './package-repo/manifests'; import { manifests as packageSectionManifests } from './package-section/manifests'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import { ManifestTypes } from '@umbraco-cms/extensions-registry'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; export const manifests = [ ...repositoryManifests, diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-builder/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-builder/manifests.ts index 7218ebf120..e9a0e23c03 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-builder/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-builder/manifests.ts @@ -3,7 +3,7 @@ import type { ManifestWorkspaceAction, ManifestWorkspaceView, ManifestWorkspaceViewCollection, -} from '@umbraco-cms/models'; +} from '@umbraco-cms/backoffice/extensions-registry'; const workspace: ManifestWorkspace = { type: 'workspace', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-builder/workspace/workspace-package-builder.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-builder/workspace/workspace-package-builder.element.ts index 4023dfd261..2b5b277390 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-builder/workspace/workspace-package-builder.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-builder/workspace/workspace-package-builder.element.ts @@ -6,10 +6,10 @@ import { ifDefined } from 'lit-html/directives/if-defined.js'; import { UmbInputDocumentPickerElement } from '../../../shared/components/input-document-picker/input-document-picker.element'; import { UmbInputMediaPickerElement } from '../../../shared/components/input-media-picker/input-media-picker.element'; import { UmbInputLanguagePickerElement } from '../../../shared/components/input-language-picker/input-language-picker.element'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { PackageDefinitionResponseModel, PackageResource } from '@umbraco-cms/backend-api'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; -import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/notification'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { PackageDefinitionResponseModel, PackageResource } from '@umbraco-cms/backoffice/backend-api'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; +import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/notification'; @customElement('umb-workspace-package-builder') export class UmbWorkspacePackageBuilderElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-repo/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-repo/manifests.ts index 0c5a80a574..66eb9eeaf9 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-repo/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-repo/manifests.ts @@ -3,7 +3,7 @@ import type { ManifestWorkspaceAction, ManifestWorkspaceView, ManifestWorkspaceViewCollection, -} from '@umbraco-cms/models'; +} from '@umbraco-cms/backoffice/extensions-registry'; const workspace: ManifestWorkspace = { type: 'workspace', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/manifests.ts index c67ff995cc..287b2fe14e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestSection, ManifestSectionView } from '@umbraco-cms/models'; +import type { ManifestSection, ManifestSectionView } from '@umbraco-cms/backoffice/extensions-registry'; const sectionAlias = 'Umb.Section.Packages'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/created/created-packages-section-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/created/created-packages-section-view.element.ts index 15f3abadbf..3910947772 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/created/created-packages-section-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/created/created-packages-section-view.element.ts @@ -1,9 +1,9 @@ import { html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; -import type { IRoute, IRoutingInfo } from '@umbraco-cms/router'; -import type { ManifestTree, ManifestWorkspace } from '@umbraco-cms/models'; -import { createExtensionElement, umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import { UmbLitElement } from '@umbraco-cms/element'; +import type { IRoute, IRoutingInfo } from '@umbraco-cms/internal/router'; +import type { ManifestTree, ManifestWorkspace } from '@umbraco-cms/backoffice/extensions-registry'; +import { createExtensionElement, umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-created-packages-section-view') export class UmbCreatedPackagesSectionViewElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/created/packages-created-overview.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/created/packages-created-overview.element.ts index 02af893cbd..c51f1dbb9a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/created/packages-created-overview.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/created/packages-created-overview.element.ts @@ -4,10 +4,10 @@ import { customElement, state } from 'lit/decorators.js'; import { repeat } from 'lit/directives/repeat.js'; import { UUIPaginationEvent } from '@umbraco-ui/uui'; import { UMB_CONFIRM_MODAL_TOKEN } from '../../../../shared/modals/confirm'; -import { PackageDefinitionResponseModel, PackageResource } from '@umbraco-cms/backend-api'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; +import { PackageDefinitionResponseModel, PackageResource } from '@umbraco-cms/backoffice/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; @customElement('umb-packages-created-overview') export class UmbPackagesCreatedOverviewElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/installed/installed-packages-section-view-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/installed/installed-packages-section-view-item.element.ts index 063afe1b25..bce3d35726 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/installed/installed-packages-section-view-item.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/installed/installed-packages-section-view-item.element.ts @@ -5,14 +5,14 @@ import { firstValueFrom, map } from 'rxjs'; import { UUIButtonState } from '@umbraco-ui/uui'; import { UMB_CONFIRM_MODAL_TOKEN } from '../../../../shared/modals/confirm'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; -import { createExtensionElement, umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; +import { createExtensionElement, umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; -import type { ManifestPackageView } from '@umbraco-cms/models'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; -import { PackageResource } from '@umbraco-cms/backend-api'; -import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/notification'; +import type { ManifestPackageView } from '@umbraco-cms/backoffice/extensions-registry'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; +import { PackageResource } from '@umbraco-cms/backoffice/backend-api'; +import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/notification'; @customElement('umb-installed-packages-section-view-item') export class UmbInstalledPackagesSectionViewItem extends UmbLitElement { @@ -27,7 +27,7 @@ export class UmbInstalledPackagesSectionViewItem extends UmbLitElement { name?: string; @property() - version?: string; + version?: string | null; @property() hasPendingMigrations = false; @@ -106,7 +106,7 @@ export class UmbInstalledPackagesSectionViewItem extends UmbLitElement { return html` ${this.customIcon ? html`` : nothing} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/installed/installed-packages-section-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/installed/installed-packages-section-view.element.ts index 7880202c02..de77a3a9a2 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/installed/installed-packages-section-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/installed/installed-packages-section-view.element.ts @@ -4,8 +4,8 @@ import { repeat } from 'lit/directives/repeat.js'; import { combineLatest } from 'rxjs'; import { UUITextStyles } from '@umbraco-ui/uui-css'; import { UmbPackageRepository } from '../../../repository/package.repository'; -import { UmbLitElement } from '@umbraco-cms/element'; -import type { UmbPackageWithMigrationStatus } from '@umbraco-cms/models'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import type { UmbPackageWithMigrationStatus } from '@umbraco-cms/backoffice/models'; import './installed-packages-section-view-item.element'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/manifests.ts index ab052945f7..f59cbfc4c5 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/manifests.ts @@ -1,7 +1,7 @@ import { UmbPackageRepository } from './package.repository'; import { UmbPackageStore } from './package.store'; import { ManifestRepository } from 'libs/extensions-registry/repository.models'; -import { ManifestStore } from '@umbraco-cms/extensions-registry'; +import { ManifestStore } from '@umbraco-cms/backoffice/extensions-registry'; export const PACKAGE_REPOSITORY_ALIAS = 'Umb.Repository.Package'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/package.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/package.repository.ts index f28c63c378..d22e510625 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/package.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/package.repository.ts @@ -1,10 +1,10 @@ import { UmbPackageStore, UMB_PACKAGE_STORE_TOKEN } from './package.store'; import { UmbPackageServerDataSource } from './sources/package.server.data'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; -import { ManifestBase } from '@umbraco-cms/extensions-registry'; -import { isManifestJSType } from "@umbraco-cms/extensions-api"; -import { OpenAPI } from "@umbraco-cms/backend-api"; +import type { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import type { ManifestBase } from '@umbraco-cms/backoffice/extensions-registry'; +import { isManifestJSType } from '@umbraco-cms/backoffice/extensions-api'; +import { OpenAPI } from '@umbraco-cms/backoffice/backend-api'; // TODO: Figure out if we should base stores like this on something more generic for "collections" rather than trees. @@ -51,7 +51,6 @@ export class UmbPackageRepository { // Crudely validate that the extension at least follows a basic manifest structure // Idea: Use `Zod` to validate the manifest if (this.isManifestBase(e)) { - /** * Crude check to see if extension is of type "js" since it is safe to assume we do not * need to load any other types of extensions in the backoffice (we need a js file to load) diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/package.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/package.store.ts index f7bcfc0b11..560e9eed24 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/package.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/package.store.ts @@ -1,10 +1,11 @@ import { ReplaySubject } from 'rxjs'; -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbStoreBase } from '@umbraco-cms/store'; -import type { ManifestBase, UmbPackage } from '@umbraco-cms/models'; -import type { PackageMigrationStatusResponseModel } from '@umbraco-cms/backend-api'; -import { ArrayState } from '@umbraco-cms/observable-api'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbStoreBase } from '@umbraco-cms/backoffice/store'; +import type { UmbPackage } from '@umbraco-cms/backoffice/models'; +import type { PackageMigrationStatusResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import type { ManifestBase } from '@umbraco-cms/backoffice/extensions-registry'; +import { ArrayState } from '@umbraco-cms/backoffice/observable-api'; export const UMB_PACKAGE_STORE_TOKEN = new UmbContextToken('UmbPackageStore'); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/server-extension.controller.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/server-extension.controller.ts index 74a3db7ea0..2f07556f6a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/server-extension.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/server-extension.controller.ts @@ -1,7 +1,7 @@ import { Subject, takeUntil } from 'rxjs'; import { UmbPackageRepository } from './package.repository'; -import { UmbController, UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbExtensionRegistry } from '@umbraco-cms/extensions-api'; +import { UmbController, UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbExtensionRegistry } from '@umbraco-cms/backoffice/extensions-api'; export class UmbServerExtensionController extends UmbController { #host: UmbControllerHostInterface; @@ -33,7 +33,7 @@ export class UmbServerExtensionController extends UmbController { ) .subscribe((extensions) => { extensions.forEach((extension) => { - this.extensionRegistry.register(extension, this.#host); + this.extensionRegistry.register(extension); }); }); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/sources/package.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/sources/package.server.data.ts index 251f76608c..fdac0c0809 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/sources/package.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/sources/package.server.data.ts @@ -1,6 +1,6 @@ -import { PackageResource } from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import { PackageResource } from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * Data source for packages from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/search/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/search/index.ts index e0d341e7cc..040b21d817 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/search/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/search/index.ts @@ -1,7 +1,7 @@ import { manifests as searchManifests } from '../search/manifests'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import { ManifestTypes } from '@umbraco-cms/extensions-registry'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; export const manifests = [...searchManifests]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/search/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/search/manifests.ts index ea025667f8..9f3ad717e4 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/search/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/search/manifests.ts @@ -1,6 +1,6 @@ -import type { ManifestHeaderApp } from '@umbraco-cms/models'; +import type { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; -const headerApps: Array = [ +const headerApps: Array = [ { type: 'headerApp', alias: 'Umb.HeaderApp.Search', @@ -13,6 +13,19 @@ const headerApps: Array = [ pathname: 'search', }, }, + + { + type: 'headerApp', + kind: 'button', + alias: 'Umb.HeaderApp.HackDemo', + name: 'Header App Search', + weight: 10, + meta: { + label: 'Hack Demo', + icon: 'document', + href: '/section/content/workspace/document/edit/c05da24d-7740-447b-9cdc-bd8ce2172e38/en-us/view/content/tab/Local%20blog%20tab', + }, + }, ]; export const manifests = [...headerApps]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/search/modals/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/search/modals/manifests.ts index 7765c306fc..e90acac916 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/search/modals/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/search/modals/manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestModal } from '@umbraco-cms/extensions-registry'; +import type { ManifestModal } from '@umbraco-cms/backoffice/extensions-registry'; const modals: Array = [ { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/search/modals/search/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/search/modals/search/index.ts index 9859d03434..8044cac830 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/search/modals/search/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/search/modals/search/index.ts @@ -1,3 +1,3 @@ -import { UmbModalToken } from '@umbraco-cms/modal'; +import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; export const UMB_SEARCH_MODAL_TOKEN = new UmbModalToken('Umb.Modal.Search'); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/search/umb-search-header-app.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/search/umb-search-header-app.element.ts index 64a53e5e3b..90227bbd00 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/search/umb-search-header-app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/search/umb-search-header-app.element.ts @@ -1,8 +1,8 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, CSSResultGroup, html } from 'lit'; import { customElement } from 'lit/decorators.js'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-search-header-app') export class UmbSearchHeaderApp extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/cultures/repository/culture.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/cultures/repository/culture.repository.ts index 8e68ea40b5..d75993f9b1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/cultures/repository/culture.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/cultures/repository/culture.repository.ts @@ -1,7 +1,7 @@ import { UmbCultureServerDataSource } from './sources/culture.server.data'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; -import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/notification'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/notification'; export class UmbCultureRepository { #init!: Promise; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/cultures/repository/sources/culture.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/cultures/repository/sources/culture.server.data.ts index 02ac62a9bb..2728d5c78b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/cultures/repository/sources/culture.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/cultures/repository/sources/culture.server.data.ts @@ -1,7 +1,7 @@ import { UmbCultureDataSource } from '.'; -import { CultureResource } from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import { CultureResource } from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * A data source for the Language that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/cultures/repository/sources/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/cultures/repository/sources/index.ts index 3abfe139d2..a365433abe 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/cultures/repository/sources/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/cultures/repository/sources/index.ts @@ -1,5 +1,5 @@ -import { PagedCultureReponseModel } from '@umbraco-cms/backend-api'; -import type { DataSourceResponse } from '@umbraco-cms/models'; +import { PagedCultureReponseModel } from '@umbraco-cms/backoffice/backend-api'; +import type { DataSourceResponse } from '@umbraco-cms/backoffice/repository'; // TODO: This is a temporary solution until we have a proper paging interface type paging = { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/dashboard-examine-management.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/dashboard-examine-management.element.ts index a82f3676bc..4fdafa6210 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/dashboard-examine-management.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/dashboard-examine-management.element.ts @@ -3,9 +3,9 @@ import { customElement, state } from 'lit/decorators.js'; import { UmbDashboardExamineIndexElement } from './views/section-view-examine-indexers'; import { UmbDashboardExamineSearcherElement } from './views/section-view-examine-searchers'; -import type { IRoute, IRoutingInfo, UmbRouterSlotChangeEvent, UmbRouterSlotInitEvent } from '@umbraco-cms/router'; +import type { IRoute, IRoutingInfo, UmbRouterSlotChangeEvent, UmbRouterSlotInitEvent } from '@umbraco-cms/internal/router'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-dashboard-examine-management') export class UmbDashboardExamineManagementElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/modal-views/fields-settings.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/modal-views/fields-settings.element.ts index 8da8cf647e..60a1acfb8e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/modal-views/fields-settings.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/modal-views/fields-settings.element.ts @@ -2,7 +2,7 @@ import { html, css } from 'lit'; import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement, state } from 'lit/decorators.js'; import { UmbCreateDocumentModalResultData, UmbExamineFieldsSettingsModalData } from '.'; -import { UmbModalBaseElement } from '@umbraco-cms/modal'; +import { UmbModalBaseElement } from '@umbraco-cms/internal/modal'; @customElement('umb-examine-fields-settings-modal') export class UmbExamineFieldsSettingsModalElement extends UmbModalBaseElement< diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/modal-views/fields-viewer.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/modal-views/fields-viewer.element.ts index 84f319ab80..df1870aba9 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/modal-views/fields-viewer.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/modal-views/fields-viewer.element.ts @@ -1,8 +1,8 @@ import { html, css, nothing } from 'lit'; import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement } from 'lit/decorators.js'; -import { UmbModalBaseElement } from '@umbraco-cms/modal'; -import type { SearchResultResponseModel } from '@umbraco-cms/backend-api'; +import { UmbModalBaseElement } from '@umbraco-cms/internal/modal'; +import type { SearchResultResponseModel } from '@umbraco-cms/backoffice/backend-api'; @customElement('umb-modal-element-fields-viewer') export class UmbModalElementFieldsViewerElement extends UmbModalBaseElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/modal-views/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/modal-views/index.ts index 3ff332b969..1e1e727379 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/modal-views/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/modal-views/index.ts @@ -1,4 +1,4 @@ -import { UmbModalToken } from '@umbraco-cms/modal'; +import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; export type UmbExamineFieldsSettingsModalData = Array<{ name: string; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/section-view-examine-indexers.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/section-view-examine-indexers.ts index 05ff3cf331..6920abc579 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/section-view-examine-indexers.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/section-view-examine-indexers.ts @@ -3,10 +3,10 @@ import { css, html, nothing } from 'lit'; import { customElement, property, state } from 'lit/decorators.js'; import { UUIButtonState } from '@umbraco-ui/uui-button'; import { UMB_CONFIRM_MODAL_TOKEN } from '../../../../shared/modals/confirm'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; -import { HealthStatusModel, IndexResponseModel, IndexerResource } from '@umbraco-cms/backend-api'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; +import { HealthStatusModel, IndexResponseModel, IndexerResource } from '@umbraco-cms/backoffice/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; import './section-view-examine-searchers'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/section-view-examine-overview.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/section-view-examine-overview.ts index beb5218eed..02c5b7f89c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/section-view-examine-overview.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/section-view-examine-overview.ts @@ -8,9 +8,9 @@ import { IndexerResource, SearcherResponseModel, SearcherResource, -} from '@umbraco-cms/backend-api'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +} from '@umbraco-cms/backoffice/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; @customElement('umb-dashboard-examine-overview') export class UmbDashboardExamineOverviewElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/section-view-examine-searchers.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/section-view-examine-searchers.ts index 62c8d2280d..10439bad30 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/section-view-examine-searchers.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/examine-management/views/section-view-examine-searchers.ts @@ -1,10 +1,10 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, html, nothing } from 'lit'; import { customElement, state, query, property } from 'lit/decorators.js'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; -import { SearchResultResponseModel, SearcherResource, FieldPresentationModel } from '@umbraco-cms/backend-api'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; +import { SearchResultResponseModel, SearcherResource, FieldPresentationModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; import './modal-views/fields-viewer.element'; import './modal-views/fields-settings.element'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/dashboard-health-check.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/dashboard-health-check.element.ts index 486f315d04..1828d225a1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/dashboard-health-check.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/dashboard-health-check.element.ts @@ -6,12 +6,12 @@ import { UMB_HEALTHCHECK_DASHBOARD_CONTEXT_TOKEN, } from './health-check-dashboard.context'; import { UmbHealthCheckContext } from './health-check.context'; -import type { IRoute, IRoutingInfo } from '@umbraco-cms/router'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { ManifestHealthCheck } from '@umbraco-cms/extensions-registry'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; -import { HealthCheckGroupResponseModel, HealthCheckResource } from '@umbraco-cms/backend-api'; +import type { IRoute, IRoutingInfo } from '@umbraco-cms/internal/router'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { ManifestHealthCheck } from '@umbraco-cms/backoffice/extensions-registry'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; +import { HealthCheckGroupResponseModel, HealthCheckResource } from '@umbraco-cms/backoffice/backend-api'; @customElement('umb-dashboard-health-check') export class UmbDashboardHealthCheckElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/health-check-dashboard.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/health-check-dashboard.context.ts index 73f987fdea..0d3d4cd0a3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/health-check-dashboard.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/health-check-dashboard.context.ts @@ -1,6 +1,6 @@ import { UmbHealthCheckContext } from './health-check.context'; -import type { ManifestHealthCheck } from '@umbraco-cms/models'; -import { UmbContextToken } from '@umbraco-cms/context-api'; +import type { ManifestHealthCheck } from '@umbraco-cms/backoffice/extensions-registry'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; export class UmbHealthCheckDashboardContext { #manifests: ManifestHealthCheck[] = []; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/health-check.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/health-check.context.ts index 70cdf9d5bb..96ea04fb9d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/health-check.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/health-check.context.ts @@ -3,10 +3,10 @@ import { HealthCheckGroupPresentationModel, HealthCheckGroupWithResultResponseModel, HealthCheckResource, -} from '@umbraco-cms/backend-api'; -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +} from '@umbraco-cms/backoffice/backend-api'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; export class UmbHealthCheckContext { private _checks = new BehaviorSubject(undefined); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-action.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-action.element.ts index 00958c21c4..adb82e765b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-action.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-action.element.ts @@ -4,9 +4,9 @@ import { css, html, nothing } from 'lit'; import { customElement, property, state } from 'lit/decorators.js'; import { ifDefined } from 'lit/directives/if-defined.js'; -import { HealthCheckActionRequestModel, HealthCheckResource } from '@umbraco-cms/backend-api'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import { HealthCheckActionRequestModel, HealthCheckResource } from '@umbraco-cms/backoffice/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; @customElement('umb-dashboard-health-check-action') export class UmbDashboardHealthCheckActionElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-group-box-overview.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-group-box-overview.element.ts index 3f880f186a..a298ec6672 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-group-box-overview.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-group-box-overview.element.ts @@ -6,10 +6,10 @@ import { UMB_HEALTHCHECK_DASHBOARD_CONTEXT_TOKEN, UmbHealthCheckDashboardContext, } from '../health-check-dashboard.context'; -import { ensureSlash, path } from '@umbraco-cms/router'; -import type { ManifestHealthCheck } from '@umbraco-cms/models'; -import { HealthCheckGroupWithResultResponseModel, StatusResultTypeModel } from '@umbraco-cms/backend-api'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { ensureSlash, path } from '@umbraco-cms/internal/router'; +import type { ManifestHealthCheck } from '@umbraco-cms/backoffice/extensions-registry'; +import { HealthCheckGroupWithResultResponseModel, StatusResultTypeModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-health-check-group-box-overview') export class UmbHealthCheckGroupBoxOverviewElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-group.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-group.element.ts index 0b9467d1e4..ce5e9c3278 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-group.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-group.element.ts @@ -16,9 +16,9 @@ import { HealthCheckResource, HealthCheckWithResultPresentationModel, StatusResultTypeModel, -} from '@umbraco-cms/backend-api'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +} from '@umbraco-cms/backoffice/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; import './health-check-action.element'; @customElement('umb-dashboard-health-check-group') diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-overview.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-overview.element.ts index cb1d908195..aabb536218 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-overview.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-overview.element.ts @@ -7,10 +7,10 @@ import { UmbHealthCheckDashboardContext, UMB_HEALTHCHECK_DASHBOARD_CONTEXT_TOKEN, } from '../health-check-dashboard.context'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; -import { ManifestHealthCheck } from '@umbraco-cms/extensions-registry'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; +import { ManifestHealthCheck } from '@umbraco-cms/backoffice/extensions-registry'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; import './health-check-group-box-overview.element'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/manifests.ts index 45891534c5..a3227bd94e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestDashboard, ManifestModal } from '@umbraco-cms/models'; +import type { ManifestDashboard, ManifestModal } from '@umbraco-cms/backoffice/extensions-registry'; const dashboards: Array = [ { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/models-builder/dashboard-models-builder.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/models-builder/dashboard-models-builder.element.ts index b9f792af70..03b80a367f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/models-builder/dashboard-models-builder.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/models-builder/dashboard-models-builder.element.ts @@ -3,9 +3,9 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, html, nothing } from 'lit'; import { customElement, state } from 'lit/decorators.js'; -import { ModelsBuilderResponseModel, ModelsBuilderResource, ModelsModeModel } from '@umbraco-cms/backend-api'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import { ModelsBuilderResponseModel, ModelsBuilderResource, ModelsModeModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; @customElement('umb-dashboard-models-builder') export class UmbDashboardModelsBuilderElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/performance-profiling/dashboard-performance-profiling.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/performance-profiling/dashboard-performance-profiling.element.ts index fb74431a4b..630e6de151 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/performance-profiling/dashboard-performance-profiling.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/performance-profiling/dashboard-performance-profiling.element.ts @@ -1,9 +1,9 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; -import { ProfilingResource } from '@umbraco-cms/backend-api'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { ProfilingResource } from '@umbraco-cms/backoffice/backend-api'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-dashboard-performance-profiling') export class UmbDashboardPerformanceProfilingElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/published-status/dashboard-published-status.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/published-status/dashboard-published-status.element.ts index 6f4fd6a691..dfe7fcd8b4 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/published-status/dashboard-published-status.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/published-status/dashboard-published-status.element.ts @@ -3,10 +3,10 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UMB_CONFIRM_MODAL_TOKEN } from '../../../shared/modals/confirm'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; -import { PublishedCacheResource } from '@umbraco-cms/backend-api'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; +import { PublishedCacheResource } from '@umbraco-cms/backoffice/backend-api'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-dashboard-published-status') export class UmbDashboardPublishedStatusElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/published-status/dashboard-published-status.test.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/published-status/dashboard-published-status.test.ts index ed4c366109..ce625f94c8 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/published-status/dashboard-published-status.test.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/published-status/dashboard-published-status.test.ts @@ -1,7 +1,7 @@ import { expect, fixture, html } from '@open-wc/testing'; import { UmbDashboardPublishedStatusElement } from './dashboard-published-status.element'; -import { defaultA11yConfig } from '@umbraco-cms/test-utils'; +import { defaultA11yConfig } from '@umbraco-cms/internal/test-utils'; describe('UmbDashboardPublishedStatus', () => { let element: UmbDashboardPublishedStatusElement; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/settings-welcome/dashboard-settings-welcome.test.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/settings-welcome/dashboard-settings-welcome.test.ts index 1ca8ac3378..7cd3eee814 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/settings-welcome/dashboard-settings-welcome.test.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/settings-welcome/dashboard-settings-welcome.test.ts @@ -1,7 +1,7 @@ import { expect, fixture, html } from '@open-wc/testing'; import { UmbDashboardSettingsWelcomeElement } from './dashboard-settings-welcome.element'; -import { defaultA11yConfig } from '@umbraco-cms/test-utils'; +import { defaultA11yConfig } from '@umbraco-cms/internal/test-utils'; describe('UmbDashboardSettingsWelcomeElement', () => { let element: UmbDashboardSettingsWelcomeElement; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/telemetry/dashboard-telemetry.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/telemetry/dashboard-telemetry.element.ts index ee02adaf77..76507ae5c3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/telemetry/dashboard-telemetry.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/telemetry/dashboard-telemetry.element.ts @@ -3,9 +3,9 @@ import { customElement, state } from 'lit/decorators.js'; import { unsafeHTML } from 'lit/directives/unsafe-html.js'; import { UUIButtonState } from '@umbraco-ui/uui'; import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; -import { TelemetryResponseModel, TelemetryLevelModel, TelemetryResource } from '@umbraco-cms/backend-api'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import { TelemetryResponseModel, TelemetryLevelModel, TelemetryResource } from '@umbraco-cms/backoffice/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; @customElement('umb-dashboard-telemetry') export class UmbDashboardTelemetryElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/telemetry/dashboard-telemetry.test.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/telemetry/dashboard-telemetry.test.ts index 72662348af..a77fe00869 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/telemetry/dashboard-telemetry.test.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/telemetry/dashboard-telemetry.test.ts @@ -1,6 +1,6 @@ import { expect, fixture, html } from '@open-wc/testing'; import { UmbDashboardTelemetryElement } from './dashboard-telemetry.element'; -import { defaultA11yConfig } from '@umbraco-cms/test-utils'; +import { defaultA11yConfig } from '@umbraco-cms/internal/test-utils'; describe('UmbDashboardTelemetryElement', () => { let element: UmbDashboardTelemetryElement; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/menu-item/data-types-menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/menu-item/data-types-menu-item.element.ts deleted file mode 100644 index 47ad62cf81..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/menu-item/data-types-menu-item.element.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { html, nothing } from 'lit'; -import { customElement, state } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; - -@customElement('umb-data-types-menu-item') -export class UmbDataTypesMenuItemElement extends UmbLitElement { - @state() - private _renderTree = false; - - private _onShowChildren() { - this._renderTree = true; - } - - private _onHideChildren() { - this._renderTree = false; - } - - // TODO: check if root has children before settings the has-children attribute - // TODO: how do we want to cache the tree? (do we want to rerender every time the user opens the tree)? - // TODO: can we make this reusable? - render() { - return html` - ${this._renderTree ? html`` : nothing} - `; - } -} - -export default UmbDataTypesMenuItemElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-data-types-menu-item': UmbDataTypesMenuItemElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/menu-item/manifests.ts index 75408bab4d..23a3229006 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/menu-item/manifests.ts @@ -1,15 +1,16 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; -const menuItem: ManifestMenuItem = { +const menuItem: ManifestTypes = { type: 'menuItem', + kind: 'tree', alias: 'Umb.MenuItem.DataTypes', name: 'Data Types Menu Item', weight: 40, - loader: () => import('./data-types-menu-item.element'), meta: { label: 'Data Types', icon: 'umb:folder', entityType: 'data-type', + treeAlias: 'Umb.Tree.DataTypes', }, conditions: { menus: ['Umb.Menu.Settings'], diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.repository.ts index d69e722a9b..bcdd0b5099 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.repository.ts @@ -1,14 +1,16 @@ -import type { RepositoryTreeDataSource } from '../../../../../libs/repository/repository-tree-data-source.interface'; +import type { + RepositoryTreeDataSource, + UmbTreeRepository, + UmbDetailRepository, +} from '@umbraco-cms/backoffice/repository'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import { ProblemDetailsModel, DataTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/notification'; import { UmbDataTypeTreeStore, UMB_DATA_TYPE_TREE_STORE_CONTEXT_TOKEN } from './data-type.tree.store'; import { UmbDataTypeServerDataSource } from './sources/data-type.server.data'; import { UmbDataTypeStore, UMB_DATA_TYPE_STORE_CONTEXT_TOKEN } from './data-type.store'; import { DataTypeTreeServerDataSource } from './sources/data-type.tree.server.data'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; -import { ProblemDetailsModel, DataTypeResponseModel } from '@umbraco-cms/backend-api'; -import type { UmbTreeRepository } from 'libs/repository/tree-repository.interface'; -import { UmbDetailRepository } from '@umbraco-cms/repository'; -import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/notification'; type ItemType = DataTypeResponseModel; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.store.ts index 169e7499e7..14b0a96478 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.store.ts @@ -1,8 +1,8 @@ -import type { DataTypeResponseModel } from '@umbraco-cms/backend-api'; -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { ArrayState } from '@umbraco-cms/observable-api'; -import { UmbStoreBase } from '@umbraco-cms/store'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import type { DataTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { ArrayState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export const UMB_DATA_TYPE_STORE_CONTEXT_TOKEN = new UmbContextToken('UmbDataTypeStore'); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.tree.store.ts index a29ae02cf8..9e079f39bd 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.tree.store.ts @@ -1,6 +1,6 @@ -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbTreeStoreBase } from '@umbraco-cms/store'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/manifests.ts index 4d54186a90..8e68419718 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/manifests.ts @@ -2,7 +2,7 @@ import { UmbDataTypeRepository } from '../repository/data-type.repository'; import { UmbDataTypeStore } from './data-type.store'; import { UmbDataTypeTreeStore } from './data-type.tree.store'; import { ManifestRepository } from 'libs/extensions-registry/repository.models'; -import { ManifestStore, ManifestTreeStore } from '@umbraco-cms/extensions-registry'; +import { ManifestStore, ManifestTreeStore } from '@umbraco-cms/backoffice/extensions-registry'; export const DATA_TYPE_REPOSITORY_ALIAS = 'Umb.Repository.DataType'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type.server.data.ts index 254b052954..375237041e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type.server.data.ts @@ -1,13 +1,13 @@ import { v4 as uuidv4 } from 'uuid'; -import { RepositoryDetailDataSource } from '@umbraco-cms/repository'; +import { RepositoryDetailDataSource } from '@umbraco-cms/backoffice/repository'; import { ProblemDetailsModel, DataTypeResource, DataTypeResponseModel, DataTypeModelBaseModel, -} from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +} from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * A data source for the Data Type that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type.tree.server.data.ts index 1ddaf7e517..ae8ebd987a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type.tree.server.data.ts @@ -1,7 +1,7 @@ -import type { RepositoryTreeDataSource } from '../../../../../../libs/repository/repository-tree-data-source.interface'; -import { ProblemDetailsModel, DataTypeResource } from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import type { RepositoryTreeDataSource } from '@umbraco-cms/backoffice/repository'; +import { ProblemDetailsModel, DataTypeResource } from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * A data source for the Document tree that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/tree/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/tree/manifests.ts index 6d1c73262f..6aef98a542 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/tree/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/tree/manifests.ts @@ -1,5 +1,5 @@ import { UmbDataTypeRepository } from '../repository/data-type.repository'; -import type { ManifestTree } from '@umbraco-cms/models'; +import type { ManifestTree } from '@umbraco-cms/backoffice/extensions-registry'; const tree: ManifestTree = { type: 'tree', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace-edit.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace-edit.element.ts index 260103dec1..26dfe86ba8 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace-edit.element.ts @@ -3,9 +3,9 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, html } from 'lit'; import { customElement, property, state } from 'lit/decorators.js'; import { UmbDataTypeWorkspaceContext } from './data-type-workspace.context'; -import { UmbRouteLocation } from '@umbraco-cms/router'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { ManifestWorkspace } from '@umbraco-cms/extensions-registry'; +import { UmbRouteLocation } from '@umbraco-cms/internal/router'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { ManifestWorkspace } from '@umbraco-cms/backoffice/extensions-registry'; /** * @element umb-data-type-workspace-edit-element diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.context.ts index 73421518ad..2db15a8016 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.context.ts @@ -1,9 +1,9 @@ import { UmbWorkspaceContext } from '../../../shared/components/workspace/workspace-context/workspace-context'; import { UmbEntityWorkspaceContextInterface } from '../../../shared/components/workspace/workspace-context/workspace-entity-context.interface'; import { UmbDataTypeRepository } from '../repository/data-type.repository'; -import type { DataTypeResponseModel } from '@umbraco-cms/backend-api'; -import { appendToFrozenArray, ObjectState } from '@umbraco-cms/observable-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import type { DataTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { appendToFrozenArray, ObjectState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbDataTypeWorkspaceContext extends UmbWorkspaceContext diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.element.ts index 3562dd7418..69ddcdeed1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.element.ts @@ -2,8 +2,8 @@ import { UUITextStyles } from '@umbraco-ui/uui-css'; import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UmbDataTypeWorkspaceContext } from './data-type-workspace.context'; -import { UmbRouterSlotInitEvent, IRoute, IRoutingInfo } from '@umbraco-cms/router'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbRouterSlotInitEvent, IRoute, IRoutingInfo } from '@umbraco-cms/internal/router'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import './data-type-workspace-edit.element'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/manifests.ts index 6a966d092d..337c38cf7d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/manifests.ts @@ -1,5 +1,9 @@ -import { UmbSaveWorkspaceAction } from '@umbraco-cms/workspace'; -import type { ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceView } from '@umbraco-cms/models'; +import { UmbSaveWorkspaceAction } from '@umbraco-cms/backoffice/workspace'; +import type { + ManifestWorkspace, + ManifestWorkspaceAction, + ManifestWorkspaceView, +} from '@umbraco-cms/backoffice/extensions-registry'; const workspace: ManifestWorkspace = { type: 'workspace', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/details/data-type-details-workspace-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/details/data-type-details-workspace-view.element.ts index 8a46de7cae..b5c5da1ce6 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/details/data-type-details-workspace-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/details/data-type-details-workspace-view.element.ts @@ -3,10 +3,10 @@ import { css, html, nothing } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UmbDataTypeWorkspaceContext } from '../../data-type-workspace.context'; import { UMB_PROPERTY_EDITOR_UI_PICKER_MODAL_TOKEN } from '../../../../../shared/property-editors/modals/property-editor-ui-picker'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; -import { UmbLitElement } from '@umbraco-cms/element'; -import type { DataTypeResponseModel } from '@umbraco-cms/backend-api'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import type { DataTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; import '../../../../../shared/property-editors/shared/property-editor-config/property-editor-config.element'; import '../../../../../shared/components/ref-property-editor-ui/ref-property-editor-ui.element'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/info/workspace-view-data-type-info.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/info/workspace-view-data-type-info.element.ts index 7ea6345d41..9e0063bd12 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/info/workspace-view-data-type-info.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/info/workspace-view-data-type-info.element.ts @@ -3,8 +3,8 @@ import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UmbDataTypeWorkspaceContext } from '../../data-type-workspace.context'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { DataTypeResponseModel } from '@umbraco-cms/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { DataTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; @customElement('umb-workspace-view-data-type-info') export class UmbWorkspaceViewDataTypeInfoElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/extensions/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/extensions/menu-item/manifests.ts index 82c1c4b7a4..37020217d7 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/extensions/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/extensions/menu-item/manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestMenuItem } from '@umbraco-cms/backoffice/extensions-registry'; const menuItem: ManifestMenuItem = { type: 'menuItem', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/extensions/workspace/extension-root-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/extensions/workspace/extension-root-workspace.element.ts index 2f5d2ecfcb..bf56e13af7 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/extensions/workspace/extension-root-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/extensions/workspace/extension-root-workspace.element.ts @@ -1,15 +1,16 @@ import { html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; +import { map } from 'rxjs'; import { UMB_CONFIRM_MODAL_TOKEN } from '../../../shared/modals/confirm'; -import { isManifestElementNameType, umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import type { ManifestBase } from '@umbraco-cms/models'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; +import { isManifestElementNameType, umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import type { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; @customElement('umb-extension-root-workspace') export class UmbExtensionRootWorkspaceElement extends UmbLitElement { @state() - private _extensions?: Array = undefined; + private _extensions?: Array = undefined; private _modalContext?: UmbModalContext; @@ -23,12 +24,26 @@ export class UmbExtensionRootWorkspaceElement extends UmbLitElement { } private _observeExtensions() { - this.observe(umbExtensionsRegistry.extensionsSortedByTypeAndWeight(), (extensions) => { - this._extensions = extensions || undefined; - }); + this.observe( + umbExtensionsRegistry.extensions.pipe( + map((exts) => + exts.sort((a, b) => { + // If type is the same, sort by weight + if (a.type === b.type) { + return (b.weight || 0) - (a.weight || 0); + } + // Otherwise sort by type + return a.type.localeCompare(b.type); + }) + ) + ), + (extensions) => { + this._extensions = extensions || undefined; + } + ); } - async #removeExtension(extension: ManifestBase) { + async #removeExtension(extension: ManifestTypes) { const modalHandler = this._modalContext?.open(UMB_CONFIRM_MODAL_TOKEN, { headline: 'Unload extension', confirmLabel: 'Unload', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/extensions/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/extensions/workspace/manifests.ts index b6fb47aaf6..e0496a26ae 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/extensions/workspace/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/extensions/workspace/manifests.ts @@ -1,4 +1,8 @@ -import type { ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceView } from '@umbraco-cms/models'; +import type { + ManifestWorkspace, + ManifestWorkspaceAction, + ManifestWorkspaceView, +} from '@umbraco-cms/backoffice/extensions-registry'; const workspace: ManifestWorkspace = { type: 'workspace', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/index.ts index f037e3fdbf..a578c12d5c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/index.ts @@ -8,8 +8,8 @@ import { manifests as cultureManifests } from './cultures/manifests'; import { manifests as languageManifests } from './languages/manifests'; import { manifests as logviewerManifests } from './logviewer/manifests'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import { ManifestTypes } from '@umbraco-cms/extensions-registry'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; export const manifests = [ ...settingsSectionManifests, diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/app-language-select/app-language-select.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/app-language-select/app-language-select.element.ts index 9c4c8165fb..f0bec83961 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/app-language-select/app-language-select.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/app-language-select/app-language-select.element.ts @@ -6,8 +6,8 @@ import { ifDefined } from 'lit-html/directives/if-defined.js'; import { UUIMenuItemEvent } from '@umbraco-ui/uui'; import { UmbLanguageRepository } from '../repository/language.repository'; import { UMB_APP_LANGUAGE_CONTEXT_TOKEN, UmbAppLanguageContext } from './app-language.context'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { LanguageResponseModel } from '@umbraco-cms/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { LanguageResponseModel } from '@umbraco-cms/backoffice/backend-api'; @customElement('umb-app-language-select') export class UmbAppLanguageSelectElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/app-language-select/app-language.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/app-language-select/app-language.context.ts index bd9686fe99..93fe69b4cd 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/app-language-select/app-language.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/app-language-select/app-language.context.ts @@ -1,8 +1,8 @@ import { UmbLanguageRepository } from '../repository/language.repository'; -import { ObjectState, UmbObserverController } from '@umbraco-cms/observable-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { LanguageResponseModel } from '@umbraco-cms/backend-api'; +import { ObjectState, UmbObserverController } from '@umbraco-cms/backoffice/observable-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { LanguageResponseModel } from '@umbraco-cms/backoffice/backend-api'; export class UmbAppLanguageContext { #host: UmbControllerHostInterface; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/app-language-select/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/app-language-select/manifests.ts index 874da97023..dde0bf07e1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/app-language-select/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/app-language-select/manifests.ts @@ -1,4 +1,4 @@ -import { ManifestSectionSidebarApp } from '@umbraco-cms/extensions-registry'; +import { ManifestSectionSidebarApp } from '@umbraco-cms/backoffice/extensions-registry'; const entityActions: Array = [ { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/entity-actions/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/entity-actions/manifests.ts index b9dd61f2b9..c917cfb11b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/entity-actions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/entity-actions/manifests.ts @@ -1,6 +1,6 @@ import { LANGUAGE_REPOSITORY_ALIAS } from '../repository/manifests'; -import { UmbDeleteEntityAction } from '@umbraco-cms/entity-action'; -import { ManifestEntityAction } from '@umbraco-cms/extensions-registry'; +import { UmbDeleteEntityAction } from '@umbraco-cms/backoffice/entity-action'; +import { ManifestEntityAction } from '@umbraco-cms/backoffice/extensions-registry'; const entityType = 'language'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/menu-item/manifests.ts index 55fc1b1c0c..2a732a7f06 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/menu-item/manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestMenuItem } from '@umbraco-cms/backoffice/extensions-registry'; const menuItem: ManifestMenuItem = { type: 'menuItem', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/modals/language-picker/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/modals/language-picker/index.ts index f057aa3800..477754bc5d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/modals/language-picker/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/modals/language-picker/index.ts @@ -1,5 +1,5 @@ -import { LanguageResponseModel } from '@umbraco-cms/backend-api'; -import { UmbModalToken } from '@umbraco-cms/modal'; +import { LanguageResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; export interface UmbLanguagePickerModalData { multiple?: boolean; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/modals/language-picker/language-picker-modal.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/modals/language-picker/language-picker-modal.element.ts index 53bf09acbd..1afe97afbb 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/modals/language-picker/language-picker-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/modals/language-picker/language-picker-modal.element.ts @@ -5,8 +5,8 @@ import { repeat } from 'lit-html/directives/repeat.js'; import { UUIMenuItemElement, UUIMenuItemEvent } from '@umbraco-ui/uui'; import { ifDefined } from 'lit-html/directives/if-defined.js'; import { UmbLanguageRepository } from '../../repository/language.repository'; -import { UmbModalElementPickerBase } from '@umbraco-cms/modal'; -import { LanguageResponseModel } from '@umbraco-cms/backend-api'; +import { UmbModalElementPickerBase } from '@umbraco-cms/internal/modal'; +import { LanguageResponseModel } from '@umbraco-cms/backoffice/backend-api'; @customElement('umb-language-picker-modal') export class UmbLanguagePickerModalElement extends UmbModalElementPickerBase { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/modals/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/modals/manifests.ts index 06cf317a04..8b9b68e450 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/modals/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/modals/manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestModal } from '@umbraco-cms/extensions-registry'; +import type { ManifestModal } from '@umbraco-cms/backoffice/extensions-registry'; const modals: Array = [ { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/language.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/language.repository.ts index 6339112735..b25b113edd 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/language.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/language.repository.ts @@ -1,9 +1,9 @@ import { UmbLanguageServerDataSource } from './sources/language.server.data'; import { UmbLanguageStore, UMB_LANGUAGE_STORE_CONTEXT_TOKEN } from './language.store'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; -import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/notification'; -import { LanguageResponseModel, ProblemDetailsModel } from '@umbraco-cms/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/notification'; +import { LanguageResponseModel, ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; export class UmbLanguageRepository { #init!: Promise; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/language.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/language.store.ts index 18f10bc156..d4dc740843 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/language.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/language.store.ts @@ -1,8 +1,8 @@ -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { UmbStoreBase } from '@umbraco-cms/store'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { ArrayState } from '@umbraco-cms/observable-api'; -import { LanguageResponseModel } from '@umbraco-cms/backend-api'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UmbStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { ArrayState } from '@umbraco-cms/backoffice/observable-api'; +import { LanguageResponseModel } from '@umbraco-cms/backoffice/backend-api'; export const UMB_LANGUAGE_STORE_CONTEXT_TOKEN = new UmbContextToken('UmbLanguageStore'); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/manifests.ts index a69836165b..a068bc239f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/manifests.ts @@ -1,7 +1,7 @@ import { UmbLanguageRepository } from '../repository/language.repository'; import { UmbLanguageStore } from './language.store'; import { ManifestRepository } from 'libs/extensions-registry/repository.models'; -import { ManifestStore } from '@umbraco-cms/extensions-registry'; +import { ManifestStore } from '@umbraco-cms/backoffice/extensions-registry'; export const LANGUAGE_REPOSITORY_ALIAS = 'Umb.Repository.Language'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/sources/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/sources/index.ts index 449c07448b..3a2bfbb366 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/sources/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/sources/index.ts @@ -1,6 +1,5 @@ -import { LanguageResponseModel, PagedLanguageResponseModel } from '@umbraco-cms/backend-api'; -import type { DataSourceResponse } from '@umbraco-cms/models'; -import { RepositoryDetailDataSource } from '@umbraco-cms/repository'; +import { LanguageResponseModel, PagedLanguageResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { RepositoryDetailDataSource, DataSourceResponse } from '@umbraco-cms/backoffice/repository'; // TODO: This is a temporary solution until we have a proper paging interface type paging = { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/sources/language.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/sources/language.server.data.ts index 98653be2ed..35b7dc8bfb 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/sources/language.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/repository/sources/language.server.data.ts @@ -1,6 +1,6 @@ -import { ProblemDetailsModel, LanguageResource, LanguageResponseModel } from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import { ProblemDetailsModel, LanguageResource, LanguageResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * A data source for the Language that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/components/language-root-table-delete-column-layout.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/components/language-root-table-delete-column-layout.element.ts index 081addf7c2..e336aa457e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/components/language-root-table-delete-column-layout.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/components/language-root-table-delete-column-layout.element.ts @@ -2,8 +2,8 @@ import { UUITextStyles } from '@umbraco-ui/uui-css'; import { css, html, nothing } from 'lit'; import { customElement, property, state } from 'lit/decorators.js'; import { ifDefined } from 'lit-html/directives/if-defined.js'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { LanguageResponseModel } from '@umbraco-cms/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { LanguageResponseModel } from '@umbraco-cms/backoffice/backend-api'; @customElement('umb-language-root-table-delete-column-layout') export class UmbLanguageRootTableDeleteColumnLayoutElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/language-root-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/language-root-workspace.element.ts index 7ddd6809bd..8a42443bfc 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/language-root-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/language-root-workspace.element.ts @@ -3,8 +3,8 @@ import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UmbTableColumn, UmbTableConfig, UmbTableItem } from '../../../../shared/components/table'; import { UmbLanguageRepository } from '../../repository/language.repository'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { LanguageResponseModel } from '@umbraco-cms/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { LanguageResponseModel } from '@umbraco-cms/backoffice/backend-api'; import './components/language-root-table-delete-column-layout.element'; import './components/language-root-table-name-column-layout.element'; @@ -21,7 +21,7 @@ export class UmbLanguageRootWorkspaceElement extends UmbLitElement { } #main { - margin: var(--uui-size-space-6); + margin: var(--uui-size-layout-1); } `, ]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/manifests.ts index c70acd49cc..d04dc6b395 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/manifests.ts @@ -1,4 +1,8 @@ -import type { ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceView } from '@umbraco-cms/models'; +import type { + ManifestWorkspace, + ManifestWorkspaceAction, + ManifestWorkspaceView, +} from '@umbraco-cms/backoffice/extensions-registry'; const workspace: ManifestWorkspace = { type: 'workspace', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/language-workspace-edit.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/language-workspace-edit.element.ts index 9128a4c69a..5119c0ba85 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/language-workspace-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/language-workspace-edit.element.ts @@ -4,8 +4,8 @@ import { customElement, state } from 'lit/decorators.js'; import { ifDefined } from 'lit-html/directives/if-defined.js'; import { UUIInputElement, UUIInputEvent } from '@umbraco-ui/uui'; import { UmbLanguageWorkspaceContext } from './language-workspace.context'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { LanguageResponseModel } from '@umbraco-cms/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { LanguageResponseModel } from '@umbraco-cms/backoffice/backend-api'; @customElement('umb-language-workspace-thingy') export class UmbLanguageWorkspaceThingyElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/language-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/language-workspace.context.ts index 3dd49bcd97..0619b4a4d8 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/language-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/language-workspace.context.ts @@ -1,8 +1,8 @@ import { UmbLanguageRepository } from '../../repository/language.repository'; import { UmbWorkspaceContext } from '../../../../shared/components/workspace/workspace-context/workspace-context'; -import type { LanguageResponseModel } from '@umbraco-cms/backend-api'; -import { ObjectState } from '@umbraco-cms/observable-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import type { LanguageResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { ObjectState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbLanguageWorkspaceContext extends UmbWorkspaceContext { #data = new ObjectState(undefined); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/language-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/language-workspace.element.ts index d78aff8de3..3eb52b81f3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/language-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/language-workspace.element.ts @@ -3,8 +3,8 @@ import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { IRoutingInfo } from 'router-slot'; import { UmbLanguageWorkspaceContext } from './language-workspace.context'; -import { UmbRouterSlotInitEvent } from '@umbraco-cms/router'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbRouterSlotInitEvent } from '@umbraco-cms/internal/router'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-language-workspace') export class UmbLanguageWorkspaceElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/manifests.ts index 8c13575889..4e85e5b348 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/manifests.ts @@ -1,5 +1,9 @@ -import { UmbSaveWorkspaceAction } from '@umbraco-cms/workspace'; -import type { ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceView } from '@umbraco-cms/models'; +import { UmbSaveWorkspaceAction } from '@umbraco-cms/backoffice/workspace'; +import type { + ManifestWorkspace, + ManifestWorkspaceAction, + ManifestWorkspaceView, +} from '@umbraco-cms/backoffice/extensions-registry'; const workspace: ManifestWorkspace = { type: 'workspace', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/views/details/language-details-workspace-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/views/details/language-details-workspace-view.element.ts index 270df84963..3314cbd8ef 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/views/details/language-details-workspace-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/views/details/language-details-workspace-view.element.ts @@ -6,9 +6,9 @@ import { ifDefined } from 'lit/directives/if-defined.js'; import { UmbLanguageWorkspaceContext } from '../../language-workspace.context'; import UmbInputCultureSelectElement from '../../../../../../shared/components/input-culture-select/input-culture-select.element'; import UmbInputLanguagePickerElement from '../../../../../../shared/components/input-language-picker/input-language-picker.element'; -import { UmbChangeEvent } from '@umbraco-cms/events'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { LanguageResponseModel } from '@umbraco-cms/backend-api'; +import { UmbChangeEvent } from '@umbraco-cms/backoffice/events'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { LanguageResponseModel } from '@umbraco-cms/backoffice/backend-api'; @customElement('umb-language-details-workspace-view') export class UmbLanguageDetailsWorkspaceViewElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/menu-item/manifests.ts index 160e8e0a5c..a841df0875 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/menu-item/manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestMenuItem } from '@umbraco-cms/backoffice/extensions-registry'; const menuItem: ManifestMenuItem = { type: 'menuItem', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/log-viewer.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/log-viewer.repository.ts index 5870e28762..f7e3f1ab57 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/log-viewer.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/log-viewer.repository.ts @@ -1,8 +1,8 @@ import { UmbLogMessagesServerDataSource, UmbLogSearchesServerDataSource } from './sources/log-viewer.server.data'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/notification'; -import { DirectionModel, LogLevelModel } from '@umbraco-cms/backend-api'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/notification'; +import { DirectionModel, LogLevelModel } from '@umbraco-cms/backoffice/backend-api'; // Move to documentation / JSdoc /* We need to create a new instance of the repository from within the element context. We want the notifications to be displayed in the right context. */ diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/sources/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/sources/index.ts index 5b70410caf..944990c6d9 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/sources/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/sources/index.ts @@ -1,4 +1,4 @@ -import { +import type { DirectionModel, LogLevelCountsReponseModel, LogLevelModel, @@ -7,10 +7,8 @@ import { PagedLogTemplateResponseModel, PagedSavedLogSearchResponseModel, SavedLogSearchResponseModel, -} from '@umbraco-cms/backend-api'; -import type { DataSourceResponse } from '@umbraco-cms/models'; - - +} from '@umbraco-cms/backoffice/backend-api'; +import type { DataSourceResponse } from '@umbraco-cms/backoffice/repository'; export interface LogSearchDataSource { getAllSavedSearches({ @@ -30,7 +28,13 @@ export interface LogSearchDataSource { } export interface LogMessagesDataSource { - getLogViewerLevel({ skip, take }: { skip?: number; take?: number }): Promise>; + getLogViewerLevel({ + skip, + take, + }: { + skip?: number; + take?: number; + }): Promise>; getLogViewerLevelCount({ startDate, endDate, diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/sources/log-viewer.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/sources/log-viewer.server.data.ts index 822f63f8e4..459585e07b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/sources/log-viewer.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/repository/sources/log-viewer.server.data.ts @@ -1,7 +1,7 @@ import { LogMessagesDataSource, LogSearchDataSource } from '.'; -import { DirectionModel, LogLevelModel, LogViewerResource, SavedLogSearchResponseModel } from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import { DirectionModel, LogLevelModel, LogViewerResource, SavedLogSearchResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * A data source for the log saved searches @@ -64,7 +64,7 @@ export class UmbLogSearchesServerDataSource implements LogSearchDataSource { } } /** - * A data source for the log messages and levels + * A data source for the log messages and levels * * @export * @class UmbLogMessagesServerDataSource diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer-root/components/log-viewer-date-range-selector.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer-root/components/log-viewer-date-range-selector.element.ts index cfa465cb79..4ae57c93cd 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer-root/components/log-viewer-date-range-selector.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer-root/components/log-viewer-date-range-selector.element.ts @@ -7,7 +7,7 @@ import { UmbLogViewerWorkspaceContext, UMB_APP_LOG_VIEWER_CONTEXT_TOKEN, } from '../../logviewer.context'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-log-viewer-date-range-selector') export class UmbLogViewerDateRangeSelectorElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer-root/components/log-viewer-level-tag.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer-root/components/log-viewer-level-tag.element.ts index d0fc55eb86..41cfb3f78c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer-root/components/log-viewer-level-tag.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer-root/components/log-viewer-level-tag.element.ts @@ -3,7 +3,7 @@ import { css, html, LitElement } from 'lit'; import { customElement, property } from 'lit/decorators.js'; import { ifDefined } from 'lit-html/directives/if-defined.js'; import { InterfaceColor, InterfaceLook } from '@umbraco-ui/uui-base/lib/types'; -import { LogLevelModel } from '@umbraco-cms/backend-api'; +import { LogLevelModel } from '@umbraco-cms/backoffice/backend-api'; interface LevelMapStyles { look?: InterfaceLook; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer-root/logviewer-root-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer-root/logviewer-root-workspace.element.ts index 53d29fabfc..2b70f422b7 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer-root/logviewer-root-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer-root/logviewer-root-workspace.element.ts @@ -1,15 +1,15 @@ import './components'; import { map } from 'rxjs'; import { css, html, nothing } from 'lit'; -import { customElement, state, property } from 'lit/decorators.js'; +import { customElement, state } from 'lit/decorators.js'; import { IRoutingInfo } from 'router-slot'; import { UUITextStyles } from '@umbraco-ui/uui-css'; import { repeat } from 'lit-html/directives/repeat.js'; import { UmbLogViewerWorkspaceContext, UMB_APP_LOG_VIEWER_CONTEXT_TOKEN } from '../logviewer.context'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { umbExtensionsRegistry, createExtensionElement } from '@umbraco-cms/extensions-api'; -import { ManifestWorkspaceView, ManifestWorkspaceViewCollection } from '@umbraco-cms/extensions-registry'; -import { UmbRouterSlotInitEvent, UmbRouterSlotChangeEvent } from '@umbraco-cms/router'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { umbExtensionsRegistry, createExtensionElement } from '@umbraco-cms/backoffice/extensions-api'; +import { ManifestWorkspaceView, ManifestWorkspaceViewCollection } from '@umbraco-cms/backoffice/extensions-registry'; +import { UmbRouterSlotInitEvent, UmbRouterSlotChangeEvent } from '@umbraco-cms/internal/router'; //TODO make uui-input accept min and max values @customElement('umb-logviewer-workspace') diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer-root/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer-root/manifests.ts index 6e01d52f37..1d6ee72173 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer-root/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer-root/manifests.ts @@ -1,4 +1,8 @@ -import type { ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceView } from '@umbraco-cms/models'; +import type { + ManifestWorkspace, + ManifestWorkspaceAction, + ManifestWorkspaceView, +} from '@umbraco-cms/backoffice/extensions-registry'; const workspaceAlias = 'Umb.Workspace.LogviewerRoot'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer.context.ts index 57539c9aa4..c03196a421 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/logviewer.context.ts @@ -1,5 +1,5 @@ import { UmbLogViewerRepository } from '../repository/log-viewer.repository'; -import { ArrayState, createObservablePart, DeepState, ObjectState, StringState } from '@umbraco-cms/observable-api'; +import { ArrayState, createObservablePart, DeepState, ObjectState, StringState } from '@umbraco-cms/backoffice/observable-api'; import { DirectionModel, LogLevelCountsReponseModel, @@ -8,9 +8,9 @@ import { PagedLogMessageResponseModel, PagedLogTemplateResponseModel, PagedSavedLogSearchResponseModel, -} from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbContextToken } from '@umbraco-cms/context-api'; +} from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; import { BasicState } from 'libs/observable-api/basic-state'; export type PoolingInterval = 0 | 2000 | 5000 | 10000 | 20000 | 30000; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-log-level-overview.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-log-level-overview.element.ts index 4cce6a35ec..bae9ab55f4 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-log-level-overview.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-log-level-overview.element.ts @@ -1,8 +1,8 @@ import { html } from 'lit'; import { customElement, property, state } from 'lit/decorators.js'; import { UmbLogViewerWorkspaceContext, UMB_APP_LOG_VIEWER_CONTEXT_TOKEN } from '../../../logviewer.context'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { LoggerResponseModel } from '@umbraco-cms/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { LoggerResponseModel } from '@umbraco-cms/backoffice/backend-api'; //TODO: implement the saved searches pagination when the API total bug is fixed @customElement('umb-log-viewer-log-level-overview') diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-log-types-chart.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-log-types-chart.element.ts index 051d554f90..e0b286c9a6 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-log-types-chart.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-log-types-chart.element.ts @@ -1,8 +1,8 @@ import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UmbLogViewerWorkspaceContext, UMB_APP_LOG_VIEWER_CONTEXT_TOKEN } from '../../../logviewer.context'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { LogLevelCountsReponseModel } from '@umbraco-cms/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { LogLevelCountsReponseModel } from '@umbraco-cms/backoffice/backend-api'; @customElement('umb-log-viewer-log-types-chart') export class UmbLogViewerLogTypesChartElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-message-templates-overview.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-message-templates-overview.element.ts index 4b71250eb3..d96280149b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-message-templates-overview.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-message-templates-overview.element.ts @@ -2,8 +2,8 @@ import { UUITextStyles } from '@umbraco-ui/uui-css'; import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UmbLogViewerWorkspaceContext, UMB_APP_LOG_VIEWER_CONTEXT_TOKEN } from '../../../logviewer.context'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { PagedLogTemplateResponseModel, SavedLogSearchResponseModel } from '@umbraco-cms/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { PagedLogTemplateResponseModel, SavedLogSearchResponseModel } from '@umbraco-cms/backoffice/backend-api'; //TODO: fix pagination bug when API is fixed @customElement('umb-log-viewer-message-templates-overview') diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-saved-searches-overview.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-saved-searches-overview.element.ts index 205c5d0626..761f06c97b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-saved-searches-overview.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-saved-searches-overview.element.ts @@ -2,8 +2,8 @@ import { UUITextStyles } from '@umbraco-ui/uui-css'; import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UmbLogViewerWorkspaceContext, UMB_APP_LOG_VIEWER_CONTEXT_TOKEN } from '../../../logviewer.context'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { SavedLogSearchResponseModel } from '@umbraco-cms/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { SavedLogSearchResponseModel } from '@umbraco-cms/backoffice/backend-api'; //TODO: implement the saved searches pagination when the API total bug is fixed @customElement('umb-log-viewer-saved-searches-overview') diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/log-overview-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/log-overview-view.element.ts index c4c3be8e8b..d59f75d181 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/log-overview-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/log-overview-view.element.ts @@ -1,8 +1,8 @@ import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UmbLogViewerWorkspaceContext, UMB_APP_LOG_VIEWER_CONTEXT_TOKEN } from '../../logviewer.context'; -import { LogLevelCountsReponseModel } from '@umbraco-cms/backend-api'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { LogLevelCountsReponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; //TODO: add a disabled attribute to the show more button when the total number of items is correctly returned from the endpoint @customElement('umb-log-viewer-overview-view') diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-log-level-filter-menu.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-log-level-filter-menu.element.ts index dc72dcec91..78c554931e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-log-level-filter-menu.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-log-level-filter-menu.element.ts @@ -4,8 +4,8 @@ import { css, html } from 'lit'; import { customElement, queryAll, state } from 'lit/decorators.js'; import _ from 'lodash'; import { UmbLogViewerWorkspaceContext, UMB_APP_LOG_VIEWER_CONTEXT_TOKEN } from '../../../logviewer.context'; -import { LogLevelModel } from '@umbraco-cms/backend-api'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { LogLevelModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-log-viewer-log-level-filter-menu') export class UmbLogViewerLogLevelFilterMenuElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-message.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-message.element.ts index c0adf422c3..6669964aa3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-message.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-message.element.ts @@ -2,8 +2,8 @@ import { UUITextStyles } from '@umbraco-ui/uui-css'; import { css, html, PropertyValueMap } from 'lit'; import { customElement, property, query, state } from 'lit/decorators.js'; import { UmbLogViewerWorkspaceContext, UMB_APP_LOG_VIEWER_CONTEXT_TOKEN } from '../../../logviewer.context'; -import { LogLevelModel, LogMessagePropertyPresentationModel } from '@umbraco-cms/backend-api'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { LogLevelModel, LogMessagePropertyPresentationModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; //TODO: check how to display EventId field in the message properties @customElement('umb-log-viewer-message') diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-messages-list.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-messages-list.element.ts index aca5bcf552..896fedc78c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-messages-list.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-messages-list.element.ts @@ -3,8 +3,8 @@ import { UUITextStyles } from '@umbraco-ui/uui-css'; import { css, html } from 'lit'; import { customElement, query, state } from 'lit/decorators.js'; import { UmbLogViewerWorkspaceContext, UMB_APP_LOG_VIEWER_CONTEXT_TOKEN } from '../../../logviewer.context'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { DirectionModel, LogMessageResponseModel } from '@umbraco-cms/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { DirectionModel, LogMessageResponseModel } from '@umbraco-cms/backoffice/backend-api'; @customElement('umb-log-viewer-messages-list') export class UmbLogViewerMessagesListElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-polling-button.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-polling-button.element.ts index 5ee674f1d4..44b19b8cae 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-polling-button.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-polling-button.element.ts @@ -8,7 +8,7 @@ import { UmbLogViewerWorkspaceContext, UMB_APP_LOG_VIEWER_CONTEXT_TOKEN, } from '../../../logviewer.context'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-log-viewer-polling-button') export class UmbLogViewerPollingButtonElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-search-input.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-search-input.element.ts index 445127aefd..32ae06990d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-search-input.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/components/log-viewer-search-input.element.ts @@ -3,8 +3,8 @@ import { UUITextStyles } from '@umbraco-ui/uui-css'; import { css, html } from 'lit'; import { customElement, query, state } from 'lit/decorators.js'; import { UmbLogViewerWorkspaceContext, UMB_APP_LOG_VIEWER_CONTEXT_TOKEN } from '../../../logviewer.context'; -import { SavedLogSearchResponseModel } from '@umbraco-cms/backend-api'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { SavedLogSearchResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-log-viewer-search-input') export class UmbLogViewerSearchInputElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/log-search-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/log-search-view.element.ts index c9813ae53c..d936195362 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/log-search-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/search/log-search-view.element.ts @@ -2,7 +2,7 @@ import { UUITextStyles } from '@umbraco-ui/uui-css'; import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UmbLogViewerWorkspaceContext, UMB_APP_LOG_VIEWER_CONTEXT_TOKEN } from '../../logviewer.context'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-log-viewer-search-view') export class UmbLogViewerSearchViewElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/menu.manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/menu.manifests.ts index 9147a6a50a..687f7807df 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/menu.manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/menu.manifests.ts @@ -1,4 +1,4 @@ -import { ManifestMenu } from '@umbraco-cms/extensions-registry'; +import { ManifestMenu } from '@umbraco-cms/backoffice/extensions-registry'; const menu: ManifestMenu = { type: 'menu', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/menu-item/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/menu-item/manifests.ts index e9213498d3..8138e8f9c9 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/menu-item/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/menu-item/manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import type { ManifestMenuItem } from '@umbraco-cms/backoffice/extensions-registry'; const menuItem: ManifestMenuItem = { type: 'menuItem', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/menu-item/relation-types-menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/menu-item/relation-types-menu-item.element.ts index 5057feee0a..f9973b6dcb 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/menu-item/relation-types-menu-item.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/menu-item/relation-types-menu-item.element.ts @@ -1,6 +1,6 @@ import { html, nothing } from 'lit'; import { customElement, state } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-relation-types-menu-item') export class UmbRelationTypesMenuItemElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/manifests.ts index b12632ed53..fbbf4e87bb 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/manifests.ts @@ -2,7 +2,7 @@ import { UmbRelationTypeRepository } from '../repository/relation-type.repositor import { UmbRelationTypeStore } from './relation-type.store'; import { UmbRelationTypeTreeStore } from './relation-type.tree.store'; import { ManifestRepository } from 'libs/extensions-registry/repository.models'; -import { ManifestStore, ManifestTreeStore } from '@umbraco-cms/extensions-registry'; +import { ManifestStore, ManifestTreeStore } from '@umbraco-cms/backoffice/extensions-registry'; export const RELATION_TYPE_REPOSITORY_ALIAS = 'Umb.Repository.RelationType'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.repository.ts index 583fedf448..5ba5077140 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.repository.ts @@ -3,12 +3,12 @@ import { UmbRelationTypeServerDataSource } from './sources/relation-type.server. import { UmbRelationTypeStore, UMB_RELATION_TYPE_STORE_CONTEXT_TOKEN } from './relation-type.store'; import { RelationTypeTreeServerDataSource } from './sources/relation-type.tree.server.data'; import { RelationTypeTreeDataSource } from './sources'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbContextConsumerController } from '@umbraco-cms/context-api'; -import { ProblemDetailsModel, RelationTypeResponseModel } from '@umbraco-cms/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import { ProblemDetailsModel, RelationTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; import type { UmbTreeRepository } from 'libs/repository/tree-repository.interface'; -import { UmbDetailRepository } from '@umbraco-cms/repository'; -import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/notification'; +import { UmbDetailRepository } from '@umbraco-cms/backoffice/repository'; +import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/notification'; type ItemType = RelationTypeResponseModel; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.store.ts index 3faf944e08..50c33961f4 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.store.ts @@ -1,8 +1,8 @@ -import type { RelationTypeResponseModel } from '@umbraco-cms/backend-api'; -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { ArrayState } from '@umbraco-cms/observable-api'; -import { UmbStoreBase } from '@umbraco-cms/store'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import type { RelationTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { ArrayState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export const UMB_RELATION_TYPE_STORE_CONTEXT_TOKEN = new UmbContextToken('UmbRelationTypeStore'); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.tree.store.ts index b23208ba80..0220ccaa87 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.tree.store.ts @@ -1,6 +1,6 @@ -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbTreeStoreBase } from '@umbraco-cms/store'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; /** * @export diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/index.ts index cd64590110..5080a513de 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/index.ts @@ -1,5 +1,5 @@ -import type { DataSourceResponse } from '@umbraco-cms/models'; -import { EntityTreeItemResponseModel, PagedEntityTreeItemResponseModel } from '@umbraco-cms/backend-api'; +import type { DataSourceResponse } from '@umbraco-cms/backoffice/repository'; +import { EntityTreeItemResponseModel, PagedEntityTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; export interface RelationTypeTreeDataSource { getRootItems(): Promise>; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/relation-type.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/relation-type.server.data.ts index 0ae8d21897..d7756f9ae9 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/relation-type.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/relation-type.server.data.ts @@ -1,13 +1,13 @@ -import { RepositoryDetailDataSource } from '@umbraco-cms/repository'; +import { RepositoryDetailDataSource } from '@umbraco-cms/backoffice/repository'; import { ProblemDetailsModel, RelationTypeResource, RelationTypeResponseModel, CreateRelationTypeRequestModel, UpdateRelationTypeRequestModel, -} from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +} from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * A data source for the Relation Type that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/relation-type.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/relation-type.tree.server.data.ts index 42026680ff..beb081494b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/relation-type.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/relation-type.tree.server.data.ts @@ -1,8 +1,8 @@ import { RelationTypeTreeDataSource } from '.'; -import { ProblemDetailsModel, RelationTypeResource } from '@umbraco-cms/backend-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { ProblemDetailsModel, RelationTypeResource } from '@umbraco-cms/backoffice/backend-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; +import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; /** * A data source for the RelationType tree that fetches data from the server diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/tree/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/tree/manifests.ts index 59001af52b..9b806c1dd6 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/tree/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/tree/manifests.ts @@ -1,5 +1,5 @@ import { UmbRelationTypeRepository } from '../repository/relation-type.repository'; -import type { ManifestTree } from '@umbraco-cms/models'; +import type { ManifestTree } from '@umbraco-cms/backoffice/extensions-registry'; const tree: ManifestTree = { type: 'tree', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/manifests.ts index 4d264bdbd8..0e4adf80b6 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/manifests.ts @@ -1,5 +1,9 @@ -import { UmbSaveWorkspaceAction } from '@umbraco-cms/workspace'; -import type { ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceView } from '@umbraco-cms/models'; +import { UmbSaveWorkspaceAction } from '@umbraco-cms/backoffice/workspace'; +import type { + ManifestWorkspace, + ManifestWorkspaceAction, + ManifestWorkspaceView, +} from '@umbraco-cms/backoffice/extensions-registry'; const workspace: ManifestWorkspace = { type: 'workspace', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace-edit.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace-edit.element.ts index 8245a2034b..6d3bc52f0d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace-edit.element.ts @@ -3,8 +3,8 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UmbRelationTypeWorkspaceContext } from './relation-type-workspace.context'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { RelationTypeResponseModel } from '@umbraco-cms/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { RelationTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; /** * @element umb-relation-type-workspace-edit-element diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.context.ts index 732943af6c..2ec2e3383c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.context.ts @@ -1,10 +1,10 @@ import { UmbWorkspaceContext } from '../../../shared/components/workspace/workspace-context/workspace-context'; import { UmbRelationTypeRepository } from '../repository/relation-type.repository'; import { UmbEntityWorkspaceContextInterface } from '../../../shared/components/workspace/workspace-context/workspace-entity-context.interface'; -import type { RelationTypeBaseModel, RelationTypeResponseModel } from '@umbraco-cms/backend-api'; +import type { RelationTypeBaseModel, RelationTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; -import { ObjectState } from '@umbraco-cms/observable-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { ObjectState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export class UmbRelationTypeWorkspaceContext extends UmbWorkspaceContext diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.element.ts index bec947804b..3e36f0dc74 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.element.ts @@ -2,8 +2,8 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UmbRelationTypeWorkspaceContext } from './relation-type-workspace.context'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { UmbRouterSlotInitEvent, IRoute, IRoutingInfo } from '@umbraco-cms/router'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { UmbRouterSlotInitEvent, IRoute, IRoutingInfo } from '@umbraco-cms/internal/router'; import './relation-type-workspace-edit.element'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation-type/relation-type-workspace-view-relation-type.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation-type/relation-type-workspace-view-relation-type.element.ts index ea73010413..3013673446 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation-type/relation-type-workspace-view-relation-type.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation-type/relation-type-workspace-view-relation-type.element.ts @@ -4,8 +4,8 @@ import { customElement, state } from 'lit/decorators.js'; import { UUIBooleanInputEvent, UUIRadioGroupElement, UUIRadioGroupEvent, UUIToggleElement } from '@umbraco-ui/uui'; import { ifDefined } from 'lit/directives/if-defined.js'; import { UmbRelationTypeWorkspaceContext } from '../../relation-type-workspace.context'; -import { UmbLitElement } from '@umbraco-cms/element'; -import type { RelationTypeResponseModel } from '@umbraco-cms/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import type { RelationTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; @customElement('umb-relation-type-workspace-view-relation-type') export class UmbRelationTypeWorkspaceViewRelationTypeElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation/workspace-view-relation-type-relation.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation/workspace-view-relation-type-relation.element.ts index adc750459f..b8006df518 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation/workspace-view-relation-type-relation.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation/workspace-view-relation-type-relation.element.ts @@ -2,8 +2,8 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UmbTableColumn, UmbTableConfig } from '../../../../../shared/components/table'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { RelationResponseModel } from '@umbraco-cms/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { RelationResponseModel } from '@umbraco-cms/backoffice/backend-api'; @customElement('umb-workspace-view-relation-type-relation') export class UmbWorkspaceViewRelationTypeRelationElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/section.manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/section.manifests.ts index c3a5633155..6c45267c2b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/section.manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/section.manifests.ts @@ -1,4 +1,5 @@ -import type { ManifestSection, ManifestMenuSectionSidebarApp } from '@umbraco-cms/models'; +import { ManifestSectionSidebarAppMenuKind } from '@umbraco-cms/backoffice/extensions-registry'; +import type { ManifestSection } from '@umbraco-cms/backoffice/extensions-registry'; const sectionAlias = 'Umb.Section.Settings'; @@ -13,8 +14,9 @@ const section: ManifestSection = { }, }; -const menuSectionSidebarApp: ManifestMenuSectionSidebarApp = { - type: 'menuSectionSidebarApp', +const menuSectionSidebarApp: ManifestSectionSidebarAppMenuKind = { + type: 'sectionSidebarApp', + kind: 'menu', alias: 'Umb.SectionSidebarMenu.Settings', name: 'Settings Section Sidebar Menu', weight: 100, diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection-selection-actions.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection-selection-actions.element.ts index 0b663112f6..a9bc60ac85 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection-selection-actions.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection-selection-actions.element.ts @@ -3,10 +3,10 @@ import { css, html, nothing } from 'lit'; import { customElement, property, state } from 'lit/decorators.js'; import { map } from 'rxjs'; import { UmbCollectionContext, UMB_COLLECTION_CONTEXT_TOKEN } from './collection.context'; -import type { ManifestEntityBulkAction, MediaDetails } from '@umbraco-cms/models'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import { UmbExecutedEvent } from '@umbraco-cms/events'; +import type { ManifestEntityBulkAction } from '@umbraco-cms/backoffice/extensions-registry'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { UmbExecutedEvent } from '@umbraco-cms/backoffice/events'; import '../components/entity-bulk-action/entity-bulk-action.element'; @@ -48,7 +48,7 @@ export class UmbCollectionSelectionActionsElement extends UmbLitElement { @state() private _entityBulkActions: Array = []; - private _collectionContext?: UmbCollectionContext; + private _collectionContext?: UmbCollectionContext; private _selection: Array = []; constructor() { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection-toolbar.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection-toolbar.element.ts index 13a1c7e426..270823236a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection-toolbar.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection-toolbar.element.ts @@ -4,9 +4,9 @@ import { customElement, property, state } from 'lit/decorators.js'; import { map } from 'rxjs'; import { TooltipMenuItem } from '../components/tooltip-menu'; import '../components/tooltip-menu/tooltip-menu.element'; -import type { ManifestCollectionView } from '@umbraco-cms/models'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import { UmbLitElement } from '@umbraco-cms/element'; +import type { ManifestCollectionView } from '@umbraco-cms/backoffice/extensions-registry'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-collection-toolbar') export class UmbCollectionToolbarElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection.context.ts index 164cbdee97..4347266039 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection.context.ts @@ -1,12 +1,12 @@ import { Observable } from 'rxjs'; -import type { EntityTreeItemResponseModel } from '@umbraco-cms/backend-api'; -import type { UmbTreeStore } from '@umbraco-cms/store'; -import type { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { UmbContextToken, UmbContextConsumerController } from '@umbraco-cms/context-api'; -import { ArrayState, UmbObserverController } from '@umbraco-cms/observable-api'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; +import type { EntityTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import type { UmbTreeStore } from '@umbraco-cms/backoffice/store'; +import type { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { UmbContextToken, UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; +import { ArrayState, UmbObserverController } from '@umbraco-cms/backoffice/observable-api'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; import { createExtensionClass } from 'libs/extensions-api/create-extension-class.function'; -import { UmbTreeRepository } from '@umbraco-cms/repository'; +import { UmbTreeRepository } from '@umbraco-cms/backoffice/repository'; // TODO: Clean up the need for store as Media has switched to use Repositories(repository). export class UmbCollectionContext< diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection.element.ts index 5e1922a789..656f0c03e6 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection.element.ts @@ -5,10 +5,10 @@ import { map } from 'rxjs'; import './collection-selection-actions.element'; import './collection-toolbar.element'; import { UmbCollectionContext, UMB_COLLECTION_CONTEXT_TOKEN } from './collection.context'; -import { createExtensionElement, umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import type { ManifestCollectionView, MediaDetails } from '@umbraco-cms/models'; -import { UmbLitElement } from '@umbraco-cms/element'; -import type { UmbObserverController } from '@umbraco-cms/observable-api'; +import { createExtensionElement, umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import type { ManifestCollectionView } from '@umbraco-cms/backoffice/extensions-registry'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import type { UmbObserverController } from '@umbraco-cms/backoffice/observable-api'; @customElement('umb-collection') export class UmbCollectionElement extends UmbLitElement { @@ -35,7 +35,7 @@ export class UmbCollectionElement extends UmbLitElement { @state() private _selection?: Array | null; - private _collectionContext?: UmbCollectionContext; + private _collectionContext?: UmbCollectionContext; private _entityType!: string; @property({ type: String, attribute: 'entity-type' }) diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/dashboards/dashboard-collection.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/dashboards/dashboard-collection.element.ts index d73b5edcbd..fe647018d6 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/dashboards/dashboard-collection.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/dashboards/dashboard-collection.element.ts @@ -3,9 +3,9 @@ import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { ifDefined } from 'lit-html/directives/if-defined.js'; import { UmbCollectionContext, UMB_COLLECTION_CONTEXT_TOKEN } from '../../../shared/collection/collection.context'; -import type { ManifestDashboardCollection } from '@umbraco-cms/models'; -import type { FolderTreeItemResponseModel } from '@umbraco-cms/backend-api'; -import { UmbLitElement } from '@umbraco-cms/element'; +import type { ManifestDashboardCollection } from '@umbraco-cms/backoffice/extensions-registry'; +import type { FolderTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import '../collection.element'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice-header-sections.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice-header-sections.element.ts index 1c696d7216..b219de183c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice-header-sections.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice-header-sections.element.ts @@ -4,8 +4,8 @@ import { customElement, state } from 'lit/decorators.js'; import { when } from 'lit/directives/when.js'; import { UMB_BACKOFFICE_CONTEXT_TOKEN } from './backoffice.context'; import type { UmbBackofficeContext } from './backoffice.context'; -import type { ManifestSection } from '@umbraco-cms/models'; -import { UmbLitElement } from '@umbraco-cms/element'; +import type { ManifestSection } from '@umbraco-cms/backoffice/extensions-registry'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-backoffice-header-sections') export class UmbBackofficeHeaderSections extends UmbLitElement { @@ -104,8 +104,7 @@ export class UmbBackofficeHeaderSections extends UmbLitElement { @click="${() => this._handleSectionTabClick(section.alias)}" ?active="${this._currentSectionAlias === section.alias}" href="${`section/${section.meta.pathname}`}" - label="${section.meta.label || section.name}" - > + label="${section.meta.label || section.name}"> ` )} ${this._renderExtraSections()} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice-main.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice-main.element.ts index 9924de36fa..fc054295d3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice-main.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice-main.element.ts @@ -5,10 +5,10 @@ import { state } from 'lit/decorators.js'; import { UmbSectionContext, UMB_SECTION_CONTEXT_TOKEN } from '../section/section.context'; import { UmbSectionElement } from '../section/section.element'; import { UmbBackofficeContext, UMB_BACKOFFICE_CONTEXT_TOKEN } from './backoffice.context'; -import type { IRoutingInfo, UmbRouterSlotChangeEvent } from '@umbraco-cms/router'; -import type { ManifestSection } from '@umbraco-cms/models'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { createExtensionElementOrFallback } from '@umbraco-cms/extensions-api'; +import type { IRoutingInfo, UmbRouterSlotChangeEvent } from '@umbraco-cms/internal/router'; +import type { ManifestSection } from '@umbraco-cms/backoffice/extensions-registry'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { createExtensionElementOrFallback } from '@umbraco-cms/backoffice/extensions-api'; @defineElement('umb-backoffice-main') export class UmbBackofficeMain extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice-modal-container.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice-modal-container.element.ts index dd257e3841..f6c4590009 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice-modal-container.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice-modal-container.element.ts @@ -2,8 +2,8 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, CSSResultGroup, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { repeat } from 'lit/directives/repeat.js'; -import { UmbModalHandler, UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbModalHandler, UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-backoffice-modal-container') export class UmbBackofficeModalContainer extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice-notification-container.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice-notification-container.element.ts index eb5268301e..7b4e5ac181 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice-notification-container.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice-notification-container.element.ts @@ -6,8 +6,8 @@ import { UmbNotificationHandler, UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN, -} from '@umbraco-cms/notification'; -import { UmbLitElement } from '@umbraco-cms/element'; +} from '@umbraco-cms/backoffice/notification'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-backoffice-notification-container') export class UmbBackofficeNotificationContainer extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice.context.ts index f6a6ce4c24..9a5d46fcc1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/backoffice-frame/backoffice.context.ts @@ -1,6 +1,6 @@ -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { StringState } from '@umbraco-cms/observable-api'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { StringState } from '@umbraco-cms/backoffice/observable-api'; export class UmbBackofficeContext { #activeSectionAlias = new StringState(undefined); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/debug/debug.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/debug/debug.element.ts index f790057ecf..9552a2e7dd 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/debug/debug.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/debug/debug.element.ts @@ -2,9 +2,9 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, html, nothing, TemplateResult } from 'lit'; import { customElement, property, state } from 'lit/decorators.js'; import { UMB_CONTEXT_DEBUGGER_MODAL_TOKEN } from './modals/debug'; -import { UmbContextDebugRequest } from '@umbraco-cms/context-api'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; +import { UmbContextDebugRequest } from '@umbraco-cms/backoffice/context-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; @customElement('umb-debug') export class UmbDebug extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/debug/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/debug/manifests.ts index 2b82b6cb72..fd0b85cdf1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/debug/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/debug/manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestModal } from '@umbraco-cms/extensions-registry'; +import type { ManifestModal } from '@umbraco-cms/backoffice/extensions-registry'; const modals: Array = [ { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/debug/modals/debug/debug-modal.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/debug/modals/debug/debug-modal.element.ts index 841bc6c32b..ba14f65b7a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/debug/modals/debug/debug-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/debug/modals/debug/debug-modal.element.ts @@ -2,7 +2,7 @@ import { css, html } from 'lit'; import { customElement } from 'lit/decorators.js'; import { UUITextStyles } from '@umbraco-ui/uui-css'; import { UmbContextDebuggerModalData } from '.'; -import { UmbModalBaseElement } from '@umbraco-cms/modal'; +import { UmbModalBaseElement } from '@umbraco-cms/internal/modal'; @customElement('umb-context-debugger-modal') export default class UmbContextDebuggerModalElement extends UmbModalBaseElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/debug/modals/debug/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/debug/modals/debug/index.ts index 2bf39440e8..760efebb80 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/debug/modals/debug/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/debug/modals/debug/index.ts @@ -1,5 +1,5 @@ import { TemplateResult } from 'lit'; -import { UmbModalToken } from '@umbraco-cms/modal'; +import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; export interface UmbContextDebuggerModalData { content: TemplateResult | string; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/dropdown/dropdown.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/dropdown/dropdown.element.ts index 20a72a57d9..c2164ab66b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/dropdown/dropdown.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/dropdown/dropdown.element.ts @@ -1,7 +1,7 @@ import { UUITextStyles } from '@umbraco-ui/uui-css'; import { css, html, nothing } from 'lit'; import { customElement, property } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; // TODO: maybe move this to UI Library. @customElement('umb-dropdown') diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/entity-action/entity-action-list.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/entity-action/entity-action-list.element.ts index 6b1f0d61b2..a3edc8b9f8 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/entity-action/entity-action-list.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/entity-action/entity-action-list.element.ts @@ -1,8 +1,8 @@ import { html } from 'lit'; import { customElement, property, state } from 'lit/decorators.js'; import { map } from 'rxjs'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; import { ManifestEntityAction } from 'libs/extensions-registry/entity-action.models'; @customElement('umb-entity-action-list') diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/entity-action/entity-action.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/entity-action/entity-action.element.ts index fb8da88a95..3ef6ad3819 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/entity-action/entity-action.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/entity-action/entity-action.element.ts @@ -2,9 +2,9 @@ import { html, nothing } from 'lit'; import { customElement, property } from 'lit/decorators.js'; import { ifDefined } from 'lit/directives/if-defined.js'; import { UUIMenuItemEvent } from '@umbraco-ui/uui'; -import { UmbExecutedEvent } from '@umbraco-cms/events'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { ManifestEntityAction } from '@umbraco-cms/extensions-registry'; +import { UmbExecutedEvent } from '@umbraco-cms/backoffice/events'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { ManifestEntityAction } from '@umbraco-cms/backoffice/extensions-registry'; @customElement('umb-entity-action') class UmbEntityActionElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/entity-bulk-action/entity-bulk-action.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/entity-bulk-action/entity-bulk-action.element.ts index 01b150f737..313851140d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/entity-bulk-action/entity-bulk-action.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/entity-bulk-action/entity-bulk-action.element.ts @@ -1,10 +1,10 @@ import { html } from 'lit'; import { customElement, property } from 'lit/decorators.js'; import { ifDefined } from 'lit-html/directives/if-defined.js'; -import { UmbEntityBulkAction } from '@umbraco-cms/entity-action'; -import { UmbExecutedEvent } from '@umbraco-cms/events'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { ManifestEntityBulkAction } from '@umbraco-cms/extensions-registry'; +import { UmbEntityBulkAction } from '@umbraco-cms/backoffice/entity-action'; +import { UmbExecutedEvent } from '@umbraco-cms/backoffice/events'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { ManifestEntityBulkAction } from '@umbraco-cms/backoffice/extensions-registry'; @customElement('umb-entity-bulk-action') class UmbEntityBulkActionElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.element.ts index db97e5a9a2..ff7e0176de 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.element.ts @@ -4,8 +4,8 @@ import type { TemplateResult } from 'lit'; import { customElement, property, state } from 'lit/decorators.js'; import { map } from 'rxjs'; import { repeat } from 'lit/directives/repeat.js'; -import { createExtensionElement, isManifestElementableType, umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { createExtensionElement, isManifestElementableType, umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; export type InitializedExtension = { alias: string; weight: number; component: HTMLElement | null }; @@ -71,8 +71,10 @@ export class UmbExtensionSlotElement extends UmbLitElement { if (isManifestElementableType(extension)) { component = await createExtensionElement(extension); - } else { + } else if (this.defaultElement) { component = document.createElement(this.defaultElement); + } else { + // TODO: Lets make an console.error in this case? } if (component) { (component as any).manifest = extension; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.test.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.test.ts index 1030779e98..a61451b20b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.test.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.test.ts @@ -1,9 +1,9 @@ import { customElement } from 'lit/decorators.js'; import { expect, fixture, html } from '@open-wc/testing'; import { InitializedExtension, UmbExtensionSlotElement } from './extension-slot.element'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import { ManifestDashboard } from '@umbraco-cms/extensions-registry'; -import { defaultA11yConfig } from '@umbraco-cms/test-utils'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { ManifestDashboard } from '@umbraco-cms/backoffice/extensions-registry'; +import { defaultA11yConfig } from '@umbraco-cms/internal/test-utils'; @customElement('test-extension-slot-manifest-element') class MyExtensionSlotManifestElement extends HTMLElement {} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/header-app/header-app-button.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/header-app/header-app-button.element.ts index 2095d825fd..36dc14343d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/header-app/header-app-button.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/header-app/header-app-button.element.ts @@ -2,7 +2,21 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, CSSResultGroup, html, LitElement } from 'lit'; import { customElement } from 'lit/decorators.js'; import { ifDefined } from 'lit/directives/if-defined.js'; -import { ManifestHeaderApp } from '@umbraco-cms/extensions-registry'; +import { ManifestHeaderAppButtonKind, ManifestKind } from '@umbraco-cms/backoffice/extensions-registry'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; + +const manifest: ManifestKind = { + type: 'kind', + alias: 'Umb.Kind.Button', + matchKind: 'button', + matchType: 'headerApp', + manifest: { + type: 'headerApp', + kind: 'button', + elementName: 'umb-header-app-button', + }, +}; +umbExtensionsRegistry.register(manifest); @customElement('umb-header-app-button') export class UmbHeaderAppButton extends LitElement { @@ -16,11 +30,15 @@ export class UmbHeaderAppButton extends LitElement { `, ]; - public manifest?: ManifestHeaderApp; + public manifest?: ManifestHeaderAppButtonKind; render() { return html` - + `; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/header-app/header-app.stories.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/header-app/header-app.stories.ts index 581f8416eb..105cdddf02 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/header-app/header-app.stories.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/header-app/header-app.stories.ts @@ -3,24 +3,25 @@ import './header-app-button.element'; import type { UmbHeaderAppButton } from './header-app-button.element'; const meta: Meta = { - title: 'Components/Header App Button', - component: 'umb-header-app-button' + title: 'Components/Header App Button', + component: 'umb-header-app-button', }; - + export default meta; type Story = StoryObj; - + export const Overview: Story = { - args: { - manifest: { - name: 'Some Manifest', - alias: 'someManifestAlias', - type: 'headerApp', - meta: { - label: 'Some Header', - icon: 'umb:home', - pathname: '/some/path' - } - } - } -}; \ No newline at end of file + args: { + manifest: { + name: 'Some Manifest', + alias: 'someManifestAlias', + type: 'headerApp', + kind: 'button', + meta: { + label: 'Some Header', + icon: 'umb:home', + href: '/some/path', + }, + }, + }, +}; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/history/history-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/history/history-item.element.ts index 1db73bb340..9202a44398 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/history/history-item.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/history/history-item.element.ts @@ -1,7 +1,7 @@ import { css, html } from 'lit'; import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement, property } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-history-item') export class UmbHistoryItemElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/history/history-list.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/history/history-list.element.ts index c89a0f39d5..8e1a1b78de 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/history/history-list.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/history/history-list.element.ts @@ -1,7 +1,7 @@ import { css, html } from 'lit'; import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-history-list') export class UmbHistoryListElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/index.ts index 6be3bd110a..ea6f442adc 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/index.ts @@ -35,14 +35,16 @@ import './section/section-sidebar/section-sidebar.element'; import './section/section.element'; import './table/table.element'; import './tree/tree.element'; +import './tree/tree-menu-item/tree-menu-item.element'; import './variantable-property/variantable-property.element'; import './workspace/workspace-action-menu/workspace-action-menu.element'; +import './header-app/header-app-button.element'; + import './history/history-list.element'; import './history/history-item.element'; import './workspace/workspace-action/workspace-action.element'; -import './workspace/workspace-content/workspace-content.element'; import './workspace/workspace-layout/workspace-layout.element'; import './workspace/workspace-footer-layout/workspace-footer-layout.element'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-checkbox-list/input-checkbox-list.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-checkbox-list/input-checkbox-list.element.ts index 9555158e76..5285262242 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-checkbox-list/input-checkbox-list.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-checkbox-list/input-checkbox-list.element.ts @@ -4,7 +4,7 @@ import { customElement, property } from 'lit/decorators.js'; import { FormControlMixin } from '@umbraco-ui/uui-base/lib/mixins'; import { repeat } from 'lit/directives/repeat.js'; import { UUIBooleanInputEvent } from '@umbraco-ui/uui'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-input-checkbox-list') export class UmbInputCheckboxListElement extends FormControlMixin(UmbLitElement) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-color-picker/input-color-picker.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-color-picker/input-color-picker.element.ts index 3764f7ac75..4125f2e8a2 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-color-picker/input-color-picker.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-color-picker/input-color-picker.element.ts @@ -3,13 +3,13 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement, property } from 'lit/decorators.js'; import { FormControlMixin } from '@umbraco-ui/uui-base/lib/mixins'; import { UUIColorSwatchesEvent } from '@umbraco-ui/uui'; -import { UmbLitElement } from '@umbraco-cms/element'; -import type { SwatchDetails } from '@umbraco-cms/models'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import type { SwatchDetails } from '@umbraco-cms/backoffice/models'; /* * This wraps the UUI library uui-color-swatches component * @element umb-input-color-picker -*/ + */ @customElement('umb-input-color-picker') export class UmbInputColorPickerElement extends FormControlMixin(UmbLitElement) { static styles = [UUITextStyles]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-color-picker/input-color-picker.test.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-color-picker/input-color-picker.test.ts index 1cc62c08c9..437f318e7f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-color-picker/input-color-picker.test.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-color-picker/input-color-picker.test.ts @@ -1,6 +1,6 @@ import { expect, fixture, html } from '@open-wc/testing'; import { UmbInputColorPickerElement } from './input-color-picker.element'; -import { defaultA11yConfig } from '@umbraco-cms/test-utils'; +import { defaultA11yConfig } from '@umbraco-cms/internal/test-utils'; describe('UmbInputColorPickerElement', () => { let element: UmbInputColorPickerElement; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-culture-select/input-culture-select.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-culture-select/input-culture-select.element.ts index ed3f11f018..6b3387030a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-culture-select/input-culture-select.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-culture-select/input-culture-select.element.ts @@ -6,9 +6,9 @@ import { ifDefined } from 'lit-html/directives/if-defined.js'; import { repeat } from 'lit/directives/repeat.js'; import { UUIComboboxElement, UUIComboboxEvent } from '@umbraco-ui/uui'; import { UmbCultureRepository } from '../../../settings/cultures/repository/culture.repository'; -import { UmbChangeEvent } from '@umbraco-cms/events'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { CultureReponseModel } from '@umbraco-cms/backend-api'; +import { UmbChangeEvent } from '@umbraco-cms/backoffice/events'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { CultureReponseModel } from '@umbraco-cms/backoffice/backend-api'; @customElement('umb-input-culture-select') export class UmbInputCultureSelectElement extends FormControlMixin(UmbLitElement) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-document-picker/input-document-picker.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-document-picker/input-document-picker.element.ts index f51dc2af03..e17dc66fa5 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-document-picker/input-document-picker.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-document-picker/input-document-picker.element.ts @@ -7,10 +7,10 @@ import { UMB_DOCUMENT_TREE_STORE_CONTEXT_TOKEN } from '../../../documents/docume import type { UmbDocumentTreeStore } from '../../../documents/documents/repository/document.tree.store'; import { UMB_CONFIRM_MODAL_TOKEN } from '../../modals/confirm'; import { UMB_DOCUMENT_PICKER_MODAL_TOKEN } from '../../../documents/documents/modals/document-picker'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; -import { UmbLitElement } from '@umbraco-cms/element'; -import type { DocumentTreeItemResponseModel, EntityTreeItemResponseModel } from '@umbraco-cms/backend-api'; -import type { UmbObserverController } from '@umbraco-cms/observable-api'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import type { DocumentTreeItemResponseModel, EntityTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import type { UmbObserverController } from '@umbraco-cms/backoffice/observable-api'; @customElement('umb-input-document-picker') export class UmbInputDocumentPickerElement extends FormControlMixin(UmbLitElement) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-document-picker/input-document-picker.test.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-document-picker/input-document-picker.test.ts index d7f33ff52c..4c20a6ec05 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-document-picker/input-document-picker.test.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-document-picker/input-document-picker.test.ts @@ -1,6 +1,6 @@ import { expect, fixture, html } from '@open-wc/testing'; import { UmbInputDocumentPickerElement } from './input-document-picker.element'; -import { defaultA11yConfig } from '@umbraco-cms/test-utils'; +import { defaultA11yConfig } from '@umbraco-cms/internal/test-utils'; describe('UmbInputDocumentPickerElement', () => { let element: UmbInputDocumentPickerElement; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-eye-dropper/input-eye-dropper.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-eye-dropper/input-eye-dropper.element.ts index 75b173a544..73e3de3c2e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-eye-dropper/input-eye-dropper.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-eye-dropper/input-eye-dropper.element.ts @@ -3,7 +3,7 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement, property } from 'lit/decorators.js'; import { FormControlMixin } from '@umbraco-ui/uui-base/lib/mixins'; import { UUIColorPickerChangeEvent } from '@umbraco-ui/uui'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-input-eye-dropper') export class UmbInputEyeDropperElement extends FormControlMixin(UmbLitElement) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-eye-dropper/input-eye-dropper.test.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-eye-dropper/input-eye-dropper.test.ts index 5f471eea16..78c8726490 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-eye-dropper/input-eye-dropper.test.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-eye-dropper/input-eye-dropper.test.ts @@ -1,6 +1,6 @@ import { expect, fixture, html } from '@open-wc/testing'; import { UmbInputEyeDropperElement } from './input-eye-dropper.element'; -import { defaultA11yConfig } from '@umbraco-cms/test-utils'; +import { defaultA11yConfig } from '@umbraco-cms/internal/test-utils'; describe('UmbInputEyeDropperElement', () => { let element: UmbInputEyeDropperElement; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-language-picker/input-language-picker.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-language-picker/input-language-picker.element.ts index 7372d64a27..e53bf6b15d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-language-picker/input-language-picker.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-language-picker/input-language-picker.element.ts @@ -6,11 +6,11 @@ import { FormControlMixin } from '@umbraco-ui/uui-base/lib/mixins'; import { UmbLanguageRepository } from '../../../settings/languages/repository/language.repository'; import { UMB_CONFIRM_MODAL_TOKEN } from '../../modals/confirm'; import { UMB_LANGUAGE_PICKER_MODAL_TOKEN } from '../../../settings/languages/modals/language-picker'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; -import { UmbChangeEvent } from '@umbraco-cms/events'; -import { UmbLitElement } from '@umbraco-cms/element'; -import type { LanguageResponseModel } from '@umbraco-cms/backend-api'; -import type { UmbObserverController } from '@umbraco-cms/observable-api'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; +import { UmbChangeEvent } from '@umbraco-cms/backoffice/events'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import type { LanguageResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import type { UmbObserverController } from '@umbraco-cms/backoffice/observable-api'; @customElement('umb-input-language-picker') export class UmbInputLanguagePickerElement extends FormControlMixin(UmbLitElement) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-list-base/input-list-base.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-list-base/input-list-base.ts index a1d954be41..a750f92d04 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-list-base/input-list-base.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-list-base/input-list-base.ts @@ -7,8 +7,8 @@ import { UmbModalType, UMB_MODAL_CONTEXT_TOKEN, UmbPickerModalData, -} from '@umbraco-cms/modal'; -import { UmbLitElement } from '@umbraco-cms/element'; +} from '@umbraco-cms/backoffice/modal'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; /** TODO: Make use of UUI FORM Mixin, to make it easily take part of a form. */ export class UmbInputListBase extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-media-picker/input-media-picker.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-media-picker/input-media-picker.element.ts index ef74cc83da..7c1c4b12e8 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-media-picker/input-media-picker.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-media-picker/input-media-picker.element.ts @@ -6,10 +6,10 @@ import { FormControlMixin } from '@umbraco-ui/uui-base/lib/mixins'; import { UmbMediaRepository } from '../../../media/media/repository/media.repository'; import { UMB_CONFIRM_MODAL_TOKEN } from '../../modals/confirm'; import { UMB_MEDIA_PICKER_MODAL_TOKEN } from '../../../media/media/modals/media-picker'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; -import { UmbLitElement } from '@umbraco-cms/element'; -import type { EntityTreeItemResponseModel } from '@umbraco-cms/backend-api'; -import type { UmbObserverController } from '@umbraco-cms/observable-api'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import type { EntityTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import type { UmbObserverController } from '@umbraco-cms/backoffice/observable-api'; @customElement('umb-input-media-picker') export class UmbInputMediaPickerElement extends FormControlMixin(UmbLitElement) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-media-picker/input-media-picker.test.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-media-picker/input-media-picker.test.ts index 29b81bd464..157f18dc4e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-media-picker/input-media-picker.test.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-media-picker/input-media-picker.test.ts @@ -1,6 +1,6 @@ import { expect, fixture, html } from '@open-wc/testing'; import { UmbInputMediaPickerElement } from './input-media-picker.element'; -import { defaultA11yConfig } from '@umbraco-cms/test-utils'; +import { defaultA11yConfig } from '@umbraco-cms/internal/test-utils'; describe('UmbInputMediaPickerElement', () => { let element: UmbInputMediaPickerElement; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-multi-url-picker/input-multi-url-picker.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-multi-url-picker/input-multi-url-picker.element.ts index be778585ad..bf514d7bed 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-multi-url-picker/input-multi-url-picker.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-multi-url-picker/input-multi-url-picker.element.ts @@ -4,8 +4,8 @@ import { customElement, property } from 'lit/decorators.js'; import { FormControlMixin } from '@umbraco-ui/uui-base/lib/mixins'; import { UUIModalSidebarSize } from '@umbraco-ui/uui-modal-sidebar'; import { UmbLinkPickerLink, UMB_LINK_PICKER_MODAL_TOKEN } from '../../modals/link-picker'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; /** * @element umb-input-multi-url-picker diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-number-range/input-number-range.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-number-range/input-number-range.element.ts index 8cf1a4ed09..46910eb48f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-number-range/input-number-range.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-number-range/input-number-range.element.ts @@ -2,7 +2,7 @@ import { css, html } from 'lit'; import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement, property, state } from 'lit/decorators.js'; import { FormControlMixin } from '@umbraco-ui/uui-base/lib/mixins'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; function getNumberOrUndefined(value: string) { const num = parseInt(value, 10); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-number-range/input-number-range.test.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-number-range/input-number-range.test.ts index ade9185f53..693933b07c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-number-range/input-number-range.test.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-number-range/input-number-range.test.ts @@ -1,6 +1,6 @@ import { expect, fixture, html } from '@open-wc/testing'; import { UmbInputNumberRangeElement } from './input-number-range.element'; -import { defaultA11yConfig } from '@umbraco-cms/test-utils'; +import { defaultA11yConfig } from '@umbraco-cms/internal/test-utils'; describe('UmbPropertyEditorUINumberRangeElement', () => { let element: UmbInputNumberRangeElement; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-radio-button-list/input-radio-button-list.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-radio-button-list/input-radio-button-list.element.ts index e68110dabc..5d69da7ad4 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-radio-button-list/input-radio-button-list.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-radio-button-list/input-radio-button-list.element.ts @@ -4,7 +4,7 @@ import { customElement, property } from 'lit/decorators.js'; import { FormControlMixin } from '@umbraco-ui/uui-base/lib/mixins'; import { repeat } from 'lit/directives/repeat.js'; import { UUIBooleanInputEvent } from '@umbraco-ui/uui'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-input-radio-button-list') export class UmbInputRadioButtonListElement extends FormControlMixin(UmbLitElement) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-section/input-section.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-section/input-section.element.ts index a68fe5ee37..34799eeeff 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-section/input-section.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-section/input-section.element.ts @@ -3,8 +3,8 @@ import { css, html, nothing } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UmbInputListBase } from '../input-list-base/input-list-base'; import { UMB_SECTION_PICKER_MODAL_TOKEN } from '../../modals/section-picker'; -import type { ManifestSection } from '@umbraco-cms/models'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; +import type { ManifestSection } from '@umbraco-cms/backoffice/extensions-registry'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; @customElement('umb-input-section') export class UmbInputPickerSectionElement extends UmbInputListBase { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-section/input-section.test.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-section/input-section.test.ts index dc5e319cbb..38973836c1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-section/input-section.test.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-section/input-section.test.ts @@ -1,7 +1,7 @@ import { expect, fixture, html } from '@open-wc/testing'; //TODO: Test has been commented out while we figure out how to setup import maps for the test environment // import { UmbPickerSectionElement } from './picker-section.element'; -// import { defaultA11yConfig } from '@umbraco-cms/test-utils'; +// import { defaultA11yConfig } from '@umbraco-cms/internal/test-utils'; // describe('UmbPickerSectionElement', () => { // let element: UmbPickerSectionElement; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-slider/input-slider.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-slider/input-slider.element.ts index 9ffcacdb12..19c468d194 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-slider/input-slider.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-slider/input-slider.element.ts @@ -3,7 +3,7 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement, property, state } from 'lit/decorators.js'; import { FormControlMixin } from '@umbraco-ui/uui-base/lib/mixins'; import { UUISliderEvent } from '@umbraco-ui/uui'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-input-slider') export class UmbInputSliderElement extends FormControlMixin(UmbLitElement) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-tiny-mce/input-tiny-mce.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-tiny-mce/input-tiny-mce.element.ts index 84212ec397..e0340c4da5 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-tiny-mce/input-tiny-mce.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-tiny-mce/input-tiny-mce.element.ts @@ -5,17 +5,17 @@ import { ifDefined } from 'lit-html/directives/if-defined.js'; import { FormControlMixin } from '@umbraco-ui/uui-base/lib/mixins'; import { AstNode, Editor, EditorEvent } from 'tinymce'; import { firstValueFrom } from 'rxjs'; -import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/modal'; +import { UmbModalContext, UMB_MODAL_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/modal'; +import type { UserDetails } from '@umbraco-cms/backoffice/models'; +import { DataTypePropertyPresentationModel } from '@umbraco-cms/backoffice/backend-api'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { UmbMediaHelper } from '../../property-editors/uis/tiny-mce/media-helper.service'; import { UmbCurrentUserStore, UMB_CURRENT_USER_STORE_CONTEXT_TOKEN, } from '../../../users/current-user/current-user.store'; import { TinyMcePluginArguments } from '../../property-editors/uis/tiny-mce/plugins/tiny-mce-plugin'; -import { UmbLitElement } from '@umbraco-cms/element'; -import type { UserDetails } from '@umbraco-cms/models'; -import { DataTypePropertyPresentationModel } from '@umbraco-cms/backend-api'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; import { ManifestTinyMcePlugin } from 'libs/extensions-registry/tinymce-plugin.model'; import '../../../../../public-assets/tiny-mce/tinymce.min.js'; @@ -35,7 +35,7 @@ export class UmbInputTinyMceElement extends FormControlMixin(UmbLitElement) { position: relative; min-height: 100px; } - + .tox-tinymce-aux { z-index: 9000; } @@ -341,7 +341,7 @@ export class UmbInputTinyMceElement extends FormControlMixin(UmbLitElement) { (async () => { const pluginArgs: TinyMcePluginArguments = { host: this, - editor, + editor, configuration: this.configuration, }; @@ -351,8 +351,12 @@ export class UmbInputTinyMceElement extends FormControlMixin(UmbLitElement) { })(); // define keyboard shortcuts - editor.addShortcut('Ctrl+S', '', () => this.dispatchEvent(new CustomEvent('rte.shortcut.save'))); - editor.addShortcut('Ctrl+P', '', () => this.dispatchEvent(new CustomEvent('rte.shortcut.saveAndPublish'))); + editor.addShortcut('Ctrl+S', '', () => + this.dispatchEvent(new CustomEvent('rte.shortcut.save', { composed: true, bubbles: true })) + ); + editor.addShortcut('Ctrl+P', '', () => + this.dispatchEvent(new CustomEvent('rte.shortcut.saveAndPublish', { composed: true, bubbles: true })) + ); // bind editor events editor.on('init', () => this.#onInit(editor)); @@ -472,6 +476,11 @@ export class UmbInputTinyMceElement extends FormControlMixin(UmbLitElement) { return this._configObject.toolbar.includes('umbmediapicker'); } + /** + * Nothing rendered by default - TinyMCE initialisation creates + * a target div and binds the RTE to that element + * @returns + */ render() { return html``; } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-toggle/input-toggle.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-toggle/input-toggle.element.ts index 987749adaa..6142481ef0 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-toggle/input-toggle.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-toggle/input-toggle.element.ts @@ -3,7 +3,7 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement, property, state } from 'lit/decorators.js'; import { FormControlMixin } from '@umbraco-ui/uui-base/lib/mixins'; import { UUIBooleanInputEvent } from '@umbraco-ui/uui'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-input-toggle') export class UmbInputToggleElement extends FormControlMixin(UmbLitElement) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user-group/input-user-group.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user-group/input-user-group.element.ts index bce191a089..d27245d136 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user-group/input-user-group.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user-group/input-user-group.element.ts @@ -8,7 +8,7 @@ import { } from '../../../users/user-groups/repository/user-group.store'; import { UMB_USER_GROUP_PICKER_MODAL_TOKEN } from '../../../users/user-groups/modals/user-group-picker'; -import type { UserGroupEntity } from '@umbraco-cms/models'; +import type { UserGroupEntity } from '@umbraco-cms/backoffice/models'; @customElement('umb-input-user-group') export class UmbInputPickerUserGroupElement extends UmbInputListBase { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user-group/input-user-group.test.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user-group/input-user-group.test.ts index 20550a4780..d4cf1c0e7e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user-group/input-user-group.test.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user-group/input-user-group.test.ts @@ -1,7 +1,7 @@ import { expect, fixture, html } from '@open-wc/testing'; //TODO: Test has been commented out while we figure out how to setup import maps for the test environment // import { UmbPickerUserGroupElement } from './picker-user-group.element'; -// import { defaultA11yConfig } from '@umbraco-cms/test-utils'; +// import { defaultA11yConfig } from '@umbraco-cms/internal/test-utils'; // describe('UmbPickerLayoutUserGroupElement', () => { // let element: UmbPickerUserGroupElement; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user/input-user.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user/input-user.element.ts index b2e077a60d..87fd8c3b19 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user/input-user.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user/input-user.element.ts @@ -4,7 +4,7 @@ import { customElement, state } from 'lit/decorators.js'; import { UmbInputListBase } from '../input-list-base/input-list-base'; import { UmbUserStore, UMB_USER_STORE_CONTEXT_TOKEN } from '../../../users/users/repository/user.store'; import { UMB_USER_PICKER_MODAL_TOKEN } from '../../../users/users/modals/user-picker'; -import type { UserEntity } from '@umbraco-cms/models'; +import type { UserEntity } from '@umbraco-cms/backoffice/models'; @customElement('umb-input-user') export class UmbPickerUserElement extends UmbInputListBase { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user/input-user.test.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user/input-user.test.ts index 483a865475..7d85d80d5f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user/input-user.test.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user/input-user.test.ts @@ -1,7 +1,7 @@ import { expect, fixture, html } from '@open-wc/testing'; //TODO: Test has been commented out while we figure out how to setup import maps for the test environment // import { UmbPickerUserElement } from './picker-user.element'; -// import { defaultA11yConfig } from '@umbraco-cms/test-utils'; +// import { defaultA11yConfig } from '@umbraco-cms/internal/test-utils'; // describe('UmbPickerUserElement', () => { // let element: UmbPickerUserElement; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/menu-item/menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/menu-item/menu-item.element.ts index 4e04ea25a5..994f942516 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/menu-item/menu-item.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/menu-item/menu-item.element.ts @@ -3,8 +3,8 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement, property, state } from 'lit/decorators.js'; import { ifDefined } from 'lit-html/directives/if-defined.js'; import { UmbSectionContext, UMB_SECTION_CONTEXT_TOKEN } from '../section/section.context'; -import { UmbLitElement } from '@umbraco-cms/element'; -import type { ManifestMenuItem } from '@umbraco-cms/models'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import type { ManifestMenuItem } from '@umbraco-cms/backoffice/extensions-registry'; @customElement('umb-menu-item') export class UmbMenuItem extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/menu/menu.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/menu/menu.element.ts index 86dffedd6f..62cc9d6c76 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/menu/menu.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/menu/menu.element.ts @@ -1,8 +1,8 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { html } from 'lit'; import { customElement, property } from 'lit/decorators.js'; -import { ManifestMenu, ManifestMenuItem } from '@umbraco-cms/extensions-registry'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { ManifestMenu, ManifestMenuItem } from '@umbraco-cms/backoffice/extensions-registry'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import '../menu-item/menu-item.element'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/property-type-based-property/property-type-based-property.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/property-type-based-property/property-type-based-property.element.ts index 5bfae994a8..ea1c67bcea 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/property-type-based-property/property-type-based-property.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/property-type-based-property/property-type-based-property.element.ts @@ -9,10 +9,10 @@ import type { DataTypeResponseModel, DataTypePropertyPresentationModel, PropertyTypeResponseModelBaseModel, -} from '@umbraco-cms/backend-api'; +} from '@umbraco-cms/backoffice/backend-api'; import '../workspace-property/workspace-property.element'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { UmbObserverController } from '@umbraco-cms/observable-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { UmbObserverController } from '@umbraco-cms/backoffice/observable-api'; @customElement('umb-property-type-based-property') export class UmbPropertyTypeBasedPropertyElement extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar-context-menu/section-sidebar-context-menu.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar-context-menu/section-sidebar-context-menu.element.ts index daf4285728..12fa64dcf3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar-context-menu/section-sidebar-context-menu.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar-context-menu/section-sidebar-context-menu.element.ts @@ -6,7 +6,7 @@ import { UmbSectionSidebarContext, UMB_SECTION_SIDEBAR_CONTEXT_TOKEN, } from '../section-sidebar/section-sidebar.context'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-section-sidebar-context-menu') export class UmbSectionSidebarContextMenu extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar-menu/section-sidebar-menu.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar-menu/section-sidebar-menu.element.ts index a3d5197748..67510ed5bf 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar-menu/section-sidebar-menu.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar-menu/section-sidebar-menu.element.ts @@ -1,11 +1,29 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, html } from 'lit'; import { customElement, property } from 'lit/decorators.js'; -import { ManifestMenu, ManifestMenuSectionSidebarApp } from '@umbraco-cms/extensions-registry'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { + ManifestKind, + ManifestMenu, + ManifestSectionSidebarAppMenuKind, +} from '@umbraco-cms/backoffice/extensions-registry'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; import '../../menu/menu.element'; +// TODO: Move to separate file: +const manifest: ManifestKind = { + type: 'kind', + alias: 'Umb.Kind.Menu', + matchKind: 'menu', + matchType: 'sectionSidebarApp', + manifest: { + type: 'sectionSidebarApp', + elementName: 'umb-section-sidebar-menu', + }, +}; +umbExtensionsRegistry.register(manifest); + @customElement('umb-section-sidebar-menu') export class UmbSectionSidebarMenuElement extends UmbLitElement { static styles = [ @@ -18,14 +36,14 @@ export class UmbSectionSidebarMenuElement extends UmbLitElement { ]; @property() - manifest?: ManifestMenuSectionSidebarApp; + manifest?: ManifestSectionSidebarAppMenuKind; render() { // TODO: link to dashboards when clicking on the menu item header - return html`

${this.manifest?.meta.label}

+ return html`

${this.manifest?.meta?.label}

menu.alias === this.manifest!.meta.menu} + .filter=${(menu: ManifestMenu) => menu.alias === this.manifest?.meta?.menu} default-element="umb-menu">`; } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar/section-sidebar.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar/section-sidebar.context.ts index c926095689..4ef7539100 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar/section-sidebar.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar/section-sidebar.context.ts @@ -1,6 +1,6 @@ -import { UmbContextToken } from '@umbraco-cms/context-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; -import { StringState } from '@umbraco-cms/observable-api'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; +import { StringState } from '@umbraco-cms/backoffice/observable-api'; import { BasicState } from 'libs/observable-api/basic-state'; export class UmbSectionSidebarContext { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar/section-sidebar.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar/section-sidebar.element.ts index d388e8bfc2..f16bc17cb6 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar/section-sidebar.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-sidebar/section-sidebar.element.ts @@ -2,7 +2,7 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, html } from 'lit'; import { customElement } from 'lit/decorators.js'; import { UmbSectionSidebarContext, UMB_SECTION_SIDEBAR_CONTEXT_TOKEN } from './section-sidebar.context'; -import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import '../../tree/context-menu/tree-context-menu.service'; import '../section-sidebar-context-menu/section-sidebar-context-menu.element'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-views/section-views.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-views/section-views.element.ts index 5dba7bfcba..5f117f02b3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-views/section-views.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section-views/section-views.element.ts @@ -3,11 +3,11 @@ import { css, html, nothing } from 'lit'; import { customElement, property, state } from 'lit/decorators.js'; import { map, of } from 'rxjs'; import { UmbSectionContext, UMB_SECTION_CONTEXT_TOKEN } from '../section.context'; -import { UmbRouterSlotChangeEvent, UmbRouterSlotInitEvent } from '@umbraco-cms/router'; -import type { ManifestDashboard, ManifestSectionView } from '@umbraco-cms/models'; -import { createExtensionElement, umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { UmbObserverController } from '@umbraco-cms/observable-api'; +import { UmbRouterSlotChangeEvent, UmbRouterSlotInitEvent } from '@umbraco-cms/internal/router'; +import type { ManifestDashboard, ManifestSectionView } from '@umbraco-cms/backoffice/extensions-registry'; +import { createExtensionElement, umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { UmbObserverController } from '@umbraco-cms/backoffice/observable-api'; // TODO: this might need a new name, since it's both view and dashboard now @customElement('umb-section-views') diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section.context.ts index 2c4e8a4068..66f502e948 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section.context.ts @@ -1,6 +1,7 @@ -import type { Entity, ManifestSection, ManifestSectionView } from '@umbraco-cms/models'; -import { ObjectState, StringState } from '@umbraco-cms/observable-api'; -import { UmbContextToken } from '@umbraco-cms/context-api'; +import type { ManifestSection } from '@umbraco-cms/backoffice/extensions-registry'; +import type { Entity } from '@umbraco-cms/backoffice/models'; +import { ObjectState, StringState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; export type ActiveTreeItemType = Entity | undefined; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section.element.ts index e45c54f975..5fa2a8be93 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/section/section.element.ts @@ -4,10 +4,10 @@ import { customElement, property, state } from 'lit/decorators.js'; import { map } from 'rxjs'; import type { UmbWorkspaceElement } from '../workspace/workspace.element'; import type { UmbSectionViewsElement } from './section-views/section-views.element'; -import type { IRoutingInfo } from '@umbraco-cms/router'; -import type { ManifestMenuSectionSidebarApp, ManifestSection } from '@umbraco-cms/models'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import { UmbLitElement } from '@umbraco-cms/element'; +import type { ManifestSection, ManifestSectionSidebarApp } from '@umbraco-cms/backoffice/extensions-registry'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import type { IRoutingInfo } from '@umbraco-cms/internal/router'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import './section-sidebar-menu/section-sidebar-menu.element'; @@ -45,7 +45,7 @@ export class UmbSectionElement extends UmbLitElement { private _routes?: Array; @state() - private _menus?: Array; + private _menus?: Array>; connectedCallback() { super.connectedCallback(); @@ -74,10 +74,11 @@ export class UmbSectionElement extends UmbLitElement { ]; } + // TODO: Can this be omitted? or can the same data be used for the extension slot or alike extension presentation? #observeSectionSidebarApps() { this.observe( umbExtensionsRegistry - ?.extensionsOfType('menuSectionSidebarApp') + .extensionsOfType('sectionSidebarApp') .pipe( map((manifests) => manifests.filter((manifest) => manifest.conditions.sections.includes(this.manifest?.alias || '')) @@ -97,14 +98,8 @@ export class UmbSectionElement extends UmbLitElement { + .filter=${(items: ManifestSectionSidebarApp) => items.conditions.sections.includes(this.manifest?.alias || '')}> - - - items.conditions.sections.includes(this.manifest?.alias || '')} - default-element="umb-section-sidebar-menu"> ` : nothing} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/context-menu/tree-context-menu-page.service.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/context-menu/tree-context-menu-page.service.ts index 25bc723a4d..2be951ebe5 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/context-menu/tree-context-menu-page.service.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/context-menu/tree-context-menu-page.service.ts @@ -1,9 +1,9 @@ import { UUITextStyles } from '@umbraco-ui/uui-css'; import { css, nothing, PropertyValueMap } from 'lit'; import { customElement, property, state } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { DeepState } from '@umbraco-cms/observable-api'; -import { UmbContextToken } from '@umbraco-cms/context-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { DeepState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; // TODO: Refactor this, its not a service and the data should be handled by a context api. @customElement('umb-tree-context-menu-page-service') diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/context-menu/tree-context-menu.service.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/context-menu/tree-context-menu.service.ts index c982250ea0..2be00be4f1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/context-menu/tree-context-menu.service.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/context-menu/tree-context-menu.service.ts @@ -1,8 +1,8 @@ import { UUITextStyles } from '@umbraco-ui/uui-css'; import { css, html, nothing } from 'lit'; import { customElement, state } from 'lit/decorators.js'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { UmbContextToken } from '@umbraco-cms/context-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; @customElement('umb-tree-context-menu-service') export class UmbTreeContextMenuService extends UmbLitElement { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree-item.element.ts index 322191fe83..2e4345ed17 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree-item.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree-item.element.ts @@ -10,10 +10,10 @@ import { UMB_SECTION_SIDEBAR_CONTEXT_TOKEN, } from '../section/section-sidebar/section-sidebar.context'; import type { UmbTreeContextBase } from './tree.context'; -import type { Entity } from '@umbraco-cms/models'; -import type { UmbTreeStore } from '@umbraco-cms/store'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; +import type { Entity } from '@umbraco-cms/backoffice/models'; +import type { UmbTreeStore } from '@umbraco-cms/backoffice/store'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; // TODO: align menu items and tree items @customElement('umb-tree-item') diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree-menu-item/tree-menu-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree-menu-item/tree-menu-item.element.ts new file mode 100644 index 0000000000..91a0304a92 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree-menu-item/tree-menu-item.element.ts @@ -0,0 +1,61 @@ +import { html, nothing } from 'lit'; +import { customElement, property, state } from 'lit/decorators.js'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { ManifestKind, ManifestMenuItemTreeKind } from '@umbraco-cms/backoffice/extensions-registry'; + +// TODO: Move to separate file: +const manifest: ManifestKind = { + type: 'kind', + alias: 'Umb.Kind.Tree', + matchKind: 'tree', + matchType: 'menuItem', + manifest: { + type: 'menuItem', + elementName: 'umb-menu-item-tree', + }, +}; +umbExtensionsRegistry.register(manifest); + +@customElement('umb-menu-item-tree') +export class UmbMenuItemTreeElement extends UmbLitElement { + @state() + private _renderTree = false; + + private _onShowChildren() { + this._renderTree = true; + } + + private _onHideChildren() { + this._renderTree = false; + } + + @property({ type: Object }) + manifest?: ManifestMenuItemTreeKind; + + // TODO: check if root has children before settings the has-children attribute + // TODO: how do we want to cache the tree? (do we want to rerender every time the user opens the tree)? + render() { + return this.manifest + ? html` + + ${this._renderTree ? html`` : nothing} + + ` + : ''; + } +} + +export default UmbMenuItemTreeElement; + +declare global { + interface HTMLElementTagNameMap { + 'umb-menu-item-tree': UmbMenuItemTreeElement; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree.context.ts index fa0ef9d55c..d01a1dc0ff 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree.context.ts @@ -1,8 +1,8 @@ import type { Observable } from 'rxjs'; -import { UmbTreeRepository } from '@umbraco-cms/repository'; -import type { ManifestTree } from '@umbraco-cms/models'; -import { DeepState } from '@umbraco-cms/observable-api'; -import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbTreeRepository } from '@umbraco-cms/backoffice/repository'; +import type { ManifestTree } from '@umbraco-cms/backoffice/extensions-registry'; +import { DeepState } from '@umbraco-cms/backoffice/observable-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export interface UmbTreeContext { tree: ManifestTree; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree.element.ts index 133b30cf17..62e461fcf9 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree.element.ts @@ -3,9 +3,10 @@ import { customElement, property, state } from 'lit/decorators.js'; import { map } from 'rxjs'; import { repeat } from 'lit-html/directives/repeat.js'; import { UmbTreeContextBase } from './tree.context'; -import type { Entity, ManifestTree } from '@umbraco-cms/models'; -import { umbExtensionsRegistry } from '@umbraco-cms/extensions-api'; -import { UmbLitElement } from '@umbraco-cms/element'; +import type { Entity } from '@umbraco-cms/backoffice/models'; +import type { ManifestTree } from '@umbraco-cms/backoffice/extensions-registry'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import './tree-item.element'; import './context-menu/tree-context-menu-page.service'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/variant-selector/variant-selector.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/variant-selector/variant-selector.element.ts index 16b1c12ef9..2125acb5b4 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/variant-selector/variant-selector.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/variant-selector/variant-selector.element.ts @@ -8,8 +8,8 @@ import { UMB_WORKSPACE_VARIANT_CONTEXT_TOKEN, } from '../workspace/workspace-variant/workspace-variant.context'; import { ActiveVariant } from '../workspace/workspace-context/workspace-split-view-manager.class'; -import { UmbLitElement } from '@umbraco-cms/element'; -import { DocumentVariantResponseModel, ContentStateModel } from '@umbraco-cms/backend-api'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { DocumentVariantResponseModel, ContentStateModel } from '@umbraco-cms/backoffice/backend-api'; @customElement('umb-variant-selector') export class UmbVariantSelectorElement extends UmbLitElement { @@ -334,7 +334,7 @@ export class UmbVariantSelectorElement extends UmbLitElement { html`