@umbraco-cms/backoffice 1.0.0-next.93a8a0e4 → 1.0.0-next.965e6eec

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.
@@ -0,0 +1,127 @@
1
+ import * as rxjs from 'rxjs';
2
+ import { Observable } from 'rxjs';
3
+ import { ProblemDetailsModel, DocumentTypeResponseModel, PropertyTypeContainerResponseModelBaseModel, PropertyTypeResponseModelBaseModel, DocumentTypePropertyTypeResponseModel } from '@umbraco-cms/backoffice/backend-api';
4
+ import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
5
+ import { MappingFunction } from '@umbraco-cms/backoffice/observable-api';
6
+
7
+ interface UmbRepositoryErrorResponse {
8
+ error?: ProblemDetailsModel;
9
+ }
10
+ interface UmbRepositoryResponse<T> extends UmbRepositoryErrorResponse {
11
+ data?: T;
12
+ }
13
+ interface UmbDetailRepository<CreateRequestType = any, CreateResponseType = any, UpdateRequestType = any, ResponseType = any> {
14
+ createScaffold(parentId: string | null): Promise<UmbRepositoryResponse<CreateRequestType>>;
15
+ requestById(id: string): Promise<UmbRepositoryResponse<ResponseType>>;
16
+ byId(id: string): Promise<Observable<ResponseType>>;
17
+ create(data: CreateRequestType): Promise<UmbRepositoryResponse<CreateResponseType>>;
18
+ save(id: string, data: UpdateRequestType): Promise<UmbRepositoryErrorResponse>;
19
+ delete(id: string): Promise<UmbRepositoryErrorResponse>;
20
+ }
21
+
22
+ type PropertyContainerTypes = 'Group' | 'Tab';
23
+ type T = DocumentTypeResponseModel;
24
+ declare class UmbContentTypePropertyStructureManager<R extends UmbDetailRepository<T> = UmbDetailRepository<T>> {
25
+ #private;
26
+ readonly documentTypes: rxjs.Observable<DocumentTypeResponseModel[]>;
27
+ private readonly _documentTypeContainers;
28
+ constructor(host: UmbControllerHostElement, typeRepository: R);
29
+ /**
30
+ * loadType will load the node type and all inherited and composed types.
31
+ * This will give us all the structure for properties and containers.
32
+ */
33
+ loadType(id?: string): Promise<{
34
+ data?: undefined;
35
+ } | {
36
+ data: any;
37
+ }>;
38
+ createScaffold(parentId: string): Promise<{
39
+ data?: undefined;
40
+ } | {
41
+ data: DocumentTypeResponseModel;
42
+ }>;
43
+ private _ensureType;
44
+ private _loadType;
45
+ _observeDocumentType(data: T): Promise<void>;
46
+ private _loadDocumentTypeCompositions;
47
+ /** Public methods for consuming structure: */
48
+ rootDocumentType(): rxjs.Observable<DocumentTypeResponseModel | undefined>;
49
+ getRootDocumentType(): DocumentTypeResponseModel | undefined;
50
+ updateRootDocumentType(entry: T): void;
51
+ createContainer(contentTypeId: string | null, parentId?: string | null, type?: PropertyContainerTypes, sortOrder?: number): Promise<PropertyTypeContainerResponseModelBaseModel>;
52
+ updateContainer(documentTypeId: string | null, groupKey: string, partialUpdate: Partial<PropertyTypeContainerResponseModelBaseModel>): Promise<void>;
53
+ removeContainer(documentTypeKey: string | null, containerId?: string | null): Promise<void>;
54
+ createProperty(documentTypeId: string | null, containerId?: string | null, sortOrder?: number): Promise<PropertyTypeResponseModelBaseModel>;
55
+ insertProperty(documentTypeId: string | null, property: PropertyTypeResponseModelBaseModel): Promise<void>;
56
+ removeProperty(documentTypeId: string | null, propertyId: string): Promise<void>;
57
+ updateProperty(documentTypeId: string | null, propertyId: string, partialUpdate: Partial<PropertyTypeResponseModelBaseModel>): Promise<void>;
58
+ rootDocumentTypeObservablePart<PartResult>(mappingFunction: MappingFunction<T, PartResult>): rxjs.Observable<PartResult | undefined>;
59
+ hasPropertyStructuresOf(containerId: string | null): rxjs.Observable<boolean>;
60
+ rootPropertyStructures(): rxjs.Observable<PropertyTypeResponseModelBaseModel[]>;
61
+ propertyStructuresOf(containerId: string | null): rxjs.Observable<PropertyTypeResponseModelBaseModel[]>;
62
+ rootContainers(containerType: PropertyContainerTypes): rxjs.Observable<PropertyTypeContainerResponseModelBaseModel[]>;
63
+ hasRootContainers(containerType: PropertyContainerTypes): rxjs.Observable<boolean>;
64
+ containersOfParentKey(parentId: PropertyTypeContainerResponseModelBaseModel['parentId'], containerType: PropertyContainerTypes): rxjs.Observable<PropertyTypeContainerResponseModelBaseModel[]>;
65
+ containersByNameAndType(name: string, containerType: PropertyContainerTypes): rxjs.Observable<PropertyTypeContainerResponseModelBaseModel[]>;
66
+ private _reset;
67
+ destroy(): void;
68
+ }
69
+
70
+ declare class UmbContentTypeContainerStructureHelper {
71
+ #private;
72
+ private _ownerType?;
73
+ private _childType?;
74
+ private _isRoot;
75
+ private _ownerName?;
76
+ private _ownerKey?;
77
+ private _ownerContainers;
78
+ readonly containers: rxjs.Observable<PropertyTypeContainerResponseModelBaseModel[]>;
79
+ readonly hasProperties: rxjs.Observable<boolean>;
80
+ constructor(host: UmbControllerHostElement);
81
+ setStructureManager(structure: UmbContentTypePropertyStructureManager): void;
82
+ setType(value?: PropertyContainerTypes): void;
83
+ getType(): PropertyContainerTypes | undefined;
84
+ setContainerChildType(value?: PropertyContainerTypes): void;
85
+ getContainerChildType(): PropertyContainerTypes | undefined;
86
+ setName(value?: string): void;
87
+ getName(): string | undefined;
88
+ setIsRoot(value: boolean): void;
89
+ getIsRoot(): boolean;
90
+ private _observeOwnerContainers;
91
+ private _observeOwnerProperties;
92
+ private _observeChildContainers;
93
+ private _observeRootContainers;
94
+ private _insertGroupContainers;
95
+ /**
96
+ * Returns true if the container is an owner container.
97
+ */
98
+ isOwnerContainer(groupId?: string): boolean | undefined;
99
+ /** Manipulate methods: */
100
+ addContainer(ownerId?: string, sortOrder?: number): Promise<void>;
101
+ partialUpdateContainer(groupId?: string, partialUpdate?: Partial<PropertyTypeContainerResponseModelBaseModel>): Promise<void>;
102
+ }
103
+
104
+ declare class UmbContentTypePropertyStructureHelper {
105
+ #private;
106
+ private _containerType?;
107
+ private _isRoot?;
108
+ private _containerName?;
109
+ readonly propertyStructure: rxjs.Observable<PropertyTypeResponseModelBaseModel[]>;
110
+ constructor(host: UmbControllerHostElement);
111
+ setStructureManager(structure: UmbContentTypePropertyStructureManager): void;
112
+ setContainerType(value?: PropertyContainerTypes): void;
113
+ getContainerType(): PropertyContainerTypes | undefined;
114
+ setContainerName(value?: string): void;
115
+ getContainerName(): string | undefined;
116
+ setIsRoot(value: boolean): void;
117
+ getIsRoot(): boolean | undefined;
118
+ private _observeGroupContainers;
119
+ private _observePropertyStructureOf;
120
+ /** Manipulate methods: */
121
+ addProperty(ownerId?: string, sortOrder?: number): Promise<PropertyTypeResponseModelBaseModel | undefined>;
122
+ insertProperty(property: PropertyTypeResponseModelBaseModel, sortOrder?: number): Promise<boolean>;
123
+ removeProperty(propertyId: string): Promise<boolean>;
124
+ partialUpdateProperty(propertyKey?: string, partialUpdate?: Partial<DocumentTypePropertyTypeResponseModel>): Promise<void>;
125
+ }
126
+
127
+ export { PropertyContainerTypes, UmbContentTypeContainerStructureHelper, UmbContentTypePropertyStructureHelper, UmbContentTypePropertyStructureManager };
package/context-api.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { UmbControllerHostElement, UmbControllerInterface } from '@umbraco-cms/backoffice/controller';
2
+ import { UmbContextToken as UmbContextToken$1 } from '@umbraco-cms/backoffice/context-api';
2
3
  import { UmbWorkspaceContextInterface } from '@umbraco-cms/backoffice/workspace';
