@umbraco-cms/backoffice 14.0.0--preview004-d15cc388 → 14.0.0--preview004-a47b65d4
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/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.element.js +0 -3
- package/dist-cms/packages/core/components/multiple-color-picker-input/multiple-color-picker-input.element.js +7 -14
- package/dist-cms/packages/core/components/multiple-text-string-input/input-multiple-text-string.element.js +5 -12
- package/dist-cms/packages/core/index.d.ts +0 -1
- package/dist-cms/packages/core/index.js +0 -1
- package/dist-cms/packages/core/sorter/sorter.controller.d.ts +24 -32
- package/dist-cms/packages/core/sorter/sorter.controller.js +185 -187
- package/dist-cms/packages/core/sorter/stories/test-sorter-controller.element.d.ts +2 -1
- package/dist-cms/packages/core/sorter/stories/test-sorter-controller.element.js +11 -2
- package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-properties.element.js +16 -1
- package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-tab.element.js +1 -0
- package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.js +1 -0
- package/dist-cms/packages/media/media-types/workspace/views/design/media-type-workspace-view-edit-properties.element.js +15 -1
- package/dist-cms/packages/media/media-types/workspace/views/design/media-type-workspace-view-edit-tab.element.js +1 -0
- package/dist-cms/packages/media/media-types/workspace/views/design/media-type-workspace-view-edit.element.js +1 -0
- package/dist-cms/packages/templating/stylesheets/workspace/views/rich-text-editor/stylesheet-workspace-view-rich-text-editor.element.js +11 -2
- package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
- package/dist-cms/vscode-html-custom-data.json +1 -1
- package/examples/dashboard-with-property-dataset/index.ts +1 -1
- package/examples/sorter-with-two-containers/README.md +5 -0
- package/examples/sorter-with-two-containers/index.ts +15 -0
- package/examples/sorter-with-two-containers/sorter-dashboard.ts +72 -0
- package/examples/sorter-with-two-containers/sorter-group.ts +118 -0
- package/examples/sorter-with-two-containers/sorter-item.ts +47 -0
- package/package.json +1 -2
- package/dist-cms/packages/core/meta/index.d.ts +0 -5
- package/dist-cms/packages/core/meta/index.js +0 -5
|
@@ -20,7 +20,6 @@ import { defaultFallbackConfig } from './input-tiny-mce.defaults.js';
|
|
|
20
20
|
import { pastePreProcessHandler } from './input-tiny-mce.handlers.js';
|
|
21
21
|
import { availableLanguages } from './input-tiny-mce.languages.js';
|
|
22
22
|
import { uriAttributeSanitizer } from './input-tiny-mce.sanitizer.js';
|
|
23
|
-
import { umbMeta } from '../../meta/index.js';
|
|
24
23
|
import { FormControlMixin } from '../../../../external/uui/index.js';
|
|
25
24
|
import { renderEditor } from '../../../../external/tinymce/index.js';
|
|
26
25
|
import { loadManifestApi } from '../../../../libs/extension-api/index.js';
|
|
@@ -174,8 +173,6 @@ _UmbInputTinyMceElement_setTinyConfig = async function _UmbInputTinyMceElement_s
|
|
|
174
173
|
this._tinyConfig = {
|
|
175
174
|
autoresize_bottom_margin: 10,
|
|
176
175
|
body_class: 'umb-rte',
|
|
177
|
-
//see https://www.tiny.cloud/docs/tinymce/6/editor-important-options/#cache_suffix
|
|
178
|
-
cache_suffix: `?umb__rnd=${umbMeta.clientVersion}`,
|
|
179
176
|
contextMenu: false,
|
|
180
177
|
inline_boundaries_selector: 'a[href],code,.mce-annotation,.umb-embed-holder,.umb-macro-holder',
|
|
181
178
|
menubar: false,
|
|
@@ -21,7 +21,7 @@ const SORTER_CONFIG = {
|
|
|
21
21
|
return element.getAttribute('data-sort-entry-id') === model.value;
|
|
22
22
|
},
|
|
23
23
|
querySelectModelToElement: (container, modelEntry) => {
|
|
24
|
-
return container.querySelector('data-sort-entry-id=
|
|
24
|
+
return container.querySelector('[data-sort-entry-id=' + modelEntry.value + ']');
|
|
25
25
|
},
|
|
26
26
|
identifier: 'Umb.SorterIdentifier.ColorEditor',
|
|
27
27
|
itemSelector: 'umb-multiple-color-picker-item-input',
|
|
@@ -36,17 +36,10 @@ let UmbMultipleColorPickerInputElement = class UmbMultipleColorPickerInputElemen
|
|
|
36
36
|
_UmbMultipleColorPickerInputElement_instances.add(this);
|
|
37
37
|
_UmbMultipleColorPickerInputElement_sorter.set(this, new UmbSorterController(this, {
|
|
38
38
|
...SORTER_CONFIG,
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
frozenArray.splice(args.newIndex, 0, args.item);
|
|
44
|
-
this.items = frozenArray;
|
|
45
|
-
this.dispatchEvent(new UmbChangeEvent());
|
|
46
|
-
return true;
|
|
47
|
-
},
|
|
48
|
-
performItemRemove: (args) => {
|
|
49
|
-
return true;
|
|
39
|
+
onChange: ({ model }) => {
|
|
40
|
+
const oldValue = this._items;
|
|
41
|
+
this._items = model;
|
|
42
|
+
this.requestUpdate('_items', oldValue);
|
|
50
43
|
},
|
|
51
44
|
}));
|
|
52
45
|
/**
|
|
@@ -107,7 +100,7 @@ let UmbMultipleColorPickerInputElement = class UmbMultipleColorPickerInputElemen
|
|
|
107
100
|
_UmbMultipleColorPickerInputElement_sorter = new WeakMap();
|
|
108
101
|
_UmbMultipleColorPickerInputElement_instances = new WeakSet();
|
|
109
102
|
_UmbMultipleColorPickerInputElement_onAdd = function _UmbMultipleColorPickerInputElement_onAdd() {
|
|
110
|
-
this.
|
|
103
|
+
this.items = [...this._items, { value: '', label: '' }];
|
|
111
104
|
this.pristine = false;
|
|
112
105
|
this.dispatchEvent(new UmbChangeEvent());
|
|
113
106
|
__classPrivateFieldGet(this, _UmbMultipleColorPickerInputElement_instances, "m", _UmbMultipleColorPickerInputElement_focusNewItem).call(this);
|
|
@@ -130,7 +123,7 @@ _UmbMultipleColorPickerInputElement_focusNewItem = async function _UmbMultipleCo
|
|
|
130
123
|
};
|
|
131
124
|
_UmbMultipleColorPickerInputElement_deleteItem = function _UmbMultipleColorPickerInputElement_deleteItem(event, itemIndex) {
|
|
132
125
|
event.stopPropagation();
|
|
133
|
-
this.
|
|
126
|
+
this.items = this._items.filter((item, index) => index !== itemIndex);
|
|
134
127
|
this.pristine = false;
|
|
135
128
|
this.dispatchEvent(new UmbChangeEvent());
|
|
136
129
|
};
|
|
@@ -20,7 +20,7 @@ const SORTER_CONFIG = {
|
|
|
20
20
|
return element.getAttribute('data-sort-entry-id') === model.value;
|
|
21
21
|
},
|
|
22
22
|
querySelectModelToElement: (container, modelEntry) => {
|
|
23
|
-
return container.querySelector('data-sort-entry-id=
|
|
23
|
+
return container.querySelector('[data-sort-entry-id=' + modelEntry.value + ']');
|
|
24
24
|
},
|
|
25
25
|
identifier: 'Umb.SorterIdentifier.ColorEditor',
|
|
26
26
|
itemSelector: 'umb-input-multiple-text-string-item',
|
|
@@ -35,17 +35,10 @@ let UmbInputMultipleTextStringElement = class UmbInputMultipleTextStringElement
|
|
|
35
35
|
_UmbInputMultipleTextStringElement_instances.add(this);
|
|
36
36
|
_UmbInputMultipleTextStringElement_prevalueSorter.set(this, new UmbSorterController(this, {
|
|
37
37
|
...SORTER_CONFIG,
|
|
38
|
-
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
frozenArray.splice(args.newIndex, 0, args.item);
|
|
43
|
-
this.items = frozenArray;
|
|
44
|
-
this.dispatchEvent(new UmbChangeEvent());
|
|
45
|
-
return true;
|
|
46
|
-
},
|
|
47
|
-
performItemRemove: (args) => {
|
|
48
|
-
return true;
|
|
38
|
+
onChange: ({ model }) => {
|
|
39
|
+
const oldValue = this._items;
|
|
40
|
+
this._items = model;
|
|
41
|
+
this.requestUpdate('_items', oldValue);
|
|
49
42
|
},
|
|
50
43
|
}));
|
|
51
44
|
/**
|
|
@@ -11,7 +11,6 @@ export * from './extension-registry/index.js';
|
|
|
11
11
|
export * from './id/index.js';
|
|
12
12
|
export * from './macro/index.js';
|
|
13
13
|
export * from './menu/index.js';
|
|
14
|
-
export * from './meta/index.js';
|
|
15
14
|
export * from './modal/index.js';
|
|
16
15
|
export * from './notification/index.js';
|
|
17
16
|
export * from './picker-input/index.js';
|
|
@@ -26,7 +26,6 @@ export * from './extension-registry/index.js';
|
|
|
26
26
|
export * from './id/index.js';
|
|
27
27
|
export * from './macro/index.js';
|
|
28
28
|
export * from './menu/index.js';
|
|
29
|
-
export * from './meta/index.js';
|
|
30
29
|
export * from './modal/index.js';
|
|
31
30
|
export * from './notification/index.js';
|
|
32
31
|
export * from './picker-input/index.js';
|
|
@@ -1,36 +1,32 @@
|
|
|
1
1
|
import { UmbController, UmbControllerHostElement } from '../../../libs/controller-api/index.js';
|
|
2
|
-
type INTERNAL_UmbSorterConfig<T> = {
|
|
3
|
-
compareElementToModel: (el:
|
|
4
|
-
querySelectModelToElement: (container: HTMLElement, modelEntry: T) =>
|
|
2
|
+
type INTERNAL_UmbSorterConfig<T, ElementType extends HTMLElement> = {
|
|
3
|
+
compareElementToModel: (el: ElementType, modelEntry: T) => boolean;
|
|
4
|
+
querySelectModelToElement: (container: HTMLElement, modelEntry: T) => ElementType | null;
|
|
5
5
|
identifier: string;
|
|
6
6
|
itemSelector: string;
|
|
7
7
|
disabledItemSelector?: string;
|
|
8
8
|
containerSelector: string;
|
|
9
9
|
ignorerSelector: string;
|
|
10
|
-
placeholderClass
|
|
10
|
+
placeholderClass?: string;
|
|
11
|
+
placeholderAttr?: string;
|
|
11
12
|
draggableSelector?: string;
|
|
12
13
|
boundarySelector?: string;
|
|
13
14
|
dataTransferResolver?: (dataTransfer: DataTransfer | null, currentItem: T) => void;
|
|
14
15
|
onStart?: (argument: {
|
|
15
16
|
item: T;
|
|
16
|
-
element:
|
|
17
|
+
element: ElementType;
|
|
17
18
|
}) => void;
|
|
18
19
|
onChange?: (argument: {
|
|
19
20
|
item: T;
|
|
20
|
-
|
|
21
|
+
model: Array<T>;
|
|
21
22
|
}) => void;
|
|
22
23
|
onContainerChange?: (argument: {
|
|
23
24
|
item: T;
|
|
24
|
-
element:
|
|
25
|
+
element: ElementType;
|
|
25
26
|
}) => void;
|
|
26
27
|
onEnd?: (argument: {
|
|
27
28
|
item: T;
|
|
28
|
-
element:
|
|
29
|
-
}) => void;
|
|
30
|
-
onSync?: (argument: {
|
|
31
|
-
item: T;
|
|
32
|
-
fromController: UmbSorterController<T>;
|
|
33
|
-
toController: UmbSorterController<T>;
|
|
29
|
+
element: ElementType;
|
|
34
30
|
}) => void;
|
|
35
31
|
itemHasNestedContainersResolver?: (element: HTMLElement) => boolean;
|
|
36
32
|
onDisallowed?: () => void;
|
|
@@ -42,13 +38,18 @@ type INTERNAL_UmbSorterConfig<T> = {
|
|
|
42
38
|
containerElement: Element;
|
|
43
39
|
containerRect: DOMRect;
|
|
44
40
|
item: T;
|
|
45
|
-
element:
|
|
41
|
+
element: ElementType;
|
|
46
42
|
elementRect: DOMRect;
|
|
47
|
-
relatedElement:
|
|
43
|
+
relatedElement: ElementType;
|
|
48
44
|
relatedRect: DOMRect;
|
|
49
45
|
placeholderIsInThisRow: boolean;
|
|
50
46
|
horizontalPlaceAfter: boolean;
|
|
51
47
|
}) => void;
|
|
48
|
+
performItemMove?: (argument: {
|
|
49
|
+
item: T;
|
|
50
|
+
newIndex: number;
|
|
51
|
+
oldIndex: number;
|
|
52
|
+
}) => Promise<boolean> | boolean;
|
|
52
53
|
performItemInsert?: (argument: {
|
|
53
54
|
item: T;
|
|
54
55
|
newIndex: number;
|
|
@@ -57,42 +58,33 @@ type INTERNAL_UmbSorterConfig<T> = {
|
|
|
57
58
|
item: T;
|
|
58
59
|
}) => Promise<boolean> | boolean;
|
|
59
60
|
};
|
|
60
|
-
export type UmbSorterConfig<T> = Omit<INTERNAL_UmbSorterConfig<T>, '
|
|
61
|
+
export type UmbSorterConfig<T, ElementType extends HTMLElement = HTMLElement> = Omit<INTERNAL_UmbSorterConfig<T, ElementType>, 'ignorerSelector' | 'containerSelector'> & Partial<Pick<INTERNAL_UmbSorterConfig<T, ElementType>, 'ignorerSelector' | 'containerSelector'>>;
|
|
61
62
|
/**
|
|
62
63
|
* @export
|
|
63
64
|
* @class UmbSorterController
|
|
64
65
|
* @implements {UmbControllerInterface}
|
|
65
66
|
* @description This controller can make user able to sort items.
|
|
66
67
|
*/
|
|
67
|
-
export declare class UmbSorterController<T> implements UmbController {
|
|
68
|
+
export declare class UmbSorterController<T, ElementType extends HTMLElement = HTMLElement> implements UmbController {
|
|
68
69
|
#private;
|
|
69
|
-
private _lastIndicationContainerVM;
|
|
70
70
|
get controllerAlias(): string;
|
|
71
|
-
constructor(host: UmbControllerHostElement, config: UmbSorterConfig<T>);
|
|
71
|
+
constructor(host: UmbControllerHostElement, config: UmbSorterConfig<T, ElementType>);
|
|
72
72
|
setModel(model: Array<T>): void;
|
|
73
73
|
hostConnected(): void;
|
|
74
74
|
private _onFirstRender;
|
|
75
75
|
hostDisconnected(): void;
|
|
76
|
-
setupItem(element:
|
|
76
|
+
setupItem(element: ElementType): void;
|
|
77
77
|
destroyItem(element: HTMLElement): void;
|
|
78
|
-
handleDragStart: (event: DragEvent) => void;
|
|
79
|
-
handleDragEnd: () => Promise<void>;
|
|
80
|
-
handleDragMove: (event: DragEvent) => void;
|
|
81
|
-
moveCurrentElement: () => void;
|
|
82
|
-
move(orderedContainerElements: Array<Element>, newElIndex: number): void;
|
|
83
78
|
/** Management methods: */
|
|
84
|
-
getItemOfElement(element:
|
|
85
|
-
removeItem(item: T): Promise<boolean
|
|
79
|
+
getItemOfElement(element: ElementType): T | undefined;
|
|
80
|
+
removeItem(item: T): Promise<boolean>;
|
|
86
81
|
hasOtherItemsThan(item: T): boolean;
|
|
87
|
-
|
|
88
|
-
updateAllowIndication(
|
|
82
|
+
moveItemInModel(newIndex: number, element: ElementType, fromCtrl: UmbSorterController<T, ElementType>): Promise<boolean>;
|
|
83
|
+
updateAllowIndication(controller: UmbSorterController<T, ElementType>, item: T): boolean;
|
|
89
84
|
removeAllowIndication(): void;
|
|
90
85
|
private autoScrollX;
|
|
91
86
|
private autoScrollY;
|
|
92
87
|
private handleAutoScroll;
|
|
93
|
-
private _performAutoScroll;
|
|
94
|
-
private stopAutoScroll;
|
|
95
|
-
notifySync(data: any): void;
|
|
96
88
|
notifyDisallowed(): void;
|
|
97
89
|
notifyAllowed(): void;
|
|
98
90
|
notifyRequestDrop(data: any): boolean;
|