@umbraco-cms/backoffice 14.0.0--preview007-cccfbc9c → 14.0.0--preview007-02546fcd

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 (29) hide show
  1. package/dist-cms/custom-elements.json +0 -16
  2. package/dist-cms/external/backend-api/index.js +1 -1
  3. package/dist-cms/external/backend-api/src/index.d.ts +9 -1
  4. package/dist-cms/external/backend-api/src/models/ContentCollectionResponseModelBaseDocumentValueModelDocumentVariantResponseModel.d.ts +9 -0
  5. package/dist-cms/external/backend-api/src/models/ContentCollectionResponseModelBaseMediaValueModelMediaVariantResponseModel.d.ts +9 -0
  6. package/dist-cms/external/backend-api/src/models/ContentTypeCollectionReferenceResponseModelBaseModel.d.ts +5 -0
  7. package/dist-cms/external/backend-api/src/models/DocumentCollectionResponseModel.d.ts +6 -0
  8. package/dist-cms/external/backend-api/src/models/DocumentTypeCollectionReferenceResponseModel.d.ts +2 -0
  9. package/dist-cms/external/backend-api/src/models/MediaCollectionResponseModel.d.ts +5 -0
  10. package/dist-cms/external/backend-api/src/models/MediaTypeCollectionReferenceResponseModel.d.ts +2 -0
  11. package/dist-cms/external/backend-api/src/models/PagedDocumentCollectionResponseModel.d.ts +5 -0
  12. package/dist-cms/external/backend-api/src/models/PagedMediaCollectionResponseModel.d.ts +5 -0
  13. package/dist-cms/external/backend-api/src/services/DocumentResource.d.ts +16 -0
  14. package/dist-cms/external/backend-api/src/services/MediaResource.d.ts +29 -0
  15. package/dist-cms/external/backend-api/src/services/TemplateResource.d.ts +0 -8
  16. package/dist-cms/mocks/data/document-type/document-type.data.js +47 -0
  17. package/dist-cms/packages/documents/document-types/components/input-document-type/input-document-type.element.d.ts +1 -0
  18. package/dist-cms/packages/documents/document-types/components/input-document-type/input-document-type.element.js +3 -0
  19. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-properties.element.d.ts +1 -1
  20. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-properties.element.js +63 -66
  21. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-property.element.js +5 -0
  22. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-tab.element.d.ts +2 -7
  23. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-tab.element.js +98 -102
  24. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.d.ts +1 -5
  25. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.js +40 -64
  26. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  27. package/dist-cms/vscode-html-custom-data.json +2 -2
  28. package/package.json +1 -1
  29. package/dist-cms/external/backend-api/src/models/TemplateScaffoldResponseModel.d.ts +0 -3
@@ -17,11 +17,14 @@ export type { AvailableMemberTypeCompositionResponseModel } from './models/Avail
17
17
  export type { ChangePasswordUserRequestModel } from './models/ChangePasswordUserRequestModel';
18
18
  export { CompositionTypeModel } from './models/CompositionTypeModel';
19
19
  export type { ConsentLevelPresentationModel } from './models/ConsentLevelPresentationModel';
20
+ export type { ContentCollectionResponseModelBaseDocumentValueModelDocumentVariantResponseModel } from './models/ContentCollectionResponseModelBaseDocumentValueModelDocumentVariantResponseModel';
21
+ export type { ContentCollectionResponseModelBaseMediaValueModelMediaVariantResponseModel } from './models/ContentCollectionResponseModelBaseMediaValueModelMediaVariantResponseModel';
20
22
  export type { ContentForDocumentResponseModel } from './models/ContentForDocumentResponseModel';
21
23
  export type { ContentForMediaResponseModel } from './models/ContentForMediaResponseModel';
22
24
  export type { ContentForMemberResponseModel } from './models/ContentForMemberResponseModel';
23
25
  export type { ContentTreeItemResponseModel } from './models/ContentTreeItemResponseModel';
24
26
  export type { ContentTypeCleanupBaseModel } from './models/ContentTypeCleanupBaseModel';
27
+ export type { ContentTypeCollectionReferenceResponseModelBaseModel } from './models/ContentTypeCollectionReferenceResponseModelBaseModel';
25
28
  export type { ContentTypeCompositionRequestModelBaseModel } from './models/ContentTypeCompositionRequestModelBaseModel';
26
29
  export type { ContentTypeCompositionResponseModelBaseModel } from './models/ContentTypeCompositionResponseModelBaseModel';
27
30
  export type { ContentTypeForDocumentTypeResponseModel } from './models/ContentTypeForDocumentTypeResponseModel';
@@ -94,6 +97,7 @@ export { DirectionModel } from './models/DirectionModel';
94
97
  export type { DisableUserRequestModel } from './models/DisableUserRequestModel';
95
98
  export type { DocumentBlueprintResponseModel } from './models/DocumentBlueprintResponseModel';
96
99
  export type { DocumentBlueprintTreeItemResponseModel } from './models/DocumentBlueprintTreeItemResponseModel';