3
- import { BaseEntity } from '@umbraco-cms/backoffice/models';
4
+ import { UmbEntityBase } from '@umbraco-cms/backoffice/models';
4
5
 
5
6
  declare class UmbContextToken<T = unknown> {
6
7
  protected alias: string;
@@ -164,13 +165,54 @@ declare class UmbContextProvideEventImplementation extends Event implements UmbC
164
165
  }
165
166
  declare const isUmbContextProvideEventType: (event: Event) => event is UmbContextProvideEventImplementation;
166
167
 
168
+ type HTMLElementConstructor<T = HTMLElement> = new (...args: any[]) => T;
169
+
170
+ declare const UmbContextProviderElement_base: HTMLElementConstructor<UmbControllerHostElement> & {
171
+ new (): HTMLElement;
172
+ prototype: HTMLElement;
173
+ };
174
+ /**
175
+ * Provides a value to the context down the DOM tree.
176
+ *
177
+ * @remarks This element is a wrapper around the `provideContext` function.
178
+ * @slot - The context will be available to all descendants given in the default slot.
179
+ * @throws {Error} If the key property is not set.
180
+ * @throws {Error} If the value property is not set.
181
+ */
182
+ declare class UmbContextProviderElement extends UmbContextProviderElement_base {
183
+ /**
184
+ * The value to provide to the context.
185
+ * @optional
186
+ */
187
+ create?: (host: UmbControllerHostElement) => unknown;
188
+ /**
189
+ * The value to provide to the context.
190
+ * @required
191
+ */
192
+ value: unknown;
193
+ /**
194
+ * The key to provide to the context.
195
+ * @required
196
+ */
197
+ key: string | UmbContextToken$1;
198
+ static get observedAttributes(): string[];
199
+ attributeChangedCallback(name: string, _oldValue: string | UmbContextToken$1, newValue: string | UmbContextToken$1): void;
200
+ constructor();
201
+ connectedCallback(): void;
202
+ }
203
+ declare global {
204
+ interface HTMLElementTagNameMap {
205
+ 'umb-context-provider': UmbContextProviderElement;
206
+ }
207
+ }
208
+
167
209
  interface UmbEntityWorkspaceContextInterface<EntityType = unknown> extends UmbWorkspaceContextInterface<EntityType> {
168
210
  getEntityId(): string | undefined;
169
211
  getEntityType(): string;
170
212
  save(): Promise<void>;
171
213
  }
