@umbraco-cms/backoffice 14.0.0--preview005-4682d2b5 → 14.0.0--preview005-ab659bc0

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.
@@ -5111,7 +5111,7 @@
5111
5111
  "default": "0"
5112
5112
  },
5113
5113
  {
5114
- "name": "filter",
5114
+ "name": "allowedContentTypeIds",
5115
5115
  "type": "string | null | undefined"
5116
5116
  },
5117
5117
  {
@@ -5564,7 +5564,7 @@
5564
5564
  "default": "0"
5565
5565
  },
5566
5566
  {
5567
- "name": "filter",
5567
+ "name": "allowedContentTypeIds",
5568
5568
  "type": "string"
5569
5569
  },
5570
5570
  {
@@ -5604,8 +5604,8 @@
5604
5604
  "default": "0"
5605
5605
  },
5606
5606
  {
5607
- "name": "filter",
5608
- "attribute": "filter",
5607
+ "name": "allowedContentTypeIds",
5608
+ "attribute": "allowedContentTypeIds",
5609
5609
  "type": "string"
5610
5610
  },
5611
5611
  {
@@ -6643,8 +6643,8 @@
6643
6643
  "type": "string | undefined"
6644
6644
  },
6645
6645
  {
6646
- "name": "filter",
6647
- "type": "string | undefined"
6646
+ "name": "allowedContentTypeIds",
6647
+ "type": "string[] | undefined"
6648
6648
  },
6649
6649
  {
6650
6650
  "name": "showOpenButton",
@@ -6698,9 +6698,9 @@
6698
6698
  "type": "string | undefined"
6699
6699
  },
6700
6700
  {
6701
- "name": "filter",
6702
- "attribute": "filter",
6703
- "type": "string | undefined"
6701
+ "name": "allowedContentTypeIds",
6702
+ "attribute": "allowedContentTypeIds",
6703
+ "type": "string[] | undefined"
6704
6704
  },
6705
6705
  {
6706
6706
  "name": "showOpenButton",
@@ -7923,8 +7923,8 @@
7923
7923
  "default": "\"\""
7924
7924
  },
7925
7925
  {
7926
- "name": "filter",
7927
- "type": "string | undefined"
7926
+ "name": "allowedContentTypeIds",
7927
+ "type": "string[] | undefined"
7928
7928
  },
7929
7929
  {
7930
7930
  "name": "showOpenButton",
@@ -7973,9 +7973,9 @@
7973
7973
  "type": "string[]"
7974
7974
  },
7975
7975
  {
7976
- "name": "filter",
7977
- "attribute": "filter",
7978
- "type": "string | undefined"
7976
+ "name": "allowedContentTypeIds",
7977
+ "attribute": "allowedContentTypeIds",
7978
+ "type": "string[] | undefined"
7979
7979
  },
7980
7980
  {
7981
7981
  "name": "showOpenButton",
@@ -8213,6 +8213,10 @@
8213
8213
  "type": "boolean",
8214
8214
  "default": "\"\""
8215
8215
  },
8216
+ {
8217
+ "name": "allowedContentTypeIds",
8218
+ "type": "string[] | undefined"
8219
+ },
8216
8220
  {
8217
8221
  "name": "value",
8218
8222
  "type": "string"
@@ -8251,6 +8255,11 @@
8251
8255
  "name": "selectedIds",
8252
8256
  "type": "string[]"
8253
8257
  },
8258
+ {
8259
+ "name": "allowedContentTypeIds",
8260
+ "attribute": "allowedContentTypeIds",
8261
+ "type": "string[] | undefined"
8262
+ },
8254
8263
  {
8255
8264
  "name": "value",
8256
8265
  "attribute": "value",
@@ -12,7 +12,7 @@ export declare class UmbPropertyEditorUITreePickerElement extends UmbLitElement
12
12
  startNodeId?: string | null;
13
13
  min: number;
14
14
  max: number;
15
- filter?: string | null;
15
+ allowedContentTypeIds?: string | null;
16
16
  showOpenButton?: boolean;
17
17
  ignoreUserStartNodes?: boolean;
18
18
  set config(config: UmbPropertyEditorConfigCollection | undefined);
@@ -33,7 +33,7 @@ let UmbPropertyEditorUITreePickerElement = class UmbPropertyEditorUITreePickerEl
33
33
  }
