@umbraco-cms/backoffice 1.0.0-next.93a8a0e4 → 1.0.0-next.93ffdc6a
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.
- package/README.md +2 -3
- package/backend-api.d.ts +335 -42
- package/collection.d.ts +38 -0
- package/content-type.d.ts +130 -0
- package/context-api.d.ts +44 -4
- package/{controller.d.ts → controller-api.d.ts} +2 -3
- package/custom-elements.json +5302 -4414
- package/data-type.d.ts +13 -0
- package/{element.d.ts → element-api.d.ts} +5 -3
- package/entity-action.d.ts +1 -1
- package/extension-api.d.ts +657 -0
- package/{extensions-registry.d.ts → extension-registry.d.ts} +14 -140
- package/modal.d.ts +255 -89
- package/models.d.ts +8 -76
- package/observable-api.d.ts +2 -1
- package/package.json +2 -2
- package/picker-input.d.ts +4 -3
- package/repository.d.ts +57 -34
- package/resources.d.ts +2 -15
- package/router.d.ts +5 -5
- package/section.d.ts +29 -0
- package/sorter.d.ts +1 -1
- package/store.d.ts +2 -2
- package/tree.d.ts +136 -0
- package/umbraco-package-schema.json +27 -21
- package/utils.d.ts +31 -1
- package/variant.d.ts +21 -0
- package/vscode-html-custom-data.json +2312 -1994
- package/workspace.d.ts +46 -2
- package/extensions-api.d.ts +0 -67
package/data-type.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DataTypePropertyPresentationModel } from '@umbraco-cms/backoffice/backend-api';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Extends Array to add utility functions for accessing data type properties
|
|
5
|
+
* by alias, returning either the value or the complete DataTypePropertyPresentationModel object
|
|
6
|
+
*/
|
|
7
|
+
declare class UmbDataTypePropertyCollection extends Array<DataTypePropertyPresentationModel> {
|
|
8
|
+
constructor(args?: Array<DataTypePropertyPresentationModel>);
|
|
9
|
+
getValueByAlias<T>(alias: string): T | undefined;
|
|
10
|
+
getByAlias(alias: string): DataTypePropertyPresentationModel | undefined;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { UmbDataTypePropertyCollection };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
-
import { HTMLElementConstructor } from '@umbraco-cms/backoffice/
|
|
3
|
-
import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
|
|
2
|
+
import { HTMLElementConstructor } from '@umbraco-cms/backoffice/extension-api';
|
|
3
|
+
import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
|
|
4
4
|
import { UmbContextToken, UmbContextProviderController, UmbContextCallback, UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api';
|
|
5
5
|
import { UmbObserverController } from '@umbraco-cms/backoffice/observable-api';
|
|
6
6
|
|
|
@@ -8,7 +8,9 @@ interface ResolvedContexts {
|
|
|
8
8
|
[key: string]: any;
|
|
9
9
|
}
|
|
10
10
|
declare class UmbElementMixinInterface extends UmbControllerHostElement {
|
|
11
|
-
observe<T>(source: Observable<T
|
|
11
|
+
observe<T>(source: Observable<T> | {
|
|
12
|
+
asObservable: () => Observable<T>;
|
|
13
|
+
}, callback: (_value: T) => void, unique?: string): UmbObserverController<T>;
|
|
12
14
|
provideContext<R = unknown>(alias: string | UmbContextToken<R>, instance: R): UmbContextProviderController<R>;
|
|
13
15
|
consumeContext<R = unknown>(alias: string | UmbContextToken<R>, callback: UmbContextCallback<R>): UmbContextConsumerController<R>;
|
|
14
16
|
consumeAllContexts(contextAliases: string[], callback: (_instances: ResolvedContexts) => void): void;
|
package/entity-action.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
|
|
1
|
+
import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
|
|
2
2
|
import { UmbEntityActionBase as UmbEntityActionBase$1 } from '@umbraco-cms/backoffice/entity-action';
|
|
3
3
|
import { UmbDetailRepository, UmbItemRepository, UmbFolderRepository } from '@umbraco-cms/backoffice/repository';
|
|
4
4
|
|
|
@@ -0,0 +1,657 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
|
|
3
|
+
import { ManifestElement as ManifestElement$1, ManifestWithConditions as ManifestWithConditions$1, ManifestBase as ManifestBase$1, ManifestClass as ManifestClass$1, ManifestWithLoader as ManifestWithLoader$1, ClassConstructor as ClassConstructor$1, ManifestWithView as ManifestWithView$1, MetaManifestWithView as MetaManifestWithView$1, ManifestEntryPoint as ManifestEntryPoint$1 } from '@umbraco-cms/backoffice/extension-api';
|
|
4
|
+
import { UmbDataTypePropertyCollection } from '@umbraco-cms/backoffice/data-type';
|
|
5
|
+
import { UmbStoreBase, UmbTreeStore, UmbItemStore } from '@umbraco-cms/backoffice/store';
|
|
6
|
+
import { TreeItemPresentationModel } from '@umbraco-cms/backoffice/backend-api';
|
|
7
|
+
import { InterfaceLook, InterfaceColor } from '@umbraco-ui/uui-base/lib/types/index';
|
|
8
|
+
import { UmbWorkspaceAction } from '@umbraco-cms/backoffice/workspace';
|
|
9
|
+
|
|
10
|
+
type HTMLElementConstructor<T = HTMLElement> = new (...args: any[]) => T;
|
|
11
|
+
type ClassConstructor<T> = new (...args: any[]) => T;
|
|
12
|
+
type ManifestTypeMap<ManifestTypes extends ManifestBase> = {
|
|
13
|
+
[Manifest in ManifestTypes as Manifest['type']]: Manifest;
|
|
14
|
+
} & {
|
|
15
|
+
[key: string]: ManifestBase;
|
|
16
|
+
};
|
|
17
|
+
type SpecificManifestTypeOrManifestBase<ManifestTypes extends ManifestBase, T extends keyof ManifestTypeMap<ManifestTypes> | string> = T extends keyof ManifestTypeMap<ManifestTypes> ? ManifestTypeMap<ManifestTypes>[T] : ManifestBase;
|
|
18
|
+
interface ManifestBase {
|
|
19
|
+
/**
|
|
20
|
+
* The type of extension such as dashboard etc...
|
|
21
|
+
*/
|
|
22
|
+
type: string;
|
|
23
|
+
/**
|
|
24
|
+
* The alias of the extension, ensure it is unique
|
|
25
|
+
*/
|
|
26
|
+
alias: string;
|
|
27
|
+
/**
|
|
28
|
+
* The kind of the extension, used to group extensions together
|
|
29
|
+
*
|
|
30
|
+
* @examples ["button"]
|
|
31
|
+
*/
|
|
32
|
+
kind?: unknown;
|
|
33
|
+
/**
|
|
34
|
+
* The friendly name of the extension
|
|
35
|
+
*/
|
|
36
|
+
name: string;
|
|
37
|
+
/**
|
|
38
|
+
* Extensions such as dashboards are ordered by weight with lower numbers being first in the list
|
|
39
|
+
*/
|
|
40
|
+
weight?: number;
|
|
41
|
+
}
|
|
42
|
+
interface ManifestKind<ManifestTypes> {
|
|
43
|
+
type: 'kind';
|
|
44
|
+
alias: string;
|
|
45
|
+
matchType: string;
|
|
46
|
+
matchKind: string;
|
|
47
|
+
manifest: Partial<ManifestTypes>;
|
|
48
|
+
}
|
|
49
|
+
interface ManifestWithConditions<ConditionsType> {
|
|
50
|
+
/**
|
|
51
|
+
* Set the conditions for when the extension should be loaded
|
|
52
|
+
*/
|
|
53
|
+
conditions: ConditionsType;
|
|
54
|
+
}
|
|
55
|
+
interface ManifestWithLoader<LoaderReturnType> extends ManifestBase {
|
|
56
|
+
/**
|
|
57
|
+
* @TJS-ignore
|
|
58
|
+
*/
|
|
59
|
+
loader?: () => Promise<LoaderReturnType>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The type of extension such as dashboard etc...
|
|
63
|
+
*/
|
|
64
|
+
interface ManifestClass<ClassType = unknown> extends ManifestWithLoader<{
|
|
65
|
+
default: ClassConstructor<ClassType>;
|
|
66
|
+
}> {
|
|
67
|
+
readonly CLASS_TYPE?: ClassType;
|
|
68
|
+
/**
|
|
69
|
+
* The file location of the javascript file to load
|
|
70
|
+
* @TJS-required
|
|
71
|
+
*/
|
|
72
|
+
js?: string;
|
|
73
|
+
/**
|
|
74
|
+
* @TJS-ignore
|
|
75
|
+
*/
|
|
76
|
+
className?: string;
|
|
77
|
+
/**
|
|
78
|
+
* @TJS-ignore
|
|
79
|
+
*/
|
|
80
|
+
class?: ClassConstructor<ClassType>;
|
|
81
|
+
}
|
|
82
|
+
interface ManifestClassWithClassConstructor<T = unknown> extends ManifestClass<T> {
|
|
83
|
+
class: ClassConstructor<T>;
|
|
84
|
+
}
|
|
85
|
+
interface ManifestElement<ElementType extends HTMLElement = HTMLElement> extends ManifestWithLoader<{
|
|
86
|
+
default: ClassConstructor<ElementType>;
|
|
87
|
+
} | Omit<object, 'default'>> {
|
|
88
|
+
readonly ELEMENT_TYPE?: ElementType;
|
|
89
|
+
/**
|
|
90
|
+
* The file location of the javascript file to load
|
|
91
|
+
*
|
|
92
|
+
* @TJS-require
|
|
93
|
+
*/
|
|
94
|
+
js?: string;
|
|
95
|
+
/**
|
|
96
|
+
* The HTML web component name to use such as 'my-dashboard'
|
|
97
|
+
* Note it is NOT <my-dashboard></my-dashboard> but just the name
|
|
98
|
+
*/
|
|
99
|
+
elementName?: string;
|
|
100
|
+
/**
|
|
101
|
+
* This contains properties specific to the type of extension
|
|
102
|
+
*/
|
|
103
|
+
meta?: unknown;
|
|
104
|
+
}
|
|
105
|
+
interface ManifestWithView<ElementType extends HTMLElement = HTMLElement> extends ManifestElement<ElementType> {
|
|
106
|
+
meta: MetaManifestWithView;
|
|
107
|
+
}
|
|
108
|
+
interface MetaManifestWithView {
|
|
109
|
+
pathname: string;
|
|
110
|
+
label: string;
|
|
111
|
+
icon: string;
|
|
112
|
+
}
|
|
113
|
+
interface ManifestElementWithElementName extends ManifestElement {
|
|
114
|
+
/**
|
|
115
|
+
* The HTML web component name to use such as 'my-dashboard'
|
|
116
|
+
* Note it is NOT <my-dashboard></my-dashboard> but just the name
|
|
117
|
+
*/
|
|
118
|
+
elementName: string;
|
|
119
|
+
}
|
|
120
|
+
interface ManifestWithMeta extends ManifestBase {
|
|
121
|
+
/**
|
|
122
|
+
* This contains properties specific to the type of extension
|
|
123
|
+
*/
|
|
124
|
+
meta: unknown;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* This type of extension gives full control and will simply load the specified JS file
|
|
128
|
+
* You could have custom logic to decide which extensions to load/register by using extensionRegistry
|
|
129
|
+
*/
|
|
130
|
+
interface ManifestEntryPoint extends ManifestBase {
|
|
131
|
+
type: 'entryPoint';
|
|
132
|
+
/**
|
|
133
|
+
* The file location of the javascript file to load in the backoffice
|
|
134
|
+
*/
|
|
135
|
+
js: string;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
declare class UmbExtensionRegistry<IncomingManifestTypes extends ManifestBase, ManifestTypes extends ManifestBase = IncomingManifestTypes | ManifestBase> {
|
|
139
|
+
readonly MANIFEST_TYPES: ManifestTypes;
|
|
140
|
+
private _extensions;
|
|
141
|
+
readonly extensions: Observable<ManifestTypes[]>;
|
|
142
|
+
private _kinds;
|
|
143
|
+
readonly kinds: Observable<ManifestKind<ManifestTypes>[]>;
|
|
144
|
+
defineKind(kind: ManifestKind<ManifestTypes>): void;
|
|
145
|
+
register(manifest: ManifestTypes | ManifestKind<ManifestTypes>): void;
|
|
146
|
+
registerMany(manifests: Array<ManifestTypes | ManifestKind<ManifestTypes>>): void;
|
|
147
|
+
unregister(alias: string): void;
|
|
148
|
+
isRegistered(alias: string): boolean;
|
|
149
|
+
private _kindsOfType;
|
|
150
|
+
private _extensionsOfType;
|
|
151
|
+
private _kindsOfTypes;
|
|
152
|
+
private _extensionsOfTypes;
|
|
153
|
+
getByTypeAndAlias<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key, alias: string): Observable<T | undefined>;
|
|
154
|
+
extensionsOfType<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key): Observable<T[]>;
|
|
155
|
+
extensionsOfTypes<ExtensionTypes extends ManifestBase = ManifestBase>(types: string[]): Observable<Array<ExtensionTypes>>;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
declare function isManifestClassConstructorType(manifest: unknown): manifest is ManifestClassWithClassConstructor;
|
|
159
|
+
|
|
160
|
+
declare function isManifestClassableType(manifest: ManifestBase): manifest is ManifestClass;
|
|
161
|
+
|
|
162
|
+
declare function isManifestElementNameType(manifest: unknown): manifest is ManifestElementWithElementName;
|
|
163
|
+
|
|
164
|
+
declare function isManifestElementableType<ElementType extends HTMLElement = HTMLElement>(manifest: ManifestBase): manifest is ManifestElement;
|
|
165
|
+
|
|
166
|
+
type ManifestJSType<T> = ManifestWithLoader<T> & {
|
|
167
|
+
js: string;
|
|
168
|
+
};
|
|
169
|
+
declare function isManifestJSType<T>(manifest: ManifestBase | unknown): manifest is ManifestJSType<T>;
|
|
170
|
+
|
|
171
|
+
type ManifestLoaderType<T> = ManifestWithLoader<T> & {
|
|
172
|
+
loader: () => Promise<T>;
|
|
173
|
+
};
|
|
174
|
+
declare function isManifestLoaderType<T>(manifest: ManifestBase): manifest is ManifestLoaderType<T>;
|
|
175
|
+
|
|
176
|
+
declare function createExtensionElement<ElementType extends HTMLElement>(manifest: ManifestElement<ElementType>): Promise<ElementType | undefined>;
|
|
177
|
+
|
|
178
|
+
declare function hasDefaultExport<ConstructorType>(object: unknown): object is {
|
|
179
|
+
default: ConstructorType;
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
type UmbEntryPointOnInit = (host: UmbControllerHostElement, extensionRegistry: UmbExtensionRegistry<ManifestBase>) => void;
|
|
183
|
+
/**
|
|
184
|
+
* Interface containing supported life-cycle functions for ESModule entry points
|
|
185
|
+
*/
|
|
186
|
+
interface UmbEntryPointModule {
|
|
187
|
+
onInit: UmbEntryPointOnInit;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Validate if an ESModule exports a known init function called 'onInit'
|
|
192
|
+
*/
|
|
193
|
+
declare function hasInitExport(obj: unknown): obj is Pick<UmbEntryPointModule, 'onInit'>;
|
|
194
|
+
|
|
195
|
+
declare function loadExtension<T = unknown>(manifest: ManifestWithLoader<T>): Promise<T | null>;
|
|
196
|
+
|
|
197
|
+
declare function createExtensionElementOrFallback(manifest: any, fallbackElementName: string): Promise<HTMLElement | undefined>;
|
|
198
|
+
|
|
199
|
+
declare function createExtensionClass<T = unknown>(manifest: ManifestClass, constructorArguments: unknown[]): Promise<T | undefined>;
|
|
200
|
+
|
|
201
|
+
declare class UmbEntryPointExtensionInitializer {
|
|
202
|
+
#private;
|
|
203
|
+
constructor(host: UmbControllerHostElement, extensionRegistry: UmbExtensionRegistry<ManifestEntryPoint>);
|
|
204
|
+
instantiateEntryPoint(manifest: ManifestEntryPoint): Promise<void>;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
interface ManifestCollectionView extends ManifestElement$1, ManifestWithConditions$1<ConditionsCollectionView> {
|
|
208
|
+
type: 'collectionView';
|
|
209
|
+
meta: MetaCollectionView;
|
|
210
|
+
}
|
|
211
|
+
interface MetaCollectionView {
|
|
212
|
+
/**
|
|
213
|
+
* The friendly name of the collection view
|
|
214
|
+
*/
|
|
215
|
+
label: string;
|
|
216
|
+
/**
|
|
217
|
+
* An icon to represent the collection view
|
|
218
|
+
*
|
|
219
|
+
* @examples [
|
|
220
|
+
* "umb:box",
|
|
221
|
+
* "umb:grid"
|
|
222
|
+
* ]
|
|
223
|
+
*/
|
|
224
|
+
icon: string;
|
|
225
|
+
/**
|
|
226
|
+
* The URL pathname for this collection view that can be deep linked to by sharing the url
|
|
227
|
+
*/
|
|
228
|
+
pathName: string;
|
|
229
|
+
}
|
|
230
|
+
interface ConditionsCollectionView {
|
|
231
|
+
entityType: string;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
interface ManifestDashboard extends ManifestElement$1<UmbDashboardExtensionElement>, ManifestWithConditions$1<ConditionsDashboard> {
|
|
235
|
+
type: 'dashboard';
|
|
236
|
+
meta: MetaDashboard;
|
|
237
|
+
}
|
|
238
|
+
interface MetaDashboard {
|
|
239
|
+
/**
|
|
240
|
+
* This is the URL path for the dashboard which is used for navigating or deep linking directly to the dashboard
|
|
241
|
+
* https://yoursite.com/section/settings/dashboard/my-dashboard-path
|
|
242
|
+
*
|
|
243
|
+
* @example my-dashboard-path
|
|
244
|
+
* @examples [
|
|
245
|
+
* "my-dashboard-path"
|
|
246
|
+
* ]
|
|
247
|
+
*/
|
|
248
|
+
pathname: string;
|
|
249
|
+
/**
|
|
250
|
+
* The displayed name (label) for the tab of the dashboard
|
|
251
|
+
*/
|
|
252
|
+
label?: string;
|
|
253
|
+
}
|
|
254
|
+
interface ConditionsDashboard {
|
|
255
|
+
/**
|
|
256
|
+
* An array of section aliases that the dashboard should be available in
|
|
257
|
+
*
|
|
258
|
+
* @uniqueItems true
|
|
259
|
+
* @minItems 1
|
|
260
|
+
* @items.examples [
|
|
261
|
+
* "Umb.Section.Content",
|
|
262
|
+
* "Umb.Section.Settings"
|
|
263
|
+
* ]
|
|
264
|
+
*
|
|
265
|
+
*/
|
|
266
|
+
sections: string[];
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
interface ManifestDashboardCollection extends ManifestBase$1 {
|
|
270
|
+
type: 'dashboardCollection';
|
|
271
|
+
meta: MetaDashboardCollection;
|
|
272
|
+
conditions: ConditionsDashboardCollection;
|
|
273
|
+
}
|
|
274
|
+
interface MetaDashboardCollection {
|
|
275
|
+
pathname: string;
|
|
276
|
+
label?: string;
|
|
277
|
+
repositoryAlias: string;
|
|
278
|
+
}
|
|
279
|
+
interface ConditionsDashboardCollection {
|
|
280
|
+
sections: string[];
|
|
281
|
+
entityType: string;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* An action to perform on an entity
|
|
286
|
+
* For example for content you may wish to create a new document etc
|
|
287
|
+
*/
|
|
288
|
+
interface ManifestEntityAction extends ManifestElement$1 {
|
|
289
|
+
type: 'entityAction';
|
|
290
|
+
meta: MetaEntityAction;
|
|
291
|
+
conditions: ConditionsEntityAction;
|
|
292
|
+
}
|
|
293
|
+
interface MetaEntityAction {
|
|
294
|
+
/**
|
|
295
|
+
* An icon to represent the action to be performed
|
|
296
|
+
*
|
|
297
|
+
* @examples [
|
|
298
|
+
* "umb:box",
|
|
299
|
+
* "umb:grid"
|
|
300
|
+
* ]
|
|
301
|
+
*/
|
|
302
|
+
icon?: string;
|
|
303
|
+
/**
|
|
304
|
+
* The friendly name of the action to perform
|
|
305
|
+
*
|
|
306
|
+
* @examples [
|
|
307
|
+
* "Create",
|
|
308
|
+
* "Create Content Template"
|
|
309
|
+
* ]
|
|
310
|
+
*/
|
|
311
|
+
label: string;
|
|
312
|
+
/**
|
|
313
|
+
* @TJS-ignore
|
|
314
|
+
*/
|
|
315
|
+
api: any;
|
|
316
|
+
/**
|
|
317
|
+
* The alias for the repsoitory of the entity type this action is for
|
|
318
|
+
* such as 'Umb.Repository.Documents'
|
|
319
|
+
* @examples [
|
|
320
|
+
* "Umb.Repository.Documents"
|
|
321
|
+
* ]
|
|
322
|
+
*/
|
|
323
|
+
repositoryAlias: string;
|
|
324
|
+
}
|
|
325
|
+
interface ConditionsEntityAction {
|
|
326
|
+
entityTypes: Array<string>;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* An action to perform on multiple entities
|
|
331
|
+
* For example for content you may wish to move one or more documents in bulk
|
|
332
|
+
*/
|
|
333
|
+
interface ManifestEntityBulkAction extends ManifestElement$1, ManifestWithConditions$1<ConditionsEntityBulkAction> {
|
|
334
|
+
type: 'entityBulkAction';
|
|
335
|
+
meta: MetaEntityBulkAction;
|
|
336
|
+
}
|
|
337
|
+
interface MetaEntityBulkAction {
|
|
338
|
+
/**
|
|
339
|
+
* A friendly label for the action
|
|
340
|
+
*/
|
|
341
|
+
label: string;
|
|
342
|
+
/**
|
|
343
|
+
* @TJS-ignore
|
|
344
|
+
*/
|
|
345
|
+
api: any;
|
|
346
|
+
/**
|
|
347
|
+
* The alias for the repsoitory of the entity type this action is for
|
|
348
|
+
* such as 'Umb.Repository.Documents'
|
|
349
|
+
*
|
|
350
|
+
* @examples [
|
|
351
|
+
* "Umb.Repository.Documents"
|
|
352
|
+
* ]
|
|
353
|
+
*/
|
|
354
|
+
repositoryAlias: string;
|
|
355
|
+
}
|
|
356
|
+
interface ConditionsEntityBulkAction {
|
|
357
|
+
entityType: string;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
interface UmbExternalLoginProviderExtensionElement extends HTMLElement {
|
|
361
|
+
manifest?: ManifestExternalLoginProvider;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
interface ManifestExternalLoginProvider extends ManifestElement$1<UmbExternalLoginProviderExtensionElement> {
|
|
365
|
+
type: 'externalLoginProvider';
|
|
366
|
+
meta: MetaExternalLoginProvider;
|
|
367
|
+
}
|
|
368
|
+
interface MetaExternalLoginProvider {
|
|
369
|
+
label: string;
|
|
370
|
+
pathname: string;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
/**
|
|
374
|
+
* Header apps are displayed in the top right corner of the backoffice
|
|
375
|
+
* The two provided header apps are the search and the user menu
|
|
376
|
+
*/
|
|
377
|
+
interface ManifestHeaderApp extends ManifestElement$1 {
|
|
378
|
+
type: 'headerApp';
|
|
379
|
+
}
|
|
380
|
+
interface ManifestHeaderAppButtonKind extends ManifestHeaderApp {
|
|
381
|
+
type: 'headerApp';
|
|
382
|
+
kind: 'button';
|
|
383
|
+
meta: MetaHeaderAppButtonKind;
|
|
384
|
+
}
|
|
385
|
+
interface MetaHeaderAppButtonKind {
|
|
386
|
+
href: string;
|
|
387
|
+
label: string;
|
|
388
|
+
icon: string;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
interface ManifestHealthCheck extends ManifestElement$1 {
|
|
392
|
+
type: 'healthCheck';
|
|
393
|
+
meta: MetaHealthCheck;
|
|
394
|
+
}
|
|
395
|
+
interface MetaHealthCheck {
|
|
396
|
+
label: string;
|
|
397
|
+
api: any;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
interface ManifestMenu extends ManifestElement$1 {
|
|
401
|
+
type: 'menu';
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
interface UmbMenuItemExtensionElement extends HTMLElement {
|
|
405
|
+
manifest?: ManifestMenuItem;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
interface ManifestMenuItem extends ManifestElement$1<UmbMenuItemExtensionElement> {
|
|
409
|
+
type: 'menuItem';
|
|
410
|
+
meta: MetaMenuItem;
|
|
411
|
+
conditions: ConditionsMenuItem;
|
|
412
|
+
}
|
|
413
|
+
interface MetaMenuItem {
|
|
414
|
+
label: string;
|
|
415
|
+
icon: string;
|
|
416
|
+
entityType?: string;
|
|
417
|
+
}
|
|
418
|
+
interface ConditionsMenuItem {
|
|
419
|
+
menus: Array<string>;
|
|
420
|
+
}
|
|
421
|
+
interface ManifestMenuItemTreeKind extends ManifestMenuItem {
|
|
422
|
+
type: 'menuItem';
|
|
423
|
+
kind: 'tree';
|
|
424
|
+
meta: MetaMenuItemTreeKind;
|
|
425
|
+
}
|
|
426
|
+
interface MetaMenuItemTreeKind {
|
|
427
|
+
treeAlias: string;
|
|
428
|
+
label: string;
|
|
429
|
+
icon: string;
|
|
430
|
+
entityType?: string;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
interface ManifestModal extends ManifestElement$1 {
|
|
434
|
+
type: 'modal';
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
interface ManifestPackageView extends ManifestElement$1 {
|
|
438
|
+
type: 'packageView';
|
|
439
|
+
meta: MetaPackageView;
|
|
440
|
+
}
|
|
441
|
+
interface MetaPackageView {
|
|
442
|
+
packageName: string;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
interface ManifestPropertyAction extends ManifestElement$1, ManifestWithConditions$1<ConditionsPropertyAction> {
|
|
446
|
+
type: 'propertyAction';
|
|
447
|
+
}
|
|
448
|
+
interface ConditionsPropertyAction {
|
|
449
|
+
propertyEditors: string[];
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
interface ManifestPropertyEditorUI extends ManifestElement$1<UmbPropertyEditorExtensionElement> {
|
|
453
|
+
type: 'propertyEditorUI';
|
|
454
|
+
meta: MetaPropertyEditorUI;
|
|
455
|
+
}
|
|
456
|
+
interface MetaPropertyEditorUI {
|
|
457
|
+
label: string;
|
|
458
|
+
propertyEditorModel: string;
|
|
459
|
+
icon: string;
|
|
460
|
+
group: string;
|
|
461
|
+
config?: PropertyEditorConfig;
|
|
462
|
+
supportsReadOnly?: boolean;
|
|
463
|
+
}
|
|
464
|
+
interface ManifestPropertyEditorModel extends ManifestBase$1 {
|
|
465
|
+
type: 'propertyEditorModel';
|
|
466
|
+
meta: MetaPropertyEditorModel;
|
|
467
|
+
}
|
|
468
|
+
interface MetaPropertyEditorModel {
|
|
469
|
+
config?: PropertyEditorConfig;
|
|
470
|
+
}
|
|
471
|
+
interface PropertyEditorConfig {
|
|
472
|
+
properties: PropertyEditorConfigProperty[];
|
|
473
|
+
defaultData?: PropertyEditorConfigDefaultData[];
|
|
474
|
+
}
|
|
475
|
+
interface PropertyEditorConfigProperty {
|
|
476
|
+
label: string;
|
|
477
|
+
description?: string;
|
|
478
|
+
alias: string;
|
|
479
|
+
propertyEditorUI: string;
|
|
480
|
+
}
|
|
481
|
+
interface PropertyEditorConfigDefaultData {
|
|
482
|
+
alias: string;
|
|
483
|
+
value: any;
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
interface ManifestRepository extends ManifestClass$1<unknown> {
|
|
487
|
+
type: 'repository';
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
interface ManifestSection extends ManifestElement$1<UmbSectionExtensionElement> {
|
|
491
|
+
type: 'section';
|
|
492
|
+
meta: MetaSection;
|
|
493
|
+
}
|
|
494
|
+
interface MetaSection {
|
|
495
|
+
label: string;
|
|
496
|
+
pathname: string;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
interface UmbSectionSidebarAppExtensionElement extends HTMLElement {
|
|
500
|
+
manifest?: ManifestSectionSidebarApp;
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
interface ManifestSectionSidebarApp extends ManifestElement$1<UmbSectionSidebarAppExtensionElement> {
|
|
504
|
+
type: 'sectionSidebarApp';
|
|
505
|
+
conditions: ConditionsSectionSidebarApp;
|
|
506
|
+
}
|
|
507
|
+
interface ConditionsSectionSidebarApp {
|
|
508
|
+
sections: Array<string>;
|
|
509
|
+
}
|
|
510
|
+
interface ManifestSectionSidebarAppMenuKind extends ManifestSectionSidebarApp {
|
|
511
|
+
type: 'sectionSidebarApp';
|
|
512
|
+
kind: 'menu';
|
|
513
|
+
meta: MetaSectionSidebarAppMenuKind;
|
|
514
|
+
}
|
|
515
|
+
interface MetaSectionSidebarAppMenuKind {
|
|
516
|
+
label: string;
|
|
517
|
+
menu: string;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
interface UmbSectionViewExtensionElement extends HTMLElement {
|
|
521
|
+
manifest?: ManifestSectionView;
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
interface ManifestSectionView extends ManifestElement$1<UmbSectionViewExtensionElement>, ManifestWithConditions$1<ConditionsSectionView> {
|
|
525
|
+
type: 'sectionView';
|
|
526
|
+
meta: MetaSectionView;
|
|
527
|
+
}
|
|
528
|
+
interface MetaSectionView {
|
|
529
|
+
label: string;
|
|
530
|
+
pathname: string;
|
|
531
|
+
icon: string;
|
|
532
|
+
}
|
|
533
|
+
interface ConditionsSectionView {
|
|
534
|
+
sections: Array<string>;
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
interface ManifestStore extends ManifestClass$1<UmbStoreBase> {
|
|
538
|
+
type: 'store';
|
|
539
|
+
}
|
|
540
|
+
interface ManifestTreeStore extends ManifestClass$1<UmbTreeStore> {
|
|
541
|
+
type: 'treeStore';
|
|
542
|
+
}
|
|
543
|
+
interface ManifestItemStore extends ManifestClass$1<UmbItemStore> {
|
|
544
|
+
type: 'itemStore';
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
/**
|
|
548
|
+
* Theme manifest for styling the backoffice of Umbraco such as dark, high contrast etc
|
|
549
|
+
*/
|
|
550
|
+
interface ManifestTheme extends ManifestWithLoader$1<string> {
|
|
551
|
+
type: 'theme';
|
|
552
|
+
/**
|
|
553
|
+
* File location of the CSS file of the theme
|
|
554
|
+
*
|
|
555
|
+
* @examples ["themes/dark.theme.css"]
|
|
556
|
+
*/
|
|
557
|
+
css?: string;
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
interface ManifestTree extends ManifestBase$1 {
|
|
561
|
+
type: 'tree';
|
|
562
|
+
meta: MetaTree;
|
|
563
|
+
}
|
|
564
|
+
interface MetaTree {
|
|
565
|
+
repositoryAlias: string;
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
interface ManifestTreeItem extends ManifestElement$1<UmbTreeItemExtensionElement> {
|
|
569
|
+
type: 'treeItem';
|
|
570
|
+
conditions: ConditionsTreeItem;
|
|
571
|
+
}
|
|
572
|
+
interface ConditionsTreeItem {
|
|
573
|
+
entityTypes: Array<string>;
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
interface ManifestUserProfileApp extends ManifestElement$1 {
|
|
577
|
+
type: 'userProfileApp';
|
|
578
|
+
meta: MetaUserProfileApp;
|
|
579
|
+
}
|
|
580
|
+
interface MetaUserProfileApp {
|
|
581
|
+
label: string;
|
|
582
|
+
pathname: string;
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
interface ManifestWorkspace extends ManifestElement$1 {
|
|
586
|
+
type: 'workspace';
|
|
587
|
+
meta: MetaEditor;
|
|
588
|
+
}
|
|
589
|
+
interface MetaEditor {
|
|
590
|
+
entityType: string;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
interface ManifestWorkspaceAction extends ManifestElement$1 {
|
|
594
|
+
type: 'workspaceAction';
|
|
595
|
+
meta: MetaWorkspaceAction;
|
|
596
|
+
conditions: ConditionsWorkspaceAction;
|
|
597
|
+
}
|
|
598
|
+
interface MetaWorkspaceAction {
|
|
599
|
+
label?: string;
|
|
600
|
+
look?: InterfaceLook;
|
|
601
|
+
color?: InterfaceColor;
|
|
602
|
+
api: ClassConstructor$1<UmbWorkspaceAction>;
|
|
603
|
+
}
|
|
604
|
+
interface ConditionsWorkspaceAction {
|
|
605
|
+
workspaces: Array<string>;
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
interface UmbWorkspaceEditorViewExtensionElement extends HTMLElement {
|
|
609
|
+
manifest?: ManifestWorkspaceEditorView;
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
interface ManifestWorkspaceEditorView extends ManifestWithView$1<UmbWorkspaceEditorViewExtensionElement> {
|
|
613
|
+
type: 'workspaceEditorView';
|
|
614
|
+
conditions: ConditionsWorkspaceView;
|
|
615
|
+
}
|
|
616
|
+
interface ConditionsWorkspaceView {
|
|
617
|
+
workspaces: string[];
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
interface ManifestWorkspaceViewCollection extends ManifestWithView$1, ManifestWithConditions$1<ConditionsEditorViewCollection> {
|
|
621
|
+
type: 'workspaceViewCollection';
|
|
622
|
+
meta: MetaEditorViewCollection;
|
|
623
|
+
}
|
|
624
|
+
interface MetaEditorViewCollection extends MetaManifestWithView$1 {
|
|
625
|
+
entityType: string;
|
|
626
|
+
repositoryAlias: string;
|
|
627
|
+
}
|
|
628
|
+
interface ConditionsEditorViewCollection {
|
|
629
|
+
workspaces: string[];
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
type ManifestTypes = ManifestCollectionView | ManifestDashboard | ManifestDashboardCollection | ManifestEntityAction | ManifestEntityBulkAction | ManifestEntryPoint$1 | ManifestExternalLoginProvider | ManifestHeaderApp | ManifestHeaderAppButtonKind | ManifestHealthCheck | ManifestItemStore | ManifestMenu | ManifestMenuItem | ManifestMenuItemTreeKind | ManifestModal | ManifestPackageView | ManifestPropertyAction | ManifestPropertyEditorModel | ManifestPropertyEditorUI | ManifestRepository | ManifestSection | ManifestSectionSidebarApp | ManifestSectionSidebarAppMenuKind | ManifestSectionView | ManifestStore | ManifestTheme | ManifestTree | ManifestTreeItem | ManifestTreeStore | ManifestUserProfileApp | ManifestWorkspace | ManifestWorkspaceAction | ManifestWorkspaceEditorView | ManifestWorkspaceViewCollection | ManifestBase$1;
|
|
633
|
+
|
|
634
|
+
interface UmbDashboardExtensionElement extends HTMLElement {
|
|
635
|
+
manifest?: ManifestDashboard;
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
interface UmbPropertyEditorExtensionElement extends HTMLElement {
|
|
639
|
+
value: unknown;
|
|
640
|
+
config?: UmbDataTypePropertyCollection;
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
interface UmbSectionExtensionElement extends HTMLElement {
|
|
644
|
+
manifest?: ManifestSection;
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
interface UmbTreeItemExtensionElement extends HTMLElement {
|
|
648
|
+
item?: TreeItemPresentationModel;
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
declare class UmbExtensionClassInitializer<ExtensionType extends string = string, ExtensionManifest extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, ExtensionType>, ExtensionClassInterface = ExtensionManifest extends ManifestClass ? ExtensionManifest['CLASS_TYPE'] : unknown> {
|
|
652
|
+
#private;
|
|
653
|
+
constructor(host: UmbControllerHostElement, extensionType: ExtensionType, extensionAlias: string, callback: (extensionClass: ExtensionClassInterface | undefined) => void);
|
|
654
|
+
asPromise(): Promise<ExtensionClassInterface | undefined>;
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
export { ClassConstructor, HTMLElementConstructor, ManifestBase, ManifestClass, ManifestClassWithClassConstructor, ManifestElement, ManifestElementWithElementName, ManifestEntryPoint, ManifestJSType, ManifestKind, ManifestLoaderType, ManifestTypeMap, ManifestWithConditions, ManifestWithLoader, ManifestWithMeta, ManifestWithView, MetaManifestWithView, SpecificManifestTypeOrManifestBase, UmbEntryPointExtensionInitializer, UmbEntryPointModule, UmbEntryPointOnInit, UmbExtensionClassInitializer, UmbExtensionRegistry, createExtensionClass, createExtensionElement, createExtensionElementOrFallback, hasDefaultExport, hasInitExport, isManifestClassConstructorType, isManifestClassableType, isManifestElementNameType, isManifestElementableType, isManifestJSType, isManifestLoaderType, loadExtension };
|