@umbraco-cms/backoffice 1.0.0-next.d2c0dcf1 → 1.0.0-next.d3d67db5
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 +509 -90
- package/collection.d.ts +38 -0
- package/content-type.d.ts +127 -0
- package/context-api.d.ts +44 -4
- package/{controller.d.ts → controller-api.d.ts} +2 -3
- package/custom-elements.json +5333 -4570
- package/{element.d.ts → element-api.d.ts} +2 -2
- package/entity-action.d.ts +2 -2
- package/extension-api.d.ts +200 -0
- package/{extensions-registry.d.ts → extension-registry.d.ts} +107 -193
- package/id.d.ts +6 -0
- package/modal.d.ts +70 -66
- package/models.d.ts +9 -72
- package/observable-api.d.ts +1 -1
- package/package.json +2 -2
- package/picker-input.d.ts +4 -3
- package/repository.d.ts +53 -38
- package/resources.d.ts +5 -11
- package/router.d.ts +2 -14
- 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 +37087 -1771
- package/utils.d.ts +27 -9
- package/variant.d.ts +21 -0
- package/vscode-html-custom-data.json +2232 -2009
- package/workspace.d.ts +62 -17
- package/extensions-api.d.ts +0 -67
- package/property-editor.d.ts +0 -8
|
@@ -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
|
|
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
|
|
|
@@ -45,7 +45,7 @@ declare class UmbDeleteEntityAction<T extends UmbDetailRepository & UmbItemRepos
|
|
|
45
45
|
execute(): Promise<void>;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
declare class UmbDeleteFolderEntityAction<T extends
|
|
48
|
+
declare class UmbDeleteFolderEntityAction<T extends UmbFolderRepository> extends UmbEntityActionBase$1<T> {
|
|
49
49
|
#private;
|
|
50
50
|
constructor(host: UmbControllerHostElement, repositoryAlias: string, unique: string);
|
|
51
51
|
execute(): Promise<void>;
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
|
|
3
|
+
|
|
4
|
+
type HTMLElementConstructor<T = HTMLElement> = new (...args: any[]) => T;
|
|
5
|
+
type ClassConstructor<T> = new (...args: any[]) => T;
|
|
6
|
+
type ManifestTypeMap<ManifestTypes extends ManifestBase> = {
|
|
7
|
+
[Manifest in ManifestTypes as Manifest['type']]: Manifest;
|
|
8
|
+
} & {
|
|
9
|
+
[key: string]: ManifestBase;
|
|
10
|
+
};
|
|
11
|
+
type SpecificManifestTypeOrManifestBase<ManifestTypes extends ManifestBase, T extends keyof ManifestTypeMap<ManifestTypes> | string> = T extends keyof ManifestTypeMap<ManifestTypes> ? ManifestTypeMap<ManifestTypes>[T] : ManifestBase;
|
|
12
|
+
interface ManifestBase {
|
|
13
|
+
/**
|
|
14
|
+
* The type of extension such as dashboard etc...
|
|
15
|
+
*/
|
|
16
|
+
type: string;
|
|
17
|
+
/**
|
|
18
|
+
* The alias of the extension, ensure it is unique
|
|
19
|
+
*/
|
|
20
|
+
alias: string;
|
|
21
|
+
/**
|
|
22
|
+
* The kind of the extension, used to group extensions together
|
|
23
|
+
*
|
|
24
|
+
* @examples ["button"]
|
|
25
|
+
*/
|
|
26
|
+
kind?: unknown;
|
|
27
|
+
/**
|
|
28
|
+
* The friendly name of the extension
|
|
29
|
+
*/
|
|
30
|
+
name: string;
|
|
31
|
+
/**
|
|
32
|
+
* Extensions such as dashboards are ordered by weight with lower numbers being first in the list
|
|
33
|
+
*/
|
|
34
|
+
weight?: number;
|
|
35
|
+
}
|
|
36
|
+
interface ManifestKind<ManifestTypes> {
|
|
37
|
+
type: 'kind';
|
|
38
|
+
alias: string;
|
|
39
|
+
matchType: string;
|
|
40
|
+
matchKind: string;
|
|
41
|
+
manifest: Partial<ManifestTypes>;
|
|
42
|
+
}
|
|
43
|
+
interface ManifestWithConditions<ConditionsType> {
|
|
44
|
+
/**
|
|
45
|
+
* Set the conditions for when the extension should be loaded
|
|
46
|
+
*/
|
|
47
|
+
conditions: ConditionsType;
|
|
48
|
+
}
|
|
49
|
+
interface ManifestWithLoader<LoaderReturnType> extends ManifestBase {
|
|
50
|
+
/**
|
|
51
|
+
* @TJS-ignore
|
|
52
|
+
*/
|
|
53
|
+
loader?: () => Promise<LoaderReturnType>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The type of extension such as dashboard etc...
|
|
57
|
+
*/
|
|
58
|
+
interface ManifestClass<ClassType = unknown> extends ManifestWithLoader<{
|
|
59
|
+
default: ClassConstructor<ClassType>;
|
|
60
|
+
}> {
|
|
61
|
+
readonly CLASS_TYPE?: ClassType;
|
|
62
|
+
/**
|
|
63
|
+
* The file location of the javascript file to load
|
|
64
|
+
* @TJS-required
|
|
65
|
+
*/
|
|
66
|
+
js?: string;
|
|
67
|
+
/**
|
|
68
|
+
* @TJS-ignore
|
|
69
|
+
*/
|
|
70
|
+
className?: string;
|
|
71
|
+
/**
|
|
72
|
+
* @TJS-ignore
|
|
73
|
+
*/
|
|
74
|
+
class?: ClassConstructor<ClassType>;
|
|
75
|
+
}
|
|
76
|
+
interface ManifestClassWithClassConstructor<T = unknown> extends ManifestClass<T> {
|
|
77
|
+
class: ClassConstructor<T>;
|
|
78
|
+
}
|
|
79
|
+
interface ManifestElement<ElementType extends HTMLElement = HTMLElement> extends ManifestWithLoader<{
|
|
80
|
+
default: ClassConstructor<ElementType>;
|
|
81
|
+
} | Omit<object, 'default'>> {
|
|
82
|
+
readonly ELEMENT_TYPE?: ElementType;
|
|
83
|
+
/**
|
|
84
|
+
* The file location of the javascript file to load
|
|
85
|
+
*
|
|
86
|
+
* @TJS-require
|
|
87
|
+
*/
|
|
88
|
+
js?: string;
|
|
89
|
+
/**
|
|
90
|
+
* The HTML web component name to use such as 'my-dashboard'
|
|
91
|
+
* Note it is NOT <my-dashboard></my-dashboard> but just the name
|
|
92
|
+
*/
|
|
93
|
+
elementName?: string;
|
|
94
|
+
/**
|
|
95
|
+
* This contains properties specific to the type of extension
|
|
96
|
+
*/
|
|
97
|
+
meta?: unknown;
|
|
98
|
+
}
|
|
99
|
+
interface ManifestWithView<ElementType extends HTMLElement = HTMLElement> extends ManifestElement<ElementType> {
|
|
100
|
+
meta: MetaManifestWithView;
|
|
101
|
+
}
|
|
102
|
+
interface MetaManifestWithView {
|
|
103
|
+
pathname: string;
|
|
104
|
+
label: string;
|
|
105
|
+
icon: string;
|
|
106
|
+
}
|
|
107
|
+
interface ManifestElementWithElementName extends ManifestElement {
|
|
108
|
+
/**
|
|
109
|
+
* The HTML web component name to use such as 'my-dashboard'
|
|
110
|
+
* Note it is NOT <my-dashboard></my-dashboard> but just the name
|
|
111
|
+
*/
|
|
112
|
+
elementName: string;
|
|
113
|
+
}
|
|
114
|
+
interface ManifestWithMeta extends ManifestBase {
|
|
115
|
+
/**
|
|
116
|
+
* This contains properties specific to the type of extension
|
|
117
|
+
*/
|
|
118
|
+
meta: unknown;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* This type of extension gives full control and will simply load the specified JS file
|
|
122
|
+
* You could have custom logic to decide which extensions to load/register by using extensionRegistry
|
|
123
|
+
*/
|
|
124
|
+
interface ManifestEntryPoint extends ManifestBase {
|
|
125
|
+
type: 'entryPoint';
|
|
126
|
+
/**
|
|
127
|
+
* The file location of the javascript file to load in the backoffice
|
|
128
|
+
*/
|
|
129
|
+
js: string;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
declare class UmbExtensionRegistry<IncomingManifestTypes extends ManifestBase, ManifestTypes extends ManifestBase = IncomingManifestTypes | ManifestBase> {
|
|
133
|
+
private _extensions;
|
|
134
|
+
readonly extensions: Observable<ManifestTypes[]>;
|
|
135
|
+
private _kinds;
|
|
136
|
+
readonly kinds: Observable<ManifestKind<ManifestTypes>[]>;
|
|
137
|
+
defineKind(kind: ManifestKind<ManifestTypes>): void;
|
|
138
|
+
register(manifest: ManifestTypes | ManifestKind<ManifestTypes>): void;
|
|
139
|
+
registerMany(manifests: Array<ManifestTypes | ManifestKind<ManifestTypes>>): void;
|
|
140
|
+
unregister(alias: string): void;
|
|
141
|
+
isRegistered(alias: string): boolean;
|
|
142
|
+
private _kindsOfType;
|
|
143
|
+
private _extensionsOfType;
|
|
144
|
+
private _kindsOfTypes;
|
|
145
|
+
private _extensionsOfTypes;
|
|
146
|
+
getByTypeAndAlias<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key, alias: string): Observable<T | undefined>;
|
|
147
|
+
extensionsOfType<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key): Observable<T[]>;
|
|
148
|
+
extensionsOfTypes<ExtensionTypes extends ManifestBase = ManifestBase>(types: string[]): Observable<Array<ExtensionTypes>>;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
declare function isManifestClassConstructorType(manifest: unknown): manifest is ManifestClassWithClassConstructor;
|
|
152
|
+
|
|
153
|
+
declare function isManifestClassableType(manifest: ManifestBase): manifest is ManifestClass;
|
|
154
|
+
|
|
155
|
+
declare function isManifestElementNameType(manifest: unknown): manifest is ManifestElementWithElementName;
|
|
156
|
+
|
|
157
|
+
declare function isManifestElementableType<ElementType extends HTMLElement = HTMLElement>(manifest: ManifestBase): manifest is ManifestElement;
|
|
158
|
+
|
|
159
|
+
type ManifestJSType<T> = ManifestWithLoader<T> & {
|
|
160
|
+
js: string;
|
|
161
|
+
};
|
|
162
|
+
declare function isManifestJSType<T>(manifest: ManifestBase | unknown): manifest is ManifestJSType<T>;
|
|
163
|
+
|
|
164
|
+
type ManifestLoaderType<T> = ManifestWithLoader<T> & {
|
|
165
|
+
loader: () => Promise<T>;
|
|
166
|
+
};
|
|
167
|
+
declare function isManifestLoaderType<T>(manifest: ManifestBase): manifest is ManifestLoaderType<T>;
|
|
168
|
+
|
|
169
|
+
declare function createExtensionElement<ElementType extends HTMLElement>(manifest: ManifestElement<ElementType>): Promise<ElementType | undefined>;
|
|
170
|
+
|
|
171
|
+
declare function hasDefaultExport<ConstructorType>(object: unknown): object is {
|
|
172
|
+
default: ConstructorType;
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
type UmbEntryPointOnInit = (host: UmbControllerHostElement, extensionRegistry: UmbExtensionRegistry<ManifestBase>) => void;
|
|
176
|
+
/**
|
|
177
|
+
* Interface containing supported life-cycle functions for ESModule entry points
|
|
178
|
+
*/
|
|
179
|
+
interface UmbEntryPointModule {
|
|
180
|
+
onInit: UmbEntryPointOnInit;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Validate if an ESModule exports a known init function called 'onInit'
|
|
185
|
+
*/
|
|
186
|
+
declare function hasInitExport(obj: unknown): obj is Pick<UmbEntryPointModule, 'onInit'>;
|
|
187
|
+
|
|
188
|
+
declare function loadExtension<T = unknown>(manifest: ManifestWithLoader<T>): Promise<T | null>;
|
|
189
|
+
|
|
190
|
+
declare function createExtensionElementOrFallback(manifest: any, fallbackElementName: string): Promise<HTMLElement | undefined>;
|
|
191
|
+
|
|
192
|
+
declare function createExtensionClass<T = unknown>(manifest: ManifestClass, constructorArguments: unknown[]): Promise<T | undefined>;
|
|
193
|
+
|
|
194
|
+
declare class UmbEntryPointExtensionInitializer {
|
|
195
|
+
#private;
|
|
196
|
+
constructor(host: UmbControllerHostElement, extensionRegistry: UmbExtensionRegistry<ManifestEntryPoint>);
|
|
197
|
+
instantiateEntryPoint(manifest: ManifestEntryPoint): Promise<void>;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
export { ClassConstructor, HTMLElementConstructor, ManifestBase, ManifestClass, ManifestClassWithClassConstructor, ManifestElement, ManifestElementWithElementName, ManifestEntryPoint, ManifestJSType, ManifestKind, ManifestLoaderType, ManifestTypeMap, ManifestWithConditions, ManifestWithLoader, ManifestWithMeta, ManifestWithView, MetaManifestWithView, SpecificManifestTypeOrManifestBase, UmbEntryPointExtensionInitializer, UmbEntryPointModule, UmbEntryPointOnInit, UmbExtensionRegistry, createExtensionClass, createExtensionElement, createExtensionElementOrFallback, hasDefaultExport, hasInitExport, isManifestClassConstructorType, isManifestClassableType, isManifestElementNameType, isManifestElementableType, isManifestJSType, isManifestLoaderType, loadExtension };
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ManifestElement, ManifestWithConditions, ManifestBase, ManifestClass, ManifestWithLoader, ClassConstructor, ManifestWithView, MetaManifestWithView, ManifestEntryPoint, ManifestKind, UmbExtensionRegistry } from '@umbraco-cms/backoffice/extension-api';
|
|
2
|
+
import { UmbModalHandler } from '@umbraco-cms/backoffice/modal';
|
|
3
|
+
import { DataTypePropertyPresentationModel, TreeItemPresentationModel } from '@umbraco-cms/backoffice/backend-api';
|
|
3
4
|
import { UmbStoreBase, UmbTreeStore, UmbItemStore } from '@umbraco-cms/backoffice/store';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
5
|
+
import { InterfaceLook, InterfaceColor } from '@umbraco-ui/uui-base/lib/types/index';
|
|
6
|
+
import { UmbWorkspaceAction } from '@umbraco-cms/backoffice/workspace';
|
|
6
7
|
|
|
7
8
|
interface ManifestCollectionView extends ManifestElement, ManifestWithConditions<ConditionsCollectionView> {
|
|
8
9
|
type: 'collectionView';
|
|
@@ -31,7 +32,7 @@ interface ConditionsCollectionView {
|
|
|
31
32
|
entityType: string;
|
|
32
33
|
}
|
|
33
34
|
|
|
34
|
-
interface ManifestDashboard extends ManifestElement
|
|
35
|
+
interface ManifestDashboard extends ManifestElement<UmbDashboardExtensionElement>, ManifestWithConditions<ConditionsDashboard> {
|
|
35
36
|
type: 'dashboard';
|
|
36
37
|
meta: MetaDashboard;
|
|
37
38
|
}
|
|
@@ -123,7 +124,7 @@ interface MetaEntityAction {
|
|
|
123
124
|
repositoryAlias: string;
|
|
124
125
|
}
|
|
125
126
|
interface ConditionsEntityAction {
|
|
126
|
-
|
|
127
|
+
entityTypes: Array<string>;
|
|
127
128
|
}
|
|
128
129
|
|
|
129
130
|
/**
|
|
@@ -157,7 +158,11 @@ interface ConditionsEntityBulkAction {
|
|
|
157
158
|
entityType: string;
|
|
158
159
|
}
|
|
159
160
|
|
|
160
|
-
interface
|
|
161
|
+
interface UmbExternalLoginProviderExtensionElement extends HTMLElement {
|
|
162
|
+
manifest?: ManifestExternalLoginProvider;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
interface ManifestExternalLoginProvider extends ManifestElement<UmbExternalLoginProviderExtensionElement> {
|
|
161
166
|
type: 'externalLoginProvider';
|
|
162
167
|
meta: MetaExternalLoginProvider;
|
|
163
168
|
}
|
|
@@ -203,6 +208,43 @@ interface HealthCheck {
|
|
|
203
208
|
description: string;
|
|
204
209
|
}
|
|
205
210
|
|
|
211
|
+
interface ManifestMenu extends ManifestElement {
|
|
212
|
+
type: 'menu';
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
interface UmbMenuItemExtensionElement extends HTMLElement {
|
|
216
|
+
manifest?: ManifestMenuItem;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
interface ManifestMenuItem extends ManifestElement<UmbMenuItemExtensionElement> {
|
|
220
|
+
type: 'menuItem';
|
|
221
|
+
meta: MetaMenuItem;
|
|
222
|
+
conditions: ConditionsMenuItem;
|
|
223
|
+
}
|
|
224
|
+
interface MetaMenuItem {
|
|
225
|
+
label: string;
|
|
226
|
+
icon: string;
|
|
227
|
+
entityType?: string;
|
|
228
|
+
}
|
|
229
|
+
interface ConditionsMenuItem {
|
|
230
|
+
menus: Array<string>;
|
|
231
|
+
}
|
|
232
|
+
interface ManifestMenuItemTreeKind extends ManifestMenuItem {
|
|
233
|
+
type: 'menuItem';
|
|
234
|
+
kind: 'tree';
|
|
235
|
+
meta: MetaMenuItemTreeKind;
|
|
236
|
+
}
|
|
237
|
+
interface MetaMenuItemTreeKind {
|
|
238
|
+
treeAlias: string;
|
|
239
|
+
label: string;
|
|
240
|
+
icon: string;
|
|
241
|
+
entityType?: string;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
interface ManifestModal extends ManifestElement {
|
|
245
|
+
type: 'modal';
|
|
246
|
+
}
|
|
247
|
+
|
|
206
248
|
interface ManifestPackageView extends ManifestElement {
|
|
207
249
|
type: 'packageView';
|
|
208
250
|
meta: MetaPackageView;
|
|
@@ -218,7 +260,7 @@ interface ConditionsPropertyAction {
|
|
|
218
260
|
propertyEditors: string[];
|
|
219
261
|
}
|
|
220
262
|
|
|
221
|
-
interface ManifestPropertyEditorUI extends ManifestElement {
|
|
263
|
+
interface ManifestPropertyEditorUI extends ManifestElement<UmbPropertyEditorExtensionElement> {
|
|
222
264
|
type: 'propertyEditorUI';
|
|
223
265
|
meta: MetaPropertyEditorUI;
|
|
224
266
|
}
|
|
@@ -252,7 +294,11 @@ interface PropertyEditorConfigDefaultData {
|
|
|
252
294
|
value: any;
|
|
253
295
|
}
|
|
254
296
|
|
|
255
|
-
interface
|
|
297
|
+
interface ManifestRepository extends ManifestClass<unknown> {
|
|
298
|
+
type: 'repository';
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
interface ManifestSection extends ManifestElement<UmbSectionExtensionElement> {
|
|
256
302
|
type: 'section';
|
|
257
303
|
meta: MetaSection;
|
|
258
304
|
}
|
|
@@ -261,20 +307,11 @@ interface MetaSection {
|
|
|
261
307
|
pathname: string;
|
|
262
308
|
}
|
|
263
309
|
|
|
264
|
-
interface
|
|
265
|
-
|
|
266
|
-
meta: MetaSectionView;
|
|
267
|
-
}
|
|
268
|
-
interface MetaSectionView {
|
|
269
|
-
label: string;
|
|
270
|
-
pathname: string;
|
|
271
|
-
icon: string;
|
|
272
|
-
}
|
|
273
|
-
interface ConditionsSectionView {
|
|
274
|
-
sections: Array<string>;
|
|
310
|
+
interface UmbSectionSidebarAppExtensionElement extends HTMLElement {
|
|
311
|
+
manifest?: ManifestSectionSidebarApp;
|
|
275
312
|
}
|
|
276
313
|
|
|
277
|
-
interface ManifestSectionSidebarApp extends ManifestElement {
|
|
314
|
+
interface ManifestSectionSidebarApp extends ManifestElement<UmbSectionSidebarAppExtensionElement> {
|
|
278
315
|
type: 'sectionSidebarApp';
|
|
279
316
|
conditions: ConditionsSectionSidebarApp;
|
|
280
317
|
}
|
|
@@ -291,33 +328,31 @@ interface MetaSectionSidebarAppMenuKind {
|
|
|
291
328
|
menu: string;
|
|
292
329
|
}
|
|
293
330
|
|
|
294
|
-
interface
|
|
295
|
-
|
|
331
|
+
interface UmbSectionViewExtensionElement extends HTMLElement {
|
|
332
|
+
manifest?: ManifestSectionView;
|
|
296
333
|
}
|
|
297
334
|
|
|
298
|
-
interface
|
|
299
|
-
type: '
|
|
300
|
-
meta:
|
|
301
|
-
conditions: ConditionsMenuItem;
|
|
335
|
+
interface ManifestSectionView extends ManifestElement<UmbSectionViewExtensionElement>, ManifestWithConditions<ConditionsSectionView> {
|
|
336
|
+
type: 'sectionView';
|
|
337
|
+
meta: MetaSectionView;
|
|
302
338
|
}
|
|
303
|
-
interface
|
|
339
|
+
interface MetaSectionView {
|
|
304
340
|
label: string;
|
|
341
|
+
pathname: string;
|
|
305
342
|
icon: string;
|
|
306
|
-
entityType?: string;
|
|
307
343
|
}
|
|
308
|
-
interface
|
|
309
|
-
|
|
344
|
+
interface ConditionsSectionView {
|
|
345
|
+
sections: Array<string>;
|
|
310
346
|
}
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
meta: MetaMenuItemTreeKind;
|
|
347
|
+
|
|
348
|
+
interface ManifestStore extends ManifestClass<UmbStoreBase> {
|
|
349
|
+
type: 'store';
|
|
315
350
|
}
|
|
316
|
-
interface
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
351
|
+
interface ManifestTreeStore extends ManifestClass<UmbTreeStore> {
|
|
352
|
+
type: 'treeStore';
|
|
353
|
+
}
|
|
354
|
+
interface ManifestItemStore extends ManifestClass<UmbItemStore> {
|
|
355
|
+
type: 'itemStore';
|
|
321
356
|
}
|
|
322
357
|
|
|
323
358
|
/**
|
|
@@ -341,12 +376,12 @@ interface MetaTree {
|
|
|
341
376
|
repositoryAlias: string;
|
|
342
377
|
}
|
|
343
378
|
|
|
344
|
-
interface ManifestTreeItem extends ManifestElement {
|
|
379
|
+
interface ManifestTreeItem extends ManifestElement<UmbTreeItemExtensionElement> {
|
|
345
380
|
type: 'treeItem';
|
|
346
381
|
conditions: ConditionsTreeItem;
|
|
347
382
|
}
|
|
348
383
|
interface ConditionsTreeItem {
|
|
349
|
-
|
|
384
|
+
entityTypes: Array<string>;
|
|
350
385
|
}
|
|
351
386
|
|
|
352
387
|
interface ManifestUserProfileApp extends ManifestElement {
|
|
@@ -375,184 +410,63 @@ interface MetaWorkspaceAction {
|
|
|
375
410
|
label?: string;
|
|
376
411
|
look?: InterfaceLook;
|
|
377
412
|
color?: InterfaceColor;
|
|
378
|
-
api: ClassConstructor<
|
|
413
|
+
api: ClassConstructor<UmbWorkspaceAction>;
|
|
379
414
|
}
|
|
380
415
|
interface ConditionsWorkspaceAction {
|
|
381
416
|
workspaces: Array<string>;
|
|
382
417
|
}
|
|
383
418
|
|
|
384
|
-
interface
|
|
385
|
-
|
|
386
|
-
meta: MetaWorkspaceView;
|
|
387
|
-
conditions: ConditionsWorkspaceView;
|
|
419
|
+
interface UmbWorkspaceEditorViewExtensionElement extends HTMLElement {
|
|
420
|
+
manifest?: ManifestWorkspaceEditorView;
|
|
388
421
|
}
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
422
|
+
|
|
423
|
+
interface ManifestWorkspaceEditorView extends ManifestWithView<UmbWorkspaceEditorViewExtensionElement> {
|
|
424
|
+
type: 'workspaceEditorView';
|
|
425
|
+
conditions: ConditionsWorkspaceView;
|
|
393
426
|
}
|
|
394
427
|
interface ConditionsWorkspaceView {
|
|
395
428
|
workspaces: string[];
|
|
396
429
|
}
|
|
397
430
|
|
|
398
|
-
interface ManifestWorkspaceViewCollection extends
|
|
431
|
+
interface ManifestWorkspaceViewCollection extends ManifestWithView, ManifestWithConditions<ConditionsEditorViewCollection> {
|
|
399
432
|
type: 'workspaceViewCollection';
|
|
400
433
|
meta: MetaEditorViewCollection;
|
|
401
434
|
}
|
|
402
|
-
interface MetaEditorViewCollection {
|
|
403
|
-
pathname: string;
|
|
404
|
-
label: string;
|
|
405
|
-
icon: string;
|
|
435
|
+
interface MetaEditorViewCollection extends MetaManifestWithView {
|
|
406
436
|
entityType: string;
|
|
407
|
-
|
|
408
|
-
repositoryAlias?: string;
|
|
437
|
+
repositoryAlias: string;
|
|
409
438
|
}
|
|
410
439
|
interface ConditionsEditorViewCollection {
|
|
411
440
|
workspaces: string[];
|
|
412
441
|
}
|
|
413
442
|
|
|
414
|
-
|
|
415
|
-
type: 'repository';
|
|
416
|
-
}
|
|
443
|
+
type ManifestTypes = ManifestCollectionView | ManifestDashboard | ManifestDashboardCollection | ManifestEntityAction | ManifestEntityBulkAction | ManifestEntryPoint | 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;
|
|
417
444
|
|
|
418
|
-
interface
|
|
419
|
-
|
|
445
|
+
interface UmbDashboardExtensionElement extends HTMLElement {
|
|
446
|
+
manifest?: ManifestDashboard;
|
|
420
447
|
}
|
|
421
448
|
|
|
422
|
-
interface
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
type: 'treeStore';
|
|
427
|
-
}
|
|
428
|
-
interface ManifestItemStore extends ManifestClass<UmbItemStore> {
|
|
429
|
-
type: 'itemStore';
|
|
449
|
+
interface UmbModalExtensionElement<UmbModalData extends object = object, UmbModalResult = unknown, ModalManifestType extends ManifestModal = ManifestModal> extends HTMLElement {
|
|
450
|
+
manifest?: ModalManifestType;
|
|
451
|
+
modalHandler?: UmbModalHandler<UmbModalData, UmbModalResult>;
|
|
452
|
+
data?: UmbModalData;
|
|
430
453
|
}
|
|
431
454
|
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
[Manifest in ManifestTypes as Manifest['type']]: Manifest;
|
|
436
|
-
};
|
|
437
|
-
type SpecificManifestTypeOrManifestBase<T extends keyof ManifestTypeMap | string> = T extends keyof ManifestTypeMap ? ManifestTypeMap[T] : ManifestBase;
|
|
438
|
-
interface ManifestBase {
|
|
439
|
-
/**
|
|
440
|
-
* The type of extension such as dashboard etc...
|
|
441
|
-
*/
|
|
442
|
-
type: string;
|
|
443
|
-
/**
|
|
444
|
-
* The alias of the extension, ensure it is unique
|
|
445
|
-
*/
|
|
446
|
-
alias: string;
|
|
447
|
-
/**
|
|
448
|
-
* The kind of the extension, used to group extensions together
|
|
449
|
-
*
|
|
450
|
-
* @examples ["button"]
|
|
451
|
-
*/
|
|
452
|
-
kind?: unknown;
|
|
453
|
-
/**
|
|
454
|
-
* The friendly name of the extension
|
|
455
|
-
*/
|
|
456
|
-
name: string;
|
|
457
|
-
/**
|
|
458
|
-
* Extensions such as dashboards are ordered by weight with lower numbers being first in the list
|
|
459
|
-
*/
|
|
460
|
-
weight?: number;
|
|
461
|
-
}
|
|
462
|
-
interface ManifestKind {
|
|
463
|
-
type: 'kind';
|
|
464
|
-
alias: string;
|
|
465
|
-
matchType: string;
|
|
466
|
-
matchKind: string;
|
|
467
|
-
manifest: Partial<ManifestTypes>;
|
|
468
|
-
}
|
|
469
|
-
interface ManifestWithConditions<ConditionsType> {
|
|
470
|
-
/**
|
|
471
|
-
* Set the conditions for when the extension should be loaded
|
|
472
|
-
*/
|
|
473
|
-
conditions: ConditionsType;
|
|
455
|
+
interface UmbPropertyEditorExtensionElement extends HTMLElement {
|
|
456
|
+
value: unknown;
|
|
457
|
+
config: DataTypePropertyPresentationModel[];
|
|
474
458
|
}
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
*/
|
|
479
|
-
loader?: () => Promise<LoaderReturnType>;
|
|
480
|
-
}
|
|
481
|
-
/**
|
|
482
|
-
* The type of extension such as dashboard etc...
|
|
483
|
-
*/
|
|
484
|
-
interface ManifestClass<T = unknown> extends ManifestWithLoader<object> {
|
|
485
|
-
/**
|
|
486
|
-
* The file location of the javascript file to load
|
|
487
|
-
* @TJS-required
|
|
488
|
-
*/
|
|
489
|
-
js?: string;
|
|
490
|
-
/**
|
|
491
|
-
* @TJS-ignore
|
|
492
|
-
*/
|
|
493
|
-
className?: string;
|
|
494
|
-
/**
|
|
495
|
-
* @TJS-ignore
|
|
496
|
-
*/
|
|
497
|
-
class?: ClassConstructor<T>;
|
|
498
|
-
}
|
|
499
|
-
interface ManifestClassWithClassConstructor extends ManifestClass {
|
|
500
|
-
class: ClassConstructor<unknown>;
|
|
501
|
-
}
|
|
502
|
-
interface ManifestElement extends ManifestWithLoader<object | HTMLElement> {
|
|
503
|
-
/**
|
|
504
|
-
* The file location of the javascript file to load
|
|
505
|
-
*
|
|
506
|
-
* @TJS-require
|
|
507
|
-
*/
|
|
508
|
-
js?: string;
|
|
509
|
-
/**
|
|
510
|
-
* The HTML web component name to use such as 'my-dashboard'
|
|
511
|
-
* Note it is NOT <my-dashboard></my-dashboard> but just the name
|
|
512
|
-
*/
|
|
513
|
-
elementName?: string;
|
|
514
|
-
/**
|
|
515
|
-
* This contains properties specific to the type of extension
|
|
516
|
-
*/
|
|
517
|
-
meta?: unknown;
|
|
518
|
-
}
|
|
519
|
-
interface ManifestWithView extends ManifestElement {
|
|
520
|
-
meta: MetaManifestWithView;
|
|
521
|
-
}
|
|
522
|
-
interface MetaManifestWithView {
|
|
523
|
-
pathname: string;
|
|
524
|
-
label: string;
|
|
525
|
-
icon: string;
|
|
526
|
-
}
|
|
527
|
-
interface ManifestElementWithElementName extends ManifestElement {
|
|
528
|
-
/**
|
|
529
|
-
* The HTML web component name to use such as 'my-dashboard'
|
|
530
|
-
* Note it is NOT <my-dashboard></my-dashboard> but just the name
|
|
531
|
-
*/
|
|
532
|
-
elementName: string;
|
|
533
|
-
}
|
|
534
|
-
interface ManifestWithMeta extends ManifestBase {
|
|
535
|
-
/**
|
|
536
|
-
* This contains properties specific to the type of extension
|
|
537
|
-
*/
|
|
538
|
-
meta: unknown;
|
|
539
|
-
}
|
|
540
|
-
/**
|
|
541
|
-
* This type of extension gives full control and will simply load the specified JS file
|
|
542
|
-
* You could have custom logic to decide which extensions to load/register by using extensionRegistry
|
|
543
|
-
*/
|
|
544
|
-
interface ManifestEntrypoint extends ManifestBase {
|
|
545
|
-
type: 'entrypoint';
|
|
546
|
-
/**
|
|
547
|
-
* The file location of the javascript file to load in the backoffice
|
|
548
|
-
*/
|
|
549
|
-
js: string;
|
|
459
|
+
|
|
460
|
+
interface UmbSectionExtensionElement extends HTMLElement {
|
|
461
|
+
manifest?: ManifestSection;
|
|
550
462
|
}
|
|
551
463
|
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
constructor(rootHost: UmbControllerHostElement, extensionRegistry: UmbExtensionRegistry);
|
|
555
|
-
instantiateEntryPoint(manifest: ManifestEntrypoint): void;
|
|
464
|
+
interface UmbTreeItemExtensionElement extends HTMLElement {
|
|
465
|
+
item?: TreeItemPresentationModel;
|
|
556
466
|
}
|
|
557
467
|
|
|
558
|
-
|
|
468
|
+
type UmbBackofficeManifestKind = ManifestKind<ManifestTypes>;
|
|
469
|
+
type UmbBackofficeExtensionRegistry = UmbExtensionRegistry<ManifestTypes>;
|
|
470
|
+
declare const umbExtensionsRegistry: UmbBackofficeExtensionRegistry;
|
|
471
|
+
|
|
472
|
+
export { ConditionsCollectionView, ConditionsDashboard, ConditionsDashboardCollection, ConditionsEditorViewCollection, ConditionsEntityAction, ConditionsEntityBulkAction, ConditionsMenuItem, ConditionsPropertyAction, ConditionsSectionSidebarApp, ConditionsSectionView, ConditionsTreeItem, ConditionsWorkspaceAction, ConditionsWorkspaceView, HealthCheck, ManifestCollectionView, ManifestDashboard, ManifestDashboardCollection, ManifestEntityAction, ManifestEntityBulkAction, ManifestExternalLoginProvider, ManifestHeaderApp, ManifestHeaderAppButtonKind, ManifestHealthCheck, ManifestItemStore, ManifestMenu, ManifestMenuItem, ManifestMenuItemTreeKind, ManifestModal, ManifestPackageView, ManifestPropertyAction, ManifestPropertyEditorModel, ManifestPropertyEditorUI, ManifestRepository, ManifestSection, ManifestSectionSidebarApp, ManifestSectionSidebarAppMenuKind, ManifestSectionView, ManifestStore, ManifestTheme, ManifestTree, ManifestTreeItem, ManifestTreeStore, ManifestTypes, ManifestUserProfileApp, ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceEditorView, ManifestWorkspaceViewCollection, MetaCollectionView, MetaDashboard, MetaDashboardCollection, MetaEditor, MetaEditorViewCollection, MetaEntityAction, MetaEntityBulkAction, MetaExternalLoginProvider, MetaHeaderApp, MetaHeaderAppButtonKind, MetaHealthCheck, MetaMenuItem, MetaMenuItemTreeKind, MetaPackageView, MetaPropertyEditorModel, MetaPropertyEditorUI, MetaSection, MetaSectionSidebarAppMenuKind, MetaSectionView, MetaTree, MetaUserProfileApp, MetaWorkspaceAction, PropertyEditorConfig, PropertyEditorConfigDefaultData, PropertyEditorConfigProperty, UmbBackofficeExtensionRegistry, UmbBackofficeManifestKind, UmbDashboardExtensionElement, UmbExternalLoginProviderExtensionElement, UmbMenuItemExtensionElement, UmbModalExtensionElement, UmbPropertyEditorExtensionElement, UmbSectionExtensionElement, UmbSectionSidebarAppExtensionElement, UmbSectionViewExtensionElement, UmbTreeItemExtensionElement, UmbWorkspaceEditorViewExtensionElement, umbExtensionsRegistry };
|