34
34
  this.min = Number(config?.getValueByAlias('minNumber')) || 0;
35
35
  this.max = Number(config?.getValueByAlias('maxNumber')) || 0;
36
- this.filter = config?.getValueByAlias('filter');
36
+ this.allowedContentTypeIds = config?.getValueByAlias('filter');
37
37
  this.showOpenButton = config?.getValueByAlias('showOpenButton');
38
38
  this.ignoreUserStartNodes = config?.getValueByAlias('ignoreUserStartNodes');
39
39
  }
@@ -44,7 +44,7 @@ let UmbPropertyEditorUITreePickerElement = class UmbPropertyEditorUITreePickerEl
44
44
  .startNodeId=${this.startNodeId ?? ''}
45
45
  .min=${this.min}
46
46
  .max=${this.max}
47
- .filter=${this.filter ?? ''}
47
+ .allowedContentTypeIds=${this.allowedContentTypeIds ?? ''}
48
48
  ?showOpenButton=${this.showOpenButton}
49
49
  ?ignoreUserStartNodes=${this.ignoreUserStartNodes}
50
50
  @change=${__classPrivateFieldGet(this, _UmbPropertyEditorUITreePickerElement_instances, "m", _UmbPropertyEditorUITreePickerElement_onChange)}></umb-input-tree>`;
@@ -73,7 +73,7 @@ __decorate([
73
73
  ], UmbPropertyEditorUITreePickerElement.prototype, "max", void 0);
74
74
  __decorate([
75
75
  state()
76
- ], UmbPropertyEditorUITreePickerElement.prototype, "filter", void 0);
76
+ ], UmbPropertyEditorUITreePickerElement.prototype, "allowedContentTypeIds", void 0);
77
77
  __decorate([
78
78
  state()
79
79
  ], UmbPropertyEditorUITreePickerElement.prototype, "showOpenButton", void 0);
@@ -10,9 +10,9 @@ export declare class UmbInputTreeElement extends UmbInputTreeElement_base {
10
10
  startNodeId?: string;
11
11
  min: number;
12
12
  max: number;
13
- private _filter;
14
- set filter(value: string);
15
- get filter(): string;
13
+ private _allowedContentTypeIds;
14
+ set allowedContentTypeIds(value: string);
15
+ get allowedContentTypeIds(): string;
16
16
  showOpenButton?: boolean;
17
17
  ignoreUserStartNodes?: boolean;
18
18
  set value(newValue: string);
@@ -28,11 +28,11 @@ let UmbInputTreeElement = class UmbInputTreeElement extends FormControlMixin(Umb
28
28
  get type() {
29
29
  return this._type;
30
30
  }
31
- set filter(value) {
32
- this._filter = value.split(',');
31
+ set allowedContentTypeIds(value) {
32
+ this._allowedContentTypeIds = value ? value.split(',') : [];
33
33
  }
34
- get filter() {
35
- return this._filter.join(',');
34
+ get allowedContentTypeIds() {
35
+ return this._allowedContentTypeIds.join(',');
36
36
  }
37
37
  set value(newValue) {
38
38
  super.value = newValue;
@@ -52,7 +52,7 @@ let UmbInputTreeElement = class UmbInputTreeElement extends FormControlMixin(Umb
52
52
  this._type = undefined;
53
53
  this.min = 0;
54
54
  this.max = 0;
55
- this._filter = [];
55
+ this._allowedContentTypeIds = [];
56
56
  this.selectedIds = [];
57
57
  }
58
58
  render() {
@@ -89,7 +89,7 @@ _UmbInputTreeElement_renderContentPicker = function _UmbInputTreeElement_renderC
89
89
  return html `<umb-input-document