100
+ export type { DocumentCollectionResponseModel } from './models/DocumentCollectionResponseModel';
97
101
  export type { DocumentConfigurationResponseModel } from './models/DocumentConfigurationResponseModel';
98
102
  export type { DocumentItemResponseModel } from './models/DocumentItemResponseModel';
99
103
  export type { DocumentNotificationResponseModel } from './models/DocumentNotificationResponseModel';
@@ -101,6 +105,7 @@ export type { DocumentRecycleBinItemResponseModel } from './models/DocumentRecyc
101
105
  export type { DocumentResponseModel } from './models/DocumentResponseModel';
102
106
  export type { DocumentTreeItemResponseModel } from './models/DocumentTreeItemResponseModel';
103
107
  export type { DocumentTypeCleanupModel } from './models/DocumentTypeCleanupModel';
108
+ export type { DocumentTypeCollectionReferenceResponseModel } from './models/DocumentTypeCollectionReferenceResponseModel';
104
109
  export type { DocumentTypeCompositionModel } from './models/DocumentTypeCompositionModel';
105
110
  export type { DocumentTypeCompositionRequestModel } from './models/DocumentTypeCompositionRequestModel';
106
111
  export type { DocumentTypeCompositionResponseModel } from './models/DocumentTypeCompositionResponseModel';
@@ -174,11 +179,13 @@ export { LogLevelModel } from './models/LogLevelModel';
174
179
  export type { LogMessagePropertyPresentationModel } from './models/LogMessagePropertyPresentationModel';
175
180
  export type { LogMessageResponseModel } from './models/LogMessageResponseModel';
176
181
  export type { LogTemplateResponseModel } from './models/LogTemplateResponseModel';
182
+ export type { MediaCollectionResponseModel } from './models/MediaCollectionResponseModel';
177
183
  export type { MediaConfigurationResponseModel } from './models/MediaConfigurationResponseModel';
178
184
  export type { MediaItemResponseModel } from './models/MediaItemResponseModel';
179
185
  export type { MediaRecycleBinItemResponseModel } from './models/MediaRecycleBinItemResponseModel';
180
186
  export type { MediaResponseModel } from './models/MediaResponseModel';
181
187
  export type { MediaTreeItemResponseModel } from './models/MediaTreeItemResponseModel';
188
+ export type { MediaTypeCollectionReferenceResponseModel } from './models/MediaTypeCollectionReferenceResponseModel';
182
189
  export type { MediaTypeCompositionModel } from './models/MediaTypeCompositionModel';
183
190
  export type { MediaTypeCompositionRequestModel } from './models/MediaTypeCompositionRequestModel';
184
191
  export type { MediaTypeCompositionResponseModel } from './models/MediaTypeCompositionResponseModel';
@@ -236,6 +243,7 @@ export type { PagedCultureReponseModel } from './models/PagedCultureReponseModel
236
243
  export type { PagedDataTypeTreeItemResponseModel } from './models/PagedDataTypeTreeItemResponseModel';
237
244
  export type { PagedDictionaryOverviewResponseModel } from './models/PagedDictionaryOverviewResponseModel';
238
245
  export type { PagedDocumentBlueprintTreeItemResponseModel } from './models/PagedDocumentBlueprintTreeItemResponseModel';
246
+ export type { PagedDocumentCollectionResponseModel } from './models/PagedDocumentCollectionResponseModel';
239
247
  export type { PagedDocumentRecycleBinItemResponseModel } from './models/PagedDocumentRecycleBinItemResponseModel';
240
248
  export type { PagedDocumentTreeItemResponseModel } from './models/PagedDocumentTreeItemResponseModel';
241
249
  export type { PagedDocumentTypeTreeItemResponseModel } from './models/PagedDocumentTypeTreeItemResponseModel';
@@ -247,6 +255,7 @@ export type { PagedLanguageResponseModel } from './models/PagedLanguageResponseM
247
255
  export type { PagedLoggerResponseModel } from './models/PagedLoggerResponseModel';
248
256
  export type { PagedLogMessageResponseModel } from './models/PagedLogMessageResponseModel';
249
257
  export type { PagedLogTemplateResponseModel } from './models/PagedLogTemplateResponseModel';
258
+ export type { PagedMediaCollectionResponseModel } from './models/PagedMediaCollectionResponseModel';
250
259
  export type { PagedMediaRecycleBinItemResponseModel } from './models/PagedMediaRecycleBinItemResponseModel';
251
260
  export type { PagedMediaTreeItemResponseModel } from './models/PagedMediaTreeItemResponseModel';
252
261
  export type { PagedMediaTypeTreeItemResponseModel } from './models/PagedMediaTypeTreeItemResponseModel';
@@ -344,7 +353,6 @@ export type { TemplateQueryResultItemPresentationModel } from './models/Template
344
353
  export type { TemplateQueryResultResponseModel } from './models/TemplateQueryResultResponseModel';
345
354
  export type { TemplateQuerySettingsResponseModel } from './models/TemplateQuerySettingsResponseModel';
