@umbraco-cms/backoffice 1.0.0-next.3b4f30db → 1.0.0-next.3bcfb12e

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/modal.d.ts CHANGED
@@ -1,24 +1,23 @@
1
1
  import * as rxjs from 'rxjs';
2
2
  import { Observable } from 'rxjs';
3
- import * as lit_html from 'lit-html';
4
3
  import * as lit from 'lit';
5
4
  import { LitElement, TemplateResult } from 'lit';
5
+ import * as lit_html from 'lit-html';
6
6
  import { UUIModalDialogElement, UUIModalSidebarElement, UUIModalSidebarSize } from '@umbraco-ui/uui';
7
- import { UmbControllerHostElement, UmbControllerInterface } from './controller';
8
- import { UmbContextToken } from './context-api';
9
- import { Params } from './router';
10
- import { UmbModalToken as UmbModalToken$1, UmbModalConfig as UmbModalConfig$1, UmbPickerModalData as UmbPickerModalData$1 } from './modal';
11
- import { LanguageResponseModel, FolderReponseModel } from './backend-api';
12
- import { UserDetails } from './models';
7
+ import { UmbControllerHostElement, UmbControllerInterface } from '@umbraco-cms/backoffice/controller';
8
+ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
9
+ import { Params } from '@umbraco-cms/backoffice/router';
10
+ import { UmbModalToken as UmbModalToken$1, UmbModalConfig as UmbModalConfig$1, UmbTreePickerModalData as UmbTreePickerModalData$1, UmbPickerModalResult as UmbPickerModalResult$1, UmbPickerModalData as UmbPickerModalData$1 } from '@umbraco-cms/backoffice/modal';
11
+ import { DocumentTreeItemResponseModel, EntityTreeItemResponseModel, LanguageResponseModel, ContentTreeItemResponseModel, UserResponseModel, FolderReponseModel, FolderTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api';
13
12
 
14
13
  declare class UmbSearchModalElement extends LitElement {
15
14
  #private;
16
- static styles: lit.CSSResult[];
17
15
  private _input;
18
16
  private _search;
19
17
  private _groups;
20
18
  connectedCallback(): void;
21
19
  render(): lit_html.TemplateResult<1>;
20
+ static styles: lit.CSSResult[];
22
21
  }
23
22
 
24
23
  declare global {
@@ -27,38 +26,36 @@ declare global {
27
26
  }
28
27
  }
29
28
 
30
- declare class UmbModalToken<Data extends object = object, Result = unknown> {
29
+ declare class UmbModalToken<ModalDataType extends object = object, ModalResultType = unknown> {
31
30
  protected alias: string;
32
31
  protected defaultConfig?: UmbModalConfig | undefined;
33
- protected _desc?: string | undefined;
32
+ protected defaultData?: ModalDataType | undefined;
34
33
  /**
35
34
  * Get the data type of the token's data.
36
35
  *
37
36
  * @public
38
- * @type {Data}
37
+ * @type {ModalDataType}
39
38
  * @memberOf UmbModalToken
40
39
  * @example `typeof MyModal.TYPE`
41
40
  * @returns undefined
42
41
  */
43
- readonly DATA: Data;
42
+ readonly DATA: ModalDataType;
44
43
  /**
45
44
  * Get the result type of the token
46
45
  *
47
46
  * @public
48
- * @type {Result}
47
+ * @type {ModalResultType}
49
48
  * @memberOf UmbModalToken
50
49
  * @example `typeof MyModal.RESULT`
51
50
  * @returns undefined
52
51
  */
53
- readonly RESULT: Result;
52
+ readonly RESULT: ModalResultType;
54
53
  /**
55
54
  * @param alias Unique identifier for the token,
56
55
  * @param defaultConfig Default configuration for the modal,
57
- * @param _desc Description for the token,
58
- * used only for debugging purposes,
59
- * it should but does not need to be unique
56
+ * @param defaultData Default data for the modal,
60
57
  */
61
- constructor(alias: string, defaultConfig?: UmbModalConfig | undefined, _desc?: string | undefined);
58
+ constructor(alias: string, defaultConfig?: UmbModalConfig | undefined, defaultData?: ModalDataType | undefined);
62
59
  /**
63
60
  * This method must always return the unique alias of the token since that
64
61
  * will be used to look up the token in the injector.
@@ -67,6 +64,7 @@ declare class UmbModalToken<Data extends object = object, Result = unknown> {
67
64
  */
68
65
  toString(): string;
69
66
  getDefaultConfig(): UmbModalConfig | undefined;
67
+ getDefaultData(): ModalDataType | undefined;
70
68
  }
71
69
 
72
70
  /**
@@ -208,23 +206,13 @@ interface UmbContextDebuggerModalData {
208
206
  }
209
207
  declare const UMB_CONTEXT_DEBUGGER_MODAL: UmbModalToken$1<UmbContextDebuggerModalData, unknown>;
210
208
 
211
- interface UmbDocumentPickerModalData {
212
- multiple?: boolean;
213
- selection?: Array<string>;
214
- }
215
- interface UmbDocumentPickerModalResult {
216
- selection: Array<string>;
217
- }
218
- declare const UMB_DOCUMENT_PICKER_MODAL: UmbModalToken$1<UmbDocumentPickerModalData, UmbDocumentPickerModalResult>;
209
+ type UmbDocumentPickerModalData = UmbTreePickerModalData$1<DocumentTreeItemResponseModel>;
210
+ type UmbDocumentPickerModalResult = UmbPickerModalResult$1;
211
+ declare const UMB_DOCUMENT_PICKER_MODAL: UmbModalToken$1<UmbDocumentPickerModalData, UmbPickerModalResult$1>;
219
212
 
220
- interface UmbDocumentTypePickerModalData {
221
- multiple?: boolean;
222
- selection?: Array<string>;
223
- }
224
- interface UmbDocumentTypePickerModalResult {
225
- selection: Array<string>;
226
- }
227
- declare const UMB_DOCUMENT_TYPE_PICKER_MODAL: UmbModalToken$1<UmbDocumentTypePickerModalData, UmbDocumentTypePickerModalResult>;
213
+ type UmbDocumentTypePickerModalData = UmbTreePickerModalData$1<EntityTreeItemResponseModel>;
214
+ type UmbDocumentTypePickerModalResult = UmbPickerModalResult$1;
215
+ declare const UMB_DOCUMENT_TYPE_PICKER_MODAL: UmbModalToken$1<UmbDocumentTypePickerModalData, UmbPickerModalResult$1>;
228
216
 
229
217
  declare enum OEmbedStatus {
230
218
  NotSupported = 0,
@@ -267,8 +255,8 @@ interface UmbExportDictionaryModalResult {
267
255
  declare const UMB_EXPORT_DICTIONARY_MODAL: UmbModalToken$1<UmbExportDictionaryModalData, UmbExportDictionaryModalResult>;
268
256
 
269
257
  interface UmbIconPickerModalData {
270
- multiple: boolean;
271
- selection: string[];
258
+ color: string | undefined;
259
+ icon: string | undefined;
272
260
  }
273
261
  interface UmbIconPickerModalResult {
274
262
  color: string | undefined;
@@ -289,11 +277,11 @@ declare const UMB_INVITE_USER_MODAL: UmbModalToken$1<object, unknown>;
289
277
 
290
278
  interface UmbLanguagePickerModalData {
291
279
  multiple?: boolean;
292
- selection?: Array<string>;
280
+ selection?: Array<string | null>;
293
281
  filter?: (language: LanguageResponseModel) => boolean;
294
282
  }
295
283
  interface UmbLanguagePickerModalResult {
296
- selection: Array<string>;
284
+ selection: Array<string | null>;
297
285
  }
298
286
  declare const UMB_LANGUAGE_PICKER_MODAL: UmbModalToken$1<UmbLanguagePickerModalData, UmbLanguagePickerModalResult>;
299
287
 
@@ -323,14 +311,9 @@ interface UmbLinkPickerConfig {
323
311
  }
324
312
  declare const UMB_LINK_PICKER_MODAL: UmbModalToken$1<UmbLinkPickerModalData, UmbLinkPickerModalResult>;
325
313
 
326
- interface UmbMediaPickerModalData {
327
- multiple?: boolean;
328
- selection: Array<string>;
329
- }
330
- interface UmbMediaPickerModalResult {
331
- selection: Array<string>;
332
- }
333
- declare const UMB_MEDIA_PICKER_MODAL: UmbModalToken$1<UmbMediaPickerModalData, UmbMediaPickerModalResult>;
314
+ type UmbMediaTreePickerModalData = UmbTreePickerModalData$1<ContentTreeItemResponseModel>;
315
+ type UmbMediaTreePickerModalResult = UmbPickerModalResult$1;
316
+ declare const UMB_MEDIA_TREE_PICKER_MODAL: UmbModalToken$1<UmbMediaTreePickerModalData, UmbPickerModalResult$1>;
334
317
 
335
318
  interface UmbPropertyEditorUIPickerModalData {
336
319
  selection?: Array<string>;
@@ -360,9 +343,12 @@ declare const UMB_SEARCH_MODAL: UmbModalToken$1<object, unknown>;
360
343
 
361
344
  interface UmbSectionPickerModalData {
362
345
  multiple: boolean;
363
- selection: string[];
346
+ selection: Array<string | null>;
364
347
  }
365
- declare const UMB_SECTION_PICKER_MODAL: UmbModalToken$1<UmbSectionPickerModalData, unknown>;
348
+ interface UmbSectionPickerModalResult {
349
+ selection: Array<string | null>;
350
+ }
351
+ declare const UMB_SECTION_PICKER_MODAL: UmbModalToken$1<UmbSectionPickerModalData, UmbSectionPickerModalResult>;
366
352
 
367
353
  interface UmbTemplateModalData {
368
354
  id: string;
@@ -373,18 +359,17 @@ interface UmbTemplateModalResult {
373
359
  }
374
360
  declare const UMB_TEMPLATE_MODAL: UmbModalToken$1<UmbTemplateModalData, UmbTemplateModalResult>;
375
361
 
376
- interface UmbTemplatePickerModalData {
377
- multiple: boolean;
378
- selection: string[];
379
- }
380
- interface UmbTemplatePickerModalResult {
381
- selection: string[] | undefined;
382
- }
383
- declare const UMB_TEMPLATE_PICKER_MODAL: UmbModalToken$1<UmbTemplatePickerModalData, UmbTemplatePickerModalResult>;
362
+ type UmbTemplatePickerModalData = UmbTreePickerModalData$1<EntityTreeItemResponseModel>;
363
+ type UmbTemplatePickerModalResult = UmbPickerModalResult$1;
364
+ declare const UMB_TEMPLATE_PICKER_MODAL: UmbModalToken$1<UmbTemplatePickerModalData, UmbPickerModalResult$1>;
384
365
 
385
- declare const UMB_USER_GROUP_PICKER_MODAL: UmbModalToken$1<UmbPickerModalData$1<UserDetails>, unknown>;
366
+ declare const UMB_USER_GROUP_PICKER_MODAL: UmbModalToken$1<UmbPickerModalData$1<any>, unknown>;
386
367
 
387
- declare const UMB_USER_PICKER_MODAL: UmbModalToken$1<UmbPickerModalData$1<UserDetails>, unknown>;
368
+ type UmbUserPickerModalData = UmbPickerModalData$1<UserResponseModel>;
369
+ interface UmbUserPickerModalResult {
370
+ selection: Array<string | null>;
371
+ }
372
+ declare const UMB_USER_PICKER_MODAL: UmbModalToken$1<UmbUserPickerModalData, UmbUserPickerModalResult>;
388
373
 
389
374
  interface UmbFolderModalData {
390
375
  repositoryAlias: string;
@@ -395,13 +380,41 @@ interface UmbFolderModalResult {
395
380
  }
396
381
  declare const UMB_FOLDER_MODAL: UmbModalToken$1<UmbFolderModalData, UmbFolderModalResult>;
397
382
 
398
- interface UmbPickerModalData<T> {
383
+ interface UmbPartialViewPickerModalData {
399
384
  multiple: boolean;
400
- selection: Array<string>;
401
- filter?: (language: T) => boolean;
385
+ selection: string[];
402
386
  }
403
- interface UmbPickerModalResult<T> {
404
- selection: Array<string>;
387
+ interface UmbPartialViewPickerModalResult {
388
+ selection: Array<string | null> | undefined;
389
+ }
390
+ declare const UMB_PARTIAL_VIEW_PICKER_MODAL_ALIAS = "Umb.Modal.PartialViewPicker";
391
+ declare const UMB_PARTIAL_VIEW_PICKER_MODAL: UmbModalToken$1<UmbPartialViewPickerModalData, UmbPartialViewPickerModalResult>;
392
+
393
+ interface UmbDictionaryItemPickerModalData {
394
+ multiple: boolean;
395
+ selection: string[];
396
+ }
397
+ interface UmbDictionaryItemPickerModalResult {
398
+ selection: Array<string | null>;
399
+ }
400
+ declare const UMB_DICTIONARY_ITEM_PICKER_MODAL_ALIAS = "Umb.Modal.DictionaryItemPicker";
401
+ declare const UMB_DICTIONARY_ITEM_PICKER_MODAL: UmbModalToken$1<UmbDictionaryItemPickerModalData, UmbDictionaryItemPickerModalResult>;
402
+
403
+ type UmbDataTypePickerModalData = UmbTreePickerModalData$1<FolderTreeItemResponseModel>;
404
+ type UmbDataTypePickerModalResult = UmbPickerModalResult$1;
405
+ declare const UMB_DATA_TYPE_PICKER_MODAL: UmbModalToken$1<UmbDataTypePickerModalData, UmbPickerModalResult$1>;
406
+
407
+ interface UmbPickerModalData<ItemType> {
408
+ multiple?: boolean;
409
+ selection?: Array<string | null>;
410
+ filter?: (item: ItemType) => boolean;
411
+ pickableFilter?: (item: ItemType) => boolean;
412
+ }
413
+ interface UmbPickerModalResult {
414
+ selection: Array<string | null>;
415
+ }
416
+ interface UmbTreePickerModalData<TreeItemType> extends UmbPickerModalData<TreeItemType> {
417
+ treeAlias?: string;
405
418
  }
406
419
 
407
- export { OEmbedResult, OEmbedStatus, UMB_ALLOWED_DOCUMENT_TYPES_MODAL, UMB_CHANGE_PASSWORD_MODAL, UMB_CONFIRM_MODAL, UMB_CONTEXT_DEBUGGER_MODAL, UMB_CREATE_DICTIONARY_MODAL, UMB_CREATE_USER_MODAL, UMB_CURRENT_USER_MODAL, UMB_DOCUMENT_PICKER_MODAL, UMB_DOCUMENT_TYPE_PICKER_MODAL, UMB_EMBEDDED_MEDIA_MODAL, UMB_EXAMINE_FIELDS_SETTINGS_MODAL, UMB_EXPORT_DICTIONARY_MODAL, UMB_FOLDER_MODAL, UMB_ICON_PICKER_MODAL, UMB_IMPORT_DICTIONARY_MODAL, UMB_INVITE_USER_MODAL, UMB_LANGUAGE_PICKER_MODAL, UMB_LINK_PICKER_MODAL, UMB_MEDIA_PICKER_MODAL, UMB_MODAL_CONTEXT_TOKEN, UMB_PROPERTY_EDITOR_UI_PICKER_MODAL, UMB_PROPERTY_SETTINGS_MODAL, UMB_SEARCH_MODAL, UMB_SECTION_PICKER_MODAL, UMB_TEMPLATE_MODAL, UMB_TEMPLATE_PICKER_MODAL, UMB_USER_GROUP_PICKER_MODAL, UMB_USER_PICKER_MODAL, UmbAllowedDocumentTypesModalData, UmbAllowedDocumentTypesModalResult, UmbChangePasswordModalData, UmbConfirmModalData, UmbConfirmModalResult, UmbContextDebuggerModalData, UmbCreateDictionaryModalData, UmbCreateDictionaryModalResult, UmbCreateDocumentModalResultData, UmbDocumentPickerModalData, UmbDocumentPickerModalResult, UmbDocumentTypePickerModalData, UmbDocumentTypePickerModalResult, UmbEmbeddedMediaModalData, UmbEmbeddedMediaModalResult, UmbExamineFieldsSettingsModalData, UmbExportDictionaryModalData, UmbExportDictionaryModalResult, UmbFolderModalData, UmbFolderModalResult, UmbIconPickerModalData, UmbIconPickerModalResult, UmbImportDictionaryModalData, UmbImportDictionaryModalResult, UmbLanguagePickerModalData, UmbLanguagePickerModalResult, UmbLinkPickerConfig, UmbLinkPickerLink, UmbLinkPickerModalData, UmbLinkPickerModalResult, UmbMediaPickerModalData, UmbMediaPickerModalResult, UmbModalConfig, UmbModalContext, UmbModalHandler, UmbModalHandlerClass, UmbModalRouteBuilder, UmbModalRouteRegistration, UmbModalRouteRegistrationController, UmbModalToken, UmbModalType, UmbPickerModalData, UmbPickerModalResult, UmbPropertyEditorUIPickerModalData, UmbPropertyEditorUIPickerModalResult, UmbPropertySettingsModalResult, UmbSectionPickerModalData, UmbTemplateModalData, UmbTemplateModalResult, UmbTemplatePickerModalData, UmbTemplatePickerModalResult };
420
+ export { OEmbedResult, OEmbedStatus, UMB_ALLOWED_DOCUMENT_TYPES_MODAL, UMB_CHANGE_PASSWORD_MODAL, UMB_CONFIRM_MODAL, UMB_CONTEXT_DEBUGGER_MODAL, UMB_CREATE_DICTIONARY_MODAL, UMB_CREATE_USER_MODAL, UMB_CURRENT_USER_MODAL, UMB_DATA_TYPE_PICKER_MODAL, UMB_DICTIONARY_ITEM_PICKER_MODAL, UMB_DICTIONARY_ITEM_PICKER_MODAL_ALIAS, UMB_DOCUMENT_PICKER_MODAL, UMB_DOCUMENT_TYPE_PICKER_MODAL, UMB_EMBEDDED_MEDIA_MODAL, UMB_EXAMINE_FIELDS_SETTINGS_MODAL, UMB_EXPORT_DICTIONARY_MODAL, UMB_FOLDER_MODAL, UMB_ICON_PICKER_MODAL, UMB_IMPORT_DICTIONARY_MODAL, UMB_INVITE_USER_MODAL, UMB_LANGUAGE_PICKER_MODAL, UMB_LINK_PICKER_MODAL, UMB_MEDIA_TREE_PICKER_MODAL, UMB_MODAL_CONTEXT_TOKEN, UMB_PARTIAL_VIEW_PICKER_MODAL, UMB_PARTIAL_VIEW_PICKER_MODAL_ALIAS, UMB_PROPERTY_EDITOR_UI_PICKER_MODAL, UMB_PROPERTY_SETTINGS_MODAL, UMB_SEARCH_MODAL, UMB_SECTION_PICKER_MODAL, UMB_TEMPLATE_MODAL, UMB_TEMPLATE_PICKER_MODAL, UMB_USER_GROUP_PICKER_MODAL, UMB_USER_PICKER_MODAL, UmbAllowedDocumentTypesModalData, UmbAllowedDocumentTypesModalResult, UmbChangePasswordModalData, UmbConfirmModalData, UmbConfirmModalResult, UmbContextDebuggerModalData, UmbCreateDictionaryModalData, UmbCreateDictionaryModalResult, UmbCreateDocumentModalResultData, UmbDataTypePickerModalData, UmbDataTypePickerModalResult, UmbDictionaryItemPickerModalData, UmbDictionaryItemPickerModalResult, UmbDocumentPickerModalData, UmbDocumentPickerModalResult, UmbDocumentTypePickerModalData, UmbDocumentTypePickerModalResult, UmbEmbeddedMediaModalData, UmbEmbeddedMediaModalResult, UmbExamineFieldsSettingsModalData, UmbExportDictionaryModalData, UmbExportDictionaryModalResult, UmbFolderModalData, UmbFolderModalResult, UmbIconPickerModalData, UmbIconPickerModalResult, UmbImportDictionaryModalData, UmbImportDictionaryModalResult, UmbLanguagePickerModalData, UmbLanguagePickerModalResult, UmbLinkPickerConfig, UmbLinkPickerLink, UmbLinkPickerModalData, UmbLinkPickerModalResult, UmbMediaTreePickerModalData, UmbMediaTreePickerModalResult, UmbModalConfig, UmbModalContext, UmbModalHandler, UmbModalHandlerClass, UmbModalRouteBuilder, UmbModalRouteRegistration, UmbModalRouteRegistrationController, UmbModalToken, UmbModalType, UmbPartialViewPickerModalData, UmbPartialViewPickerModalResult, UmbPickerModalData, UmbPickerModalResult, UmbPropertyEditorUIPickerModalData, UmbPropertyEditorUIPickerModalResult, UmbPropertySettingsModalResult, UmbSectionPickerModalData, UmbSectionPickerModalResult, UmbTemplateModalData, UmbTemplateModalResult, UmbTemplatePickerModalData, UmbTemplatePickerModalResult, UmbTreePickerModalData, UmbUserPickerModalData, UmbUserPickerModalResult };
package/models.d.ts CHANGED
@@ -1,80 +1,13 @@
1
- import { EntityTreeItemResponseModel, FolderTreeItemResponseModel, PackageManifestResponseModel } from './backend-api';
2
-
3
1
  type HTMLElementConstructor<T = HTMLElement> = new (...args: any[]) => T;
4
2
  type ClassConstructor<T> = new (...args: any[]) => T;
5
- interface Entity {
6
- id: string;
7
- name: string;
8
- icon: string;
9
- type: string;
10
- hasChildren: boolean;
11
- parentId: string | null;
12
- }
13
3
  /** Tried to find a common base of our entities — used by Entity Workspace Context */
14
- type BaseEntity = {
4
+ type UmbEntityBase = {
15
5
  id?: string;
16
6
  name?: string;
17
7
  };
18
- interface UserEntity extends Entity {
19
- type: 'user';
20
- }
21
- type UserStatus = 'enabled' | 'inactive' | 'invited' | 'disabled';
22
- interface UserDetails extends UserEntity {
23
- email: string;
24
- status: UserStatus;
25
- language: string;
26
- lastLoginDate?: string;
27
- lastLockoutDate?: string;
28
- lastPasswordChangeDate?: string;
29
- updateDate: string;
30
- createDate: string;
31
- failedLoginAttempts: number;
32
- userGroups: Array<string>;
33
- contentStartNodes: Array<string>;
34
- mediaStartNodes: Array<string>;
35
- }
36
- interface UserGroupEntity extends Entity {
37
- type: 'user-group';
38
- }
39
- interface UserGroupDetails extends UserGroupEntity {
40
- sections: Array<string>;
41
- contentStartNode?: string;
42
- mediaStartNode?: string;
43
- permissions: Array<string>;
44
- }
45
- interface MemberTypeDetails extends EntityTreeItemResponseModel {
46
- id: string;
47
- alias: string;
48
- properties: [];
49
- }
50
- interface MediaTypeDetails extends FolderTreeItemResponseModel {
51
- id: string;
52
- alias: string;
53
- properties: [];
54
- }
55
- interface MemberGroupDetails extends EntityTreeItemResponseModel {
56
- id: string;
57
- }
58
- interface MemberDetails extends EntityTreeItemResponseModel {
59
- id: string;
60
- }
61
- interface DocumentBlueprintDetails {
62
- id: string;
63
- name: string;
64
- type: 'document-blueprint';
65
- properties: Array<any>;
66
- data: Array<any>;
67
- icon: string;
68
- documentTypeKey: string;
69
- }
70
- interface SwatchDetails {
8
+ interface UmbSwatchDetails {
71
9
  label: string;
72
10
  value: string;
73
11
  }
74
- type UmbPackage = PackageManifestResponseModel;
75
- type PackageManifestResponse = UmbPackage[];
76
- type UmbPackageWithMigrationStatus = UmbPackage & {
77
- hasPendingMigrations: boolean;
78
- };
79
12
 
80
- export { BaseEntity, ClassConstructor, DocumentBlueprintDetails, Entity, HTMLElementConstructor, MediaTypeDetails, MemberDetails, MemberGroupDetails, MemberTypeDetails, PackageManifestResponse, SwatchDetails, UmbPackage, UmbPackageWithMigrationStatus, UserDetails, UserEntity, UserGroupDetails, UserGroupEntity, UserStatus };
13
+ export { ClassConstructor, HTMLElementConstructor, UmbEntityBase, UmbSwatchDetails };
package/notification.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as rxjs from 'rxjs';
2
- import { UmbContextToken } from './context-api';
2
+ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
3
3
 
4
4
  /**
5
5
  * @export
@@ -1,6 +1,6 @@
1
1
  import * as rxjs from 'rxjs';
2
2
  import { Observable, BehaviorSubject } from 'rxjs';
3
- import { UmbControllerInterface, UmbControllerHostElement } from './controller';
3
+ import { UmbControllerInterface, UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
4
4
 
5
5
  declare class UmbObserver<T> {
6
6
  #private;
@@ -261,6 +261,18 @@ declare function createObservablePart<R, T>(source$: Observable<T>, mappingFunct
261
261
  */
262
262
  declare function appendToFrozenArray<T>(data: T[], entry: T, getUniqueMethod?: (entry: T) => unknown): T[];
263
263
 
264
+ /**
265
+ * @export
266
+ * @method filterFrozenArray
267
+ * @param {Array<T>} data - RxJS Subject to use for this Observable.
268
+ * @param {(entry: T) => boolean} filterMethod - Method to filter the array.
269
+ * @description - Creates a RxJS Observable from RxJS Subject.
270
+ * @example <caption>Example remove an entry of a ArrayState or a part of DeepState/ObjectState it which is an array. Where the key is unique and the item will be updated if matched with existing.</caption>
271
+ * const newDataSet = filterFrozenArray(mySubject.getValue(), x => x.id !== "myKey");
272
+ * mySubject.next(newDataSet);
273
+ */
274
+ declare function filterFrozenArray<T>(data: T[], filterMethod: (entry: T) => boolean): T[];
275
+
264
276
  /**
265
277
  * @export
266
278
  * @method partialUpdateFrozenArray
@@ -275,4 +287,4 @@ declare function appendToFrozenArray<T>(data: T[], entry: T, getUniqueMethod?: (
275
287
  */
276
288
  declare function partialUpdateFrozenArray<T>(data: T[], partialEntry: Partial<T>, findMethod: (entry: T) => boolean): T[];
277
289
 
278
- export { MappingFunction, UmbArrayState, UmbBasicState, UmbBooleanState, UmbClassState, UmbDeepState, UmbNumberState, UmbObjectState, UmbObserver, UmbObserverController, UmbStringState, appendToFrozenArray, createObservablePart, partialUpdateFrozenArray };
290
+ export { MappingFunction, UmbArrayState, UmbBasicState, UmbBooleanState, UmbClassState, UmbDeepState, UmbNumberState, UmbObjectState, UmbObserver, UmbObserverController, UmbStringState, appendToFrozenArray, createObservablePart, filterFrozenArray, partialUpdateFrozenArray };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umbraco-cms/backoffice",
3
- "version": "1.0.0-next.3b4f30db",
3
+ "version": "1.0.0-next.3bcfb12e",
4
4
  "license": "MIT",
5
5
  "keywords": [
6
6
  "umbraco",
@@ -26,7 +26,7 @@
26
26
  ],
27
27
  "peerDependencies": {
28
28
  "@types/uuid": "^9.0.1",
29
- "@umbraco-ui/uui": "^1.2.0-rc.0",
29
+ "@umbraco-ui/uui": "1.2.1",
30
30
  "rxjs": "^7.8.0"
31
31
  },
32
32
  "customElements": "custom-elements.json"
@@ -0,0 +1,25 @@
1
+ import * as rxjs from 'rxjs';
2
+ import { UmbItemRepository } from '@umbraco-cms/backoffice/repository';
3
+ import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
4
+ import { UmbModalToken, UmbModalContext, UmbPickerModalData } from '@umbraco-cms/backoffice/modal';
5
+ import { ItemResponseModelBaseModel } from '@umbraco-cms/backoffice/backend-api';
6
+
7
+ declare class UmbPickerInputContext<ItemType extends ItemResponseModelBaseModel> {
8
+ #private;
9
+ host: UmbControllerHostElement;
10
+ modalAlias: string | UmbModalToken;
11
+ repository?: UmbItemRepository<ItemType>;
12
+ modalContext?: UmbModalContext;
13
+ pickableFilter?: (item: ItemType) => boolean;
14
+ selection: rxjs.Observable<string[]>;
15
+ selectedItems: rxjs.Observable<ItemType[]>;
16
+ max: number;
17
+ min: number;
18
+ constructor(host: UmbControllerHostElement, repositoryAlias: string, modalAlias: string | UmbModalToken, getUniqueMethod?: (entry: ItemType) => string | undefined);
19
+ getSelection(): string[];
20
+ setSelection(selection: string[]): void;
21
+ openPicker(pickerData?: Partial<UmbPickerModalData<ItemType>>): void;
22
+ requestRemoveItem(unique: string): Promise<void>;
23
+ }
24
+
25
+ export { UmbPickerInputContext };
package/repository.d.ts CHANGED
@@ -1,16 +1,19 @@
1
- import { ProblemDetailsModel, FolderReponseModel, CreateFolderRequestModel, UpdateFolderReponseModel, FolderModelBaseModel } from './backend-api';
2
- import { DataSourceResponse as DataSourceResponse$1 } from './repository';
1
+ import { ApiError, CancelError, FolderReponseModel, CreateFolderRequestModel, UpdateFolderReponseModel, TreeItemPresentationModel, ProblemDetailsModel, FolderModelBaseModel, ItemResponseModelBaseModel } from '@umbraco-cms/backoffice/backend-api';
2
+ import { DataSourceResponse as DataSourceResponse$1, UmbDataSourceErrorResponse as UmbDataSourceErrorResponse$1 } from '@umbraco-cms/backoffice/repository';
3
3
  import { Observable } from 'rxjs';
4
+ import { UmbTreeRootModel, UmbTreeRootEntityModel } from '@umbraco-cms/backoffice/tree';
4
5
 
5
- interface DataSourceResponse<T = undefined> {
6
+ interface DataSourceResponse<T = undefined> extends UmbDataSourceErrorResponse {
6
7
  data?: T;
7
- error?: ProblemDetailsModel;
8
+ }
9
+ interface UmbDataSourceErrorResponse {
10
+ error?: ApiError | CancelError;
8
11
  }
9
12
 
10
- interface UmbDataSource<CreateRequestType, UpdateRequestType, ResponseType> {
13
+ interface UmbDataSource<CreateRequestType, CreateResponseType, UpdateRequestType, ResponseType> {
11
14
  createScaffold(parentId: string | null): Promise<DataSourceResponse$1<CreateRequestType>>;
12
15
  get(unique: string): Promise<DataSourceResponse$1<ResponseType>>;
13
- insert(data: CreateRequestType): Promise<any>;
16
+ insert(data: CreateRequestType): Promise<DataSourceResponse$1<CreateResponseType>>;
14
17
  update(unique: string, data: UpdateRequestType): Promise<DataSourceResponse$1<ResponseType>>;
15
18
  delete(unique: string): Promise<DataSourceResponse$1>;
16
19
  }
@@ -23,10 +26,56 @@ interface UmbFolderDataSource {
23
26
  delete(unique: string): Promise<DataSourceResponse>;
24
27
  }
25
28
 
26
- interface UmbTreeDataSource<PagedItemsType = any, ItemsType = any> {
27
- getRootItems(): Promise<DataSourceResponse$1<PagedItemsType>>;
28
- getChildrenOf(parentUnique: string): Promise<DataSourceResponse$1<PagedItemsType>>;
29
- getItems(unique: Array<string>): Promise<DataSourceResponse$1<Array<ItemsType>>>;
29
+ interface UmbPagedData<T> {
30
+ total: number;
31
+ items: Array<T>;
32
+ }
33
+ interface UmbTreeRepository<TreeItemType extends TreeItemPresentationModel, TreeRootType extends UmbTreeRootModel = UmbTreeRootEntityModel> {
34
+ requestTreeRoot: () => Promise<{
35
+ data?: TreeRootType;
36
+ error?: ProblemDetailsModel;
37
+ }>;
38
+ requestRootTreeItems: () => Promise<{
39
+ data?: UmbPagedData<TreeItemType>;
40
+ error?: ProblemDetailsModel;
41
+ asObservable?: () => Observable<TreeItemType[]>;
42
+ }>;
43
+ requestTreeItemsOf: (parentUnique: string | null) => Promise<{
44
+ data?: UmbPagedData<TreeItemType>;
45
+ error?: ProblemDetailsModel;
46
+ asObservable?: () => Observable<TreeItemType[]>;
47
+ }>;
48
+ requestItemsLegacy?: (uniques: string[]) => Promise<{
49
+ data?: Array<TreeItemType>;
50
+ error?: ProblemDetailsModel;
51
+ asObservable?: () => Observable<any[]>;
52
+ }>;
53
+ rootTreeItems: () => Promise<Observable<TreeItemType[]>>;
54
+ treeItemsOf: (parentUnique: string | null) => Promise<Observable<TreeItemType[]>>;
55
+ itemsLegacy?: (uniques: string[]) => Promise<Observable<any[]>>;
56
+ }
57
+
58
+ interface UmbTreeDataSource<ItemType = any, PagedItemType = UmbPagedData<ItemType>> {
59
+ getRootItems(): Promise<DataSourceResponse<PagedItemType>>;
60
+ getChildrenOf(parentUnique: string | null): Promise<DataSourceResponse<PagedItemType>>;
61
+ getItems(unique: Array<string>): Promise<DataSourceResponse<Array<any>>>;
62
+ }
63
+
64
+ interface UmbItemDataSource<ItemType> {
65
+ getItems(unique: Array<string>): Promise<DataSourceResponse$1<Array<ItemType>>>;
66
+ }
67
+
68
+ interface UmbMoveDataSource {
69
+ move(unique: string, targetUnique: string | null): Promise<UmbDataSourceErrorResponse$1>;
70
+ }
71
+
72
+ interface UmbCopyDataSource {
73
+ copy(unique: string, targetUnique: string | null): Promise<DataSourceResponse$1<string>>;
74
+ }
75
+
76
+ interface UmbCollectionDataSource<ItemType = any, PagedItemType = UmbPagedData<ItemType>> {
77
+ getCollection(): Promise<DataSourceResponse<PagedItemType>>;
78
+ filterCollection(filter: any): Promise<DataSourceResponse<PagedItemType>>;
30
79
  }
31
80
 
32
81
  interface UmbRepositoryErrorResponse {
@@ -35,39 +84,15 @@ interface UmbRepositoryErrorResponse {
35
84
  interface UmbRepositoryResponse<T> extends UmbRepositoryErrorResponse {
36
85
  data?: T;
37
86
  }
38
- interface UmbDetailRepository<CreateRequestType = any, UpdateRequestType = any, ResponseType = any> {
87
+ interface UmbDetailRepository<CreateRequestType = any, CreateResponseType = any, UpdateRequestType = any, ResponseType = any> {
39
88
  createScaffold(parentId: string | null): Promise<UmbRepositoryResponse<CreateRequestType>>;
40
89
  requestById(id: string): Promise<UmbRepositoryResponse<ResponseType>>;
41
- create(data: CreateRequestType): Promise<UmbRepositoryErrorResponse>;
90
+ byId(id: string): Promise<Observable<ResponseType>>;
91
+ create(data: CreateRequestType): Promise<UmbRepositoryResponse<CreateResponseType>>;
42
92
  save(id: string, data: UpdateRequestType): Promise<UmbRepositoryErrorResponse>;
43
93
  delete(id: string): Promise<UmbRepositoryErrorResponse>;
44
94
  }
45
95
 
46
- interface UmbPagedData<T> {
47
- total: number;
48
- items: Array<T>;
49
- }
50
- interface UmbTreeRepository<ItemType = any, PagedItemType = UmbPagedData<ItemType>> {
51
- requestRootTreeItems: () => Promise<{
52
- data: PagedItemType | undefined;
53
- error: ProblemDetailsModel | undefined;
54
- asObservable?: () => Observable<ItemType[]>;
55
- }>;
56
- requestTreeItemsOf: (parentUnique: string | null) => Promise<{
57
- data: PagedItemType | undefined;
58
- error: ProblemDetailsModel | undefined;
59
- asObservable?: () => Observable<ItemType[]>;
60
- }>;
61
- requestTreeItems: (uniques: string[]) => Promise<{
62
- data: Array<ItemType> | undefined;
63
- error: ProblemDetailsModel | undefined;
64
- asObservable?: () => Observable<ItemType[]>;
65
- }>;
66
- rootTreeItems: () => Promise<Observable<ItemType[]>>;
67
- treeItemsOf: (parentUnique: string | null) => Promise<Observable<ItemType[]>>;
68
- treeItems: (uniques: string[]) => Promise<Observable<ItemType[]>>;
69
- }
70
-
71
96
  interface UmbFolderRepository {
72
97
  createFolderScaffold(parentId: string | null): Promise<{
73
98
  data?: FolderReponseModel;
@@ -90,4 +115,25 @@ interface UmbFolderRepository {
90
115
  }>;
91
116
  }
92
117
 
93
- export { DataSourceResponse, UmbDataSource, UmbDetailRepository, UmbFolderDataSource, UmbFolderRepository, UmbPagedData, UmbRepositoryErrorResponse, UmbRepositoryResponse, UmbTreeDataSource, UmbTreeRepository };
118
+ interface UmbCollectionRepository {
119
+ requestCollection(filter?: any): Promise<any>;
120
+ }
121
+
122
+ interface UmbItemRepository<ItemType extends ItemResponseModelBaseModel> {
123
+ requestItems: (uniques: string[]) => Promise<{
124
+ data?: Array<ItemType> | undefined;
125
+ error?: ProblemDetailsModel | undefined;
126
+ asObservable?: () => Observable<Array<ItemType>>;
127
+ }>;
128
+ items: (uniques: string[]) => Promise<Observable<Array<ItemType>>>;
129
+ }
130
+
131
+ interface UmbMoveRepository {
132
+ move(unique: string, targetUnique: string): Promise<UmbRepositoryErrorResponse>;
133
+ }
134
+
135
+ interface UmbCopyRepository {
136
+ copy(unique: string, targetUnique: string): Promise<UmbRepositoryResponse<string>>;
137
+ }
138
+
139
+ export { DataSourceResponse, UmbCollectionDataSource, UmbCollectionRepository, UmbCopyDataSource, UmbCopyRepository, UmbDataSource, UmbDataSourceErrorResponse, UmbDetailRepository, UmbFolderDataSource, UmbFolderRepository, UmbItemDataSource, UmbItemRepository, UmbMoveDataSource, UmbMoveRepository, UmbPagedData, UmbRepositoryErrorResponse, UmbRepositoryResponse, UmbTreeDataSource, UmbTreeRepository };
package/resources.d.ts CHANGED
@@ -1,25 +1,19 @@
1
- import { UmbNotificationOptions } from './notification';
2
- import { ProblemDetailsModel } from './backend-api';
3
- import { UmbController, UmbControllerHostElement } from './controller';
4
- import { DataSourceResponse as DataSourceResponse$1 } from './repository';
1
+ import { UmbNotificationOptions } from '@umbraco-cms/backoffice/notification';
2
+ import { UmbController, UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
3
+ import { DataSourceResponse as DataSourceResponse$1 } from '@umbraco-cms/backoffice/repository';
4
+ import { ApiError, CancelError } from '@umbraco-cms/backoffice/backend-api';
5
5
 
6
6
  declare class UmbResourceController extends UmbController {
7
7
  #private;
8
8
  constructor(host: UmbControllerHostElement, promise: Promise<any>, alias?: string);
9
9
  hostConnected(): void;
10
10
  hostDisconnected(): void;
11
- /**
12
- * Extract the ProblemDetailsModel object from an ApiError.
13
- *
14
- * This assumes that all ApiErrors contain a ProblemDetailsModel object in their body.
15
- */
16
- static toProblemDetailsModel(error: unknown): ProblemDetailsModel | undefined;
17
11
  /**
18
12
  * Base execute function with a try/catch block and return a tuple with the result and the error.
19
13
  */
20
14
  static tryExecute<T>(promise: Promise<T>): Promise<DataSourceResponse$1<T>>;
21
15
  /**
22
- * Wrap the {execute} function in a try/catch block and return the result.
16
+ * Wrap the {tryExecute} function in a try/catch block and return the result.
23
17
  * If the executor function throws an error, then show the details in a notification.
24
18
  */
25
19
  tryExecuteAndNotify<T>(options?: UmbNotificationOptions): Promise<DataSourceResponse$1<T>>;
@@ -38,13 +32,15 @@ declare class UmbResourceController extends UmbController {
38
32
  destroy(): void;
39
33
  }
40
34
 
41
- interface DataSourceResponse<T = undefined> {
35
+ interface DataSourceResponse<T = undefined> extends UmbDataSourceErrorResponse {
42
36
  data?: T;
43
- error?: ProblemDetailsModel;
37
+ }
38
+ interface UmbDataSourceErrorResponse {
39
+ error?: ApiError | CancelError;
44
40
  }
45
41
 
46
42
  declare function tryExecute<T>(promise: Promise<T>): Promise<DataSourceResponse<T>>;
47
43
 
48
- declare function tryExecuteAndNotify<T>(host: UmbControllerHostElement, resource: Promise<T>, options?: UmbNotificationOptions<any>): Promise<DataSourceResponse<T>>;
44
+ declare function tryExecuteAndNotify<T>(host: UmbControllerHostElement, resource: Promise<T>, options?: UmbNotificationOptions): Promise<DataSourceResponse<T>>;
49
45
 
50
46
  export { UmbResourceController, tryExecute, tryExecuteAndNotify };