90
90
  .selectedIds=${this.selectedIds}
91
91
  .startNodeId=${this.startNodeId}
92
- .filter=${this.filter}
92
+ .allowedContentTypeIds=${this._allowedContentTypeIds}
93
93
  .min=${this.min}
94
94
  .max=${this.max}
95
95
  ?showOpenButton=${this.showOpenButton}
@@ -99,7 +99,7 @@ _UmbInputTreeElement_renderContentPicker = function _UmbInputTreeElement_renderC
99
99
  _UmbInputTreeElement_renderMediaPicker = function _UmbInputTreeElement_renderMediaPicker() {
100
100
  return html `<umb-input-media
101
101
  .selectedIds=${this.selectedIds}
102
- .filter=${this.filter}
102
+ .allowedContentTypeIds=${this._allowedContentTypeIds}
103
103
  .min=${this.min}
104
104
  .max=${this.max}
105
105
  ?showOpenButton=${this.showOpenButton}
@@ -109,7 +109,7 @@ _UmbInputTreeElement_renderMediaPicker = function _UmbInputTreeElement_renderMed
109
109
  _UmbInputTreeElement_renderMemberPicker = function _UmbInputTreeElement_renderMemberPicker() {
110
110
  return html `<umb-input-member
111
111
  .selectedIds=${this.selectedIds}
112
- .filter=${this.filter}
112
+ .allowedContentTypeIds=${this._allowedContentTypeIds}
113
113
  .min=${this.min}
114
114
  .max=${this.max}
115
115
  ?showOpenButton=${this.showOpenButton}
@@ -138,7 +138,7 @@ __decorate([
138
138
  ], UmbInputTreeElement.prototype, "max", void 0);
139
139
  __decorate([
140
140
  property()
141
- ], UmbInputTreeElement.prototype, "filter", null);
141
+ ], UmbInputTreeElement.prototype, "allowedContentTypeIds", null);
142
142
  __decorate([
143
143
  property({ type: Boolean })
144
144
  ], UmbInputTreeElement.prototype, "showOpenButton", void 0);
@@ -1,5 +1,4 @@
1
1
  import { UmbLitElement } from '../../../../../shared/lit-element/index.js';
2
- import type { DocumentItemResponseModel } from '../../../../../external/backend-api/index.js';
3
2
  declare const UmbInputDocumentElement_base: (new (...args: any[]) => import("../../../../../external/uui/index.js").FormControlMixinInterface) & typeof UmbLitElement;
4
3
  export declare class UmbInputDocumentElement extends UmbInputDocumentElement_base {
5
4
  #private;
@@ -36,20 +35,15 @@ export declare class UmbInputDocumentElement extends UmbInputDocumentElement_bas
36
35
  get selectedIds(): Array<string>;
37
36
  set selectedIds(ids: Array<string>);
38
37
  startNodeId?: string;
39
- filter?: string;
38
+ allowedContentTypeIds?: string[] | undefined;
40
39
  showOpenButton?: boolean;
41
40
  ignoreUserStartNodes?: boolean;
42
41
  set value(idsString: string);
43
42
  private _items?;
44
43
  constructor();
45
44
  connectedCallback(): void;
46
- protected _openPicker(): void;
47
- protected _openItem(item: DocumentItemResponseModel): void;
48
45
  protected getFormElement(): undefined;
49
46
  render(): import("lit-html").TemplateResult<1>;
50
- private _renderItem;
51
- private _renderIsTrashed;
52
- private _renderOpenButton;
53
47
  static styles: import("../../../../../external/lit/index.js").CSSResult[];
54
48
  }
55
49
  export default UmbInputDocumentElement;