346
355
  export type { TemplateResponseModel } from './models/TemplateResponseModel';
347
- export type { TemplateScaffoldResponseModel } from './models/TemplateScaffoldResponseModel';
348
356
  export type { TemporaryFileResponseModel } from './models/TemporaryFileResponseModel';
349
357
  export type { TourStatusModel } from './models/TourStatusModel';
350
358
  export type { TreeItemPresentationModel } from './models/TreeItemPresentationModel';
@@ -0,0 +1,9 @@
1
+ import type { DocumentValueModel } from './DocumentValueModel';
2
+ import type { DocumentVariantResponseModel } from './DocumentVariantResponseModel';
3
+ export type ContentCollectionResponseModelBaseDocumentValueModelDocumentVariantResponseModel = {
4
+ values: Array<DocumentValueModel>;
5
+ variants: Array<DocumentVariantResponseModel>;
6
+ id: string;
7
+ creator?: string | null;
8
+ sortOrder: number;
9
+ };
@@ -0,0 +1,9 @@
1
+ import type { MediaValueModel } from './MediaValueModel';
2
+ import type { MediaVariantResponseModel } from './MediaVariantResponseModel';
3
+ export type ContentCollectionResponseModelBaseMediaValueModelMediaVariantResponseModel = {
4
+ values: Array<MediaValueModel>;
5
+ variants: Array<MediaVariantResponseModel>;
6
+ id: string;
7
+ creator?: string | null;
8
+ sortOrder: number;
9
+ };
@@ -0,0 +1,5 @@
1
+ export type ContentTypeCollectionReferenceResponseModelBaseModel = {
2
+ id: string;
3
+ alias: string;
4
+ icon: string;
5
+ };
@@ -0,0 +1,6 @@
1
+ import type { ContentCollectionResponseModelBaseDocumentValueModelDocumentVariantResponseModel } from './ContentCollectionResponseModelBaseDocumentValueModelDocumentVariantResponseModel';
2
+ import type { DocumentTypeCollectionReferenceResponseModel } from './DocumentTypeCollectionReferenceResponseModel';
3
+ export type DocumentCollectionResponseModel = (ContentCollectionResponseModelBaseDocumentValueModelDocumentVariantResponseModel & {
4
+ documentType: DocumentTypeCollectionReferenceResponseModel;
5
+ updater?: string | null;
6
+ });
@@ -0,0 +1,2 @@
1
+ import type { ContentTypeCollectionReferenceResponseModelBaseModel } from './ContentTypeCollectionReferenceResponseModelBaseModel';
2
+ export type DocumentTypeCollectionReferenceResponseModel = ContentTypeCollectionReferenceResponseModelBaseModel;
@@ -0,0 +1,5 @@
1
+ import type { ContentCollectionResponseModelBaseMediaValueModelMediaVariantResponseModel } from './ContentCollectionResponseModelBaseMediaValueModelMediaVariantResponseModel';
2
+ import type { MediaTypeCollectionReferenceResponseModel } from './MediaTypeCollectionReferenceResponseModel';
3
+ export type MediaCollectionResponseModel = (ContentCollectionResponseModelBaseMediaValueModelMediaVariantResponseModel & {
4
+ mediaType: MediaTypeCollectionReferenceResponseModel;
5
+ });
@@ -0,0 +1,2 @@
1
+ import type { ContentTypeCollectionReferenceResponseModelBaseModel } from './ContentTypeCollectionReferenceResponseModelBaseModel';
2
+ export type MediaTypeCollectionReferenceResponseModel = ContentTypeCollectionReferenceResponseModelBaseModel;
@@ -0,0 +1,5 @@
1
+ import type { DocumentCollectionResponseModel } from './DocumentCollectionResponseModel';
2
+ export type PagedDocumentCollectionResponseModel = {
3
+ total: number;
4
+ items: Array<DocumentCollectionResponseModel>;
5
+ };
@@ -0,0 +1,5 @@
1
+ import type { MediaCollectionResponseModel } from './MediaCollectionResponseModel';
2
+ export type PagedMediaCollectionResponseModel = {
3
+ total: number;
4
+ items: Array<MediaCollectionResponseModel>;
5
+ };
@@ -1,11 +1,13 @@
1
1
  import type { CopyDocumentRequestModel } from '../models/CopyDocumentRequestModel';
2
2
  import type { CreateDocumentRequestModel } from '../models/CreateDocumentRequestModel';
3
+ import type { DirectionModel } from '../models/DirectionModel';
3
4
  import type { DocumentConfigurationResponseModel } from '../models/DocumentConfigurationResponseModel';
4
5
  import type { DocumentItemResponseModel } from '../models/DocumentItemResponseModel';
5
6
  import type { DocumentNotificationResponseModel } from '../models/DocumentNotificationResponseModel';
6
7
  import type { DocumentResponseModel } from '../models/DocumentResponseModel';
7
8
  import type { DomainsResponseModel } from '../models/DomainsResponseModel';
