@umbraco-cms/backoffice 14.0.0--preview005-c4fa2a31 → 14.0.0--preview005-0faefb02
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-image-cropper/image-cropper-focus-setter.element.js +1 -1
- package/dist-cms/packages/core/components/input-image-cropper/image-cropper-preview.element.js +1 -1
- package/dist-cms/packages/core/components/input-image-cropper/image-cropper.element.js +1 -1
- package/dist-cms/packages/core/repository/repository-items.manager.js +27 -9
- package/dist-cms/packages/documents/document-types/components/input-document-type/input-document-type.element.d.ts +0 -1
- package/dist-cms/packages/documents/document-types/components/input-document-type/input-document-type.element.js +0 -3
- package/dist-cms/packages/documents/documents/components/input-document/input-document.element.d.ts +1 -2
- package/dist-cms/packages/documents/documents/components/input-document/input-document.element.js +32 -8
- package/dist-cms/packages/media/media/components/input-media/input-media.element.d.ts +0 -1
- package/dist-cms/packages/media/media/components/input-media/input-media.element.js +28 -12
- package/dist-cms/packages/media/media-types/components/input-media-type/input-media-type.element.d.ts +0 -1
- package/dist-cms/packages/media/media-types/components/input-media-type/input-media-type.element.js +0 -3
- package/dist-cms/packages/members/member-types/components/input-member-type/input-member-type.element.d.ts +0 -1
- package/dist-cms/packages/members/member-types/components/input-member-type/input-member-type.element.js +1 -4
- package/dist-cms/packages/members/members/components/input-member/input-member.element.d.ts +4 -1
- package/dist-cms/packages/members/members/components/input-member/input-member.element.js +36 -4
- package/dist-cms/shared/utils/index.d.ts +1 -0
- package/dist-cms/shared/utils/index.js +1 -0
- package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
- package/dist-cms/vscode-html-custom-data.json +4 -4
- package/package.json +1 -1
- /package/dist-cms/{packages/core/components/input-image-cropper/mathUtils.d.ts → shared/utils/math.d.ts} +0 -0
- /package/dist-cms/{packages/core/components/input-image-cropper/mathUtils.js → shared/utils/math.js} +0 -0
package/dist-cms/packages/core/components/input-image-cropper/image-cropper-focus-setter.element.js
CHANGED
|
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
12
|
var _UmbImageCropperFocusSetterElement_instances, _UmbImageCropperFocusSetterElement_DOT_RADIUS, _UmbImageCropperFocusSetterElement_addEventListeners, _UmbImageCropperFocusSetterElement_removeEventListeners, _UmbImageCropperFocusSetterElement_onStartDrag, _UmbImageCropperFocusSetterElement_onEndDrag, _UmbImageCropperFocusSetterElement_onDrag, _UmbImageCropperFocusSetterElement_onSetFocalPoint;
|
|
13
|
-
import { clamp } from '
|
|
13
|
+
import { clamp } from '../../../../shared/utils/index.js';
|
|
14
14
|
import { LitElement, css, html, nothing, customElement, property, query, } from '../../../../external/lit/index.js';
|
|
15
15
|
let UmbImageCropperFocusSetterElement = class UmbImageCropperFocusSetterElement extends LitElement {
|
|
16
16
|
constructor() {
|
package/dist-cms/packages/core/components/input-image-cropper/image-cropper-preview.element.js
CHANGED
|
@@ -16,7 +16,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
16
16
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
17
17
|
};
|
|
18
18
|
var _UmbImageCropperPreviewElement_instances, _UmbImageCropperPreviewElement_focalPoint, _UmbImageCropperPreviewElement_initializeCrop, _UmbImageCropperPreviewElement_onFocalPointUpdated;
|
|
19
|
-
import {
|
|
19
|
+
import { calculateExtrapolatedValue, clamp } from '../../../../shared/utils/index.js';
|
|
20
20
|
import { LitElement, css, html, nothing, customElement, property, query } from '../../../../external/lit/index.js';
|
|
21
21
|
let UmbImageCropperPreviewElement = class UmbImageCropperPreviewElement extends LitElement {
|
|
22
22
|
constructor() {
|
|
@@ -16,7 +16,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
16
16
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
17
17
|
};
|
|
18
18
|
var _UmbImageCropperElement_instances, _UmbImageCropperElement_VIEWPORT_PADDING, _UmbImageCropperElement_MAX_SCALE_FACTOR, _UmbImageCropperElement_SCROLL_ZOOM_SPEED, _UmbImageCropperElement_minImageScale, _UmbImageCropperElement_maxImageScale, _UmbImageCropperElement_oldImageScale, _UmbImageCropperElement_isDragging, _UmbImageCropperElement_mouseOffsetX, _UmbImageCropperElement_mouseOffsetY, _UmbImageCropperElement_getImageScale_get, _UmbImageCropperElement_addEventListeners, _UmbImageCropperElement_removeEventListeners, _UmbImageCropperElement_initializeCrop, _UmbImageCropperElement_updateImageScale, _UmbImageCropperElement_updateImagePosition, _UmbImageCropperElement_calculateCropCoordinates, _UmbImageCropperElement_toLocalPosition, _UmbImageCropperElement_onSave, _UmbImageCropperElement_onCancel, _UmbImageCropperElement_onReset, _UmbImageCropperElement_onSliderUpdate, _UmbImageCropperElement_onStartDrag, _UmbImageCropperElement_onDrag, _UmbImageCropperElement_onEndDrag, _UmbImageCropperElement_onWheel;
|
|
19
|
-
import {
|
|
19
|
+
import { calculateExtrapolatedValue, clamp, inverseLerp, lerp } from '../../../../shared/utils/index.js';
|
|
20
20
|
import { customElement, property, query, state, LitElement, css, html, } from '../../../../external/lit/index.js';
|
|
21
21
|
let UmbImageCropperElement = class UmbImageCropperElement extends LitElement {
|
|
22
22
|
constructor() {
|
|
@@ -9,7 +9,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
10
10
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
11
|
};
|
|
12
|
-
var _UmbRepositoryItemsManager_instances, _UmbRepositoryItemsManager_getUnique, _UmbRepositoryItemsManager_init, _UmbRepositoryItemsManager_uniques, _UmbRepositoryItemsManager_items, _UmbRepositoryItemsManager_requestItems;
|
|
12
|
+
var _UmbRepositoryItemsManager_instances, _UmbRepositoryItemsManager_getUnique, _UmbRepositoryItemsManager_init, _UmbRepositoryItemsManager_uniques, _UmbRepositoryItemsManager_items, _UmbRepositoryItemsManager_requestItems, _UmbRepositoryItemsManager_sortByUniques;
|
|
13
13
|
import { UmbArrayState } from '../../../libs/observable-api/index.js';
|
|
14
14
|
import { umbExtensionsRegistry } from '../extension-registry/index.js';
|
|
15
15
|
import { UmbExtensionApiInitializer } from '../../../libs/extension-api/index.js';
|
|
@@ -36,19 +36,28 @@ export class UmbRepositoryItemsManager extends UmbBaseController {
|
|
|
36
36
|
__classPrivateFieldSet(this, _UmbRepositoryItemsManager_init, new UmbExtensionApiInitializer(this, umbExtensionsRegistry, repositoryAlias, [this], (permitted, repository) => {
|
|
37
37
|
this.repository = permitted ? repository.api : undefined;
|
|
38
38
|
}).asPromise(), "f");
|
|
39
|
+
this.observe(this.uniques, (uniques) => {
|
|
40
|
+
if (uniques.length === 0) {
|
|
41
|
+
__classPrivateFieldGet(this, _UmbRepositoryItemsManager_items, "f").setValue([]);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
// Check if we already have the items, and then just sort them:
|
|
45
|
+
const items = __classPrivateFieldGet(this, _UmbRepositoryItemsManager_items, "f").getValue();
|
|
46
|
+
if (uniques.length === items.length &&
|
|
47
|
+
uniques.every((unique) => items.find((item) => __classPrivateFieldGet(this, _UmbRepositoryItemsManager_getUnique, "f").call(this, item) === unique))) {
|
|
48
|
+
__classPrivateFieldGet(this, _UmbRepositoryItemsManager_items, "f").setValue(__classPrivateFieldGet(this, _UmbRepositoryItemsManager_instances, "m", _UmbRepositoryItemsManager_sortByUniques).call(this, items));
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
// We need to load new items, so ...
|
|
52
|
+
__classPrivateFieldGet(this, _UmbRepositoryItemsManager_instances, "m", _UmbRepositoryItemsManager_requestItems).call(this);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
39
55
|
}
|
|
40
56
|
getUniques() {
|
|
41
57
|
return __classPrivateFieldGet(this, _UmbRepositoryItemsManager_uniques, "f").value;
|
|
42
58
|
}
|
|
43
59
|
setUniques(uniques) {
|
|
44
60
|
__classPrivateFieldGet(this, _UmbRepositoryItemsManager_uniques, "f").setValue(uniques);
|
|
45
|
-
//TODO: Check if it's safe to call requestItems here.
|
|
46
|
-
// We don't have to request items if there is no uniques.
|
|
47
|
-
if (uniques.length === 0) {
|
|
48
|
-
__classPrivateFieldGet(this, _UmbRepositoryItemsManager_items, "f").setValue([]);
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
__classPrivateFieldGet(this, _UmbRepositoryItemsManager_instances, "m", _UmbRepositoryItemsManager_requestItems).call(this);
|
|
52
61
|
}
|
|
53
62
|
getItems() {
|
|
54
63
|
return __classPrivateFieldGet(this, _UmbRepositoryItemsManager_items, "f").value;
|
|
@@ -62,6 +71,15 @@ _UmbRepositoryItemsManager_getUnique = new WeakMap(), _UmbRepositoryItemsManager
|
|
|
62
71
|
// This is where this.#getUnique comes in play. Unless that can come from the repository, but that collides with the idea of having a multi-type repository. If that happens.
|
|
63
72
|
const { data, asObservable } = await this.repository.requestItems(this.getUniques());
|
|
64
73
|
if (asObservable) {
|
|
65
|
-
this.observe(asObservable(), (data) =>
|
|
74
|
+
this.observe(asObservable(), (data) => {
|
|
75
|
+
__classPrivateFieldGet(this, _UmbRepositoryItemsManager_items, "f").setValue(__classPrivateFieldGet(this, _UmbRepositoryItemsManager_instances, "m", _UmbRepositoryItemsManager_sortByUniques).call(this, data));
|
|
76
|
+
}, '_observeRequestedItems');
|
|
66
77
|
}
|
|
78
|
+
}, _UmbRepositoryItemsManager_sortByUniques = function _UmbRepositoryItemsManager_sortByUniques(data) {
|
|
79
|
+
const uniques = this.getUniques();
|
|
80
|
+
return [...data].sort((a, b) => {
|
|
81
|
+
const aIndex = uniques.indexOf(__classPrivateFieldGet(this, _UmbRepositoryItemsManager_getUnique, "f").call(this, a) ?? '');
|
|
82
|
+
const bIndex = uniques.indexOf(__classPrivateFieldGet(this, _UmbRepositoryItemsManager_getUnique, "f").call(this, b) ?? '');
|
|
83
|
+
return aIndex - bIndex;
|
|
84
|
+
});
|
|
67
85
|
};
|
|
@@ -45,7 +45,6 @@ export declare class UmbInputDocumentTypeElement extends UmbInputDocumentTypeEle
|
|
|
45
45
|
private _items?;
|
|
46
46
|
private _editDocumentTypePath;
|
|
47
47
|
constructor();
|
|
48
|
-
connectedCallback(): void;
|
|
49
48
|
protected getFormElement(): undefined;
|
|
50
49
|
render(): import("lit-html").TemplateResult<1>;
|
|
51
50
|
static styles: import("../../../../../external/lit/index.js").CSSResult[];
|
|
@@ -85,9 +85,6 @@ let UmbInputDocumentTypeElement = class UmbInputDocumentTypeElement extends Form
|
|
|
85
85
|
.observeRouteBuilder((routeBuilder) => {
|
|
86
86
|
this._editDocumentTypePath = routeBuilder({});
|
|
87
87
|
});
|
|
88
|
-
}
|
|
89
|
-
connectedCallback() {
|
|
90
|
-
super.connectedCallback();
|
|
91
88
|
this.addValidator('rangeUnderflow', () => this.minMessage, () => !!this.min && __classPrivateFieldGet(this, _UmbInputDocumentTypeElement_pickerContext, "f").getSelection().length < this.min);
|
|
92
89
|
this.addValidator('rangeOverflow', () => this.maxMessage, () => !!this.max && __classPrivateFieldGet(this, _UmbInputDocumentTypeElement_pickerContext, "f").getSelection().length > this.max);
|
|
93
90
|
this.observe(__classPrivateFieldGet(this, _UmbInputDocumentTypeElement_pickerContext, "f").selection, (selection) => (super.value = selection.join(',')));
|
package/dist-cms/packages/documents/documents/components/input-document/input-document.element.d.ts
CHANGED
|
@@ -39,9 +39,8 @@ export declare class UmbInputDocumentElement extends UmbInputDocumentElement_bas
|
|
|
39
39
|
showOpenButton?: boolean;
|
|
40
40
|
ignoreUserStartNodes?: boolean;
|
|
41
41
|
set value(idsString: string);
|
|
42
|
-
private _items
|
|
42
|
+
private _items;
|
|
43
43
|
constructor();
|
|
44
|
-
connectedCallback(): void;
|
|
45
44
|
protected getFormElement(): undefined;
|
|
46
45
|
render(): import("lit-html").TemplateResult<1>;
|
|
47
46
|
static styles: import("../../../../../external/lit/index.js").CSSResult[];
|
package/dist-cms/packages/documents/documents/components/input-document/input-document.element.js
CHANGED
|
@@ -9,12 +9,22 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _UmbInputDocumentElement_instances, _UmbInputDocumentElement_pickerContext, _UmbInputDocumentElement_pickableFilter, _UmbInputDocumentElement_openPicker, _UmbInputDocumentElement_openItem, _UmbInputDocumentElement_renderItems, _UmbInputDocumentElement_renderAddButton, _UmbInputDocumentElement_renderItem, _UmbInputDocumentElement_renderIsTrashed, _UmbInputDocumentElement_renderOpenButton;
|
|
12
|
+
var _UmbInputDocumentElement_instances, _UmbInputDocumentElement_sorter, _UmbInputDocumentElement_pickerContext, _UmbInputDocumentElement_pickableFilter, _UmbInputDocumentElement_openPicker, _UmbInputDocumentElement_openItem, _UmbInputDocumentElement_renderItems, _UmbInputDocumentElement_renderAddButton, _UmbInputDocumentElement_renderItem, _UmbInputDocumentElement_renderIcon, _UmbInputDocumentElement_renderIsTrashed, _UmbInputDocumentElement_renderOpenButton;
|
|
13
13
|
import { UmbDocumentPickerContext } from './input-document.context.js';
|
|
14
14
|
import { css, html, customElement, property, state, ifDefined, repeat } from '../../../../../external/lit/index.js';
|
|
15
15
|
import { FormControlMixin } from '../../../../../external/uui/index.js';
|
|
16
16
|
import { UmbLitElement } from '../../../../../shared/lit-element/index.js';
|
|
17
17
|
import { splitStringToArray } from '../../../../../shared/utils/index.js';
|
|
18
|
+
import { UmbSorterController } from '../../../../core/sorter/index.js';
|
|
19
|
+
const SORTER_CONFIG = {
|
|
20
|
+
compareElementToModel: (element, model) => {
|
|
21
|
+
return element.getAttribute('detail') === model;
|
|
22
|
+
},
|
|
23
|
+
querySelectModelToElement: () => null,
|
|
24
|
+
identifier: 'Umb.SorterIdentifier.InputDocument',
|
|
25
|
+
itemSelector: 'uui-ref-node',
|
|
26
|
+
containerSelector: 'uui-ref-list',
|
|
27
|
+
};
|
|
18
28
|
let UmbInputDocumentElement = class UmbInputDocumentElement extends FormControlMixin(UmbLitElement) {
|
|
19
29
|
/**
|
|
20
30
|
* This is a minimum amount of selected items in this input.
|
|
@@ -45,6 +55,7 @@ let UmbInputDocumentElement = class UmbInputDocumentElement extends FormControlM
|
|
|
45
55
|
}
|
|
46
56
|
set selectedIds(ids) {
|
|
47
57
|
__classPrivateFieldGet(this, _UmbInputDocumentElement_pickerContext, "f").setSelection(ids);
|
|
58
|
+
__classPrivateFieldGet(this, _UmbInputDocumentElement_sorter, "f").setModel(ids);
|
|
48
59
|
}
|
|
49
60
|
set value(idsString) {
|
|
50
61
|
// Its with full purpose we don't call super.value, as thats being handled by the observation of the context selection.
|
|
@@ -53,6 +64,12 @@ let UmbInputDocumentElement = class UmbInputDocumentElement extends FormControlM
|
|
|
53
64
|
constructor() {
|
|
54
65
|
super();
|
|
55
66
|
_UmbInputDocumentElement_instances.add(this);
|
|
67
|
+
_UmbInputDocumentElement_sorter.set(this, new UmbSorterController(this, {
|
|
68
|
+
...SORTER_CONFIG,
|
|
69
|
+
onChange: ({ model }) => {
|
|
70
|
+
this.selectedIds = model;
|
|
71
|
+
},
|
|
72
|
+
}));
|
|
56
73
|
/**
|
|
57
74
|
* Min validation message.
|
|
58
75
|
* @type {boolean}
|
|
@@ -67,6 +84,7 @@ let UmbInputDocumentElement = class UmbInputDocumentElement extends FormControlM
|
|
|
67
84
|
* @default
|
|
68
85
|
*/
|
|
69
86
|
this.maxMessage = 'This field exceeds the allowed amount of items';
|
|
87
|
+
this._items = [];
|
|
70
88
|
_UmbInputDocumentElement_pickerContext.set(this, new UmbDocumentPickerContext(this));
|
|
71
89
|
_UmbInputDocumentElement_pickableFilter.set(this, (item) => {
|
|
72
90
|
if (this.allowedContentTypeIds && this.allowedContentTypeIds.length > 0) {
|
|
@@ -74,9 +92,6 @@ let UmbInputDocumentElement = class UmbInputDocumentElement extends FormControlM
|
|
|
74
92
|
}
|
|
75
93
|
return true;
|
|
76
94
|
});
|
|
77
|
-
}
|
|
78
|
-
connectedCallback() {
|
|
79
|
-
super.connectedCallback();
|
|
80
95
|
this.addValidator('rangeUnderflow', () => this.minMessage, () => !!this.min && __classPrivateFieldGet(this, _UmbInputDocumentElement_pickerContext, "f").getSelection().length < this.min);
|
|
81
96
|
this.addValidator('rangeOverflow', () => this.maxMessage, () => !!this.max && __classPrivateFieldGet(this, _UmbInputDocumentElement_pickerContext, "f").getSelection().length > this.max);
|
|
82
97
|
this.observe(__classPrivateFieldGet(this, _UmbInputDocumentElement_pickerContext, "f").selection, (selection) => (super.value = selection.join(',')));
|
|
@@ -89,6 +104,7 @@ let UmbInputDocumentElement = class UmbInputDocumentElement extends FormControlM
|
|
|
89
104
|
return html ` ${__classPrivateFieldGet(this, _UmbInputDocumentElement_instances, "m", _UmbInputDocumentElement_renderItems).call(this)} ${__classPrivateFieldGet(this, _UmbInputDocumentElement_instances, "m", _UmbInputDocumentElement_renderAddButton).call(this)} `;
|
|
90
105
|
}
|
|
91
106
|
};
|
|
107
|
+
_UmbInputDocumentElement_sorter = new WeakMap();
|
|
92
108
|
_UmbInputDocumentElement_pickerContext = new WeakMap();
|
|
93
109
|
_UmbInputDocumentElement_pickableFilter = new WeakMap();
|
|
94
110
|
_UmbInputDocumentElement_instances = new WeakSet();
|
|
@@ -107,9 +123,8 @@ _UmbInputDocumentElement_openItem = function _UmbInputDocumentElement_openItem(i
|
|
|
107
123
|
_UmbInputDocumentElement_renderItems = function _UmbInputDocumentElement_renderItems() {
|
|
108
124
|
if (!this._items)
|
|
109
125
|
return;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
>${repeat(this._items, (item) => item.id, (item) => __classPrivateFieldGet(this, _UmbInputDocumentElement_instances, "m", _UmbInputDocumentElement_renderItem).call(this, item))}
|
|
126
|
+
return html `<uui-ref-list>
|
|
127
|
+
${repeat(this._items, (item) => item.id, (item) => __classPrivateFieldGet(this, _UmbInputDocumentElement_instances, "m", _UmbInputDocumentElement_renderItem).call(this, item))}
|
|
113
128
|
</uui-ref-list>`;
|
|
114
129
|
};
|
|
115
130
|
_UmbInputDocumentElement_renderAddButton = function _UmbInputDocumentElement_renderAddButton() {
|
|
@@ -126,7 +141,7 @@ _UmbInputDocumentElement_renderItem = function _UmbInputDocumentElement_renderIt
|
|
|
126
141
|
return;
|
|
127
142
|
return html `
|
|
128
143
|
<uui-ref-node name=${ifDefined(item.name)} detail=${ifDefined(item.id)}>
|
|
129
|
-
${__classPrivateFieldGet(this, _UmbInputDocumentElement_instances, "m", _UmbInputDocumentElement_renderIsTrashed).call(this, item)}
|
|
144
|
+
${__classPrivateFieldGet(this, _UmbInputDocumentElement_instances, "m", _UmbInputDocumentElement_renderIcon).call(this, item)} ${__classPrivateFieldGet(this, _UmbInputDocumentElement_instances, "m", _UmbInputDocumentElement_renderIsTrashed).call(this, item)}
|
|
130
145
|
<uui-action-bar slot="actions">
|
|
131
146
|
${__classPrivateFieldGet(this, _UmbInputDocumentElement_instances, "m", _UmbInputDocumentElement_renderOpenButton).call(this, item)}
|
|
132
147
|
<uui-button
|
|
@@ -138,6 +153,11 @@ _UmbInputDocumentElement_renderItem = function _UmbInputDocumentElement_renderIt
|
|
|
138
153
|
</uui-ref-node>
|
|
139
154
|
`;
|
|
140
155
|
};
|
|
156
|
+
_UmbInputDocumentElement_renderIcon = function _UmbInputDocumentElement_renderIcon(item) {
|
|
157
|
+
if (!item.icon)
|
|
158
|
+
return;
|
|
159
|
+
return html `<uui-icon slot="icon" name=${item.icon}></uui-icon>`;
|
|
160
|
+
};
|
|
141
161
|
_UmbInputDocumentElement_renderIsTrashed = function _UmbInputDocumentElement_renderIsTrashed(item) {
|
|
142
162
|
if (!item.isTrashed)
|
|
143
163
|
return;
|
|
@@ -155,6 +175,10 @@ UmbInputDocumentElement.styles = [
|
|
|
155
175
|
#add-button {
|
|
156
176
|
width: 100%;
|
|
157
177
|
}
|
|
178
|
+
|
|
179
|
+
uui-ref-node[drag-placeholder] {
|
|
180
|
+
opacity: 0.2;
|
|
181
|
+
}
|
|
158
182
|
`,
|
|
159
183
|
];
|
|
160
184
|
__decorate([
|
|
@@ -40,7 +40,6 @@ export declare class UmbInputMediaElement extends UmbInputMediaElement_base {
|
|
|
40
40
|
set value(idsString: string);
|
|
41
41
|
private _items?;
|
|
42
42
|
constructor();
|
|
43
|
-
connectedCallback(): void;
|
|
44
43
|
protected getFormElement(): undefined;
|
|
45
44
|
render(): import("lit-html").TemplateResult<1>;
|
|
46
45
|
static styles: import("../../../../../external/lit/index.js").CSSResult[];
|
|
@@ -9,12 +9,22 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _UmbInputMediaElement_instances, _UmbInputMediaElement_pickerContext, _UmbInputMediaElement_pickableFilter, _UmbInputMediaElement_openPicker, _UmbInputMediaElement_openItem, _UmbInputMediaElement_renderItems, _UmbInputMediaElement_renderAddButton, _UmbInputMediaElement_renderItem, _UmbInputMediaElement_renderIsTrashed;
|
|
12
|
+
var _UmbInputMediaElement_instances, _UmbInputMediaElement_sorter, _UmbInputMediaElement_pickerContext, _UmbInputMediaElement_pickableFilter, _UmbInputMediaElement_openPicker, _UmbInputMediaElement_openItem, _UmbInputMediaElement_renderItems, _UmbInputMediaElement_renderAddButton, _UmbInputMediaElement_renderItem, _UmbInputMediaElement_renderIsTrashed;
|
|
13
13
|
import { UmbMediaPickerContext } from './input-media.context.js';
|
|
14
14
|
import { css, html, customElement, property, state, ifDefined, repeat } from '../../../../../external/lit/index.js';
|
|
15
15
|
import { FormControlMixin } from '../../../../../external/uui/index.js';
|
|
16
16
|
import { UmbLitElement } from '../../../../../shared/lit-element/index.js';
|
|
17
17
|
import { splitStringToArray } from '../../../../../shared/utils/index.js';
|
|
18
|
+
import { UmbSorterController } from '../../../../core/sorter/index.js';
|
|
19
|
+
const SORTER_CONFIG = {
|
|
20
|
+
compareElementToModel: (element, model) => {
|
|
21
|
+
return element.getAttribute('detail') === model;
|
|
22
|
+
},
|
|
23
|
+
querySelectModelToElement: () => null,
|
|
24
|
+
identifier: 'Umb.SorterIdentifier.InputMedia',
|
|
25
|
+
itemSelector: 'uui-card-media',
|
|
26
|
+
containerSelector: '.container',
|
|
27
|
+
};
|
|
18
28
|
let UmbInputMediaElement = class UmbInputMediaElement extends FormControlMixin(UmbLitElement) {
|
|
19
29
|
/**
|
|
20
30
|
* This is a minimum amount of selected items in this input.
|
|
@@ -45,6 +55,7 @@ let UmbInputMediaElement = class UmbInputMediaElement extends FormControlMixin(U
|
|
|
45
55
|
}
|
|
46
56
|
set selectedIds(ids) {
|
|
47
57
|
__classPrivateFieldGet(this, _UmbInputMediaElement_pickerContext, "f").setSelection(ids);
|
|
58
|
+
__classPrivateFieldGet(this, _UmbInputMediaElement_sorter, "f").setModel(ids);
|
|
48
59
|
}
|
|
49
60
|
set value(idsString) {
|
|
50
61
|
// Its with full purpose we don't call super.value, as thats being handled by the observation of the context selection.
|
|
@@ -53,6 +64,12 @@ let UmbInputMediaElement = class UmbInputMediaElement extends FormControlMixin(U
|
|
|
53
64
|
constructor() {
|
|
54
65
|
super();
|
|
55
66
|
_UmbInputMediaElement_instances.add(this);
|
|
67
|
+
_UmbInputMediaElement_sorter.set(this, new UmbSorterController(this, {
|
|
68
|
+
...SORTER_CONFIG,
|
|
69
|
+
onChange: ({ model }) => {
|
|
70
|
+
this.selectedIds = model;
|
|
71
|
+
},
|
|
72
|
+
}));
|
|
56
73
|
/**
|
|
57
74
|
* Min validation message.
|
|
58
75
|
* @type {boolean}
|
|
@@ -77,21 +94,19 @@ let UmbInputMediaElement = class UmbInputMediaElement extends FormControlMixin(U
|
|
|
77
94
|
// }
|
|
78
95
|
return true;
|
|
79
96
|
});
|
|
80
|
-
}
|
|
81
|
-
connectedCallback() {
|
|
82
|
-
super.connectedCallback();
|
|
83
|
-
this.addValidator('rangeUnderflow', () => this.minMessage, () => !!this.min && __classPrivateFieldGet(this, _UmbInputMediaElement_pickerContext, "f").getSelection().length < this.min);
|
|
84
|
-
this.addValidator('rangeOverflow', () => this.maxMessage, () => !!this.max && __classPrivateFieldGet(this, _UmbInputMediaElement_pickerContext, "f").getSelection().length > this.max);
|
|
85
97
|
this.observe(__classPrivateFieldGet(this, _UmbInputMediaElement_pickerContext, "f").selection, (selection) => (super.value = selection.join(',')));
|
|
86
98
|
this.observe(__classPrivateFieldGet(this, _UmbInputMediaElement_pickerContext, "f").selectedItems, (selectedItems) => (this._items = selectedItems));
|
|
99
|
+
this.addValidator('rangeUnderflow', () => this.minMessage, () => !!this.min && __classPrivateFieldGet(this, _UmbInputMediaElement_pickerContext, "f").getSelection().length < this.min);
|
|
100
|
+
this.addValidator('rangeOverflow', () => this.maxMessage, () => !!this.max && __classPrivateFieldGet(this, _UmbInputMediaElement_pickerContext, "f").getSelection().length > this.max);
|
|
87
101
|
}
|
|
88
102
|
getFormElement() {
|
|
89
103
|
return undefined;
|
|
90
104
|
}
|
|
91
105
|
render() {
|
|
92
|
-
return html
|
|
106
|
+
return html `<div class="container">${__classPrivateFieldGet(this, _UmbInputMediaElement_instances, "m", _UmbInputMediaElement_renderItems).call(this)} ${__classPrivateFieldGet(this, _UmbInputMediaElement_instances, "m", _UmbInputMediaElement_renderAddButton).call(this)}</div>`;
|
|
93
107
|
}
|
|
94
108
|
};
|
|
109
|
+
_UmbInputMediaElement_sorter = new WeakMap();
|
|
95
110
|
_UmbInputMediaElement_pickerContext = new WeakMap();
|
|
96
111
|
_UmbInputMediaElement_pickableFilter = new WeakMap();
|
|
97
112
|
_UmbInputMediaElement_instances = new WeakSet();
|
|
@@ -110,10 +125,7 @@ _UmbInputMediaElement_openItem = function _UmbInputMediaElement_openItem(item) {
|
|
|
110
125
|
_UmbInputMediaElement_renderItems = function _UmbInputMediaElement_renderItems() {
|
|
111
126
|
if (!this._items)
|
|
112
127
|
return;
|
|
113
|
-
|
|
114
|
-
return html `
|
|
115
|
-
${repeat(this._items, (item) => item.id, (item) => __classPrivateFieldGet(this, _UmbInputMediaElement_instances, "m", _UmbInputMediaElement_renderItem).call(this, item))}
|
|
116
|
-
`;
|
|
128
|
+
return html `${repeat(this._items, (item) => item.id, (item) => __classPrivateFieldGet(this, _UmbInputMediaElement_instances, "m", _UmbInputMediaElement_renderItem).call(this, item))}`;
|
|
117
129
|
};
|
|
118
130
|
_UmbInputMediaElement_renderAddButton = function _UmbInputMediaElement_renderAddButton() {
|
|
119
131
|
if (this._items && this.max && this._items.length >= this.max)
|
|
@@ -156,7 +168,7 @@ _UmbInputMediaElement_renderIsTrashed = function _UmbInputMediaElement_renderIsT
|
|
|
156
168
|
};
|
|
157
169
|
UmbInputMediaElement.styles = [
|
|
158
170
|
css `
|
|
159
|
-
|
|
171
|
+
.container {
|
|
160
172
|
display: grid;
|
|
161
173
|
gap: var(--uui-size-space-3);
|
|
162
174
|
grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
|
|
@@ -172,6 +184,10 @@ UmbInputMediaElement.styles = [
|
|
|
172
184
|
display: block;
|
|
173
185
|
margin: 0 auto;
|
|
174
186
|
}
|
|
187
|
+
|
|
188
|
+
uui-card-media[drag-placeholder] {
|
|
189
|
+
opacity: 0.2;
|
|
190
|
+
}
|
|
175
191
|
`,
|
|
176
192
|
];
|
|
177
193
|
__decorate([
|
|
@@ -37,7 +37,6 @@ export declare class UmbInputMediaTypeElement extends UmbInputMediaTypeElement_b
|
|
|
37
37
|
set value(idsString: string);
|
|
38
38
|
private _items?;
|
|
39
39
|
constructor();
|
|
40
|
-
connectedCallback(): void;
|
|
41
40
|
protected getFormElement(): undefined;
|
|
42
41
|
render(): import("lit-html").TemplateResult<1>;
|
|
43
42
|
static styles: import("../../../../../external/lit/index.js").CSSResult[];
|
package/dist-cms/packages/media/media-types/components/input-media-type/input-media-type.element.js
CHANGED
|
@@ -68,9 +68,6 @@ let UmbInputMediaTypeElement = class UmbInputMediaTypeElement extends FormContro
|
|
|
68
68
|
*/
|
|
69
69
|
this.maxMessage = 'This field exceeds the allowed amount of items';
|
|
70
70
|
_UmbInputMediaTypeElement_pickerContext.set(this, new UmbMediaTypePickerContext(this));
|
|
71
|
-
}
|
|
72
|
-
connectedCallback() {
|
|
73
|
-
super.connectedCallback();
|
|
74
71
|
this.addValidator('rangeUnderflow', () => this.minMessage, () => !!this.min && __classPrivateFieldGet(this, _UmbInputMediaTypeElement_pickerContext, "f").getSelection().length < this.min);
|
|
75
72
|
this.addValidator('rangeOverflow', () => this.maxMessage, () => !!this.max && __classPrivateFieldGet(this, _UmbInputMediaTypeElement_pickerContext, "f").getSelection().length > this.max);
|
|
76
73
|
this.observe(__classPrivateFieldGet(this, _UmbInputMediaTypeElement_pickerContext, "f").selection, (selection) => (super.value = selection.join(',')));
|
|
@@ -37,7 +37,6 @@ export declare class UmbInputMemberTypeElement extends UmbInputMemberTypeElement
|
|
|
37
37
|
set value(idsString: string);
|
|
38
38
|
private _items?;
|
|
39
39
|
constructor();
|
|
40
|
-
connectedCallback(): void;
|
|
41
40
|
protected getFormElement(): undefined;
|
|
42
41
|
render(): import("lit-html").TemplateResult<1>;
|
|
43
42
|
static styles: import("../../../../../external/lit/index.js").CSSResult[];
|
|
@@ -68,9 +68,6 @@ let UmbInputMemberTypeElement = class UmbInputMemberTypeElement extends FormCont
|
|
|
68
68
|
*/
|
|
69
69
|
this.maxMessage = 'This field exceeds the allowed amount of items';
|
|
70
70
|
_UmbInputMemberTypeElement_pickerContext.set(this, new UmbMemberTypePickerContext(this));
|
|
71
|
-
}
|
|
72
|
-
connectedCallback() {
|
|
73
|
-
super.connectedCallback();
|
|
74
71
|
this.addValidator('rangeUnderflow', () => this.minMessage, () => !!this.min && __classPrivateFieldGet(this, _UmbInputMemberTypeElement_pickerContext, "f").getSelection().length < this.min);
|
|
75
72
|
this.addValidator('rangeOverflow', () => this.maxMessage, () => !!this.max && __classPrivateFieldGet(this, _UmbInputMemberTypeElement_pickerContext, "f").getSelection().length > this.max);
|
|
76
73
|
this.observe(__classPrivateFieldGet(this, _UmbInputMemberTypeElement_pickerContext, "f").selection, (selection) => (super.value = selection.join(',')));
|
|
@@ -117,7 +114,7 @@ _UmbInputMemberTypeElement_renderItem = function _UmbInputMemberTypeElement_rend
|
|
|
117
114
|
return;
|
|
118
115
|
return html `
|
|
119
116
|
<uui-ref-node-document-type name=${ifDefined(item.name)}>
|
|
120
|
-
|
|
117
|
+
${__classPrivateFieldGet(this, _UmbInputMemberTypeElement_instances, "m", _UmbInputMemberTypeElement_renderIcon).call(this, item)}
|
|
121
118
|
<uui-action-bar slot="actions">
|
|
122
119
|
<uui-button
|
|
123
120
|
@click=${() => __classPrivateFieldGet(this, _UmbInputMemberTypeElement_pickerContext, "f").requestRemoveItem(item.id)}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { UmbLitElement } from '../../../../../shared/lit-element/index.js';
|
|
2
|
+
import type { MemberItemResponseModel } from '../../../../../external/backend-api/index.js';
|
|
2
3
|
declare const UmbInputMemberElement_base: (new (...args: any[]) => import("../../../../../external/uui/index.js").FormControlMixinInterface) & typeof UmbLitElement;
|
|
3
4
|
export declare class UmbInputMemberElement extends UmbInputMemberElement_base {
|
|
4
5
|
#private;
|
|
@@ -36,8 +37,10 @@ export declare class UmbInputMemberElement extends UmbInputMemberElement_base {
|
|
|
36
37
|
set selectedIds(ids: Array<string>);
|
|
37
38
|
allowedContentTypeIds?: string[] | undefined;
|
|
38
39
|
set value(idsString: string);
|
|
39
|
-
private _items
|
|
40
|
+
private _items;
|
|
40
41
|
constructor();
|
|
42
|
+
protected _openPicker(): void;
|
|
43
|
+
protected _requestRemoveItem(item: MemberItemResponseModel): void;
|
|
41
44
|
protected getFormElement(): undefined;
|
|
42
45
|
render(): import("lit-html").TemplateResult<1>;
|
|
43
46
|
static styles: import("../../../../../external/lit/index.js").CSSResult[];
|
|
@@ -9,11 +9,21 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _UmbInputMemberElement_instances, _UmbInputMemberElement_pickableFilter, _UmbInputMemberElement_openPicker, _UmbInputMemberElement_requestRemoveItem, _UmbInputMemberElement_renderItems, _UmbInputMemberElement_renderAddButton, _UmbInputMemberElement_renderItem, _UmbInputMemberElement_renderIsTrashed;
|
|
12
|
+
var _UmbInputMemberElement_instances, _UmbInputMemberElement_sorter, _UmbInputMemberElement_pickableFilter, _UmbInputMemberElement_openPicker, _UmbInputMemberElement_requestRemoveItem, _UmbInputMemberElement_renderItems, _UmbInputMemberElement_renderAddButton, _UmbInputMemberElement_renderItem, _UmbInputMemberElement_renderIsTrashed;
|
|
13
13
|
import { css, html, customElement, property, state, ifDefined, repeat } from '../../../../../external/lit/index.js';
|
|
14
14
|
import { FormControlMixin } from '../../../../../external/uui/index.js';
|
|
15
15
|
import { UmbLitElement } from '../../../../../shared/lit-element/index.js';
|
|
16
16
|
import { splitStringToArray } from '../../../../../shared/utils/index.js';
|
|
17
|
+
import { UmbSorterController } from '../../../../core/sorter/index.js';
|
|
18
|
+
const SORTER_CONFIG = {
|
|
19
|
+
compareElementToModel: (element, model) => {
|
|
20
|
+
return element.getAttribute('detail') === model;
|
|
21
|
+
},
|
|
22
|
+
querySelectModelToElement: () => null,
|
|
23
|
+
identifier: 'Umb.SorterIdentifier.InputMember',
|
|
24
|
+
itemSelector: 'uui-ref-node',
|
|
25
|
+
containerSelector: 'uui-ref-list',
|
|
26
|
+
};
|
|
17
27
|
let UmbInputMemberElement = class UmbInputMemberElement extends FormControlMixin(UmbLitElement) {
|
|
18
28
|
/**
|
|
19
29
|
* This is a minimum amount of selected items in this input.
|
|
@@ -53,6 +63,7 @@ let UmbInputMemberElement = class UmbInputMemberElement extends FormControlMixin
|
|
|
53
63
|
set selectedIds(ids) {
|
|
54
64
|
// TODO: Uncomment, once `UmbMemberPickerContext` has been implemented. [LK]
|
|
55
65
|
//this.#pickerContext.setSelection(ids);
|
|
66
|
+
__classPrivateFieldGet(this, _UmbInputMemberElement_sorter, "f").setModel(ids);
|
|
56
67
|
}
|
|
57
68
|
set value(idsString) {
|
|
58
69
|
// Its with full purpose we don't call super.value, as thats being handled by the observation of the context selection.
|
|
@@ -63,6 +74,12 @@ let UmbInputMemberElement = class UmbInputMemberElement extends FormControlMixin
|
|
|
63
74
|
constructor() {
|
|
64
75
|
super();
|
|
65
76
|
_UmbInputMemberElement_instances.add(this);
|
|
77
|
+
_UmbInputMemberElement_sorter.set(this, new UmbSorterController(this, {
|
|
78
|
+
...SORTER_CONFIG,
|
|
79
|
+
onChange: ({ model }) => {
|
|
80
|
+
this.selectedIds = model;
|
|
81
|
+
},
|
|
82
|
+
}));
|
|
66
83
|
/**
|
|
67
84
|
* Min validation message.
|
|
68
85
|
* @type {boolean}
|
|
@@ -77,6 +94,7 @@ let UmbInputMemberElement = class UmbInputMemberElement extends FormControlMixin
|
|
|
77
94
|
* @default
|
|
78
95
|
*/
|
|
79
96
|
this.maxMessage = 'This field exceeds the allowed amount of items';
|
|
97
|
+
this._items = [];
|
|
80
98
|
_UmbInputMemberElement_pickableFilter.set(this, (item) => {
|
|
81
99
|
// TODO: Uncomment, once `UmbMemberPickerContext` has been implemented. [LK]
|
|
82
100
|
console.log('member.pickableFilter', item);
|
|
@@ -99,6 +117,16 @@ let UmbInputMemberElement = class UmbInputMemberElement extends FormControlMixin
|
|
|
99
117
|
// this.observe(this.#pickerContext.selection, (selection) => (super.value = selection.join(',')));
|
|
100
118
|
// this.observe(this.#pickerContext.selectedItems, (selectedItems) => (this._items = selectedItems));
|
|
101
119
|
}
|
|
120
|
+
_openPicker() {
|
|
121
|
+
console.log('member.openPicker');
|
|
122
|
+
// this.#pickerContext.openPicker({
|
|
123
|
+
// hideTreeRoot: true,
|
|
124
|
+
// });
|
|
125
|
+
}
|
|
126
|
+
_requestRemoveItem(item) {
|
|
127
|
+
console.log('member.requestRemoveItem', item);
|
|
128
|
+
//this.#pickerContext.requestRemoveItem(item.id!);
|
|
129
|
+
}
|
|
102
130
|
getFormElement() {
|
|
103
131
|
return undefined;
|
|
104
132
|
}
|
|
@@ -106,6 +134,7 @@ let UmbInputMemberElement = class UmbInputMemberElement extends FormControlMixin
|
|
|
106
134
|
return html ` ${__classPrivateFieldGet(this, _UmbInputMemberElement_instances, "m", _UmbInputMemberElement_renderItems).call(this)} ${__classPrivateFieldGet(this, _UmbInputMemberElement_instances, "m", _UmbInputMemberElement_renderAddButton).call(this)} `;
|
|
107
135
|
}
|
|
108
136
|
};
|
|
137
|
+
_UmbInputMemberElement_sorter = new WeakMap();
|
|
109
138
|
_UmbInputMemberElement_pickableFilter = new WeakMap();
|
|
110
139
|
_UmbInputMemberElement_instances = new WeakSet();
|
|
111
140
|
_UmbInputMemberElement_openPicker = function _UmbInputMemberElement_openPicker() {
|
|
@@ -124,9 +153,8 @@ _UmbInputMemberElement_requestRemoveItem = function _UmbInputMemberElement_reque
|
|
|
124
153
|
_UmbInputMemberElement_renderItems = function _UmbInputMemberElement_renderItems() {
|
|
125
154
|
if (!this._items)
|
|
126
155
|
return;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
>${repeat(this._items, (item) => item.id, (item) => __classPrivateFieldGet(this, _UmbInputMemberElement_instances, "m", _UmbInputMemberElement_renderItem).call(this, item))}
|
|
156
|
+
return html `<uui-ref-list>
|
|
157
|
+
${repeat(this._items, (item) => item.id, (item) => __classPrivateFieldGet(this, _UmbInputMemberElement_instances, "m", _UmbInputMemberElement_renderItem).call(this, item))}
|
|
130
158
|
</uui-ref-list>`;
|
|
131
159
|
};
|
|
132
160
|
_UmbInputMemberElement_renderAddButton = function _UmbInputMemberElement_renderAddButton() {
|
|
@@ -162,6 +190,10 @@ UmbInputMemberElement.styles = [
|
|
|
162
190
|
#add-button {
|
|
163
191
|
width: 100%;
|
|
164
192
|
}
|
|
193
|
+
|
|
194
|
+
uui-ref-node[drag-placeholder] {
|
|
195
|
+
opacity: 0.2;
|
|
196
|
+
}
|
|
165
197
|
`,
|
|
166
198
|
];
|
|
167
199
|
__decorate([
|
|
@@ -11,6 +11,7 @@ export * from './path-folder-name.function.js';
|
|
|
11
11
|
export * from './selection-manager/selection.manager.js';
|
|
12
12
|
export * from './udi.js';
|
|
13
13
|
export * from './umbraco-path.function.js';
|
|
14
|
+
export * from './math.js';
|
|
14
15
|
export * from './split-string-to-array.js';
|
|
15
16
|
declare global {
|
|
16
17
|
interface Window {
|