@@ -9,7 +9,7 @@ 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_renderItems, _UmbInputDocumentElement_renderAddButton;
12
+ var _UmbInputDocumentElement_instances, _UmbInputDocumentElement_pickerContext, _UmbInputDocumentElement_pickableFilter, _UmbInputDocumentElement_openPicker, _UmbInputDocumentElement_openItem, _UmbInputDocumentElement_renderItems, _UmbInputDocumentElement_renderAddButton, _UmbInputDocumentElement_renderItem, _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';
@@ -68,6 +68,12 @@ let UmbInputDocumentElement = class UmbInputDocumentElement extends FormControlM
68
68
  */
69
69
  this.maxMessage = 'This field exceeds the allowed amount of items';
70
70
  _UmbInputDocumentElement_pickerContext.set(this, new UmbDocumentPickerContext(this));
71
+ _UmbInputDocumentElement_pickableFilter.set(this, (item) => {
72
+ if (this.allowedContentTypeIds && this.allowedContentTypeIds.length > 0) {
73
+ return this.allowedContentTypeIds.includes(item.contentTypeId);
74
+ }
75
+ return true;
76
+ });
71
77
  }
72
78
  connectedCallback() {
73
79
  super.connectedCallback();
@@ -76,61 +82,34 @@ let UmbInputDocumentElement = class UmbInputDocumentElement extends FormControlM
76
82
  this.observe(__classPrivateFieldGet(this, _UmbInputDocumentElement_pickerContext, "f").selection, (selection) => (super.value = selection.join(',')));
77
83
  this.observe(__classPrivateFieldGet(this, _UmbInputDocumentElement_pickerContext, "f").selectedItems, (selectedItems) => (this._items = selectedItems));
78
84
  }
79
- _openPicker() {
80
- // TODO: Configure the content picker, with `startNodeId`, `filter` and `ignoreUserStartNodes` [LK]
81
- console.log("_openPicker", [this.startNodeId, this.filter, this.ignoreUserStartNodes]);
82
- __classPrivateFieldGet(this, _UmbInputDocumentElement_pickerContext, "f").openPicker({
83
- hideTreeRoot: true,
84
- });
85
- }
86
- _openItem(item) {
87
- // TODO: Implement the Content editing infinity editor. [LK]
88
- console.log('TODO: _openItem', item);
89
- }
90
85
  getFormElement() {
91
86
  return undefined;
92
87
  }
93
88
  render() {
94
89
  return html ` ${__classPrivateFieldGet(this, _UmbInputDocumentElement_instances, "m", _UmbInputDocumentElement_renderItems).call(this)} ${__classPrivateFieldGet(this, _UmbInputDocumentElement_instances, "m", _UmbInputDocumentElement_renderAddButton).call(this)} `;
95
90
  }
96
- _renderItem(item) {
97
- if (!item.id)
98
- return;
99
- return html `
100
- <uui-ref-node name=${ifDefined(item.name)} detail=${ifDefined(item.id)}>
101
- ${this._renderIsTrashed(item)}
102
- <uui-action-bar slot="actions">
103
- ${this._renderOpenButton(item)}
104
- <uui-button
105
- @click=${() => __classPrivateFieldGet(this, _UmbInputDocumentElement_pickerContext, "f").requestRemoveItem(item.id)}
106
- label="Remove document ${item.name}"
107
- >${this.localize.term('general_remove')}</uui-button
108
- >
109
- </uui-action-bar>
110
- </uui-ref-node>
111
- `;
112
- }
113
- _renderIsTrashed(item) {
114
- if (!item.isTrashed)
115
- return;
116
- return html `<uui-tag size="s" slot="tag" color="danger">Trashed</uui-tag>`;
117
- }
118
- _renderOpenButton(item) {
119
- if (!this.showOpenButton)
120
- return;
121
- return html `<uui-button @click=${() => this._openItem(item)} label="Open document ${item.name}"
122
- >${this.localize.term('general_open')}</uui-button
123
- >`;
124
- }
125
91
  };