8
9
  import type { MoveDocumentRequestModel } from '../models/MoveDocumentRequestModel';
10
+ import type { PagedDocumentCollectionResponseModel } from '../models/PagedDocumentCollectionResponseModel';
9
11
  import type { PagedDocumentRecycleBinItemResponseModel } from '../models/PagedDocumentRecycleBinItemResponseModel';
10
12
  import type { PagedDocumentTreeItemResponseModel } from '../models/PagedDocumentTreeItemResponseModel';
11
13
  import type { PublicAccessRequestModel } from '../models/PublicAccessRequestModel';
@@ -18,6 +20,20 @@ import type { UpdateDocumentRequestModel } from '../models/UpdateDocumentRequest
18
20
  import type { UpdateDomainsRequestModel } from '../models/UpdateDomainsRequestModel';
19
21
  import type { CancelablePromise } from '../core/CancelablePromise';
20
22
  export declare class DocumentResource {
23
+ /**
24
+ * @returns PagedDocumentCollectionResponseModel Success
25
+ * @throws ApiError
26
+ */
27
+ static getCollectionDocumentById({ id, dataTypeId, orderBy, orderCulture, orderDirection, filter, skip, take, }: {
28
+ id: string;
29
+ dataTypeId?: string;
30
+ orderBy?: string;
31
+ orderCulture?: string;
32
+ orderDirection?: DirectionModel;
33
+ filter?: string;
34
+ skip?: number;
35
+ take?: number;
36
+ }): CancelablePromise<PagedDocumentCollectionResponseModel>;
21
37
  /**
22
38
  * @returns string Created
23
39
  * @throws ApiError
@@ -1,14 +1,29 @@
1
1
  import type { CreateMediaRequestModel } from '../models/CreateMediaRequestModel';
2
+ import type { DirectionModel } from '../models/DirectionModel';
2
3
  import type { MediaConfigurationResponseModel } from '../models/MediaConfigurationResponseModel';
3
4
  import type { MediaItemResponseModel } from '../models/MediaItemResponseModel';
4
5
  import type { MediaResponseModel } from '../models/MediaResponseModel';
5
6
  import type { MoveMediaRequestModel } from '../models/MoveMediaRequestModel';
7
+ import type { PagedMediaCollectionResponseModel } from '../models/PagedMediaCollectionResponseModel';
6
8
  import type { PagedMediaRecycleBinItemResponseModel } from '../models/PagedMediaRecycleBinItemResponseModel';
7
9
  import type { PagedMediaTreeItemResponseModel } from '../models/PagedMediaTreeItemResponseModel';
8
10
  import type { SortingRequestModel } from '../models/SortingRequestModel';
9
11
  import type { UpdateMediaRequestModel } from '../models/UpdateMediaRequestModel';
10
12
  import type { CancelablePromise } from '../core/CancelablePromise';
11
13
  export declare class MediaResource {
14
+ /**
15
+ * @returns PagedMediaCollectionResponseModel Success
16
+ * @throws ApiError
17
+ */
18
+ static getCollectionMedia({ id, dataTypeId, orderBy, orderDirection, filter, skip, take, }: {
19
+ id?: string;
20
+ dataTypeId?: string;
21
+ orderBy?: string;
22
+ orderDirection?: DirectionModel;
23
+ filter?: string;
24
+ skip?: number;
25
+ take?: number;
26
+ }): CancelablePromise<PagedMediaCollectionResponseModel>;
12
27
  /**
13
28
  * @returns any Success
14
29
  * @throws ApiError
@@ -30,6 +45,13 @@ export declare class MediaResource {
30
45
  static getMediaById({ id, }: {
31
46
  id: string;
32
47
  }): CancelablePromise<MediaResponseModel>;
48
+ /**
49
+ * @returns any Success
50
+ * @throws ApiError
51
+ */
52
+ static deleteMediaById({ id, }: {
53
+ id: string;
54
+ }): CancelablePromise<any>;
33
55
  /**
34
56
  * @returns any Success
35
57
  * @throws ApiError
@@ -85,6 +107,13 @@ export declare class MediaResource {
85
107
  * @throws ApiError
86
108
  */
87
109
  static deleteRecycleBinMedia(): CancelablePromise<any>;
110
+ /**
111
+ * @returns any Success
112
+ * @throws ApiError
113
+ */
114
+ static deleteRecycleBinMediaById({ id, }: {
115
+ id: string;
116
+ }): CancelablePromise<any>;
88
117
  /**
89
118
  * @returns PagedMediaRecycleBinItemResponseModel Success
90
119
  * @throws ApiError
@@ -6,7 +6,6 @@ import type { TemplateQueryExecuteModel } from '../models/TemplateQueryExecuteMo
6
6
  import type { TemplateQueryResultResponseModel } from '../models/TemplateQueryResultResponseModel';
7
7
  import type { TemplateQuerySettingsResponseModel } from '../models/TemplateQuerySettingsResponseModel';
8
8
  import type { TemplateResponseModel } from '../models/TemplateResponseModel';
9
- import type { TemplateScaffoldResponseModel } from '../models/TemplateScaffoldResponseModel';
10
9
  import type { UpdateTemplateRequestModel } from '../models/UpdateTemplateRequestModel';
11
10
  import type { CancelablePromise } from '../core/CancelablePromise';
12
11
  export declare class TemplateResource {
@@ -63,13 +62,6 @@ export declare class TemplateResource {
63
62
  * @throws ApiError
64
63
  */
65
64
  static getTemplateQuerySettings(): CancelablePromise<TemplateQuerySettingsResponseModel>;
66
- /**
67
- * @returns any Success
68
- * @throws ApiError
69
- */
70
- static getTemplateScaffold({ masterTemplateId, }: {
71
- masterTemplateId?: string;
72
- }): CancelablePromise<TemplateScaffoldResponseModel>;
73
65
  /**
74
66
  * @returns PagedNamedEntityTreeItemResponseModel Success
75
67
  * @throws ApiError
@@ -1004,6 +1004,46 @@ export const data = [
1004
1004
  labelOnTop: false,
1005
1005
  },
1006
1006
  },
1007
+ {
1008
+ id: 'a92de6ac-1a22-4a45-a481-b6cae1cccbba',
1009
+ container: { id: '2e845ca8-1e3e-4b03-be1d-0b4149ce2120' },
1010
+ alias: 'alchemyElement',
1011
+ name: 'Alchemy Element',
1012
+ description: null,
1013
+ dataType: { id: '0cc0eba1-9960-42c9-bf9b-60e150b429ae' },
1014
+ variesByCulture: false,
1015
+ variesBySegment: false,
1016
+ sortOrder: 0,
1017
+ validation: {
1018
+ mandatory: false,
1019
+ mandatoryMessage: null,
1020
+ regEx: null,
1021
+ regExMessage: null,
1022
+ },
1023
+ appearance: {
1024
+ labelOnTop: false,
1025
+ },
1026
+ },
1027
+ {
1028
+ id: 'c92de6ac-1a22-4a45-a481-b6cae1cccbba',
1029
+ container: { id: '2e845ca8-1e3e-4b03-be1d-0b4149ce2120' },
1030
+ alias: 'acidScale',
1031
+ name: 'Acid Scale',
1032
+ description: null,
1033
+ dataType: { id: '0cc0eba1-9960-42c9-bf9b-60e150b429ae' },
1034
+ variesByCulture: false,
1035
+ variesBySegment: false,
1036
+ sortOrder: 0,
1037
+ validation: {
1038
+ mandatory: false,
1039
+ mandatoryMessage: null,
1040
+ regEx: null,
1041
+ regExMessage: null,
1042
+ },
1043
+ appearance: {
1044
+ labelOnTop: false,
1045
+ },
1046
+ },
1007
1047
  ],
1008
1048
  containers: [
1009
1049
  {
@@ -1013,6 +1053,13 @@ export const data = [
1013
1053
  type: 'Group',
1014
1054
  sortOrder: 0,
1015
1055
  },
1056
+ {
1057
+ id: '2e845ca8-1e3e-4b03-be1d-0b4149ce2120',
1058
+ parent: null,
1059
+ name: 'Alchemy',
1060
+ type: 'Group',
1061
+ sortOrder: 0,
1062
+ },
1016
1063
  ],
1017
1064
  allowedDocumentTypes: [],
1018
1065
  compositions: [],
@@ -42,6 +42,7 @@ export declare class UmbInputDocumentTypeElement extends UmbInputDocumentTypeEle
42
42
  get selectedIds(): Array<string>;
43
43
  set selectedIds(ids: Array<string> | undefined);
44
44
  set value(idsString: string);
45
+ get value(): string;
45
46
  private _items?;
46
47
  private _editDocumentTypePath;
47
48
  constructor();
@@ -51,6 +51,9 @@ let UmbInputDocumentTypeElement = class UmbInputDocumentTypeElement extends Form
51
51
  // Its with full purpose we don't call super.value, as thats being handled by the observation of the context selection.
52
52
  this.selectedIds = splitStringToArray(idsString);
53
53
  }
54
+ get value() {
55
+ return this.selectedIds.join(',');
56
+ }
54
57
  constructor() {
55
58
  super();
56
59
  _UmbInputDocumentTypeElement_instances.add(this);
@@ -1,8 +1,8 @@
1
+ import { UmbLitElement } from '../../../../../core/lit-element/index.js';
1
2
  import './document-type-workspace-view-edit-property.element.js';
2
3
  import type { UmbDocumentTypeDetailModel } from '../../../types.js';
3
4
  import type { UmbPropertyContainerTypes, UmbPropertyTypeModel } from '../../../../../core/content-type/index.js';
4
5
  import { UmbContentTypePropertyStructureHelper } from '../../../../../core/content-type/index.js';
5
- import { UmbLitElement } from '../../../../../core/lit-element/index.js';
6
6
  export declare class UmbDocumentTypeWorkspaceViewEditPropertiesElement extends UmbLitElement {
7
7
  #private;
8
8
  private _containerId;
@@ -9,27 +9,15 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
9
9
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
- var _UmbDocumentTypeWorkspaceViewEditPropertiesElement_instances, _UmbDocumentTypeWorkspaceViewEditPropertiesElement_propertySorter, _UmbDocumentTypeWorkspaceViewEditPropertiesElement_setModel, _UmbDocumentTypeWorkspaceViewEditPropertiesElement_addProperty;
12
+ var _UmbDocumentTypeWorkspaceViewEditPropertiesElement_instances, _UmbDocumentTypeWorkspaceViewEditPropertiesElement_model, _UmbDocumentTypeWorkspaceViewEditPropertiesElement_sorter, _UmbDocumentTypeWorkspaceViewEditPropertiesElement_addProperty;
13
+ import { UmbLitElement } from '../../../../../core/lit-element/index.js';
13
14
  import './document-type-workspace-view-edit-property.element.js';
14
15
  import { css, html, customElement, property, state, repeat, ifDefined } from '../../../../../../external/lit/index.js';
15
16
  import { UmbTextStyles } from '../../../../../../shared/style/index.js';
16
17
  import { UmbContentTypePropertyStructureHelper } from '../../../../../core/content-type/index.js';
17
18
  import { UmbSorterController } from '../../../../../core/sorter/index.js';
18
- import { UmbLitElement } from '../../../../../core/lit-element/index.js';
19
19
  import { UMB_WORKSPACE_CONTEXT } from '../../../../../core/workspace/index.js';
20
20
  import { UMB_PROPERTY_SETTINGS_MODAL, UmbModalRouteRegistrationController } from '../../../../../core/modal/index.js';
21
- const SORTER_CONFIG = {
22
- getUniqueOfElement: (element) => {
23
- return element.getAttribute('data-umb-property-id');
24
- },
25
- getUniqueOfModel: (modelEntry) => {
26
- return modelEntry.id;
27
- },
28
- identifier: 'content-type-property-sorter',
29
- itemSelector: '[data-umb-property-id]',
30
- disabledItemSelector: '[inherited]',
31
- containerSelector: '#property-list',
32
- };
33
21
  let UmbDocumentTypeWorkspaceViewEditPropertiesElement = class UmbDocumentTypeWorkspaceViewEditPropertiesElement extends UmbLitElement {
34
22
  get containerId() {
35
23
  return this._containerId;
@@ -56,37 +44,39 @@ let UmbDocumentTypeWorkspaceViewEditPropertiesElement = class UmbDocumentTypeWor
56
44
  constructor() {
57
45
  super();
58
46
  _UmbDocumentTypeWorkspaceViewEditPropertiesElement_instances.add(this);
59
- _UmbDocumentTypeWorkspaceViewEditPropertiesElement_propertySorter.set(this, new UmbSorterController(this, {
60
- ...SORTER_CONFIG,
61
- performItemInsert: (args) => {
62
- let sortOrder = 0;
63
- if (this._propertyStructure.length > 0) {
64
- if (args.newIndex === 0) {
65
- sortOrder = (this._propertyStructure[0].sortOrder ?? 0) - 1;
66
- }
67
- else {
68
- sortOrder =
69
- (this._propertyStructure[Math.min(args.newIndex, this._propertyStructure.length - 1)].sortOrder ?? 0) + 1;
70
- }
71
- }
72
- return this._propertyStructureHelper.insertProperty(args.item, sortOrder);
47
+ _UmbDocumentTypeWorkspaceViewEditPropertiesElement_model.set(this, []);
48
+ _UmbDocumentTypeWorkspaceViewEditPropertiesElement_sorter.set(this, new UmbSorterController(this, {
49
+ getUniqueOfElement: (element) => {
50
+ return element.getAttribute('data-umb-property-id');
73
51
  },
74
- performItemRemove: (args) => {
75
- return this._propertyStructureHelper.removeProperty(args.item.id);
52
+ getUniqueOfModel: (modelEntry) => {
53
+ return modelEntry.id;
76
54
  },
77
- performItemMove: (args) => {
78
- this._propertyStructureHelper.removeProperty(args.item.id);
79
- let sortOrder = 0;
80
- if (this._propertyStructure.length > 0) {
81
- if (args.newIndex === 0) {
82
- sortOrder = (this._propertyStructure[0].sortOrder ?? 0) - 1;
83
- }
84
- else {
85
- sortOrder =
86
- (this._propertyStructure[Math.min(args.newIndex, this._propertyStructure.length - 1)].sortOrder ?? 0) + 1;
87
- }
55
+ identifier: 'document-type-property-sorter',
56
+ itemSelector: 'umb-document-type-workspace-view-edit-property',
57
+ disabledItemSelector: '[inherited]',
58
+ //TODO: Set the property list (sorter wrapper) to inherited, if its inherited
59
+ // This is because we don't want to move local properties into an inherited group container.
60
+ // Or maybe we do, but we still need to check if the group exists locally, if not, then it needs to be created before we move a property into it.
61
+ // TODO: Fix bug where a local property turn into an inherited when moved to a new group container.
62
+ containerSelector: '#property-list',
63
+ onChange: ({ item, model }) => {
64
+ const isInNewContainer = model.find((entry) => entry?.container?.id !== this._containerId && this._containerId);
65
+ if (isInNewContainer) {
66
+ model.forEach((entry, index) => {
67
+ entry.id === item.id
68
+ ? this._propertyStructureHelper.partialUpdateProperty(entry.id, {
69
+ sortOrder: index,
70
+ container: { id: this._containerId },
71
+ })
72
+ : this._propertyStructureHelper.partialUpdateProperty(entry.id, { sortOrder: index });
73
+ });
74
+ }
75
+ else {
76
+ model.forEach((entry, index) => {
77
+ this._propertyStructureHelper.partialUpdateProperty(entry.id, { sortOrder: index });
78
+ });
88
79
  }
89
- return this._propertyStructureHelper.insertProperty(args.item, sortOrder);
90
80
  },
91
81
  }));
92
82
  this._propertyStructureHelper = new UmbContentTypePropertyStructureHelper(this);
@@ -95,7 +85,12 @@ let UmbDocumentTypeWorkspaceViewEditPropertiesElement = class UmbDocumentTypeWor
95
85
  this._propertyStructureHelper.setStructureManager(workspaceContext.structure);
96
86
  this.observe(workspaceContext.isSorting, (isSorting) => {
97
87
  this._sortModeActive = isSorting;
98
- __classPrivateFieldGet(this, _UmbDocumentTypeWorkspaceViewEditPropertiesElement_instances, "m", _UmbDocumentTypeWorkspaceViewEditPropertiesElement_setModel).call(this, isSorting);
88
+ if (isSorting) {
89
+ __classPrivateFieldGet(this, _UmbDocumentTypeWorkspaceViewEditPropertiesElement_sorter, "f").setModel(this._propertyStructure);
90
+ }
91
+ else {
92
+ __classPrivateFieldGet(this, _UmbDocumentTypeWorkspaceViewEditPropertiesElement_sorter, "f").setModel([]);
93
+ }
99
94
  }, '_observeIsSorting');
100
95
  const docTypesObservable = await this._propertyStructureHelper.ownerDocumentTypes();
101
96
  if (!docTypesObservable)
@@ -130,26 +125,30 @@ let UmbDocumentTypeWorkspaceViewEditPropertiesElement = class UmbDocumentTypeWor
130
125
  });
131
126
  }
132
127
  render() {
133
- return html `<div id="property-list">
134
- ${repeat(this._propertyStructure, (property) => property.id ?? '' + property.container?.id ?? '' + property.sortOrder ?? '', (property) => {
128
+ return html `
129
+ <div id="property-list" ?sort-mode-active=${this._sortModeActive}>
130
+ ${repeat(this._propertyStructure, (property) => '' + property.container?.id + property.id + '' + property.sortOrder, (property) => {
135
131
  // Note: This piece might be moved into the property component
136
132
  const inheritedFromDocument = this._ownerDocumentTypes?.find((types) => types.containers?.find((containers) => containers.id === property.container?.id));
137
- return html `<umb-document-type-workspace-view-edit-property
138
- data-umb-property-id=${property.id}
139
- owner-document-type-id=${ifDefined(inheritedFromDocument?.unique)}
140
- owner-document-type-name=${ifDefined(inheritedFromDocument?.name)}
141
- ?inherited=${property.container?.id !== this.containerId}
142
- ?sort-mode-active=${this._sortModeActive}
143
- .property=${property}
144
- @partial-property-update=${(event) => {
133
+ return html `
134
+ <umb-document-type-workspace-view-edit-property
135
+ data-umb-property-id=${property.id}
136
+ owner-document-type-id=${ifDefined(inheritedFromDocument?.unique)}
137
+ owner-document-type-name=${ifDefined(inheritedFromDocument?.name)}
138
+ ?inherited=${property.container?.id !== this.containerId}
139
+ ?sort-mode-active=${this._sortModeActive}
140
+ .property=${property}
141
+ @partial-property-update=${(event) => {
145
142
  this._propertyStructureHelper.partialUpdateProperty(property.id, event.detail);
146
143
  }}
147
- @property-delete=${() => {
144
+ @property-delete=${() => {
148
145
  this._propertyStructureHelper.removeProperty(property.id);
149
146
  }}>
150
- </umb-document-type-workspace-view-edit-property>`;
147
+ </umb-document-type-workspace-view-edit-property>
148
+ `;
151
149
  })}
152
150
  </div>
151
+
153
152
  ${!this._sortModeActive
154
153
  ? html `<uui-button
155
154
  label=${this.localize.term('contentTypeEditor_addProperty')}
@@ -158,20 +157,13 @@ let UmbDocumentTypeWorkspaceViewEditPropertiesElement = class UmbDocumentTypeWor
158
157
  href=${ifDefined(this._modalRouteNewProperty)}>
159
158
  <umb-localize key="contentTypeEditor_addProperty">Add property</umb-localize>
160
159
  </uui-button> `
161
- : ''} `;
160
+ : ''}
161
+ `;
162
162
  }
163
163
  };
164
- _UmbDocumentTypeWorkspaceViewEditPropertiesElement_propertySorter = new WeakMap();
164
+ _UmbDocumentTypeWorkspaceViewEditPropertiesElement_model = new WeakMap();
165
+ _UmbDocumentTypeWorkspaceViewEditPropertiesElement_sorter = new WeakMap();
165
166
  _UmbDocumentTypeWorkspaceViewEditPropertiesElement_instances = new WeakSet();
166
- _UmbDocumentTypeWorkspaceViewEditPropertiesElement_setModel = function _UmbDocumentTypeWorkspaceViewEditPropertiesElement_setModel(isSorting) {
167
- if (isSorting) {
168
- __classPrivateFieldGet(this, _UmbDocumentTypeWorkspaceViewEditPropertiesElement_propertySorter, "f").setModel(this._propertyStructure);
169
- }
170
- else {
171
- // TODO: Make a more proper way to disable sorting:
172
- __classPrivateFieldGet(this, _UmbDocumentTypeWorkspaceViewEditPropertiesElement_propertySorter, "f").setModel([]);
173
- }
174
- };
175
167
  _UmbDocumentTypeWorkspaceViewEditPropertiesElement_addProperty = async function _UmbDocumentTypeWorkspaceViewEditPropertiesElement_addProperty(propertyData) {
176
168
  const propertyPlaceholder = await this._propertyStructureHelper.addProperty(this._containerId);
177
169
  if (!propertyPlaceholder)
@@ -184,6 +176,11 @@ UmbDocumentTypeWorkspaceViewEditPropertiesElement.styles = [
184
176
  #add {
185
177
  width: 100%;
186
178
  }
179
+
180
+ #property-list[sort-mode-active]:not(:has(umb-document-type-workspace-view-edit-property)) {
181
+ /* Some height so that the sorter can target the area if the group is empty*/
182
+ min-height: var(--uui-size-layout-1);
183
+ }
187
184
  `,
188
185
  ];
189
186
  __decorate([
@@ -112,6 +112,7 @@ let UmbDocumentTypeWorkspacePropertyElement = class UmbDocumentTypeWorkspaceProp
112
112
  type="number"
113
113
  ?readonly=${this.inherited}
114
114
  label="sort order"
115
+ @change=${(e) => this._partialUpdate({ sortOrder: parseInt(e.target.value) || 0 })}
115
116
  .value=${this.property.sortOrder ?? 0}></uui-input>
116
117
  `;
