@umbraco-cms/backoffice 1.0.0-next.48e903f7 → 1.0.0-next.54c4e01c
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/backend-api.d.ts +730 -282
- package/context-api.d.ts +76 -6
- package/controller.d.ts +7 -6
- package/custom-elements.json +8258 -0
- package/element.d.ts +6 -6
- package/entity-action.d.ts +29 -19
- package/extensions-api.d.ts +14 -13
- package/extensions-registry.d.ts +300 -91
- package/modal.d.ts +304 -19
- package/models.d.ts +19 -9
- package/notification.d.ts +1 -1
- package/observable-api.d.ts +90 -49
- package/package.json +4 -2
- package/picker-input.d.ts +24 -0
- package/repository.d.ts +108 -40
- package/resources.d.ts +25 -16
- package/router.d.ts +368 -0
- package/sorter.d.ts +103 -0
- package/store.d.ts +93 -52
- package/umbraco-package-schema.json +37749 -0
- package/utils.d.ts +3 -9
- package/vscode-html-custom-data.json +3322 -0
- package/workspace.d.ts +28 -20
- package/property-editor.d.ts +0 -8
package/extensions-registry.d.ts
CHANGED
|
@@ -1,32 +1,71 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DataTypePropertyPresentationModel, TreeItemPresentationModel } from '@umbraco-cms/backoffice/backend-api';
|
|
2
|
+
import { UmbStoreBase, UmbTreeStore, UmbItemStore } from '@umbraco-cms/backoffice/store';
|
|
2
3
|
import { InterfaceLook, InterfaceColor } from '@umbraco-ui/uui-base/lib/types/index';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { ClassConstructor } from '@umbraco-cms/backoffice/models';
|
|
5
|
+
import { UmbWorkspaceAction } from '@umbraco-cms/backoffice/workspace';
|
|
6
|
+
import { UmbModalHandler } from '@umbraco-cms/backoffice/modal';
|
|
7
|
+
import { UmbExtensionRegistry } from '@umbraco-cms/backoffice/extensions-api';
|
|
8
|
+
import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
|
|
7
9
|
|
|
8
10
|
interface ManifestCollectionView extends ManifestElement, ManifestWithConditions<ConditionsCollectionView> {
|
|
9
11
|
type: 'collectionView';
|
|
10
12
|
meta: MetaCollectionView;
|
|
11
13
|
}
|
|
12
14
|
interface MetaCollectionView {
|
|
15
|
+
/**
|
|
16
|
+
* The friendly name of the collection view
|
|
17
|
+
*/
|
|
13
18
|
label: string;
|
|
19
|
+
/**
|
|
20
|
+
* An icon to represent the collection view
|
|
21
|
+
*
|
|
22
|
+
* @examples [
|
|
23
|
+
* "umb:box",
|
|
24
|
+
* "umb:grid"
|
|
25
|
+
* ]
|
|
26
|
+
*/
|
|
14
27
|
icon: string;
|
|
28
|
+
/**
|
|
29
|
+
* The URL pathname for this collection view that can be deep linked to by sharing the url
|
|
30
|
+
*/
|
|
15
31
|
pathName: string;
|
|
16
32
|
}
|
|
17
33
|
interface ConditionsCollectionView {
|
|
18
34
|
entityType: string;
|
|
19
35
|
}
|
|
20
36
|
|
|
21
|
-
interface ManifestDashboard extends ManifestElement
|
|
37
|
+
interface ManifestDashboard extends ManifestElement<UmbDashboardExtensionElement>, ManifestWithConditions<ConditionsDashboard> {
|
|
22
38
|
type: 'dashboard';
|
|
23
39
|
meta: MetaDashboard;
|
|
24
40
|
}
|
|
25
41
|
interface MetaDashboard {
|
|
42
|
+
/**
|
|
43
|
+
* This is the URL path for the dashboard which is used for navigating or deep linking directly to the dashboard
|
|
44
|
+
* https://yoursite.com/section/settings/dashboard/my-dashboard-path
|
|
45
|
+
*
|
|
46
|
+
* @example my-dashboard-path
|
|
47
|
+
* @examples [
|
|
48
|
+
* "my-dashboard-path"
|
|
49
|
+
* ]
|
|
50
|
+
*/
|
|
26
51
|
pathname: string;
|
|
52
|
+
/**
|
|
53
|
+
* The displayed name (label) for the tab of the dashboard
|
|
54
|
+
*/
|
|
27
55
|
label?: string;
|
|
28
56
|
}
|
|
29
57
|
interface ConditionsDashboard {
|
|
58
|
+
/**
|
|
59
|
+
* An array of section aliases that the dashboard should be available in
|
|
60
|
+
*
|
|
61
|
+
* @uniqueItems true
|
|
62
|
+
* @minItems 1
|
|
63
|
+
* @items.examples [
|
|
64
|
+
* "Umb.Section.Content",
|
|
65
|
+
* "Umb.Section.Settings"
|
|
66
|
+
* ]
|
|
67
|
+
*
|
|
68
|
+
*/
|
|
30
69
|
sections: string[];
|
|
31
70
|
}
|
|
32
71
|
|
|
@@ -45,35 +84,87 @@ interface ConditionsDashboardCollection {
|
|
|
45
84
|
entityType: string;
|
|
46
85
|
}
|
|
47
86
|
|
|
87
|
+
/**
|
|
88
|
+
* An action to perform on an entity
|
|
89
|
+
* For example for content you may wish to create a new document etc
|
|
90
|
+
*/
|
|
48
91
|
interface ManifestEntityAction extends ManifestElement {
|
|
49
92
|
type: 'entityAction';
|
|
50
93
|
meta: MetaEntityAction;
|
|
51
94
|
conditions: ConditionsEntityAction;
|
|
52
95
|
}
|
|
53
96
|
interface MetaEntityAction {
|
|
97
|
+
/**
|
|
98
|
+
* An icon to represent the action to be performed
|
|
99
|
+
*
|
|
100
|
+
* @examples [
|
|
101
|
+
* "umb:box",
|
|
102
|
+
* "umb:grid"
|
|
103
|
+
* ]
|
|
104
|
+
*/
|
|
54
105
|
icon?: string;
|
|
106
|
+
/**
|
|
107
|
+
* The friendly name of the action to perform
|
|
108
|
+
*
|
|
109
|
+
* @examples [
|
|
110
|
+
* "Create",
|
|
111
|
+
* "Create Content Template"
|
|
112
|
+
* ]
|
|
113
|
+
*/
|
|
55
114
|
label: string;
|
|
115
|
+
/**
|
|
116
|
+
* @TJS-ignore
|
|
117
|
+
*/
|
|
56
118
|
api: any;
|
|
119
|
+
/**
|
|
120
|
+
* The alias for the repsoitory of the entity type this action is for
|
|
121
|
+
* such as 'Umb.Repository.Documents'
|
|
122
|
+
* @examples [
|
|
123
|
+
* "Umb.Repository.Documents"
|
|
124
|
+
* ]
|
|
125
|
+
*/
|
|
57
126
|
repositoryAlias: string;
|
|
58
127
|
}
|
|
59
128
|
interface ConditionsEntityAction {
|
|
60
129
|
entityType: string;
|
|
61
130
|
}
|
|
62
131
|
|
|
132
|
+
/**
|
|
133
|
+
* An action to perform on multiple entities
|
|
134
|
+
* For example for content you may wish to move one or more documents in bulk
|
|
135
|
+
*/
|
|
63
136
|
interface ManifestEntityBulkAction extends ManifestElement, ManifestWithConditions<ConditionsEntityBulkAction> {
|
|
64
137
|
type: 'entityBulkAction';
|
|
65
138
|
meta: MetaEntityBulkAction;
|
|
66
139
|
}
|
|
67
140
|
interface MetaEntityBulkAction {
|
|
141
|
+
/**
|
|
142
|
+
* A friendly label for the action
|
|
143
|
+
*/
|
|
68
144
|
label: string;
|
|
145
|
+
/**
|
|
146
|
+
* @TJS-ignore
|
|
147
|
+
*/
|
|
69
148
|
api: any;
|
|
149
|
+
/**
|
|
150
|
+
* The alias for the repsoitory of the entity type this action is for
|
|
151
|
+
* such as 'Umb.Repository.Documents'
|
|
152
|
+
*
|
|
153
|
+
* @examples [
|
|
154
|
+
* "Umb.Repository.Documents"
|
|
155
|
+
* ]
|
|
156
|
+
*/
|
|
70
157
|
repositoryAlias: string;
|
|
71
158
|
}
|
|
72
159
|
interface ConditionsEntityBulkAction {
|
|
73
160
|
entityType: string;
|
|
74
161
|
}
|
|
75
162
|
|
|
76
|
-
interface
|
|
163
|
+
interface UmbExternalLoginProviderExtensionElement extends HTMLElement {
|
|
164
|
+
manifest?: ManifestExternalLoginProvider;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
interface ManifestExternalLoginProvider extends ManifestElement<UmbExternalLoginProviderExtensionElement> {
|
|
77
168
|
type: 'externalLoginProvider';
|
|
78
169
|
meta: MetaExternalLoginProvider;
|
|
79
170
|
}
|
|
@@ -82,6 +173,10 @@ interface MetaExternalLoginProvider {
|
|
|
82
173
|
pathname: string;
|
|
83
174
|
}
|
|
84
175
|
|
|
176
|
+
/**
|
|
177
|
+
* Header apps are displayed in the top right corner of the backoffice
|
|
178
|
+
* The two provided header apps are the search and the user menu
|
|
179
|
+
*/
|
|
85
180
|
interface ManifestHeaderApp extends ManifestElement {
|
|
86
181
|
type: 'headerApp';
|
|
87
182
|
}
|
|
@@ -115,6 +210,43 @@ interface HealthCheck {
|
|
|
115
210
|
description: string;
|
|
116
211
|
}
|
|
117
212
|
|
|
213
|
+
interface ManifestMenu extends ManifestElement {
|
|
214
|
+
type: 'menu';
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
interface UmbMenuItemExtensionElement extends HTMLElement {
|
|
218
|
+
manifest?: ManifestMenuItem;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
interface ManifestMenuItem extends ManifestElement<UmbMenuItemExtensionElement> {
|
|
222
|
+
type: 'menuItem';
|
|
223
|
+
meta: MetaMenuItem;
|
|
224
|
+
conditions: ConditionsMenuItem;
|
|
225
|
+
}
|
|
226
|
+
interface MetaMenuItem {
|
|
227
|
+
label: string;
|
|
228
|
+
icon: string;
|
|
229
|
+
entityType?: string;
|
|
230
|
+
}
|
|
231
|
+
interface ConditionsMenuItem {
|
|
232
|
+
menus: Array<string>;
|
|
233
|
+
}
|
|
234
|
+
interface ManifestMenuItemTreeKind extends ManifestMenuItem {
|
|
235
|
+
type: 'menuItem';
|
|
236
|
+
kind: 'tree';
|
|
237
|
+
meta: MetaMenuItemTreeKind;
|
|
238
|
+
}
|
|
239
|
+
interface MetaMenuItemTreeKind {
|
|
240
|
+
treeAlias: string;
|
|
241
|
+
label: string;
|
|
242
|
+
icon: string;
|
|
243
|
+
entityType?: string;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
interface ManifestModal extends ManifestElement {
|
|
247
|
+
type: 'modal';
|
|
248
|
+
}
|
|
249
|
+
|
|
118
250
|
interface ManifestPackageView extends ManifestElement {
|
|
119
251
|
type: 'packageView';
|
|
120
252
|
meta: MetaPackageView;
|
|
@@ -130,7 +262,7 @@ interface ConditionsPropertyAction {
|
|
|
130
262
|
propertyEditors: string[];
|
|
131
263
|
}
|
|
132
264
|
|
|
133
|
-
interface ManifestPropertyEditorUI extends ManifestElement {
|
|
265
|
+
interface ManifestPropertyEditorUI extends ManifestElement<UmbPropertyEditorExtensionElement> {
|
|
134
266
|
type: 'propertyEditorUI';
|
|
135
267
|
meta: MetaPropertyEditorUI;
|
|
136
268
|
}
|
|
@@ -164,7 +296,11 @@ interface PropertyEditorConfigDefaultData {
|
|
|
164
296
|
value: any;
|
|
165
297
|
}
|
|
166
298
|
|
|
167
|
-
interface
|
|
299
|
+
interface ManifestRepository extends ManifestClass<unknown> {
|
|
300
|
+
type: 'repository';
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
interface ManifestSection extends ManifestElement<UmbSectionExtensionElement> {
|
|
168
304
|
type: 'section';
|
|
169
305
|
meta: MetaSection;
|
|
170
306
|
}
|
|
@@ -173,20 +309,11 @@ interface MetaSection {
|
|
|
173
309
|
pathname: string;
|
|
174
310
|
}
|
|
175
311
|
|
|
176
|
-
interface
|
|
177
|
-
|
|
178
|
-
meta: MetaSectionView;
|
|
179
|
-
}
|
|
180
|
-
interface MetaSectionView {
|
|
181
|
-
label: string;
|
|
182
|
-
pathname: string;
|
|
183
|
-
icon: string;
|
|
184
|
-
}
|
|
185
|
-
interface ConditionsSectionView {
|
|
186
|
-
sections: Array<string>;
|
|
312
|
+
interface UmbSectionSidebarAppExtensionElement extends HTMLElement {
|
|
313
|
+
manifest?: ManifestSectionSidebarApp;
|
|
187
314
|
}
|
|
188
315
|
|
|
189
|
-
interface ManifestSectionSidebarApp extends ManifestElement {
|
|
316
|
+
interface ManifestSectionSidebarApp extends ManifestElement<UmbSectionSidebarAppExtensionElement> {
|
|
190
317
|
type: 'sectionSidebarApp';
|
|
191
318
|
conditions: ConditionsSectionSidebarApp;
|
|
192
319
|
}
|
|
@@ -203,37 +330,43 @@ interface MetaSectionSidebarAppMenuKind {
|
|
|
203
330
|
menu: string;
|
|
204
331
|
}
|
|
205
332
|
|
|
206
|
-
interface
|
|
207
|
-
|
|
333
|
+
interface UmbSectionViewExtensionElement extends HTMLElement {
|
|
334
|
+
manifest?: ManifestSectionView;
|
|
208
335
|
}
|
|
209
336
|
|
|
210
|
-
interface
|
|
211
|
-
type: '
|
|
212
|
-
meta:
|
|
213
|
-
conditions: ConditionsMenuItem;
|
|
337
|
+
interface ManifestSectionView extends ManifestElement<UmbSectionViewExtensionElement>, ManifestWithConditions<ConditionsSectionView> {
|
|
338
|
+
type: 'sectionView';
|
|
339
|
+
meta: MetaSectionView;
|
|
214
340
|
}
|
|
215
|
-
interface
|
|
341
|
+
interface MetaSectionView {
|
|
216
342
|
label: string;
|
|
343
|
+
pathname: string;
|
|
217
344
|
icon: string;
|
|
218
|
-
entityType?: string;
|
|
219
345
|
}
|
|
220
|
-
interface
|
|
221
|
-
|
|
346
|
+
interface ConditionsSectionView {
|
|
347
|
+
sections: Array<string>;
|
|
222
348
|
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
meta: MetaMenuItemTreeKind;
|
|
349
|
+
|
|
350
|
+
interface ManifestStore extends ManifestClass<UmbStoreBase> {
|
|
351
|
+
type: 'store';
|
|
227
352
|
}
|
|
228
|
-
interface
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
353
|
+
interface ManifestTreeStore extends ManifestClass<UmbTreeStore> {
|
|
354
|
+
type: 'treeStore';
|
|
355
|
+
}
|
|
356
|
+
interface ManifestItemStore extends ManifestClass<UmbItemStore> {
|
|
357
|
+
type: 'itemStore';
|
|
233
358
|
}
|
|
234
359
|
|
|
360
|
+
/**
|
|
361
|
+
* Theme manifest for styling the backoffice of Umbraco such as dark, high contrast etc
|
|
362
|
+
*/
|
|
235
363
|
interface ManifestTheme extends ManifestWithLoader<string> {
|
|
236
364
|
type: 'theme';
|
|
365
|
+
/**
|
|
366
|
+
* File location of the CSS file of the theme
|
|
367
|
+
*
|
|
368
|
+
* @examples ["themes/dark.theme.css"]
|
|
369
|
+
*/
|
|
237
370
|
css?: string;
|
|
238
371
|
}
|
|
239
372
|
|
|
@@ -242,15 +375,22 @@ interface ManifestTree extends ManifestBase {
|
|
|
242
375
|
meta: MetaTree;
|
|
243
376
|
}
|
|
244
377
|
interface MetaTree {
|
|
245
|
-
|
|
246
|
-
repository?: ClassConstructor<unknown>;
|
|
378
|
+
repositoryAlias: string;
|
|
247
379
|
}
|
|
248
380
|
|
|
249
|
-
interface
|
|
250
|
-
type: '
|
|
251
|
-
|
|
381
|
+
interface ManifestTreeItem extends ManifestElement<UmbTreeItemExtensionElement> {
|
|
382
|
+
type: 'treeItem';
|
|
383
|
+
conditions: ConditionsTreeItem;
|
|
384
|
+
}
|
|
385
|
+
interface ConditionsTreeItem {
|
|
386
|
+
entityType: string;
|
|
252
387
|
}
|
|
253
|
-
|
|
388
|
+
|
|
389
|
+
interface ManifestUserProfileApp extends ManifestElement {
|
|
390
|
+
type: 'userProfileApp';
|
|
391
|
+
meta: MetaUserProfileApp;
|
|
392
|
+
}
|
|
393
|
+
interface MetaUserProfileApp {
|
|
254
394
|
label: string;
|
|
255
395
|
pathname: string;
|
|
256
396
|
}
|
|
@@ -278,62 +418,58 @@ interface ConditionsWorkspaceAction {
|
|
|
278
418
|
workspaces: Array<string>;
|
|
279
419
|
}
|
|
280
420
|
|
|
281
|
-
interface
|
|
282
|
-
|
|
283
|
-
meta: MetaWorkspaceView;
|
|
284
|
-
conditions: ConditionsWorkspaceView;
|
|
421
|
+
interface UmbWorkspaceEditorViewExtensionElement extends HTMLElement {
|
|
422
|
+
manifest?: ManifestWorkspaceEditorView;
|
|
285
423
|
}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
424
|
+
|
|
425
|
+
interface ManifestWorkspaceEditorView extends ManifestWithView<UmbWorkspaceEditorViewExtensionElement> {
|
|
426
|
+
type: 'workspaceEditorView';
|
|
427
|
+
conditions: ConditionsWorkspaceView;
|
|
290
428
|
}
|
|
291
429
|
interface ConditionsWorkspaceView {
|
|
292
430
|
workspaces: string[];
|
|
293
431
|
}
|
|
294
432
|
|
|
295
|
-
interface ManifestWorkspaceViewCollection extends
|
|
433
|
+
interface ManifestWorkspaceViewCollection extends ManifestWithView, ManifestWithConditions<ConditionsEditorViewCollection> {
|
|
296
434
|
type: 'workspaceViewCollection';
|
|
297
435
|
meta: MetaEditorViewCollection;
|
|
298
436
|
}
|
|
299
|
-
interface MetaEditorViewCollection {
|
|
300
|
-
pathname: string;
|
|
301
|
-
label: string;
|
|
302
|
-
icon: string;
|
|
437
|
+
interface MetaEditorViewCollection extends MetaManifestWithView {
|
|
303
438
|
entityType: string;
|
|
304
|
-
|
|
305
|
-
repositoryAlias?: string;
|
|
439
|
+
repositoryAlias: string;
|
|
306
440
|
}
|
|
307
441
|
interface ConditionsEditorViewCollection {
|
|
308
442
|
workspaces: string[];
|
|
309
443
|
}
|
|
310
444
|
|
|
311
|
-
|
|
312
|
-
type: 'repository';
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
interface ManifestModal extends ManifestElement {
|
|
316
|
-
type: 'modal';
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
interface ManifestStore extends ManifestClass<UmbStoreBase> {
|
|
320
|
-
type: 'store';
|
|
321
|
-
}
|
|
322
|
-
interface ManifestTreeStore extends ManifestClass<UmbTreeStoreBase> {
|
|
323
|
-
type: 'treeStore';
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
type ManifestTypes = ManifestCollectionView | ManifestDashboard | ManifestDashboardCollection | ManifestEntityAction | ManifestEntityBulkAction | ManifestEntrypoint | ManifestExternalLoginProvider | ManifestHeaderApp | ManifestHeaderAppButtonKind | ManifestHealthCheck | ManifestPackageView | ManifestPropertyAction | ManifestPropertyEditorModel | ManifestPropertyEditorUI | ManifestRepository | ManifestSection | ManifestSectionSidebarApp | ManifestSectionSidebarAppMenuKind | ManifestSectionView | ManifestMenu | ManifestMenuItem | ManifestMenuItemTreeKind | ManifestTheme | ManifestTree | ManifestUserDashboard | ManifestWorkspace | ManifestWorkspaceAction | ManifestWorkspaceView | ManifestWorkspaceViewCollection | ManifestModal | ManifestStore | ManifestTreeStore | ManifestBase;
|
|
445
|
+
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;
|
|
327
446
|
type ManifestStandardTypes = ManifestTypes['type'];
|
|
328
447
|
type ManifestTypeMap = {
|
|
329
448
|
[Manifest in ManifestTypes as Manifest['type']]: Manifest;
|
|
330
449
|
};
|
|
331
450
|
type SpecificManifestTypeOrManifestBase<T extends keyof ManifestTypeMap | string> = T extends keyof ManifestTypeMap ? ManifestTypeMap[T] : ManifestBase;
|
|
332
451
|
interface ManifestBase {
|
|
452
|
+
/**
|
|
453
|
+
* The type of extension such as dashboard etc...
|
|
454
|
+
*/
|
|
333
455
|
type: string;
|
|
456
|
+
/**
|
|
457
|
+
* The alias of the extension, ensure it is unique
|
|
458
|
+
*/
|
|
334
459
|
alias: string;
|
|
335
|
-
|
|
460
|
+
/**
|
|
461
|
+
* The kind of the extension, used to group extensions together
|
|
462
|
+
*
|
|
463
|
+
* @examples ["button"]
|
|
464
|
+
*/
|
|
465
|
+
kind?: unknown;
|
|
466
|
+
/**
|
|
467
|
+
* The friendly name of the extension
|
|
468
|
+
*/
|
|
336
469
|
name: string;
|
|
470
|
+
/**
|
|
471
|
+
* Extensions such as dashboards are ordered by weight with lower numbers being first in the list
|
|
472
|
+
*/
|
|
337
473
|
weight?: number;
|
|
338
474
|
}
|
|
339
475
|
interface ManifestKind {
|
|
@@ -344,25 +480,62 @@ interface ManifestKind {
|
|
|
344
480
|
manifest: Partial<ManifestTypes>;
|
|
345
481
|
}
|
|
346
482
|
interface ManifestWithConditions<ConditionsType> {
|
|
483
|
+
/**
|
|
484
|
+
* Set the conditions for when the extension should be loaded
|
|
485
|
+
*/
|
|
347
486
|
conditions: ConditionsType;
|
|
348
487
|
}
|
|
349
488
|
interface ManifestWithLoader<LoaderReturnType> extends ManifestBase {
|
|
489
|
+
/**
|
|
490
|
+
* @TJS-ignore
|
|
491
|
+
*/
|
|
350
492
|
loader?: () => Promise<LoaderReturnType>;
|
|
351
493
|
}
|
|
352
|
-
|
|
494
|
+
/**
|
|
495
|
+
* The type of extension such as dashboard etc...
|
|
496
|
+
*/
|
|
497
|
+
interface ManifestClass<ClassType = unknown> extends ManifestWithLoader<{
|
|
498
|
+
default: ClassConstructor<ClassType>;
|
|
499
|
+
}> {
|
|
500
|
+
readonly CLASS_TYPE?: ClassType;
|
|
501
|
+
/**
|
|
502
|
+
* The file location of the javascript file to load
|
|
503
|
+
* @TJS-required
|
|
504
|
+
*/
|
|
353
505
|
js?: string;
|
|
506
|
+
/**
|
|
507
|
+
* @TJS-ignore
|
|
508
|
+
*/
|
|
354
509
|
className?: string;
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
class
|
|
359
|
-
}
|
|
360
|
-
interface
|
|
510
|
+
/**
|
|
511
|
+
* @TJS-ignore
|
|
512
|
+
*/
|
|
513
|
+
class?: ClassConstructor<ClassType>;
|
|
514
|
+
}
|
|
515
|
+
interface ManifestClassWithClassConstructor<T = unknown> extends ManifestClass<T> {
|
|
516
|
+
class: ClassConstructor<T>;
|
|
517
|
+
}
|
|
518
|
+
interface ManifestElement<ElementType extends HTMLElement = HTMLElement> extends ManifestWithLoader<{
|
|
519
|
+
default: ClassConstructor<ElementType>;
|
|
520
|
+
} | Omit<object, 'default'>> {
|
|
521
|
+
readonly ELEMENT_TYPE?: ElementType;
|
|
522
|
+
/**
|
|
523
|
+
* The file location of the javascript file to load
|
|
524
|
+
*
|
|
525
|
+
* @TJS-require
|
|
526
|
+
*/
|
|
361
527
|
js?: string;
|
|
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
|
+
*/
|
|
362
532
|
elementName?: string;
|
|
363
|
-
|
|
533
|
+
/**
|
|
534
|
+
* This contains properties specific to the type of extension
|
|
535
|
+
*/
|
|
536
|
+
meta?: unknown;
|
|
364
537
|
}
|
|
365
|
-
interface ManifestWithView extends ManifestElement {
|
|
538
|
+
interface ManifestWithView<ElementType extends HTMLElement = HTMLElement> extends ManifestElement<ElementType> {
|
|
366
539
|
meta: MetaManifestWithView;
|
|
367
540
|
}
|
|
368
541
|
interface MetaManifestWithView {
|
|
@@ -371,20 +544,56 @@ interface MetaManifestWithView {
|
|
|
371
544
|
icon: string;
|
|
372
545
|
}
|
|
373
546
|
interface ManifestElementWithElementName extends ManifestElement {
|
|
547
|
+
/**
|
|
548
|
+
* The HTML web component name to use such as 'my-dashboard'
|
|
549
|
+
* Note it is NOT <my-dashboard></my-dashboard> but just the name
|
|
550
|
+
*/
|
|
374
551
|
elementName: string;
|
|
375
552
|
}
|
|
376
553
|
interface ManifestWithMeta extends ManifestBase {
|
|
554
|
+
/**
|
|
555
|
+
* This contains properties specific to the type of extension
|
|
556
|
+
*/
|
|
377
557
|
meta: unknown;
|
|
378
558
|
}
|
|
559
|
+
/**
|
|
560
|
+
* This type of extension gives full control and will simply load the specified JS file
|
|
561
|
+
* You could have custom logic to decide which extensions to load/register by using extensionRegistry
|
|
562
|
+
*/
|
|
379
563
|
interface ManifestEntrypoint extends ManifestBase {
|
|
380
|
-
type: '
|
|
564
|
+
type: 'entryPoint';
|
|
565
|
+
/**
|
|
566
|
+
* The file location of the javascript file to load in the backoffice
|
|
567
|
+
*/
|
|
381
568
|
js: string;
|
|
382
569
|
}
|
|
383
570
|
|
|
571
|
+
interface UmbDashboardExtensionElement extends HTMLElement {
|
|
572
|
+
manifest?: ManifestDashboard;
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
interface UmbModalExtensionElement<UmbModalData extends object = object, UmbModalResult = unknown> extends HTMLElement {
|
|
576
|
+
modalHandler?: UmbModalHandler<UmbModalData, UmbModalResult>;
|
|
577
|
+
data?: UmbModalData;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
interface UmbPropertyEditorExtensionElement extends HTMLElement {
|
|
581
|
+
value: unknown;
|
|
582
|
+
config: DataTypePropertyPresentationModel[];
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
interface UmbSectionExtensionElement extends HTMLElement {
|
|
586
|
+
manifest?: ManifestSection;
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
interface UmbTreeItemExtensionElement extends HTMLElement {
|
|
590
|
+
item?: TreeItemPresentationModel;
|
|
591
|
+
}
|
|
592
|
+
|
|
384
593
|
declare class UmbEntryPointExtensionInitializer {
|
|
385
594
|
#private;
|
|
386
|
-
constructor(
|
|
387
|
-
instantiateEntryPoint(manifest: ManifestEntrypoint): void
|
|
595
|
+
constructor(host: UmbControllerHostElement, extensionRegistry: UmbExtensionRegistry);
|
|
596
|
+
instantiateEntryPoint(manifest: ManifestEntrypoint): Promise<void>;
|
|
388
597
|
}
|
|
389
598
|
|
|
390
|
-
export { ConditionsCollectionView, ConditionsDashboard, ConditionsDashboardCollection, ConditionsEditorViewCollection, ConditionsEntityAction, ConditionsEntityBulkAction, ConditionsMenuItem, ConditionsPropertyAction, ConditionsSectionSidebarApp, ConditionsSectionView, ConditionsWorkspaceAction, ConditionsWorkspaceView, HealthCheck, ManifestBase, ManifestClass, ManifestClassWithClassConstructor, ManifestCollectionView, ManifestDashboard, ManifestDashboardCollection, ManifestElement, ManifestElementWithElementName, ManifestEntityAction, ManifestEntityBulkAction, ManifestEntrypoint, ManifestExternalLoginProvider, ManifestHeaderApp, ManifestHeaderAppButtonKind, ManifestHealthCheck, ManifestKind, ManifestMenu, ManifestMenuItem, ManifestMenuItemTreeKind, ManifestModal, ManifestPackageView, ManifestPropertyAction, ManifestPropertyEditorModel, ManifestPropertyEditorUI, ManifestRepository, ManifestSection, ManifestSectionSidebarApp, ManifestSectionSidebarAppMenuKind, ManifestSectionView, ManifestStandardTypes, ManifestStore, ManifestTheme, ManifestTree, ManifestTreeStore, ManifestTypeMap, ManifestTypes,
|
|
599
|
+
export { ConditionsCollectionView, ConditionsDashboard, ConditionsDashboardCollection, ConditionsEditorViewCollection, ConditionsEntityAction, ConditionsEntityBulkAction, ConditionsMenuItem, ConditionsPropertyAction, ConditionsSectionSidebarApp, ConditionsSectionView, ConditionsTreeItem, ConditionsWorkspaceAction, ConditionsWorkspaceView, HealthCheck, ManifestBase, ManifestClass, ManifestClassWithClassConstructor, ManifestCollectionView, ManifestDashboard, ManifestDashboardCollection, ManifestElement, ManifestElementWithElementName, ManifestEntityAction, ManifestEntityBulkAction, ManifestEntrypoint, ManifestExternalLoginProvider, ManifestHeaderApp, ManifestHeaderAppButtonKind, ManifestHealthCheck, ManifestItemStore, ManifestKind, ManifestMenu, ManifestMenuItem, ManifestMenuItemTreeKind, ManifestModal, ManifestPackageView, ManifestPropertyAction, ManifestPropertyEditorModel, ManifestPropertyEditorUI, ManifestRepository, ManifestSection, ManifestSectionSidebarApp, ManifestSectionSidebarAppMenuKind, ManifestSectionView, ManifestStandardTypes, ManifestStore, ManifestTheme, ManifestTree, ManifestTreeItem, ManifestTreeStore, ManifestTypeMap, ManifestTypes, ManifestUserProfileApp, ManifestWithConditions, ManifestWithLoader, ManifestWithMeta, ManifestWithView, ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceEditorView, ManifestWorkspaceViewCollection, MetaCollectionView, MetaDashboard, MetaDashboardCollection, MetaEditor, MetaEditorViewCollection, MetaEntityAction, MetaEntityBulkAction, MetaExternalLoginProvider, MetaHeaderApp, MetaHeaderAppButtonKind, MetaHealthCheck, MetaManifestWithView, MetaMenuItem, MetaMenuItemTreeKind, MetaPackageView, MetaPropertyEditorModel, MetaPropertyEditorUI, MetaSection, MetaSectionSidebarAppMenuKind, MetaSectionView, MetaTree, MetaUserProfileApp, MetaWorkspaceAction, PropertyEditorConfig, PropertyEditorConfigDefaultData, PropertyEditorConfigProperty, SpecificManifestTypeOrManifestBase, UmbDashboardExtensionElement, UmbEntryPointExtensionInitializer, UmbExternalLoginProviderExtensionElement, UmbMenuItemExtensionElement, UmbModalExtensionElement, UmbPropertyEditorExtensionElement, UmbSectionExtensionElement, UmbSectionSidebarAppExtensionElement, UmbSectionViewExtensionElement, UmbTreeItemExtensionElement, UmbWorkspaceEditorViewExtensionElement };
|