126
92
  _UmbInputDocumentElement_pickerContext = new WeakMap();
93
+ _UmbInputDocumentElement_pickableFilter = new WeakMap();
127
94
  _UmbInputDocumentElement_instances = new WeakSet();
95
+ _UmbInputDocumentElement_openPicker = function _UmbInputDocumentElement_openPicker() {
96
+ // TODO: Configure the content picker, with `startNodeId` and `ignoreUserStartNodes` [LK]
97
+ console.log('_openPicker', [this.startNodeId, this.ignoreUserStartNodes]);
98
+ __classPrivateFieldGet(this, _UmbInputDocumentElement_pickerContext, "f").openPicker({
99
+ hideTreeRoot: true,
100
+ pickableFilter: __classPrivateFieldGet(this, _UmbInputDocumentElement_pickableFilter, "f"),
101
+ });
102
+ };
103
+ _UmbInputDocumentElement_openItem = function _UmbInputDocumentElement_openItem(item) {
104
+ // TODO: Implement the Content editing infinity editor. [LK]
105
+ console.log('TODO: _openItem', item);
106
+ };
128
107
  _UmbInputDocumentElement_renderItems = function _UmbInputDocumentElement_renderItems() {
129
108
  if (!this._items)
130
109
  return;
131
110
  // TODO: Add sorting. [LK]
132
111
  return html `<uui-ref-list
133
- >${repeat(this._items, (item) => item.id, (item) => this._renderItem(item))}
112
+ >${repeat(this._items, (item) => item.id, (item) => __classPrivateFieldGet(this, _UmbInputDocumentElement_instances, "m", _UmbInputDocumentElement_renderItem).call(this, item))}
134
113
  </uui-ref-list>`;
135
114
  };
136
115
  _UmbInputDocumentElement_renderAddButton = function _UmbInputDocumentElement_renderAddButton() {
@@ -139,9 +118,38 @@ _UmbInputDocumentElement_renderAddButton = function _UmbInputDocumentElement_ren
139
118
  return html `<uui-button
140
119
  id="add-button"
141
120
  look="placeholder"
142
- @click=${this._openPicker}
121
+ @click=${__classPrivateFieldGet(this, _UmbInputDocumentElement_instances, "m", _UmbInputDocumentElement_openPicker)}
143
122
  label=${this.localize.term('general_choose')}></uui-button>`;
144
123
  };
