@umbraco-cms/backoffice 14.0.0-f96e8145 → 14.0.0-ffdc9ddb

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist-cms/custom-elements.json +1 -1
  2. package/dist-cms/libs/class-api/class.mixin.js +1 -1
  3. package/dist-cms/packages/core/collection/collection-selection-actions.element.d.ts +1 -1
  4. package/dist-cms/packages/core/components/input-checkbox-list/input-checkbox-list.element.d.ts +1 -1
  5. package/dist-cms/packages/core/components/input-radio-button-list/input-radio-button-list.element.d.ts +1 -1
  6. package/dist-cms/packages/core/debug/debug.element.d.ts +1 -1
  7. package/dist-cms/packages/core/modal/token/user-picker-modal.token.d.ts +2 -2
  8. package/dist-cms/packages/core/tree/entity-tree-item/entity-tree-item.element.d.ts +1 -1
  9. package/dist-cms/packages/core/tree/tree-item/tree-item.element.d.ts +1 -1
  10. package/dist-cms/packages/core/tree/tree-menu-item/tree-menu-item.element.d.ts +1 -1
  11. package/dist-cms/packages/core/workspace/index.d.ts +6 -5
  12. package/dist-cms/packages/core/workspace/index.js +6 -5
  13. package/dist-cms/packages/core/workspace/workspace-context/workspace-context.d.ts +3 -3
  14. package/dist-cms/packages/core/workspace/workspace-is-new-redirect-controller/index.d.ts +1 -0
  15. package/dist-cms/packages/core/workspace/workspace-is-new-redirect-controller/index.js +1 -0
  16. package/dist-cms/packages/core/workspace/workspace-is-new-redirect-controller/workspace-is-new-redirect-controller.d.ts +16 -0
  17. package/dist-cms/packages/core/workspace/workspace-is-new-redirect-controller/workspace-is-new-redirect-controller.js +31 -0
  18. package/dist-cms/packages/core/workspace/workspace.element.d.ts +1 -1
  19. package/dist-cms/packages/documents/document-types/workspace/document-type-workspace.element.js +3 -22
  20. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.element.d.ts +1 -1
  21. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view.element.d.ts +1 -1
  22. package/dist-cms/packages/documents/documents/workspace/document-workspace.element.js +2 -0
  23. package/dist-cms/packages/media/media/workspace/media-workspace-editor.element.d.ts +1 -1
  24. package/dist-cms/packages/search/examine-management-dashboard/views/modal-views/fields-viewer.element.d.ts +1 -1
  25. package/dist-cms/packages/settings/dashboards/health-check/views/health-check-group.element.d.ts +1 -1
  26. package/dist-cms/packages/settings/data-types/workspace/data-type-workspace.element.js +2 -0
  27. package/dist-cms/packages/settings/languages/workspace/language/language-workspace.element.js +3 -20
  28. package/dist-cms/packages/settings/languages/workspace/language-root/components/language-root-table-delete-column-layout.element.d.ts +1 -1
  29. package/dist-cms/packages/settings/languages/workspace/language-root/components/language-root-table-name-column-layout.element.d.ts +1 -1
  30. package/dist-cms/packages/settings/relation-types/workspace/relation-type-workspace.element.js +2 -0
  31. package/dist-cms/packages/templating/components/file-system-tree-item/file-system-tree-item.element.d.ts +1 -1
  32. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace.element.js +3 -9
  33. package/dist-cms/packages/templating/stylesheets/workspace/stylesheet-workspace.element.js +2 -0
  34. package/dist-cms/packages/templating/templates/entity-actions/create/create.action.js +1 -1
  35. package/dist-cms/packages/templating/templates/modals/query-builder/query-builder.element.d.ts +0 -1
  36. package/dist-cms/packages/templating/templates/modals/query-builder/query-builder.element.js +0 -1
  37. package/dist-cms/packages/templating/templates/workspace/template-workspace.context.js +1 -1
  38. package/dist-cms/packages/templating/templates/workspace/template-workspace.element.js +6 -10
  39. package/dist-cms/packages/umbraco-news/umbraco-news-dashboard.element.js +8 -4
  40. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace-editor.element.d.ts +1 -1
  41. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace.element.js +2 -0
  42. package/dist-cms/packages/users/users/collection/user-collection.context.d.ts +3 -3
  43. package/dist-cms/packages/users/users/collection/views/grid/user-collection-grid-view.element.js +1 -1
  44. package/dist-cms/packages/users/users/repository/sources/user-collection.server.data.d.ts +25 -4
  45. package/dist-cms/packages/users/users/repository/sources/user-collection.server.data.js +7 -2
  46. package/dist-cms/packages/users/users/repository/sources/user.server.data.d.ts +17 -1
  47. package/dist-cms/packages/users/users/repository/sources/user.server.data.js +6 -2
  48. package/dist-cms/packages/users/users/repository/user.repository.d.ts +8 -8
  49. package/dist-cms/packages/users/users/repository/user.store.d.ts +6 -6
  50. package/dist-cms/packages/users/users/repository/user.store.js +2 -2
  51. package/dist-cms/packages/users/users/types.d.ts +6 -3
  52. package/dist-cms/packages/users/users/workspace/user-workspace.context.d.ts +5 -5
  53. package/dist-cms/shared/repository/data-source/data-source-response.interface.d.ts +1 -1
  54. package/dist-cms/shared/repository/data-source/extend-data-source-paged-response-data.function.d.ts +20 -0
  55. package/dist-cms/shared/repository/data-source/extend-data-source-paged-response-data.function.js +30 -0
  56. package/dist-cms/shared/repository/data-source/extend-data-source-response-data.function.d.ts +20 -0
  57. package/dist-cms/shared/repository/data-source/extend-data-source-response-data.function.js +22 -0
  58. package/dist-cms/shared/repository/data-source/index.d.ts +5 -3
  59. package/dist-cms/shared/repository/data-source/index.js +5 -3
  60. package/dist-cms/shared/router/generate-route-path-builder.function.d.ts +1 -1
  61. package/dist-cms/shared/router/generate-route-path-builder.function.js +1 -1
  62. package/dist-cms/shared/router/route.context.js +8 -8
  63. package/dist-cms/shared/utils/diff.type.d.ts +5 -0
  64. package/dist-cms/shared/utils/diff.type.js +1 -0
  65. package/dist-cms/shared/utils/ensure-path-ends-with-slash.function.d.ts +1 -0
  66. package/dist-cms/shared/utils/ensure-path-ends-with-slash.function.js +3 -0
  67. package/dist-cms/shared/utils/index.d.ts +2 -0
  68. package/dist-cms/shared/utils/index.js +2 -0
  69. package/dist-cms/tsconfig.tsbuildinfo +1 -1
  70. package/package.json +1 -1
