@umbraco-cms/backoffice 1.0.0-next.d46c6b3e → 1.0.0-next.d4eb00d5

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/router.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { UmbContextToken } from './context-api';
2
- import { UmbControllerHostElement } from './controller';
3
- import { UmbModalRouteRegistration } from './modal';
1
+ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
2
+ import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
3
+ import { UmbModalRouteRegistration } from '@umbraco-cms/backoffice/modal';
4
4
 
5
5
  interface IRouterSlot<D = any, P = any> extends HTMLElement {
6
6
  readonly route: IRoute<D> | null;
@@ -22,7 +22,6 @@ type IRoutingInfo<D = any, P = any> = {
22
22
  };
23
23
  type CustomResolver<D = any, P = any> = ((info: IRoutingInfo<D>) => boolean | void | Promise<boolean> | Promise<void>);
24
24
  type Guard<D = any, P = any> = ((info: IRoutingInfo<D, P>) => boolean | Promise<boolean>);
25
- type Cancel = (() => boolean);
26
25
  type PageComponent = HTMLElement | undefined;
27
26
  type ModuleResolver = Promise<{
28
27
  default: any;
@@ -99,10 +98,6 @@ type Query = {
99
98
  [key: string]: string;
100
99
  };
101
100
  type EventListenerSubscription = (() => void);
102
- /**
103
- * RouterSlot related events.
104
- */
105
- type RouterSlotEvent = "changestate";
106
101
  /**
107
102
  * History related events.
108
103
  */
@@ -377,4 +372,4 @@ declare function generateRoutePathBuilder(path: string): (params: {
377
372
  [key: string]: string | number;
378
373
  }) => string;
379
374
 
380
- export { Cancel, ChangeStateEvent, Class, Component, CustomResolver, EventListenerSubscription, GlobalRouterEvent, Guard, IComponentRoute, IPathFragments, IRedirectRoute, IResolverRoute, IRoute, IRouteBase, IRouteMatch, IRouterSlot, IRoutingInfo, ISlashOptions, ModuleResolver, NavigationCancelEvent, NavigationEndEvent, NavigationErrorEvent, NavigationStartEvent, NavigationSuccessEvent, PageComponent, Params, PathFragment, PathMatch, PushStateEvent, Query, ReplaceStateEvent, RouterSlotEvent, RouterTree, Setup, UMB_ROUTE_CONTEXT_TOKEN, IRoute as UmbRoute, UmbRouteContext, UmbRouteLocation, WillChangeStateEvent, addListener, attachCallback, basePath, constructAbsolutePath, constructPathWithBasePath, dispatchGlobalRouterEvent, dispatchRouteChangeEvent, ensureAnchorHistory, ensureHistoryEvents, ensureSlash, generateRoutePathBuilder, getFragments, handleRedirect, historyPatches, isPathActive, isRedirectRoute, isResolverRoute, matchRoute, matchRoutes, path, pathWithoutBasePath, query, queryParentRoots, queryParentRouterSlot, queryString, removeListeners, resolvePageComponent, saveNativeFunction, shouldNavigate, slashify, stripSlash, stripStart, toQuery, toQueryString, traverseRouterTree };
375
+ export { Guard, IComponentRoute, IRedirectRoute, IResolverRoute, IRoute, IRoutingInfo, PageComponent, Params, Query, UMB_ROUTE_CONTEXT_TOKEN, IRoute as UmbRoute, UmbRouteContext, UmbRouteLocation, addListener, attachCallback, basePath, constructAbsolutePath, constructPathWithBasePath, dispatchGlobalRouterEvent, dispatchRouteChangeEvent, ensureAnchorHistory, ensureHistoryEvents, ensureSlash, generateRoutePathBuilder, getFragments, handleRedirect, historyPatches, isPathActive, isRedirectRoute, isResolverRoute, matchRoute, matchRoutes, path, pathWithoutBasePath, query, queryParentRoots, queryParentRouterSlot, queryString, removeListeners, resolvePageComponent, saveNativeFunction, shouldNavigate, slashify, stripSlash, stripStart, toQuery, toQueryString, traverseRouterTree };
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,8 +1,9 @@
1
1
  import * as rxjs from 'rxjs';
2
2
  import { Observable } from 'rxjs';
3
- import { UmbControllerHostElement } from './controller';
4
- import { EntityTreeItemResponseModel, FileSystemTreeItemPresentationModel } from './backend-api';
5
- 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';
6
7
 
7
8
  interface UmbDataStoreIdentifiers {
8
9
  key?: string;
@@ -38,39 +39,46 @@ interface UmbContentStore<T> extends UmbEntityDetailStore<T> {
38
39
  save(data: T[]): Promise<void>;
39
40
  }
40
41
 
41
- declare class UmbStoreBase {
42
- protected _host: UmbControllerHostElement;
43
- readonly storeAlias: string;
44
- constructor(_host: UmbControllerHostElement, storeAlias: string);
42
+ interface UmbStore<T> {
43
+ appendItems: (items: Array<T>) => void;
44
+ updateItem: (unique: string, item: Partial<T>) => void;
45
+ removeItem: (unique: string) => void;
45
46
  }
46
47
 
47
- /**
48
- * @export
49
- * @class UmbEntityTreeStore
50
- * @extends {UmbStoreBase}
51
- * @description - General Tree Data Store
52
- */
53
- declare class UmbEntityTreeStore extends UmbStoreBase$1 implements UmbTreeStore$1<EntityTreeItemResponseModel> {
54
- #private;
48
+ declare class UmbStoreBase<StoreItemType = any> implements UmbStore<StoreItemType> {
49
+ protected _host: UmbControllerHostElement;
50
+ protected _data: UmbArrayState<StoreItemType>;
51
+ readonly storeAlias: string;
52
+ constructor(_host: UmbControllerHostElement, storeAlias: string, data: UmbArrayState<StoreItemType>);
55
53
  /**
56
54
  * Appends items to the store
57
- * @param {Array<EntityTreeItemResponseModel>} items
55
+ * @param {Array<StoreItemType>} items
58
56
  * @memberof UmbEntityTreeStore
59
57
  */
60
- appendItems(items: Array<EntityTreeItemResponseModel>): void;
58
+ appendItems(items: Array<StoreItemType>): void;
61
59
  /**
62
60
  * Updates an item in the store
63
61
  * @param {string} id
64
- * @param {Partial<EntityTreeItemResponseModel>} data
62
+ * @param {Partial<StoreItemType>} data
65
63
  * @memberof UmbEntityTreeStore
66
64
  */
67
- updateItem(id: string, data: Partial<EntityTreeItemResponseModel>): void;
65
+ updateItem(unique: string, data: Partial<StoreItemType>): void;
68
66
  /**
69
67
  * Removes an item from the store
70
68
  * @param {string} id
71
69
  * @memberof UmbEntityTreeStore
72
70
  */
73
- removeItem(id: string): void;
71
+ removeItem(unique: string): void;
72
+ }
73
+
74
+ /**
75
+ * @export
76
+ * @class UmbEntityTreeStore
77
+ * @extends {UmbStoreBase}
78
+ * @description - Entity Tree Store
79
+ */
80
+ declare class UmbEntityTreeStore extends UmbStoreBase$1<EntityTreeItemResponseModel> implements UmbTreeStore$1<EntityTreeItemResponseModel> {
81
+ constructor(host: UmbControllerHostElement, storeAlias: string);
74
82
  /**
75
83
  * An observable to observe the root items
76
84
  * @memberof UmbEntityTreeStore
@@ -96,29 +104,10 @@ declare class UmbEntityTreeStore extends UmbStoreBase$1 implements UmbTreeStore$
96
104
  * @export
97
105
  * @class UmbFileSystemTreeStore
98
106
  * @extends {UmbStoreBase}
99
- * @description - General Tree Data Store
107
+ * @description - File System Tree Store
100
108
  */
101
- declare class UmbFileSystemTreeStore extends UmbStoreBase$1 implements UmbTreeStore$1<FileSystemTreeItemPresentationModel> {
102
- #private;
103
- /**
104
- * Appends items to the store
105
- * @param {Array<FileSystemTreeItemPresentationModel>} items
106
- * @memberof UmbFileSystemTreeStore
107
- */
108
- appendItems(items: Array<FileSystemTreeItemPresentationModel>): void;
109
- /**
110
- * Updates an item in the store
111
- * @param {string} path
112
- * @param {Partial<FileSystemTreeItemPresentationModel>} data
113
- * @memberof UmbFileSystemTreeStore
114
- */
115
- updateItem(path: string, data: Partial<FileSystemTreeItemPresentationModel>): void;
116
- /**
117
- * Removes an item from the store
118
- * @param {string} path
119
- * @memberof UmbFileSystemTreeStore
120
- */
121
- removeItem(path: string): void;
109
+ declare class UmbFileSystemTreeStore extends UmbStoreBase$1<FileSystemTreeItemPresentationModel> implements UmbTreeStore$1<FileSystemTreeItemPresentationModel> {
110
+ constructor(host: UmbControllerHostElement, storeAlias: string);
122
111
  /**
123
112
  * An observable to observe the root items
124
113
  * @memberof UmbFileSystemTreeStore
@@ -147,13 +136,19 @@ type TreeItemPresentationModel = {
147
136
  hasChildren?: boolean;
148
137
  };
149
138
 
150
- interface UmbTreeStore<T extends TreeItemPresentationModel = any> {
151
- appendItems: (items: Array<T>) => void;
152
- updateItem: (unique: string, item: Partial<T>) => void;
153
- removeItem: (unique: string) => void;
139
+ type ItemResponseModelBaseModel = {
140
+ name?: string;
141
+ id?: string;
142
+ };
143
+
144
+ interface UmbTreeStore<T extends TreeItemPresentationModel = any> extends UmbStore<T> {
154
145
  rootItems: Observable<Array<T>>;
155
146
  childrenOf: (parentUnique: string | null) => Observable<Array<T>>;
156
147
  items: (uniques: Array<string>) => Observable<Array<T>>;
157
148
  }
158
149
 
159
- export { UmbContentStore, UmbDataStore, UmbDataStoreIdentifiers, UmbEntityDetailStore, UmbEntityTreeStore, UmbFileSystemTreeStore, UmbStoreBase, UmbTreeStore };
150
+ interface UmbItemStore<T extends ItemResponseModelBaseModel = any> extends UmbStore<T> {
151
+ items: (uniques: Array<string>) => Observable<Array<T>>;
152
+ }
153
+
154
+ export { UmbContentStore, UmbDataStore, UmbDataStoreIdentifiers, UmbEntityDetailStore, UmbEntityTreeStore, UmbFileSystemTreeStore, UmbItemStore, UmbStoreBase, UmbTreeStore };