124
+ _UmbInputDocumentElement_renderItem = function _UmbInputDocumentElement_renderItem(item) {
125
+ if (!item.id)
126
+ return;
127
+ return html `
128
+ <uui-ref-node name=${ifDefined(item.name)} detail=${ifDefined(item.id)}>
129
+ ${__classPrivateFieldGet(this, _UmbInputDocumentElement_instances, "m", _UmbInputDocumentElement_renderIsTrashed).call(this, item)}
130
+ <uui-action-bar slot="actions">
131
+ ${__classPrivateFieldGet(this, _UmbInputDocumentElement_instances, "m", _UmbInputDocumentElement_renderOpenButton).call(this, item)}
132
+ <uui-button
133
+ @click=${() => __classPrivateFieldGet(this, _UmbInputDocumentElement_pickerContext, "f").requestRemoveItem(item.id)}
134
+ label="Remove document ${item.name}"
135
+ >${this.localize.term('general_remove')}</uui-button
136
+ >
137
+ </uui-action-bar>
138
+ </uui-ref-node>
139
+ `;
140
+ };
141
+ _UmbInputDocumentElement_renderIsTrashed = function _UmbInputDocumentElement_renderIsTrashed(item) {
142
+ if (!item.isTrashed)
143
+ return;
144
+ return html `<uui-tag size="s" slot="tag" color="danger">Trashed</uui-tag>`;
145
+ };
146
+ _UmbInputDocumentElement_renderOpenButton = function _UmbInputDocumentElement_renderOpenButton(item) {
147
+ if (!this.showOpenButton)
148
+ return;
149
+ return html `<uui-button @click=${() => __classPrivateFieldGet(this, _UmbInputDocumentElement_instances, "m", _UmbInputDocumentElement_openItem).call(this, item)} label="Open document ${item.name}"
150
+ >${this.localize.term('general_open')}</uui-button
151
+ >`;
152
+ };
145
153
  UmbInputDocumentElement.styles = [
146
154
  css `
147
155
  #add-button {
@@ -165,8 +173,8 @@ __decorate([
165
173
  property({ type: String })
166
174
  ], UmbInputDocumentElement.prototype, "startNodeId", void 0);
167
175
  __decorate([
168
- property({ type: String })
169
- ], UmbInputDocumentElement.prototype, "filter", void 0);
176
+ property({ type: Array })
177
+ ], UmbInputDocumentElement.prototype, "allowedContentTypeIds", void 0);
170
178
  __decorate([
171
179
  property({ type: Boolean })
172
180
  ], UmbInputDocumentElement.prototype, "showOpenButton", void 0);
@@ -1,5 +1,4 @@
1
1
  import { UmbLitElement } from '../../../../../shared/lit-element/index.js';
2
- import type { MediaItemResponseModel } from '../../../../../external/backend-api/index.js';
3
2
  declare const UmbInputMediaElement_base: (new (...args: any[]) => import("../../../../../external/uui/index.js").FormControlMixinInterface) & typeof UmbLitElement;
4
3
  export declare class UmbInputMediaElement extends UmbInputMediaElement_base {
5
4
  #private;
@@ -35,18 +34,15 @@ export declare class UmbInputMediaElement extends UmbInputMediaElement_base {
35
34
  maxMessage: string;
36
35
  get selectedIds(): Array<string>;
37
36
  set selectedIds(ids: Array<string>);
38
- filter?: string;
37
+ allowedContentTypeIds?: string[] | undefined;
39
38
  showOpenButton?: boolean;
40
39
  ignoreUserStartNodes?: boolean;
41
40
  set value(idsString: string);
42
41
  private _items?;
43
42
  constructor();
44
43
  connectedCallback(): void;
45
- protected _openPicker(): void;
46
- protected _openItem(item: MediaItemResponseModel): void;
47
44
  protected getFormElement(): undefined;
48
45
  render(): import("lit-html").TemplateResult<1>;
49
- private _renderIsTrashed;
50
46
  static styles: import("../../../../../external/lit/index.js").CSSResult[];
51
47
  }
52
48
  export default UmbInputMediaElement;
@@ -9,9 +9,9 @@ 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_renderItems, _UmbInputMediaElement_renderButton, _UmbInputMediaElement_renderItem;
12
+ var _UmbInputMediaElement_instances, _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
- import { css, html, customElement, property, state, ifDefined } from '../../../../../external/lit/index.js';
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';
@@ -68,6 +68,15 @@ let UmbInputMediaElement = class UmbInputMediaElement extends FormControlMixin(U
68
68
  */
69
69
  this.maxMessage = 'This field exceeds the allowed amount of items';
70
70
  _UmbInputMediaElement_pickerContext.set(this, new UmbMediaPickerContext(this));
71
+ _UmbInputMediaElement_pickableFilter.set(this, (item) => {
72
+ /* TODO: Media item doesn't have the content/media-type ID available to query.
73
+ Commenting out until the Management API model is updated. [LK]
74
+ */
75
+ // if (this.allowedContentTypeIds && this.allowedContentTypeIds.length > 0) {
76
+ // return this.allowedContentTypeIds.includes(item.contentTypeId);
77
+ // }
78
+ return true;
79
+ });
71
80
  }
72
81
  connectedCallback() {
73
82
  super.connectedCallback();
@@ -76,45 +85,44 @@ let UmbInputMediaElement = class UmbInputMediaElement extends FormControlMixin(U
76
85
  this.observe(__classPrivateFieldGet(this, _UmbInputMediaElement_pickerContext, "f").selection, (selection) => (super.value = selection.join(',')));
77
86
  this.observe(__classPrivateFieldGet(this, _UmbInputMediaElement_pickerContext, "f").selectedItems, (selectedItems) => (this._items = selectedItems));
78
87
  }
79
- _openPicker() {
80
- // TODO: Configure the media picker, with `filter` and `ignoreUserStartNodes` [LK]
81
- console.log('_openPicker', [this.filter, this.ignoreUserStartNodes]);
82
- __classPrivateFieldGet(this, _UmbInputMediaElement_pickerContext, "f").openPicker({
83
- hideTreeRoot: true,
84
- });
85
- }
86
- _openItem(item) {
87
- // TODO: Implement the Content editing infinity editor. [LK]
88
- console.log('TODO: _openItem', item);
89
- }
90
88
  getFormElement() {
91
89
  return undefined;
92
90
  }
93
91
  render() {
94
- return html ` ${__classPrivateFieldGet(this, _UmbInputMediaElement_instances, "m", _UmbInputMediaElement_renderItems).call(this)} ${__classPrivateFieldGet(this, _UmbInputMediaElement_instances, "m", _UmbInputMediaElement_renderButton).call(this)} `;
95
- }
96
- _renderIsTrashed(item) {
97
- if (!item.isTrashed)
98
- return;
99
- return html `<uui-tag size="s" slot="tag" color="danger">Trashed</uui-tag>`;
92
+ return html ` ${__classPrivateFieldGet(this, _UmbInputMediaElement_instances, "m", _UmbInputMediaElement_renderItems).call(this)} ${__classPrivateFieldGet(this, _UmbInputMediaElement_instances, "m", _UmbInputMediaElement_renderAddButton).call(this)} `;
100
93
  }
101
94
  };
102
95
  _UmbInputMediaElement_pickerContext = new WeakMap();
96
+ _UmbInputMediaElement_pickableFilter = new WeakMap();
103
97
  _UmbInputMediaElement_instances = new WeakSet();
98
+ _UmbInputMediaElement_openPicker = function _UmbInputMediaElement_openPicker() {
99
+ // TODO: Configure the media picker, with `allowedContentTypeIds` and `ignoreUserStartNodes` [LK]
100
+ console.log('#openPicker', [this.allowedContentTypeIds, this.ignoreUserStartNodes]);
101
+ __classPrivateFieldGet(this, _UmbInputMediaElement_pickerContext, "f").openPicker({
102
+ hideTreeRoot: true,
103
+ pickableFilter: __classPrivateFieldGet(this, _UmbInputMediaElement_pickableFilter, "f"),
104
+ });
105
+ };
106
+ _UmbInputMediaElement_openItem = function _UmbInputMediaElement_openItem(item) {
107
+ // TODO: Implement the Media editing infinity editor. [LK]
108
+ console.log('TODO: _openItem', item);
109
+ };
104
110
  _UmbInputMediaElement_renderItems = function _UmbInputMediaElement_renderItems() {
105
111
  if (!this._items)
106
112
  return;
107
113
  // TODO: Add sorting. [LK]
108
- return html ` ${this._items?.map((item) => __classPrivateFieldGet(this, _UmbInputMediaElement_instances, "m", _UmbInputMediaElement_renderItem).call(this, item))} `;
114
+ return html `
115
+ ${repeat(this._items, (item) => item.id, (item) => __classPrivateFieldGet(this, _UmbInputMediaElement_instances, "m", _UmbInputMediaElement_renderItem).call(this, item))}
116
+ `;
109
117
  };
110
- _UmbInputMediaElement_renderButton = function _UmbInputMediaElement_renderButton() {
118
+ _UmbInputMediaElement_renderAddButton = function _UmbInputMediaElement_renderAddButton() {
111
119
  if (this._items && this.max && this._items.length >= this.max)
112
120
  return;
113
121
  return html `
114
122
  <uui-button
115
123
  id="add-button"
116
124
  look="placeholder"
117
- @click=${this._openPicker}
125
+ @click=${__classPrivateFieldGet(this, _UmbInputMediaElement_instances, "m", _UmbInputMediaElement_openPicker)}
118
126
  label=${this.localize.term('general_choose')}>
119
127
  <uui-icon name="icon-add"></uui-icon>
120
128
  ${this.localize.term('general_choose')}
@@ -129,7 +137,7 @@ _UmbInputMediaElement_renderItem = function _UmbInputMediaElement_renderItem(ite
129
137
  name=${ifDefined(item.name === null ? undefined : item.name)}
130
138
  detail=${ifDefined(item.id)}
131
139
  file-ext="jpg">
132
- ${this._renderIsTrashed(item)}
140
+ ${__classPrivateFieldGet(this, _UmbInputMediaElement_instances, "m", _UmbInputMediaElement_renderIsTrashed).call(this, item)}
133
141
  <uui-action-bar slot="actions">
134
142
  <uui-button label="Copy media">
135
143
  <uui-icon name="icon-documents"></uui-icon>
@@ -141,6 +149,11 @@ _UmbInputMediaElement_renderItem = function _UmbInputMediaElement_renderItem(ite
141
149
  </uui-card-media>
142
150
  `;
143
151
  };
152
+ _UmbInputMediaElement_renderIsTrashed = function _UmbInputMediaElement_renderIsTrashed(item) {
153
+ if (!item.isTrashed)
154
+ return;
155
+ return html `<uui-tag size="s" slot="tag" color="danger">Trashed</uui-tag>`;
156
+ };
144
157
  UmbInputMediaElement.styles = [
145
158
  css `
146
159
  :host {
@@ -174,8 +187,8 @@ __decorate([
174
187
  property({ type: String, attribute: 'min-message' })
175
188
  ], UmbInputMediaElement.prototype, "maxMessage", void 0);
176
189
  __decorate([
177
- property({ type: String })
178
- ], UmbInputMediaElement.prototype, "filter", void 0);
190
+ property({ type: Array })
191
+ ], UmbInputMediaElement.prototype, "allowedContentTypeIds", void 0);
179
192
  __decorate([
180
193
  property({ type: Boolean })
181
194
  ], UmbInputMediaElement.prototype, "showOpenButton", void 0);
@@ -1,5 +1,4 @@
1
1
  import { UmbLitElement } from '../../../../../shared/lit-element/index.js';
2
- import type { MemberItemResponseModel } from '../../../../../external/backend-api/index.js';
3
2
  declare const UmbInputMemberElement_base: (new (...args: any[]) => import("../../../../../external/uui/index.js").FormControlMixinInterface) & typeof UmbLitElement;
4
3
  export declare class UmbInputMemberElement extends UmbInputMemberElement_base {
5
4
  #private;
@@ -35,14 +34,12 @@ export declare class UmbInputMemberElement extends UmbInputMemberElement_base {
35
34
  maxMessage: string;
36
35
  get selectedIds(): Array<string>;
37
36
  set selectedIds(ids: Array<string>);
37
+ allowedContentTypeIds?: string[] | undefined;
38
38
  set value(idsString: string);
39
39
  private _items?;
40
40
  constructor();
41
- protected _openPicker(): void;
42
- protected _requestRemoveItem(item: MemberItemResponseModel): void;
43
41
  protected getFormElement(): undefined;
44
42
  render(): import("lit-html").TemplateResult<1>;
45
- private _renderItem;
46
43
  static styles: import("../../../../../external/lit/index.js").CSSResult[];
47
44
  }
48
45
  export default UmbInputMemberElement;