@umbraco-cms/backoffice 1.0.0-next.1855dcb1 → 1.0.0-next.186405ee

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/section.d.ts ADDED
@@ -0,0 +1,29 @@
1
+ import * as rxjs from 'rxjs';
2
+ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
3
+ import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
4
+ import { ManifestSection } from '@umbraco-cms/backoffice/extensions-registry';
5
+
6
+ declare class UmbSectionSidebarContext {
7
+ #private;
8
+ contextMenuIsOpen: rxjs.Observable<boolean>;
9
+ entityType: rxjs.Observable<string | undefined>;
10
+ unique: rxjs.Observable<string | null | undefined>;
11
+ headline: rxjs.Observable<string | undefined>;
12
+ constructor(host: UmbControllerHostElement);
13
+ toggleContextMenu(entityType: string, unique: string | null | undefined, headline: string): void;
14
+ openContextMenu(entityType: string, unique: string | null | undefined, headline: string): void;
15
+ closeContextMenu(): void;
16
+ }
17
+ declare const UMB_SECTION_SIDEBAR_CONTEXT_TOKEN: UmbContextToken<UmbSectionSidebarContext>;
18
+
19
+ declare class UmbSectionContext {
20
+ #private;
21
+ readonly alias: rxjs.Observable<string | undefined>;
22
+ readonly pathname: rxjs.Observable<string | undefined>;
23
+ readonly label: rxjs.Observable<string | undefined>;
24
+ constructor(manifest: ManifestSection);
25
+ setManifest(manifest?: ManifestSection): void;
26
+ }
27
+ declare const UMB_SECTION_CONTEXT_TOKEN: UmbContextToken<UmbSectionContext>;
28
+
29
+ export { UMB_SECTION_CONTEXT_TOKEN, UMB_SECTION_SIDEBAR_CONTEXT_TOKEN, UmbSectionContext, UmbSectionSidebarContext };
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
@@ -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,136 @@
1
+ import * as _umbraco_cms_backoffice_backend_api from '@umbraco-cms/backoffice/backend-api';
2
+ import { TreeItemPresentationModel, ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api';
3
+ import * as rxjs from 'rxjs';
4
+ import { Observable } from 'rxjs';
5
+ import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
6
+ import { UmbPagedData as UmbPagedData$1, UmbTreeRepository } from '@umbraco-cms/backoffice/repository';
7
+ import { UmbTreeContextBase as UmbTreeContextBase$1 } from '@umbraco-cms/backoffice/tree';
8
+ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
9
+
10
+ interface UmbTreeContext<TreeItemType extends TreeItemPresentationModel> {
11
+ readonly selectable: Observable<boolean>;
12
+ readonly selection: Observable<Array<string | null>>;
13
+ setSelectable(value: boolean): void;
14
+ getSelectable(): boolean;
15
+ setMultiple(value: boolean): void;
16
+ getMultiple(): boolean;
17
+ setSelection(value: Array<string | null>): void;
18
+ getSelection(): Array<string | null>;
19
+ select(unique: string | null): void;
20
+ deselect(unique: string | null): void;
21
+ requestChildrenOf: (parentUnique: string | null) => Promise<{
22
+ data?: UmbPagedData$1<TreeItemType>;
23
+ error?: ProblemDetailsModel;
24
+ asObservable?: () => Observable<TreeItemType[]>;
25
+ }>;
26
+ }
27
+ declare class UmbTreeContextBase<TreeItemType extends TreeItemPresentationModel> implements UmbTreeContext<TreeItemType> {
28
+ #private;
29
+ host: UmbControllerHostElement;
30
+ readonly selectable: Observable<boolean>;
31
+ readonly multiple: Observable<boolean>;
32
+ readonly selection: Observable<(string | null)[]>;
33
+ repository?: UmbTreeRepository<TreeItemType>;
34
+ selectableFilter?: (item: TreeItemType) => boolean;
35
+ constructor(host: UmbControllerHostElement);
36
+ setTreeAlias(treeAlias?: string): Promise<void>;
37
+ getTreeAlias(): string | undefined;
38
+ setSelectable(value: boolean): void;
39
+ getSelectable(): boolean;
40
+ setMultiple(value: boolean): void;
41
+ getMultiple(): boolean;
42
+ setSelection(value: Array<string | null>): void;
43
+ getSelection(): (string | null)[];
44
+ select(unique: string | null): void;
45
+ deselect(unique: string | null): void;
46
+ requestTreeRoot(): Promise<{
47
+ data?: UmbTreeRootEntityModel | undefined;
48
+ error?: ProblemDetailsModel | undefined;
49
+ }>;
50
+ requestRootItems(): Promise<{
51
+ data?: UmbPagedData$1<TreeItemType> | undefined;
52
+ error?: ProblemDetailsModel | undefined;
53
+ asObservable?: (() => Observable<TreeItemType[]>) | undefined;
54
+ }>;
55
+ requestChildrenOf(parentUnique: string | null): Promise<{
56
+ data?: UmbPagedData$1<TreeItemType> | undefined;
57
+ error?: ProblemDetailsModel | undefined;
58
+ asObservable?: (() => Observable<TreeItemType[]>) | undefined;
59
+ }>;
60
+ rootItems(): Promise<Observable<TreeItemType[]>>;
61
+ childrenOf(parentUnique: string | null): Promise<Observable<TreeItemType[]>>;
62
+ }
63
+
64
+ interface UmbPagedData<T> {
65
+ total: number;
66
+ items: Array<T>;
67
+ }
68
+
69
+ interface UmbTreeItemContext<TreeItemType extends TreeItemPresentationModel> {
70
+ host: UmbControllerHostElement;
71
+ unique?: string | null;
72
+ type?: string;
73
+ treeItem: Observable<TreeItemType | undefined>;
74
+ hasChildren: Observable<boolean>;
75
+ isLoading: Observable<boolean>;
76
+ isSelectable: Observable<boolean>;
77
+ isSelected: Observable<boolean>;
78
+ isActive: Observable<boolean>;
79
+ hasActions: Observable<boolean>;
80
+ path: Observable<string>;
81
+ setTreeItem(treeItem: TreeItemType | undefined): void;
82
+ requestChildren(): Promise<{
83
+ data?: UmbPagedData$1<TreeItemType> | undefined;
84
+ error?: ProblemDetailsModel | undefined;
85
+ asObservable?: () => Observable<TreeItemType[]>;
86
+ }>;
87
+ toggleContextMenu(): void;
88
+ select(): void;
89
+ deselect(): void;
90
+ constructPath(pathname: string, entityType: string, unique: string): string;
91
+ }
92
+
93
+ type UmbTreeItemUniqueFunction<TreeItemType extends TreeItemPresentationModel> = (x: TreeItemType) => string | null | undefined;
94
+ declare class UmbTreeItemContextBase<TreeItemType extends TreeItemPresentationModel> implements UmbTreeItemContext<TreeItemType> {
95
+ #private;
96
+ host: UmbControllerHostElement;
97
+ unique?: string | null;
98
+ type?: string;
99
+ treeItem: rxjs.Observable<TreeItemType | undefined>;
100
+ hasChildren: rxjs.Observable<boolean>;
101
+ isLoading: rxjs.Observable<boolean>;
102
+ isSelectable: rxjs.Observable<boolean>;
103
+ isSelected: rxjs.Observable<boolean>;
104
+ isActive: rxjs.Observable<boolean>;
105
+ hasActions: rxjs.Observable<boolean>;
106
+ path: rxjs.Observable<string>;
107
+ treeContext?: UmbTreeContextBase$1<TreeItemType>;
108
+ constructor(host: UmbControllerHostElement, getUniqueFunction: UmbTreeItemUniqueFunction<TreeItemType>);
109
+ setTreeItem(treeItem: TreeItemType | undefined): void;
110
+ requestChildren(): Promise<{
111
+ data?: UmbPagedData<TreeItemType> | undefined;
112
+ error?: _umbraco_cms_backoffice_backend_api.ProblemDetailsModel | undefined;
113
+ asObservable?: (() => rxjs.Observable<TreeItemType[]>) | undefined;
114
+ }>;
115
+ toggleContextMenu(): void;
116
+ select(): void;
117
+ deselect(): void;
118
+ getTreeItem(): TreeItemType | undefined;
119
+ constructPath(pathname: string, entityType: string, unique: string | null): string;
120
+ }
121
+ declare const UMB_TREE_ITEM_CONTEXT_TOKEN: UmbContextToken<UmbTreeItemContext<any>>;
122
+
123
+ interface UmbTreeRootModel {
124
+ type: string;
125
+ name: string;
126
+ hasChildren: boolean;
127
+ icon?: string;
128
+ }
129
+ interface UmbTreeRootEntityModel extends UmbTreeRootModel {
130
+ id: string | null;
131
+ }
132
+ interface UmbTreeRootFileSystemModel extends UmbTreeRootModel {
133
+ path: string | null;
134
+ }
135
+
136
+ export { UMB_TREE_ITEM_CONTEXT_TOKEN, UmbTreeContext, UmbTreeContextBase, UmbTreeItemContext, UmbTreeItemContextBase, UmbTreeItemUniqueFunction, UmbTreeRootEntityModel, UmbTreeRootFileSystemModel, UmbTreeRootModel };