117
118
  }
@@ -440,6 +441,10 @@ UmbDocumentTypeWorkspacePropertyElement.styles = [
440
441
  a {
441
442
  color: inherit;
442
443
  }
444
+
445
+ :host([drag-placeholder]) {
446
+ opacity: 0.2;
447
+ }
443
448
  `,
444
449
  ];
445
450
  __decorate([
@@ -1,14 +1,9 @@
1
1
  import type { UmbDocumentTypeDetailModel } from '../../../types.js';
2
- import { UmbContentTypeContainerStructureHelper } from '../../../../../core/content-type/index.js';
3
2
  import { UmbLitElement } from '../../../../../core/lit-element/index.js';
4
- import type { PropertyTypeContainerModelBaseModel } from '../../../../../../external/backend-api/index.js';
5
- import type { UmbSorterConfig } from '../../../../../core/sorter/index.js';
6
- import { UmbSorterController } from '../../../../../core/sorter/index.js';
3
+ import { UmbContentTypeContainerStructureHelper, type UmbPropertyTypeContainerModel } from '../../../../../core/content-type/index.js';
7
4
  import './document-type-workspace-view-edit-properties.element.js';
8
5
  export declare class UmbDocumentTypeWorkspaceViewEditTabElement extends UmbLitElement {
9
6
  #private;
10
- sorter?: UmbSorterController<PropertyTypeContainerModelBaseModel>;
11
- config: UmbSorterConfig<PropertyTypeContainerModelBaseModel>;
12
7
  private _ownerTabId?;
13
8
  get ownerTabId(): string | null | undefined;
14
9
  set ownerTabId(value: string | null | undefined);
@@ -19,7 +14,7 @@ export declare class UmbDocumentTypeWorkspaceViewEditTabElement extends UmbLitEl
19
14
  get noTabName(): boolean;
20
15
  set noTabName(value: boolean);
21
16
  _groupStructureHelper: UmbContentTypeContainerStructureHelper<UmbDocumentTypeDetailModel>;
22
- _groups: Array<PropertyTypeContainerModelBaseModel>;
17
+ _groups: Array<UmbPropertyTypeContainerModel>;
23
18
  _hasProperties: boolean;
24
19
  _sortModeActive?: boolean;
25
20
  constructor();