@umbraco-cms/backoffice 1.0.0-next.f2af51c4 → 1.0.0-next.f63da516

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/sorter.d.ts ADDED
@@ -0,0 +1,103 @@
1
+ import { UmbControllerInterface, UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
2
+
3
+ type INTERNAL_UmbSorterConfig<T> = {
4
+ compareElementToModel: (el: HTMLElement, modelEntry: T) => boolean;
5
+ querySelectModelToElement: (container: HTMLElement, modelEntry: T) => HTMLElement | null;
6
+ identifier: string;
7
+ itemSelector: string;
8
+ disabledItemSelector?: string;
9
+ containerSelector: string;
10
+ ignorerSelector: string;
11
+ placeholderClass: string;
12
+ draggableSelector?: string;
13
+ boundarySelector?: string;
14
+ dataTransferResolver?: (dataTransfer: DataTransfer | null, currentItem: T) => void;
15
+ onStart?: (argument: {
16
+ item: T;
17
+ element: HTMLElement;
18
+ }) => void;
19
+ onChange?: (argument: {
20
+ item: T;
21
+ element: HTMLElement;
22
+ }) => void;
23
+ onContainerChange?: (argument: {
24
+ item: T;
25
+ element: HTMLElement;
26
+ }) => void;
27
+ onEnd?: (argument: {
28
+ item: T;
29
+ element: HTMLElement;
30
+ }) => void;
31
+ onSync?: (argument: {
32
+ item: T;
33
+ fromController: UmbSorterController<T>;
34
+ toController: UmbSorterController<T>;
35
+ }) => void;
36
+ itemHasNestedContainersResolver?: (element: HTMLElement) => boolean;
37
+ onDisallowed?: () => void;
38
+ onAllowed?: () => void;
39
+ onRequestDrop?: (argument: {
40
+ item: T;
41
+ }) => boolean | void;
42
+ resolveVerticalDirection?: (argument: {
43
+ containerElement: Element;
44
+ containerRect: DOMRect;
45
+ item: T;
46
+ element: HTMLElement;
47
+ elementRect: DOMRect;
48
+ relatedElement: HTMLElement;
49
+ relatedRect: DOMRect;
50
+ placeholderIsInThisRow: boolean;
51
+ horizontalPlaceAfter: boolean;
52
+ }) => void;
53
+ performItemInsert?: (argument: {
54
+ item: T;
55
+ newIndex: number;
56
+ }) => Promise<boolean> | boolean;
57
+ performItemRemove?: (argument: {
58
+ item: T;
59
+ }) => Promise<boolean> | boolean;
60
+ };
61
+ type UmbSorterConfig<T> = Omit<INTERNAL_UmbSorterConfig<T>, 'placeholderClass' | 'ignorerSelector' | 'containerSelector'> & Partial<Pick<INTERNAL_UmbSorterConfig<T>, 'placeholderClass' | 'ignorerSelector' | 'containerSelector'>>;
62
+ /**
63
+ * @export
64
+ * @class UmbSorterController
65
+ * @implements {UmbControllerInterface}
66
+ * @description This controller can make user able to sort items.
67
+ */
68
+ declare class UmbSorterController<T> implements UmbControllerInterface {
69
+ #private;
70
+ private _lastIndicationContainerVM;
71
+ get unique(): string;
72
+ constructor(host: UmbControllerHostElement, config: UmbSorterConfig<T>);
73
+ setModel(model: Array<T>): void;
74
+ hostConnected(): void;
75
+ private _onFirstRender;
76
+ hostDisconnected(): void;
77
+ setupItem(element: HTMLElement): void;
78
+ destroyItem(element: HTMLElement): void;
79
+ handleDragStart: (event: DragEvent) => void;
80
+ handleDragEnd: () => Promise<void>;
81
+ handleDragMove: (event: DragEvent) => void;
82
+ moveCurrentElement: () => void;
83
+ move(orderedContainerElements: Array<Element>, newElIndex: number): void;
84
+ /** Management methods: */
85
+ getItemOfElement(element: HTMLElement): T | null | undefined;
86
+ removeItem(item: T): Promise<boolean | T | null>;
87
+ hasOtherItemsThan(item: T): boolean;
88
+ sync(element: HTMLElement, fromVm: UmbSorterController<T>): Promise<boolean>;
89
+ updateAllowIndication(contextVM: UmbSorterController<T>, item: T): boolean;
90
+ removeAllowIndication(): void;
91
+ private autoScrollX;
92
+ private autoScrollY;
93
+ private handleAutoScroll;
94
+ private _performAutoScroll;
95
+ private stopAutoScroll;
96
+ notifySync(data: any): void;
97
+ notifyDisallowed(): void;
98
+ notifyAllowed(): void;
99
+ notifyRequestDrop(data: any): boolean;
100
+ destroy(): void;
101
+ }
102
+
103
+ export { UmbSorterConfig, UmbSorterController };
package/store.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import * as rxjs from 'rxjs';
2
2
  import { Observable } from 'rxjs';
3
- import { UmbControllerHostElement } from './controller';
4
- import { UmbArrayState } from './observable-api';
5
- import { EntityTreeItemResponseModel, FileSystemTreeItemPresentationModel } from './backend-api';
6
- import { UmbStoreBase as UmbStoreBase$1, UmbTreeStore as UmbTreeStore$1 } from './store';
3
+ import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
4
+ import { UmbArrayState } from '@umbraco-cms/backoffice/observable-api';
5
+ import { EntityTreeItemResponseModel, FileSystemTreeItemPresentationModel } from '@umbraco-cms/backoffice/backend-api';
6
+ import { UmbStoreBase as UmbStoreBase$1, UmbTreeStore as UmbTreeStore$1 } from '@umbraco-cms/backoffice/store';
7
7
 
8
8
  interface UmbDataStoreIdentifiers {
9
9
  key?: string;
@@ -97,7 +97,7 @@ declare class UmbEntityTreeStore extends UmbStoreBase$1<EntityTreeItemResponseMo
97
97
  * @return {*}
98
98
  * @memberof UmbEntityTreeStore
99
99
  */
100
- items(ids: Array<string>): rxjs.Observable<EntityTreeItemResponseModel[]>;
100
+ items(ids: Array<string | null>): rxjs.Observable<EntityTreeItemResponseModel[]>;
101
101
  }
102
102
 
103
103
  /**
package/tree.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ interface UmbTreeRootModel {
2
+ type: string;
3
+ name: string;
4
+ hasChildren: boolean;
5
+ icon?: string;
6
+ }
7
+ interface UmbTreeRootEntityModel extends UmbTreeRootModel {
8
+ id: string | null;
9
+ }
10
+ interface UmbTreeRootFileSystemModel extends UmbTreeRootModel {
11
+ path: string | null;
12
+ }
13
+
14
+ export { UmbTreeRootEntityModel, UmbTreeRootFileSystemModel, UmbTreeRootModel };