172
214
 
173
- declare const UMB_ENTITY_WORKSPACE_CONTEXT: UmbContextToken<UmbEntityWorkspaceContextInterface<BaseEntity>>;
215
+ declare const UMB_ENTITY_WORKSPACE_CONTEXT: UmbContextToken<UmbEntityWorkspaceContextInterface<UmbEntityBase>>;
174
216
 
175
217
  /**
176
218
  * Change the collection of Contexts into a simplified array of data
@@ -232,4 +274,4 @@ interface DebugContextItemPropertyData {
232
274
  value?: unknown;
233
275
  }
234
276
 
235
- export { DebugContextData, DebugContextItemData, DebugContextItemPropertyData, UMB_ENTITY_WORKSPACE_CONTEXT, UmbContextCallback, UmbContextConsumer, UmbContextConsumerController, UmbContextDebugRequest, UmbContextProvideEvent, UmbContextProvideEventImplementation, UmbContextProvider, UmbContextProviderController, UmbContextRequestEvent, UmbContextRequestEventImplementation, UmbContextToken, contextData, isUmbContextProvideEventType, isUmbContextRequestEvent, umbContextProvideEventType, umbContextRequestEventType, umbDebugContextEventType };
277
+ export { DebugContextData, DebugContextItemData, DebugContextItemPropertyData, UMB_ENTITY_WORKSPACE_CONTEXT, UmbContextCallback, UmbContextConsumer, UmbContextConsumerController, UmbContextDebugRequest, UmbContextProvideEvent, UmbContextProvideEventImplementation, UmbContextProvider, UmbContextProviderController, UmbContextProviderElement, UmbContextRequestEvent, UmbContextRequestEventImplementation, UmbContextToken, contextData, isUmbContextProvideEventType, isUmbContextRequestEvent, umbContextProvideEventType, umbContextRequestEventType, umbDebugContextEventType };
package/controller.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { HTMLElementConstructor } from '@umbraco-cms/backoffice/models';
1
+ import { HTMLElementConstructor } from '@umbraco-cms/backoffice/extension-api';
2
2
 
3
3
  interface UmbControllerInterface {
4
4
  get unique(): string | undefined;