@@ -7561,7 +7561,7 @@
7561
7561
  {
7562
7562
  "name": "styles",
7563
7563
  "type": "array",
7564
- "default": "[null]"
7564
+ "default": "[\"UUITextStyles\",null]"
7565
7565
  }
7566
7566
  ]
7567
7567
  },
@@ -6,7 +6,7 @@ export const UmbClassMixin = (superClass) => {
6
6
  constructor(host, controllerAlias) {
7
7
  super();
8
8
  this._host = host;
9
- this._controllerAlias = controllerAlias ?? undefined; // ?? Symbol();
9
+ this._controllerAlias = controllerAlias ?? Symbol(); // This will fallback to a Symbol, ensuring that this class is only appended to the controller host once.
10
10
  }
11
11
  getHostElement() {
12
12
  return this._host.getHostElement();
@@ -12,7 +12,7 @@ export declare class UmbCollectionSelectionActionsElement extends UmbLitElement
12
12
  private _handleClearSelection;
13
13
  private _observeCollectionContext;
14
14
  private _renderSelectionCount;
15
- render(): typeof nothing | import("lit-html").TemplateResult<1>;
15
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
16
16
  static styles: import("@lit/reactive-element/css-tag").CSSResult[];
17
17
  }
18
18
  declare global {
@@ -15,7 +15,7 @@ export declare class UmbInputCheckboxListElement extends UmbInputCheckboxListEle
15
15
  set selected(keys: Array<string>);
16
16
  set value(keysString: string);
17
17
  protected getFormElement(): undefined;
18
- render(): typeof nothing | import("lit-html").TemplateResult<1>;
18
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
19
19
  renderCheckbox(item: {
20
20
  key: string;
21
21
  checked: boolean;
@@ -15,7 +15,7 @@ export declare class UmbInputRadioButtonListElement extends UmbInputRadioButtonL
15
15
  set selected(key: string);
16
16
  set value(key: string);
17
17
  protected getFormElement(): undefined;
18
- render(): typeof nothing | import("lit-html").TemplateResult<1>;
18
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
19
19
  renderRadioButton(item: {
20
20
  key: string;
21
21
  sortOrder: number;
@@ -9,7 +9,7 @@ export declare class UmbDebugElement extends UmbLitElement {
9
9
  private _modalContext?;
10
10
  constructor();
11
11
  connectedCallback(): void;
12
- render(): typeof nothing | TemplateResult<1>;
12
+ render(): TemplateResult<1> | typeof nothing;
13
13
  private _toggleDebugPane;
14
14
  private _openDialog;
15
15
  private _renderDialog;
@@ -1,6 +1,6 @@
1
1
  import { UmbModalToken, UmbPickerModalData } from '../index.js';
2
- import { UserResponseModel } from '../../../../external/backend-api/index.js';
3
- export type UmbUserPickerModalData = UmbPickerModalData<UserResponseModel>;
2
+ import { UmbUserDetail } from '../../../users/users/index.js';
3
+ export type UmbUserPickerModalData = UmbPickerModalData<UmbUserDetail>;
4
4
  export interface UmbUserPickerModalResult {
5
5
  selection: Array<string | null>;
6
6
  }
@@ -7,7 +7,7 @@ export declare class UmbEntityTreeItemElement extends UmbLitElement implements U
7
7
  private _item?;
8
8
  get item(): EntityTreeItemResponseModel | undefined;
9
9
  set item(value: EntityTreeItemResponseModel | undefined);
10
- render(): typeof nothing | import("lit-html").TemplateResult<1>;
10
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
11
11
  static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
12
12
  }
13
13
  declare global {
@@ -3,7 +3,7 @@ import { TreeItemPresentationModel } from '../../../../external/backend-api/inde
3
3
  import { UmbLitElement } from '../../../../shared/lit-element/index.js';
4
4
  export declare class UmbTreeItemElement extends UmbLitElement {
5
5
  item?: TreeItemPresentationModel;
6
- render(): typeof nothing | import("lit-html").TemplateResult<1>;
6
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
7
7
  static styles: import("@lit/reactive-element/css-tag").CSSResult[];
8
8
  }
9
9
  declare global {
@@ -3,7 +3,7 @@ import { UmbLitElement } from '../../../../shared/lit-element/index.js';
3
3
  import { ManifestMenuItemTreeKind, UmbMenuItemExtensionElement } from '../../extension-registry/index.js';
4
4
  export declare class UmbMenuItemTreeElement extends UmbLitElement implements UmbMenuItemExtensionElement {
5
5
  manifest?: ManifestMenuItemTreeKind;
6
- render(): typeof nothing | import("lit-html").TemplateResult<1>;
6
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
7
7
  }
8
8
  export default UmbMenuItemTreeElement;
9
9
  declare global {
@@ -1,10 +1,11 @@
1
- export * from './workspace-action/index.js';
2
1
  export * from './workspace-action-menu/index.js';
2
+ export * from './workspace-action/index.js';
3
+ export * from './workspace-context/index.js';
3
4
  export * from './workspace-editor/index.js';
4
5
  export * from './workspace-footer/index.js';
6
+ export * from './workspace-is-new-redirect-controller/index.js';
5
7
  export * from './workspace-modal/index.js';
6
- export * from './workspace-context/index.js';
7
- export * from './workspace-variant/index.js';
8
- export * from './workspace-split-view-manager.class.js';
9
- export * from './workspace-property/index.js';
10
8
  export * from './workspace-property-layout/workspace-property-layout.element.js';
9
+ export * from './workspace-property/index.js';
10
+ export * from './workspace-split-view-manager.class.js';
11
+ export * from './workspace-variant/index.js';
@@ -1,10 +1,11 @@
1
- export * from './workspace-action/index.js';
2
1
  export * from './workspace-action-menu/index.js';
2
+ export * from './workspace-action/index.js';
3
+ export * from './workspace-context/index.js';
3
4
  export * from './workspace-editor/index.js';
4
5
  export * from './workspace-footer/index.js';
6
+ export * from './workspace-is-new-redirect-controller/index.js';
5
7
  export * from './workspace-modal/index.js';
6
- export * from './workspace-context/index.js';
7
- export * from './workspace-variant/index.js';
8
- export * from './workspace-split-view-manager.class.js';
9
- export * from './workspace-property/index.js';
10
8
  export * from './workspace-property-layout/workspace-property-layout.element.js';
9
+ export * from './workspace-property/index.js';
10
+ export * from './workspace-split-view-manager.class.js';
11
+ export * from './workspace-variant/index.js';
@@ -2,15 +2,15 @@ import { UmbEntityWorkspaceContextInterface } from './workspace-entity-context.i
2
2
  import { UmbControllerHostElement } from '../../../../libs/controller-api/index.js';
3
3
  import type { UmbEntityBase } from '../../../../shared/models/index.js';
4
4
  import { UmbModalContext } from '../../modal/index.js';
5
- export declare abstract class UmbWorkspaceContext<T, EntityType extends UmbEntityBase> implements UmbEntityWorkspaceContextInterface<EntityType> {
5
+ export declare abstract class UmbWorkspaceContext<RepositoryType, EntityType extends UmbEntityBase> implements UmbEntityWorkspaceContextInterface<EntityType> {
6
6
  #private;
7
7
  readonly host: UmbControllerHostElement;
8
- readonly repository: T;
8
+ readonly repository: RepositoryType;
9
9
  readonly modalContext?: UmbModalContext<{
10
10
  preset: object;
11
11
  }>;
12
12
  isNew: import("rxjs").Observable<boolean | undefined>;
13
- constructor(host: UmbControllerHostElement, repository: T);
13
+ constructor(host: UmbControllerHostElement, repository: RepositoryType);
14
14
  getIsNew(): boolean | undefined;
15
15
  setIsNew(isNew: boolean): void;
16
16
  protected saveComplete(data: EntityType): void;
@@ -0,0 +1 @@
1
+ export * from './workspace-is-new-redirect-controller.js';
@@ -0,0 +1 @@
1
+ export * from './workspace-is-new-redirect-controller.js';
@@ -0,0 +1,16 @@
1
+ import { UmbWorkspaceContext } from '../workspace-context/index.js';
2
+ import { UmbBaseController, type UmbControllerHost } from '../../../../libs/controller-api/index.js';
3
+ import type { UmbEntityBase } from '../../../../shared/models/index.js';
4
+ import { type UmbRouterSlotElement } from '../../../../shared/router/index.js';
5
+ /**
6
+ * Observe the workspace context to see if the entity is new or not.
7
+ * If that changes redirect to the edit url.
8
+ *
9
+ * This requires that the edit URL, is edit/:id
10
+ * @param host
11
+ * @param workspaceContext
12
+ * @param router
13
+ */
14
+ export declare class UmbWorkspaceIsNewRedirectController extends UmbBaseController {
15
+ constructor(host: UmbControllerHost, workspaceContext: UmbWorkspaceContext<unknown, UmbEntityBase>, router: UmbRouterSlotElement);
16
+ }
@@ -0,0 +1,31 @@
1
+ import { UmbBaseController } from '../../../../libs/controller-api/index.js';
2
+ import { createRoutePathBuilder } from '../../../../shared/router/index.js';
3
+ import { ensurePathEndsWithSlash } from '../../../../shared/utils/index.js';
4
+ /**
5
+ * Observe the workspace context to see if the entity is new or not.
6
+ * If that changes redirect to the edit url.
7
+ *
8
+ * This requires that the edit URL, is edit/:id
9
+ * @param host
10
+ * @param workspaceContext
11
+ * @param router
12
+ */
13
+ export class UmbWorkspaceIsNewRedirectController extends UmbBaseController {
14
+ constructor(host, workspaceContext, router) {
15
+ super(host);
16
+ // Navigate to edit route when language is created:
17
+ this.observe(workspaceContext.isNew, (isNew) => {
18
+ if (isNew === false) {
19
+ const id = workspaceContext.getEntityId();
20
+ if (router && id) {
21
+ const routerPath = router.absoluteRouterPath;
22
+ if (routerPath) {
23
+ const newPath = createRoutePathBuilder(ensurePathEndsWithSlash(routerPath) + 'edit/:id')({ id });
24
+ window.history.pushState({}, '', newPath);
25
+ this.destroy();
26
+ }
27
+ }
28
+ }
29
+ }, '_observeIsNew');
30
+ }
31
+ }
@@ -2,7 +2,7 @@ import { nothing } from '../../../external/lit/index.js';
2
2
  import { UmbLitElement } from '../../../shared/lit-element/index.js';
3
3
  export declare class UmbWorkspaceElement extends UmbLitElement {
4
4
  entityType: string;
5
- render(): typeof nothing | import("lit-html").TemplateResult<1>;
5
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
6
6
  static styles: import("@lit/reactive-element/css-tag").CSSResult[];
7
7
  }
8
8
  export default UmbWorkspaceElement;
@@ -7,13 +7,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { UmbDocumentTypeWorkspaceContext } from './document-type-workspace.context.js';
8
8
  import { UUITextStyles } from '../../../../external/uui/index.js';
9
9
  import { html, customElement, state } from '../../../../external/lit/index.js';
10
- import { generateRoutePathBuilder } from '../../../../shared/router/index.js';
11
10
  import { UmbLitElement } from '../../../../shared/lit-element/index.js';
11
+ import { UmbWorkspaceIsNewRedirectController } from '../../../core/workspace/index.js';
12
12
  export let UmbDocumentTypeWorkspaceElement = class UmbDocumentTypeWorkspaceElement extends UmbLitElement {
13
13
  constructor() {
14
14
  super(...arguments);
15
15
  this.#workspaceContext = new UmbDocumentTypeWorkspaceContext(this);
16
- this.#routerPath = '';
17
16
  this._routes = [
18
17
  {
19
18
  path: 'create/:parentId',
@@ -21,18 +20,7 @@ export let UmbDocumentTypeWorkspaceElement = class UmbDocumentTypeWorkspaceEleme
21
20
  setup: (_component, info) => {
22
21
  const parentId = info.match.params.parentId === 'null' ? null : info.match.params.parentId;
23
22
  this.#workspaceContext.create(parentId);
24
- // Navigate to edit route when language is created:
25
- this.observe(this.#workspaceContext.isNew, (isNew) => {
26
- if (isNew === false) {
27
- const id = this.#workspaceContext.getEntityId();
28
- if (this.#routerPath && id) {
29
- const routeBasePath = this.#routerPath.endsWith('/') ? this.#routerPath : this.#routerPath + '/';
30
- // TODO: Revisit if this is the right way to change URL:
31
- const newPath = generateRoutePathBuilder(routeBasePath + 'edit/:id')({ id });
32
- window.history.pushState({}, '', newPath);
33
- }
34
- }
35
- }, '_observeIsNew');
23
+ new UmbWorkspaceIsNewRedirectController(this, this.#workspaceContext, this.shadowRoot.querySelector('umb-router-slot'));
36
24
  },
37
25
  },
38
26
  {
@@ -47,15 +35,8 @@ export let UmbDocumentTypeWorkspaceElement = class UmbDocumentTypeWorkspaceEleme
47
35
  ];
48
36
  }
49
37
  #workspaceContext;
50
- #routerPath;
51
38
  render() {
52
- return html `
53
- <umb-router-slot
54
- .routes=${this._routes}
55
- @init=${(event) => {
56
- this.#routerPath = event.target.absoluteRouterPath;
57
- }}></umb-router-slot>
58
- `;
39
+ return html ` <umb-router-slot .routes=${this._routes}></umb-router-slot> `;
59
40
  }
60
41
  static { this.styles = [UUITextStyles]; }
61
42
  };
@@ -7,7 +7,7 @@ export declare class UmbDocumentTreeItemElement extends UmbLitElement implements
7
7
  private _item?;
8
8
  get item(): DocumentTreeItemResponseModel | undefined;
9
9
  set item(value: DocumentTreeItemResponseModel | undefined);
10
- render(): typeof nothing | import("lit-html").TemplateResult<1>;
10
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
11
11
  static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
12
12
  }
13
13
  export default UmbDocumentTreeItemElement;
@@ -7,7 +7,7 @@ export declare class UmbDocumentWorkspaceSplitViewElement extends UmbLitElement
7
7
  _variants?: Array<ActiveVariant>;
8
8
  constructor();
9
9
  private _observeActiveVariantInfo;
10
- render(): typeof nothing | import("lit-html").TemplateResult<1>;
10
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
11
11
  static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
12
12
  }
13
13
  export default UmbDocumentWorkspaceSplitViewElement;
@@ -9,6 +9,7 @@ import { UUITextStyles } from '../../../../external/uui/index.js';
9
9
  import { html, customElement, state } from '../../../../external/lit/index.js';
10
10
  import { UmbLitElement } from '../../../../shared/lit-element/index.js';
11
11
  import './document-workspace-editor.element.js';
12
+ import { UmbWorkspaceIsNewRedirectController } from '../../../core/workspace/index.js';
12
13
  export let UmbDocumentWorkspaceElement = class UmbDocumentWorkspaceElement extends UmbLitElement {
13
14
  constructor() {
14
15
  super(...arguments);
@@ -23,6 +24,7 @@ export let UmbDocumentWorkspaceElement = class UmbDocumentWorkspaceElement exten
23
24
  const parentId = info.match.params.parentId === 'null' ? null : info.match.params.parentId;
24
25
  const documentTypeKey = info.match.params.documentTypeKey;
25
26
  this.#workspaceContext.create(documentTypeKey, parentId);
27
+ new UmbWorkspaceIsNewRedirectController(this, this.#workspaceContext, this.shadowRoot.querySelector('umb-router-slot'));
26
28
  },
27
29
  },
28
30
  {
@@ -4,7 +4,7 @@ export declare class UmbMediaWorkspaceEditorElement extends UmbLitElement {
4
4
  #private;
5
5
  _id?: string;
6
6
  constructor();
7
- render(): typeof nothing | import("lit-html").TemplateResult<1>;
7
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
8
8
  static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
9
9
  }
10
10
  export default UmbMediaWorkspaceEditorElement;
@@ -5,7 +5,7 @@ export declare class UmbModalElementFieldsViewerElement extends UmbModalBaseElem
5
5
  name: string;
6
6
  }> {
7
7
  private _handleClose;
8
- render(): typeof nothing | import("lit-html").TemplateResult<1>;
8
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
9
9
  static styles: import("@lit/reactive-element/css-tag").CSSResult[];
10
10
  }
11
11
  declare global {
@@ -14,7 +14,7 @@ export declare class UmbDashboardHealthCheckGroupElement extends UmbLitElement {
14
14
  private _buttonHandler;
15
15
  private _onActionClick;
16
16
  render(): import("lit-html").TemplateResult<1>;
17
- renderCheckResults(id: string): typeof nothing | import("lit-html").TemplateResult<1>;
17
+ renderCheckResults(id: string): import("lit-html").TemplateResult<1> | typeof nothing;
18
18
  private renderIcon;
19
19
  private renderActions;
20
20
  static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
@@ -9,6 +9,7 @@ import { UUITextStyles } from '../../../../external/uui/index.js';
9
9
  import { html, customElement } from '../../../../external/lit/index.js';
10
10
  import { UmbLitElement } from '../../../../shared/lit-element/index.js';
11
11
  import './data-type-workspace-editor.element.js';
12
+ import { UmbWorkspaceIsNewRedirectController } from '../../../core/workspace/index.js';
12
13
  export let UmbDataTypeWorkspaceElement = class UmbDataTypeWorkspaceElement extends UmbLitElement {
13
14
  constructor() {
14
15
  super(...arguments);
@@ -21,6 +22,7 @@ export let UmbDataTypeWorkspaceElement = class UmbDataTypeWorkspaceElement exten
21
22
  setup: (_component, info) => {
22
23
  const parentId = info.match.params.parentId === 'null' ? null : info.match.params.parentId;
23
24
  this.#workspaceContext.create(parentId);
25
+ new UmbWorkspaceIsNewRedirectController(this, this.#workspaceContext, this.shadowRoot.querySelector('umb-router-slot'));
24
26
  },
25
27
  },
26
28
  {
@@ -7,14 +7,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { UmbLanguageWorkspaceContext } from './language-workspace.context.js';
8
8
  import { UUITextStyles } from '../../../../../external/uui/index.js';
9
9
  import { css, html, customElement, state } from '../../../../../external/lit/index.js';
10
- import { generateRoutePathBuilder } from '../../../../../shared/router/index.js';
11
10
  import { UmbLitElement } from '../../../../../shared/lit-element/index.js';
12
11
  import './language-workspace-editor.element.js';
12
+ import { UmbWorkspaceIsNewRedirectController } from '../../../../core/workspace/index.js';
13
13
  export let UmbLanguageWorkspaceElement = class UmbLanguageWorkspaceElement extends UmbLitElement {
14
14
  constructor() {
15
15
  super(...arguments);
16
16
  this.#languageWorkspaceContext = new UmbLanguageWorkspaceContext(this);
17
- this.#routerPath = '';
18
17
  this.#getComponentElement = async () => {
19
18
  if (this.#editorElement) {
20
19
  return this.#editorElement;
@@ -36,18 +35,7 @@ export let UmbLanguageWorkspaceElement = class UmbLanguageWorkspaceElement exten
36
35
  component: this.#getComponentElement,
37
36
  setup: async () => {
38
37
  this.#languageWorkspaceContext.create();
39
- // Navigate to edit route when language is created:
40
- this.observe(this.#languageWorkspaceContext.isNew, (isNew) => {
41
- if (isNew === false) {
42
- const isoCode = this.#languageWorkspaceContext.getEntityId();
43
- if (this.#routerPath && isoCode) {
44
- const routeBasePath = this.#routerPath.endsWith('/') ? this.#routerPath : this.#routerPath + '/';
45
- // TODO: Revisit if this is the right way to change URL:
46
- const newPath = generateRoutePathBuilder(routeBasePath + 'edit/:isoCode')({ isoCode });
47
- window.history.pushState({}, '', newPath);
48
- }
49
- }
50
- }, '_observeIsNew');
38
+ new UmbWorkspaceIsNewRedirectController(this, this.#languageWorkspaceContext, this.shadowRoot.querySelector('umb-router-slot'));
51
39
  },
52
40
  },
53
41
  ];
@@ -57,14 +45,9 @@ export let UmbLanguageWorkspaceElement = class UmbLanguageWorkspaceElement exten
57
45
  * Workspace editor element, lazy loaded but shared across several user flows.
58
46
  */
59
47
  #editorElement;
60
- #routerPath;
61
48
  #getComponentElement;
62
49
  render() {
63
- return html `<umb-router-slot
64
- .routes=${this._routes}
65
- @init=${(event) => {
66
- this.#routerPath = event.target.absoluteRouterPath;
67
- }}></umb-router-slot>`;
50
+ return html `<umb-router-slot .routes=${this._routes}></umb-router-slot>`;
68
51
  }
69
52
  static { this.styles = [UUITextStyles, css ``]; }
70
53
  };
@@ -5,7 +5,7 @@ export declare class UmbLanguageRootTableDeleteColumnLayoutElement extends UmbLi
5
5
  #private;
6
6
  value: LanguageResponseModel;
7
7
  _isOpen: boolean;
8
- render(): typeof nothing | import("lit-html").TemplateResult<1>;
8
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
9
9
  static styles: import("@lit/reactive-element/css-tag").CSSResult[];
10
10
  }
11
11
  declare global {
@@ -4,7 +4,7 @@ export declare class UmbLanguageRootTableNameColumnLayoutElement extends LitElem
4
4
  isoCode: string;
5
5
  name: string;
6
6
  };
7
- render(): typeof nothing | import("lit-html").TemplateResult<1>;
7
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
8
8
  static styles: import("@lit/reactive-element/css-tag").CSSResult[];
9
9
  }
10
10
  declare global {
@@ -9,6 +9,7 @@ import { UUITextStyles } from '../../../../external/uui/index.js';
9
9
  import { css, html, customElement, state } from '../../../../external/lit/index.js';
10
10
  import { UmbLitElement } from '../../../../shared/lit-element/index.js';
11
11
  import './relation-type-workspace-editor.element.js';
12
+ import { UmbWorkspaceIsNewRedirectController } from '../../../core/workspace/index.js';
12
13
  /**
13
14
  * @element umb-relation-type-workspace
14
15
  * @description - Element for displaying a Relation Type Workspace
@@ -27,6 +28,7 @@ export let UmbRelationTypeWorkspaceElement = class UmbRelationTypeWorkspaceEleme
27
28
  setup: (_component, info) => {
28
29
  const parentId = info.match.params.parentId;
29
30
  this.#workspaceContext.createScaffold(parentId);
31
+ new UmbWorkspaceIsNewRedirectController(this, this.#workspaceContext, this.shadowRoot.querySelector('umb-router-slot'));
30
32
  },
31
33
  },
32
34
  {
@@ -7,7 +7,7 @@ export declare class UmbFileSystemTreeItemElement extends UmbLitElement implemen
7
7
  private _item?;
8
8
  get item(): FileSystemTreeItemPresentationModel | undefined;
9
9
  set item(value: FileSystemTreeItemPresentationModel | undefined);
10
- render(): typeof nothing | import("lit-html").TemplateResult<1>;
10
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
11
11
  static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
12
12
  }
13
13
  declare global {
@@ -9,13 +9,12 @@ import { UUITextStyles } from '../../../../external/uui/index.js';
9
9
  import { css, html, customElement, state } from '../../../../external/lit/index.js';
10
10
  import { UmbLitElement } from '../../../../shared/lit-element/index.js';
11
11
  import './partial-views-workspace-edit.element.js';
12
+ import { UmbWorkspaceIsNewRedirectController } from '../../../core/workspace/index.js';
12
13
  export let UmbPartialViewsWorkspaceElement = class UmbPartialViewsWorkspaceElement extends UmbLitElement {
13
14
  constructor() {
14
15
  super(...arguments);
15
16
  this.#partialViewsWorkspaceContext = new UmbPartialViewsWorkspaceContext(this);
16
- this.#routerPath = '';
17
17
  this.#element = document.createElement('umb-partial-views-workspace-edit');
18
- this.#key = '';
19
18
  this._routes = [
20
19
  {
21
20
  path: 'create/:parentKey',
@@ -23,6 +22,7 @@ export let UmbPartialViewsWorkspaceElement = class UmbPartialViewsWorkspaceEleme
23
22
  setup: async (component, info) => {
24
23
  const parentKey = info.match.params.parentKey;
25
24
  this.#partialViewsWorkspaceContext.create(parentKey);
25
+ new UmbWorkspaceIsNewRedirectController(this, this.#partialViewsWorkspaceContext, this.shadowRoot.querySelector('umb-router-slot'));
26
26
  },
27
27
  },
28
28
  {
@@ -36,15 +36,9 @@ export let UmbPartialViewsWorkspaceElement = class UmbPartialViewsWorkspaceEleme
36
36
  ];
37
37
  }
38
38
  #partialViewsWorkspaceContext;
39
- #routerPath;
40
39
  #element;
41
- #key;
42
40
  render() {
43
- return html `<umb-router-slot
44
- .routes=${this._routes}
45
- @init=${(event) => {
46
- this.#routerPath = event.target.absoluteRouterPath;
47
- }}></umb-router-slot>`;
41
+ return html `<umb-router-slot .routes=${this._routes}></umb-router-slot>`;
48
42
  }
49
43
  static { this.styles = [UUITextStyles, css ``]; }
50
44
  };
@@ -10,6 +10,7 @@ import { UmbStylesheetWorkspaceContext } from './stylesheet-workspace.context.js
10
10
  import { UUITextStyles } from '../../../../external/uui/index.js';
11
11
  import { css, html, customElement, state } from '../../../../external/lit/index.js';
12
12
  import { UmbLitElement } from '../../../../shared/lit-element/index.js';
13
+ import { UmbWorkspaceIsNewRedirectController } from '../../../core/workspace/index.js';
13
14
  export let UmbStylesheetWorkspaceElement = class UmbStylesheetWorkspaceElement extends UmbLitElement {
14
15
  constructor() {
15
16
  super(...arguments);
@@ -23,6 +24,7 @@ export let UmbStylesheetWorkspaceElement = class UmbStylesheetWorkspaceElement e
23
24
  const path = info.match.params.path;
24
25
  const serverPath = serverFilePathFromUrlFriendlyPath(path);
25
26
  this.#workspaceContext.load(serverPath);
27
+ new UmbWorkspaceIsNewRedirectController(this, this.#workspaceContext, this.shadowRoot.querySelector('umb-router-slot'));
26
28
  },
27
29
  },
28
30
  ];
@@ -6,7 +6,7 @@ export class UmbCreateEntityAction extends UmbEntityActionBase {
6
6
  // TODO: can we make this a generic create action
7
7
  async execute() {
8
8
  // TODO: get entity type from repository?
9
- const url = `section/settings/workspace/template/create/${this.unique || 'root'}`;
9
+ const url = `section/settings/workspace/template/create/${this.unique || 'null'}`;
10
10
  // TODO: how do we handle this with a href?
11
11
  history.pushState(null, '', url);
12
12
  }
@@ -1,5 +1,4 @@
1
1
  import { UmbModalBaseElement } from '../../../../../shared/modal/index.js';
2
- import './query-builder-filter.element.js';
3
2
  export interface TemplateQueryBuilderModalData {
4
3
  hidePartialViews?: boolean;
5
4
  }
@@ -10,7 +10,6 @@ import { css, html, customElement, state, query, queryAll } from '../../../../..
10
10
  import { UmbModalBaseElement } from '../../../../../shared/modal/index.js';
11
11
  import { UMB_DOCUMENT_PICKER_MODAL, UMB_MODAL_MANAGER_CONTEXT_TOKEN, } from '../../../../core/modal/index.js';
12
12
  import { UmbDocumentRepository } from '../../../../documents/documents/index.js';
13
- import './query-builder-filter.element.js';
14
13
  var SortOrder;
15
14
  (function (SortOrder) {
16
15
  SortOrder["Ascending"] = "ascending";
@@ -131,7 +131,7 @@ ${currentContent}`;
131
131
  return;
132
132
  this.setIsNew(true);
133
133
  this.#data.next({ ...data, id: '', name: '', alias: '', $type: 'TemplateResponseModel' });
134
- if (!parentId || parentId === 'root')
134
+ if (!parentId)
135
135
  return;
136
136
  await this.setMasterTemplate(parentId);
137
137
  }
@@ -9,19 +9,20 @@ import { html, customElement, state } from '../../../../external/lit/index.js';
9
9
  import { UmbLitElement } from '../../../../shared/lit-element/index.js';
10
10
  import '../../components/insert-menu/templating-insert-menu.element.js';
11
11
  import './template-workspace-editor.element.js';
12
+ import { UmbWorkspaceIsNewRedirectController } from '../../../core/workspace/index.js';
12
13
  export let UmbTemplateWorkspaceElement = class UmbTemplateWorkspaceElement extends UmbLitElement {
13
14
  constructor() {
14
15
  super(...arguments);
15
16
  this.#templateWorkspaceContext = new UmbTemplateWorkspaceContext(this);
16
- this.#routerPath = '';
17
17
  this.#element = document.createElement('umb-template-workspace-editor');
18
18
  this._routes = [
19
19
  {
20
- path: 'create/:parentKey',
20
+ path: 'create/:parentId',
21
21
  component: () => this.#element,
22
22
  setup: (component, info) => {
23
- const parentKey = info.match.params.parentKey;
24
- this.#templateWorkspaceContext.create(parentKey === 'root' ? null : parentKey);
23
+ const parentId = info.match.params.parentId === 'null' ? null : info.match.params.parentId;
24
+ this.#templateWorkspaceContext.create(parentId);
25
+ new UmbWorkspaceIsNewRedirectController(this, this.#templateWorkspaceContext, this.shadowRoot.querySelector('umb-router-slot'));
25
26
  },
26
27
  },
27
28
  {
@@ -38,14 +39,9 @@ export let UmbTemplateWorkspaceElement = class UmbTemplateWorkspaceElement exten
38
39
  this.#templateWorkspaceContext.load(entityId);
39
40
  }
40
41
  #templateWorkspaceContext;
41
- #routerPath;
42
42
  #element;
43
43
  render() {
44
- return html `<umb-router-slot
45
- .routes=${this._routes}
46
- @init=${(event) => {
47
- this.#routerPath = event.target.absoluteRouterPath;
48
- }}></umb-router-slot>`;
44
+ return html `<umb-router-slot .routes=${this._routes}></umb-router-slot>`;
49
45
  }
50
46
  };
51
47
  __decorate([