@openremote/or-asset-tree 1.2.0-snapshot.20240512155932

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/README.md ADDED
@@ -0,0 +1,31 @@
1
+ # @openremote/or-asset-tree \<or-asset-tree\>
2
+ [![NPM Version][npm-image]][npm-url]
3
+ [![Linux Build][travis-image]][travis-url]
4
+ [![Test Coverage][coveralls-image]][coveralls-url]
5
+
6
+ Web Component for displaying an asset tree. This component requires an OpenRemote Manager to retrieve, save and query assets.
7
+
8
+ ## Install
9
+ ```bash
10
+ npm i @openremote/or-asset-list
11
+ yarn add @openremote/or-asset-list
12
+ ```
13
+
14
+ ## Usage
15
+ For a full list of properties, methods and options refer to the TypeDoc generated [documentation]().
16
+
17
+
18
+ ## Supported Browsers
19
+ The last 2 versions of all modern browsers are supported, including Chrome, Safari, Opera, Firefox, Edge. In addition,
20
+ Internet Explorer 11 is also supported.
21
+
22
+
23
+ ## License
24
+ [GNU AGPL](https://www.gnu.org/licenses/agpl-3.0.en.html)
25
+
26
+ [npm-image]: https://img.shields.io/npm/v/live-xxx.svg
27
+ [npm-url]: https://npmjs.org/package/@openremote/or-asset-list
28
+ [travis-image]: https://img.shields.io/travis/live-js/live-xxx/master.svg
29
+ [travis-url]: https://travis-ci.org/live-js/live-xxx
30
+ [coveralls-image]: https://img.shields.io/coveralls/live-js/live-xxx/master.svg
31
+ [coveralls-url]: https://coveralls.io/r/live-js/live-xxx?branch=master
package/lib/index.d.ts ADDED
@@ -0,0 +1,255 @@
1
+ import { LitElement, PropertyValues, TemplateResult } from "lit";
2
+ import "@openremote/or-mwc-components/or-mwc-input";
3
+ import { OrMwcInput } from "@openremote/or-mwc-components/or-mwc-input";
4
+ import "@openremote/or-icon";
5
+ import { Asset, AssetDescriptor, AssetEvent, AssetTreeNode, AssetTypeInfo, SharedEvent } from "@openremote/model";
6
+ import "@openremote/or-translate";
7
+ import { style } from "./style";
8
+ import { EventCallback, Util } from "@openremote/core";
9
+ import "@openremote/or-mwc-components/or-mwc-menu";
10
+ import { ListItem } from "@openremote/or-mwc-components/or-mwc-list";
11
+ import "@openremote/or-mwc-components/or-mwc-list";
12
+ import "@openremote/or-mwc-components/or-mwc-dialog";
13
+ import "./or-add-asset-dialog";
14
+ export interface AssetTreeTypeConfig {
15
+ include?: string[];
16
+ exclude?: string[];
17
+ }
18
+ export interface AssetTreeConfig {
19
+ select?: {
20
+ multiSelect?: boolean;
21
+ types?: string[];
22
+ };
23
+ add?: {
24
+ typesProvider?: (parent: UiAssetTreeNode | undefined) => AssetDescriptor[] | undefined;
25
+ typesParent?: {
26
+ default?: AssetTreeTypeConfig;
27
+ none?: AssetTreeTypeConfig;
28
+ assetTypes?: {
29
+ [assetType: string]: AssetTreeTypeConfig;
30
+ };
31
+ };
32
+ };
33
+ }
34
+ interface AssetWithReparentId extends Asset {
35
+ reparentId?: string | null;
36
+ }
37
+ export interface UiAssetTreeNode extends AssetTreeNode {
38
+ selected: boolean;
39
+ expandable: boolean;
40
+ expanded: boolean;
41
+ parent: UiAssetTreeNode;
42
+ children: UiAssetTreeNode[];
43
+ someChildrenSelected: boolean;
44
+ allChildrenSelected: boolean;
45
+ notMatchingFilter: boolean;
46
+ hidden: boolean;
47
+ }
48
+ export interface NodeSelectEventDetail {
49
+ oldNodes: UiAssetTreeNode[];
50
+ newNodes: UiAssetTreeNode[];
51
+ }
52
+ export { style };
53
+ export declare class OrAssetTreeRequestSelectionEvent extends CustomEvent<Util.RequestEventDetail<NodeSelectEventDetail>> {
54
+ static readonly NAME = "or-asset-tree-request-selection";
55
+ constructor(request: NodeSelectEventDetail);
56
+ }
57
+ export declare class OrAssetTreeSelectionEvent extends CustomEvent<NodeSelectEventDetail> {
58
+ static readonly NAME = "or-asset-tree-selection";
59
+ constructor(detail: NodeSelectEventDetail);
60
+ }
61
+ export declare class OrAssetTreeChangeParentEvent extends CustomEvent<any> {
62
+ static readonly NAME = "or-asset-tree-change-parent";
63
+ constructor(parent: string | undefined, assetsIds: string[]);
64
+ }
65
+ export interface ToggleExpandEventDetail {
66
+ node: UiAssetTreeNode;
67
+ }
68
+ export declare class OrAssetTreeToggleExpandEvent extends CustomEvent<ToggleExpandEventDetail> {
69
+ static readonly NAME = "or-asset-tree-expand";
70
+ constructor(detail: ToggleExpandEventDetail);
71
+ }
72
+ export type AddEventDetail = {
73
+ sourceAsset?: Asset;
74
+ asset: Asset;
75
+ };
76
+ export declare class OrAssetTreeRequestAddEvent extends CustomEvent<Util.RequestEventDetail<AddEventDetail>> {
77
+ static readonly NAME = "or-asset-tree-request-add";
78
+ constructor(detail: AddEventDetail);
79
+ }
80
+ export declare class OrAssetTreeAddEvent extends CustomEvent<AddEventDetail> {
81
+ static readonly NAME = "or-asset-tree-add";
82
+ constructor(detail: AddEventDetail);
83
+ }
84
+ export declare class OrAssetTreeRequestDeleteEvent extends CustomEvent<Util.RequestEventDetail<UiAssetTreeNode[]>> {
85
+ static readonly NAME = "or-asset-tree-request-delete";
86
+ constructor(request: UiAssetTreeNode[]);
87
+ }
88
+ export declare class OrAssetTreeAssetEvent extends CustomEvent<AssetEvent> {
89
+ static readonly NAME = "or-asset-tree-asset-event";
90
+ constructor(assetEvent: AssetEvent);
91
+ }
92
+ export declare class OrAssetTreeFilter {
93
+ asset: string | undefined;
94
+ assetType: string[];
95
+ attribute: string[];
96
+ attributeValue: string[];
97
+ constructor();
98
+ }
99
+ declare global {
100
+ export interface HTMLElementEventMap {
101
+ [OrAssetTreeRequestSelectionEvent.NAME]: OrAssetTreeRequestSelectionEvent;
102
+ [OrAssetTreeSelectionEvent.NAME]: OrAssetTreeSelectionEvent;
103
+ [OrAssetTreeRequestAddEvent.NAME]: OrAssetTreeRequestAddEvent;
104
+ [OrAssetTreeAddEvent.NAME]: OrAssetTreeAddEvent;
105
+ [OrAssetTreeRequestDeleteEvent.NAME]: OrAssetTreeRequestDeleteEvent;
106
+ [OrAssetTreeAssetEvent.NAME]: OrAssetTreeAssetEvent;
107
+ [OrAssetTreeChangeParentEvent.NAME]: OrAssetTreeChangeParentEvent;
108
+ }
109
+ }
110
+ export declare const getAssetTypes: () => Promise<any[] | undefined>;
111
+ declare const OrAssetTree_base: (new (...args: any[]) => {
112
+ _connectRequested: boolean;
113
+ _subscriptionIds?: string[] | undefined;
114
+ _assetIds?: string[] | undefined;
115
+ _attributeRefs?: import("@openremote/model").AttributeRef[] | undefined;
116
+ _status: import("@openremote/core").EventProviderStatus;
117
+ _statusCallback: (status: import("@openremote/core").EventProviderStatus) => void;
118
+ connectedCallback(): void;
119
+ disconnectedCallback(): void;
120
+ connectEvents(): void;
121
+ disconnectEvents(): void;
122
+ _doConnect(): Promise<void>;
123
+ readonly eventsConnected: boolean;
124
+ _onEventProviderStatusChanged(status: import("@openremote/core").EventProviderStatus): void;
125
+ _onEventsConnect(): void;
126
+ _onEventsDisconnect(): void;
127
+ _addEventSubscriptions(): Promise<void>;
128
+ _removeEventSubscriptions(): void;
129
+ _refreshEventSubscriptions(): void;
130
+ assetIds: string[] | undefined;
131
+ attributeRefs: import("@openremote/model").AttributeRef[] | undefined;
132
+ _sendEvent(event: SharedEvent): void;
133
+ _sendEventWithReply<U extends SharedEvent, V extends SharedEvent>(event: import("@openremote/model").EventRequestResponseWrapper<U>): Promise<V>;
134
+ onEventsConnect(): void;
135
+ onEventsDisconnect(): void;
136
+ _onEvent(event: SharedEvent): void;
137
+ requestUpdate(name?: PropertyKey | undefined, oldValue?: unknown): void;
138
+ readonly isConnected: boolean;
139
+ }) & typeof LitElement;
140
+ export declare class OrAssetTree extends OrAssetTree_base {
141
+ static get styles(): import("lit").CSSResult[];
142
+ /**
143
+ * Allows arbitrary assets to be displayed using a tree
144
+ */
145
+ assets?: Asset[];
146
+ assetInfos?: AssetTypeInfo[];
147
+ _assetIdsOverride?: string[];
148
+ rootAssets?: Asset[];
149
+ rootAssetIds?: string[];
150
+ dataProvider?: () => Promise<Asset[]>;
151
+ readonly: boolean;
152
+ disabled: boolean;
153
+ disableSubscribe: boolean;
154
+ selectedIds?: string[];
155
+ showDeselectBtn?: boolean;
156
+ showSortBtn?: boolean;
157
+ showFilter: boolean;
158
+ sortBy?: string;
159
+ expandAllNodes?: boolean;
160
+ expandedIds?: string[];
161
+ checkboxes?: boolean;
162
+ protected config?: AssetTreeConfig;
163
+ protected _nodes?: UiAssetTreeNode[];
164
+ protected _loading: boolean;
165
+ protected _connected: boolean;
166
+ protected _selectedNodes: UiAssetTreeNode[];
167
+ protected _expandedNodes: UiAssetTreeNode[];
168
+ protected _initCallback?: EventCallback;
169
+ protected _filter: OrAssetTreeFilter;
170
+ protected _searchInputTimer?: number;
171
+ protected _clearIconContainer: HTMLElement;
172
+ protected _filterInput: OrMwcInput;
173
+ protected _filterSettingOpen: boolean;
174
+ protected _assetTypes: AssetDescriptor[];
175
+ protected _attributeNameFilter: OrMwcInput;
176
+ protected _attributeValueFilter: OrMwcInput;
177
+ protected _assetTypeFilter: string;
178
+ protected _uniqueAssetTypes: string[];
179
+ private _dragDropParentId;
180
+ protected _expandTimer?: number;
181
+ private _latestSelected;
182
+ protected assetsChildren: {
183
+ [key: string]: UiAssetTreeNode[];
184
+ };
185
+ get selectedNodes(): UiAssetTreeNode[];
186
+ set selectedNodes(nodes: UiAssetTreeNode[]);
187
+ connectedCallback(): void;
188
+ disconnectedCallback(): void;
189
+ refresh(): void;
190
+ isAncestorSelected(node: UiAssetTreeNode): boolean;
191
+ protected mapDescriptors(descriptors: (AssetDescriptor)[], withNoneValue?: ListItem): ListItem[];
192
+ protected getSelectHeader(): TemplateResult;
193
+ protected getSelectedHeader(descriptor: AssetDescriptor): TemplateResult;
194
+ protected assetTypeSelect(): TemplateResult;
195
+ protected atLeastOneNodeToBeShown(): boolean;
196
+ protected render(): TemplateResult<1>;
197
+ protected _isReadonly(): boolean;
198
+ protected shouldUpdate(_changedProperties: PropertyValues): boolean;
199
+ protected _updateSelectedNodes(): void;
200
+ protected _updateSort(nodes: UiAssetTreeNode[], sortFunction: (a: UiAssetTreeNode, b: UiAssetTreeNode) => number): void;
201
+ protected _toggleExpander(expander: HTMLElement, node: UiAssetTreeNode | null): void;
202
+ /**
203
+ * This method is used to avoid to re-render and erase all the this.selectedIds attribute
204
+ *
205
+ * @param expander
206
+ * @param node
207
+ * @protected
208
+ */
209
+ protected _toggleExpanderWithoutEventDispatch(expander: HTMLElement, node: UiAssetTreeNode | null): void;
210
+ private _buildPaths;
211
+ private _findNode;
212
+ private _findNodeFromAssetId;
213
+ protected _onNodeClicked(evt: MouseEvent | null, node: UiAssetTreeNode | null): void;
214
+ protected _onDeselectClicked(): void;
215
+ protected parseFromInputFilter(inputValue?: string): OrAssetTreeFilter;
216
+ protected formatFilter(newFilter: OrAssetTreeFilter): string;
217
+ protected _shouldEnableAttrTypeEvent(e: KeyboardEvent): void;
218
+ protected _shouldEnableAttrType(value: string | undefined): void;
219
+ protected applySettingFields(filter: OrAssetTreeFilter): OrAssetTreeFilter;
220
+ protected _filterFromSettings(): void;
221
+ protected _onFilterInputEvent(e: KeyboardEvent): void;
222
+ protected _onFilterInput(newValue: string | undefined, force: boolean): void;
223
+ protected _doFiltering(): Promise<void>;
224
+ protected getMatcher(requireQuery: boolean): Promise<((asset: Asset) => boolean)>;
225
+ protected getSimpleNameMatcher(): Promise<((asset: Asset) => boolean)>;
226
+ protected getMatcherFromQuery(): Promise<((asset: Asset) => boolean)>;
227
+ protected isAnyFilter(): boolean;
228
+ protected filterTreeNode(currentNode: UiAssetTreeNode, matcher: (asset: Asset) => boolean, parentMatching?: boolean): boolean;
229
+ protected _onCopyClicked(): Promise<void>;
230
+ protected _onAddClicked(): void;
231
+ protected _onDeleteClicked(): void;
232
+ protected _onSearchClicked(): void;
233
+ protected _onSortClicked(sortBy: string): void;
234
+ protected _doDelete(): void;
235
+ protected _canAdd(): boolean;
236
+ protected _getAllowedChildTypes(selectedNode: UiAssetTreeNode | undefined): AssetDescriptor[];
237
+ protected _getSortFunction(): (a: UiAssetTreeNode, b: UiAssetTreeNode) => number;
238
+ protected _loadAssets(): void;
239
+ _addEventSubscriptions(): Promise<void>;
240
+ onEventsConnect(): void;
241
+ onEventsDisconnect(): void;
242
+ getNodes(): UiAssetTreeNode[];
243
+ _onEvent(event: SharedEvent): void;
244
+ protected _buildTreeNodes(assets: Asset[], sortFunction: (a: UiAssetTreeNode, b: UiAssetTreeNode) => number): void;
245
+ protected _buildChildTreeNodes(treeNode: UiAssetTreeNode, assets: AssetWithReparentId[], sortFunction: (a: UiAssetTreeNode, b: UiAssetTreeNode) => number): void;
246
+ _onDragStart(ev: any): void;
247
+ _onDragEnd(ev: any): void;
248
+ protected isExpandable(assetId: string): boolean;
249
+ _onDragOver(ev: any): void;
250
+ protected expandNode(assetId: string | null): void;
251
+ _onDragEnter(ev: any): void;
252
+ _onDragLeave(ev: any): void;
253
+ protected _treeNodeTemplate(treeNode: UiAssetTreeNode, level: number): TemplateResult | string | undefined;
254
+ protected static _forEachNodeRecursive(nodes: UiAssetTreeNode[], fn: (node: UiAssetTreeNode) => void): void;
255
+ }
package/lib/index.js ADDED
@@ -0,0 +1,101 @@
1
+ var __decorate=this&&this.__decorate||function(e,t,s,i){var r,a=arguments.length,n=a<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,i);else for(var o=e.length-1;o>=0;o--)(r=e[o])&&(n=(a<3?r(n):a>3?r(t,s,n):r(t,s))||n);return a>3&&n&&Object.defineProperty(t,s,n),n},__awaiter=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(r,a){function n(e){try{d(i.next(e))}catch(e){a(e)}}function o(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(n,o)}d((i=i.apply(e,t||[])).next())}))},OrAssetTree_1,FilterElementType;import{html,LitElement}from"lit";import{customElement,property,query,state}from"lit/decorators.js";import"@openremote/or-mwc-components/or-mwc-input";import{InputType}from"@openremote/or-mwc-components/or-mwc-input";import"@openremote/or-icon";import{AssetModelUtil}from"@openremote/model";import"@openremote/or-translate";import{style}from"./style";import manager,{subscribe,Util}from"@openremote/core";import Qs from"qs";import{getAssetDescriptorIconTemplate}from"@openremote/or-icon";import"@openremote/or-mwc-components/or-mwc-menu";import{getContentWithMenuTemplate}from"@openremote/or-mwc-components/or-mwc-menu";import"@openremote/or-mwc-components/or-mwc-list";import{i18next}from"@openremote/or-translate";import"@openremote/or-mwc-components/or-mwc-dialog";import{OrMwcDialog,showDialog,showErrorDialog,showOkCancelDialog}from"@openremote/or-mwc-components/or-mwc-dialog";import"./or-add-asset-dialog";import{showSnackbar}from"@openremote/or-mwc-components/or-mwc-snackbar";import{when}from"lit/directives/when.js";export{style};export class OrAssetTreeRequestSelectionEvent extends CustomEvent{constructor(e){super(OrAssetTreeRequestSelectionEvent.NAME,{bubbles:!0,composed:!0,detail:{allow:!0,detail:e}})}}OrAssetTreeRequestSelectionEvent.NAME="or-asset-tree-request-selection";export class OrAssetTreeSelectionEvent extends CustomEvent{constructor(e){super(OrAssetTreeSelectionEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}OrAssetTreeSelectionEvent.NAME="or-asset-tree-selection";export class OrAssetTreeChangeParentEvent extends CustomEvent{constructor(e,t){super(OrAssetTreeChangeParentEvent.NAME,{bubbles:!0,composed:!0,detail:{parentId:e,assetsIds:t}})}}OrAssetTreeChangeParentEvent.NAME="or-asset-tree-change-parent";export class OrAssetTreeToggleExpandEvent extends CustomEvent{constructor(e){super(OrAssetTreeToggleExpandEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}OrAssetTreeToggleExpandEvent.NAME="or-asset-tree-expand",function(e){e[e.SEARCH_FILTER=0]="SEARCH_FILTER",e[e.ASSET_TYPE=1]="ASSET_TYPE",e[e.ATTRIBUTE_NAME=2]="ATTRIBUTE_NAME",e[e.ATTRIBUTE_VALUE=3]="ATTRIBUTE_VALUE"}(FilterElementType||(FilterElementType={}));export class OrAssetTreeRequestAddEvent extends CustomEvent{constructor(e){super(OrAssetTreeRequestAddEvent.NAME,{bubbles:!0,composed:!0,detail:{allow:!0,detail:e}})}}OrAssetTreeRequestAddEvent.NAME="or-asset-tree-request-add";export class OrAssetTreeAddEvent extends CustomEvent{constructor(e){super(OrAssetTreeAddEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}OrAssetTreeAddEvent.NAME="or-asset-tree-add";export class OrAssetTreeRequestDeleteEvent extends CustomEvent{constructor(e){super(OrAssetTreeRequestDeleteEvent.NAME,{bubbles:!0,composed:!0,detail:{allow:!0,detail:e}})}}OrAssetTreeRequestDeleteEvent.NAME="or-asset-tree-request-delete";export class OrAssetTreeAssetEvent extends CustomEvent{constructor(e){super(OrAssetTreeAssetEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}OrAssetTreeAssetEvent.NAME="or-asset-tree-asset-event";export class OrAssetTreeFilter{constructor(){this.asset=void 0,this.assetType=[],this.attribute=[],this.attributeValue=[]}}export const getAssetTypes=()=>__awaiter(void 0,void 0,void 0,(function*(){const e=yield manager.rest.api.AssetResource.queryAssets({select:{attributes:[]},recursive:!0});if(e&&e.data)return e.data.map((e=>e.type))}));let OrAssetTree=OrAssetTree_1=class OrAssetTree extends(subscribe(manager)(LitElement)){constructor(){super(...arguments),this.readonly=!1,this.disabled=!1,this.disableSubscribe=!1,this.showDeselectBtn=!0,this.showSortBtn=!0,this.showFilter=!0,this.sortBy="name",this.expandAllNodes=!1,this.expandedIds=[],this.checkboxes=!1,this._loading=!1,this._connected=!1,this._selectedNodes=[],this._expandedNodes=[],this._filter=new OrAssetTreeFilter,this._searchInputTimer=void 0,this._filterSettingOpen=!1,this._assetTypes=[],this._uniqueAssetTypes=[],this._dragDropParentId=null,this._expandTimer=void 0,this._latestSelected=void 0,this.assetsChildren={}}static get styles(){return[style]}get selectedNodes(){return this._selectedNodes?[...this._selectedNodes]:[]}set selectedNodes(e){this.selectedIds=e.map((e=>e.asset.id))}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this.requestUpdate()}refresh(){this._nodes=void 0}isAncestorSelected(e){if(!this.selectedIds||!e.parent)return!1;for(;e.parent;)if(e=e.parent,this.selectedIds.includes(e.asset.id))return!0;return!1}mapDescriptors(e,t){let s=e.map((e=>({styleMap:{"--or-icon-fill":e.colour?"#"+e.colour:"unset"},icon:e.icon,text:Util.getAssetTypeLabel(e),value:e.name,data:e}))).sort(Util.sortByString((e=>e.text)));return t&&s.splice(0,0,t),s}getSelectHeader(){return html`<or-mwc-input style="width:100%;" ?disabled="${this._loading}" type="${InputType.TEXT}" .label="${i18next.t("filter.assetTypeLabel")}" iconTrailing="menu-down" iconColor="rgba(0, 0, 0, 0.87)" icon="selection-ellipse" value="${i18next.t("filter.assetTypeNone")}"></or-mwc-input>`}getSelectedHeader(e){return html`<or-mwc-input style="width:100%;" ?disabled="${this._loading}" type="${InputType.TEXT}" .label="${i18next.t("filter.assetTypeLabel")}" .iconColor="${e.colour}" iconTrailing="menu-down" icon="${e.icon}" value="${Util.getAssetTypeLabel(e)}"></or-mwc-input>`}assetTypeSelect(){if(this._assetTypeFilter){const e=this._assetTypes.find((e=>e.name===this._assetTypeFilter));return e?this.getSelectedHeader(e):this.getSelectHeader()}return this.getSelectHeader()}atLeastOneNodeToBeShown(){var e;let t=!1;return null===(e=this._nodes)||void 0===e||e.forEach((e=>{e.hidden||(t=!0)})),t}render(){return html`
2
+ <div id="header">
3
+ <div id="title-container">
4
+ <or-translate id="title" value="asset_plural"></or-translate>
5
+ </div>
6
+
7
+ <div id="header-btns">
8
+ <or-mwc-input ?hidden="${!this.selectedIds||0===this.selectedIds.length||!this.showDeselectBtn}" type="${InputType.BUTTON}" icon="close" @or-mwc-input-changed="${()=>this._onDeselectClicked()}"></or-mwc-input>
9
+ <or-mwc-input ?hidden="${this._isReadonly()||!this.selectedIds||1!==this.selectedIds.length}" type="${InputType.BUTTON}" icon="content-copy" @or-mwc-input-changed="${()=>this._onCopyClicked()}"></or-mwc-input>
10
+ <or-mwc-input ?hidden="${this._isReadonly()||!this.selectedIds||0===this.selectedIds.length}" type="${InputType.BUTTON}" icon="delete" @or-mwc-input-changed="${()=>this._onDeleteClicked()}"></or-mwc-input>
11
+ <or-mwc-input ?hidden="${this._isReadonly()||!this._canAdd()}" type="${InputType.BUTTON}" icon="plus" @or-mwc-input-changed="${()=>this._onAddClicked()}"></or-mwc-input>
12
+ <or-mwc-input hidden type="${InputType.BUTTON}" icon="magnify" @or-mwc-input-changed="${()=>this._onSearchClicked()}"></or-mwc-input>
13
+
14
+ ${getContentWithMenuTemplate(html`<or-mwc-input type="${InputType.BUTTON}" ?hidden="${!this.showSortBtn}" icon="sort-variant"></or-mwc-input>`,["name","type","createdOn"].map((e=>({value:e,text:i18next.t(e)}))),this.sortBy,(e=>this._onSortClicked(e)))}
15
+ </div>
16
+ </div>
17
+
18
+ ${when(this.showFilter,(()=>html`
19
+ <div id="asset-tree-filter">
20
+ <or-mwc-input id="filterInput"
21
+ ?disabled="${this._loading}"
22
+ style="width: 100%;"
23
+ type="${InputType.TEXT}"
24
+ placeholder="${i18next.t("filter.filter")}..."
25
+ compact="true"
26
+ outlined="true"
27
+ @input="${e=>{this._onFilterInputEvent(e)}}"
28
+ @or-mwc-input-changed="${e=>{this._onFilterInput(e.detail.value||void 0,!0)}}">
29
+ </or-mwc-input>
30
+ <or-icon id="filterSettingsIcon" icon="${this._filterSettingOpen?"window-close":"tune"}" @click="${()=>{if(this._filterSettingOpen)this._filterSettingOpen=!1;else{if(this._filterSettingOpen=!0,0===this._assetTypes.length){const e=this._getAllowedChildTypes(this._selectedNodes[0]);this._assetTypes=e.filter((e=>"asset"===e.descriptorType))}this._filter.attribute.length>0&&(this._attributeNameFilter.value=this._filter.attribute[0]),this._filter.attributeValue.length>0&&this._filter.attribute.length>0&&(this._attributeValueFilter.disabled=!1,this._attributeValueFilter.value=this._filter.attributeValue[0]),this._filter.assetType.length>0?this._assetTypeFilter=this._filter.assetType[0]:this._assetTypeFilter=""}}}"></or-icon>
31
+ </div>
32
+ <div id="asset-tree-filter-setting" class="${this._filterSettingOpen?"visible":""}">
33
+ <div class="advanced-filter">
34
+ ${this._assetTypes.length>0?getContentWithMenuTemplate(this.assetTypeSelect(),this.mapDescriptors(this._assetTypes,{text:i18next.t("filter.assetTypeMenuNone"),value:"",icon:"selection-ellipse"}),void 0,(e=>{this._assetTypeFilter=e}),void 0,!1,!0,!0):html``}
35
+ <or-mwc-input id="attributeNameFilter" .label="${i18next.t("filter.attributeLabel")}"
36
+
37
+ .type="${InputType.TEXT}"
38
+ style="margin-top: 10px;"
39
+ ?disabled="${this._loading}"
40
+ @input="${e=>{this._shouldEnableAttrTypeEvent(e)}}"
41
+ @or-mwc-input-changed="${e=>{this._shouldEnableAttrType(e.detail.value||void 0)}}"></or-mwc-input>
42
+ <or-mwc-input id="attributeValueFilter" .label="${i18next.t("filter.attributeValueLabel")}"
43
+
44
+ .type="${InputType.TEXT}"
45
+ style="margin-top: 10px;"
46
+ disabled></or-mwc-input>
47
+ <div style="margin-top: 10px;">
48
+ <or-mwc-input style="float:left;" type="${InputType.BUTTON}" label="filter.clear" @or-mwc-input-changed="${()=>{this._filterInput.value=void 0,this._attributeValueFilter.value=void 0,this._attributeNameFilter.value=void 0,this._attributeValueFilter.disabled=!0,this._assetTypeFilter="",this._filter=new OrAssetTreeFilter,this._doFiltering()}}"></or-mwc-input>
49
+ <or-mwc-input style="float: right;" type="${InputType.BUTTON}" label="filter.action" raised @or-mwc-input-changed="${()=>{this._filterFromSettings()}}"></or-mwc-input>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ `))}
54
+
55
+ ${this._nodes?0!==this._nodes.length&&this.atLeastOneNodeToBeShown()?html`
56
+ <div id="list-container">
57
+ <ol id="list">
58
+ ${this._nodes.map((e=>this._treeNodeTemplate(e,0))).filter((e=>!!e))}
59
+ <li class="asset-list-element">
60
+ <div class="end-element" node-asset-id="${""}" @dragleave=${e=>{this._onDragLeave(e)}} @dragenter="${e=>this._onDragEnter(e)}" @dragend="${e=>this._onDragEnd(e)}" @dragover="${e=>this._onDragOver(e)}"></div>
61
+ </li>
62
+ </ol>
63
+ </div>
64
+ `:html`<span id="noAssetsFound"><or-translate value="noAssetsFound"></or-translate></span>`:html`
65
+ <span id="loading"><or-translate value="loading"></or-translate></span>`}
66
+
67
+ <div id="footer">
68
+
69
+ </div>
70
+ `}_isReadonly(){return this.readonly||!manager.hasRole("write:assets")}shouldUpdate(e){const t=super.shouldUpdate(e);return(e.has("assets")||e.has("rootAssets")||e.has("rootAssetIds"))&&(this._nodes=void 0),this._nodes?(e.has("selectedIds")&&(Util.objectsEqual(e.get("selectedIds"),this.selectedIds)||this._updateSelectedNodes()),e.has("sortBy")&&this._updateSort(this._nodes,this._getSortFunction()),e.has("disabledSubscribe")&&this.disableSubscribe&&this._removeEventSubscriptions(),t):(this._loadAssets(),!0)}_updateSelectedNodes(){const e=[],t=[];OrAssetTree_1._forEachNodeRecursive(this._nodes,(s=>{if(this.selectedIds&&this.selectedIds.indexOf(s.asset.id)>=0){e.push(s.asset.id),t.push(s),s.selected=!0;let i=s.parent;for(;i;)i.expanded=!0,i=i.parent}else s.selected=!1;if(this.checkboxes){let t=s.parent;for(;t;){const s=[];OrAssetTree_1._forEachNodeRecursive(t.children,(e=>{s.push(e)})),t.someChildrenSelected=!1,t.allChildrenSelected=!1,s.every((t=>e.includes(t.asset.id)))?t.allChildrenSelected=!0:s.some((t=>e.includes(t.asset.id)))&&(t.someChildrenSelected=!0),t=t.parent}}})),this.selectedIds=e;const s=this._selectedNodes;this._selectedNodes=t,this.dispatchEvent(new OrAssetTreeSelectionEvent({oldNodes:s,newNodes:t}))}_updateSort(e,t){e&&(e.sort(t),e.forEach((e=>this._updateSort(e.children,t))))}_toggleExpander(e,t){t&&t.expandable&&(t.expanded=!t.expanded,t.expanded?this._expandedNodes.push(t):this._expandedNodes=this._expandedNodes.filter((e=>e!==t)),e.parentElement.parentElement.parentElement.toggleAttribute("data-expanded"),this.dispatchEvent(new OrAssetTreeToggleExpandEvent({node:t})),this.requestUpdate())}_toggleExpanderWithoutEventDispatch(e,t){t&&t.expandable&&(t.expanded=!t.expanded,t.expanded?this._expandedNodes.push(t):this._expandedNodes=this._expandedNodes.filter((e=>e!==t)),e.parentElement.parentElement.parentElement.toggleAttribute("data-expanded"),this.requestUpdate())}_buildPaths(e){let t=[];return e.asset&&e.asset.id?(t.push(e.asset.id),e.children.length>0&&e.expanded&&e.children.forEach((e=>{t=t.concat(this._buildPaths(e))})),t):[]}_findNode(e,t){if(e.asset&&e.asset.id){if(e.asset.id===t)return e;if(e.children.length>0&&e.expanded){let s;return e.children.forEach((e=>{s||(s=this._findNode(e,t))})),s}}}_findNodeFromAssetId(e){if(this._nodes){let t;return this._nodes.forEach((s=>{t||(t=this._findNode(s,e))})),t}}_onNodeClicked(e,t){var s,i,r,a;if(e&&e.defaultPrevented)return;e&&e.preventDefault();const n=e&&e.target.className.indexOf("expander")>=0,o=e&&(null===(i=null===(s=e.target)||void 0===s?void 0:s.icon)||void 0===i?void 0:i.includes("checkbox-multiple"));if(n)this._toggleExpander(e.target,t);else{let s=!0;if(t&&this.config&&(null===(r=this.config.select)||void 0===r?void 0:r.types)&&(s=this.config.select.types.indexOf(t.asset.type)>=0),!s&&!o)return;let i=[];if(t){const s=this.selectedNodes.indexOf(t);let r=!0,n=!0;const d=!(this._isReadonly()||this.config&&this.config.select&&this.config.select.multiSelect);if((this.checkboxes||d&&e&&(e.ctrlKey||e.shiftKey||e.metaKey))&&(n=!1,s>=0&&this.selectedIds&&this.selectedIds.length>1&&(r=!1)),o){i=[...this.selectedNodes];const e=[];OrAssetTree_1._forEachNodeRecursive(t.children,(t=>{var s,i;let r=!0;t&&(null===(i=null===(s=this.config)||void 0===s?void 0:s.select)||void 0===i?void 0:i.types)&&(r=this.config.select.types.indexOf(t.asset.type)>=0),r&&e.push(t)})),i=t.allChildrenSelected?i.filter((t=>!e.map((e=>e.asset.id)).includes(t.asset.id))):i.concat(e)}else if(n)this._latestSelected=Object.assign({},t),i=[t];else if(r){if(s<0){if(e&&e.shiftKey){let e=[];if(null===(a=this._nodes)||void 0===a||a.forEach((t=>{e=e.concat(this._buildPaths(t))})),this._latestSelected&&this._latestSelected.asset&&this._latestSelected.asset.id&&t.asset&&t.asset.id){let s=this._latestSelected.asset.id,r=t.asset.id,a=e.findIndex((e=>e.includes(s))),n=e.findIndex((e=>e.includes(r))),o=-1,d=-1;a>n?(o=n,d=a):(o=a,d=n);let l=e.slice(o,d+1),c=[];l.forEach((e=>{let t=this._findNodeFromAssetId(e);t&&c.push(t)})),i=[...this.selectedNodes],i=i.concat(c)}}else i=[...this.selectedNodes],i.push(t);this._latestSelected=Object.assign({},t)}}else s>=0&&(i=[...this.selectedNodes],1===i.length&&(this._latestSelected=void 0),i.splice(s,1))}Util.dispatchCancellableEvent(this,new OrAssetTreeRequestSelectionEvent({oldNodes:this.selectedNodes,newNodes:i})).then((e=>{e.allow&&(this.selectedNodes=e.detail.newNodes)}))}}_onDeselectClicked(){this._onNodeClicked(null,null)}parseFromInputFilter(e){let t=this._filterInput.value;e&&(t=e);let s=new OrAssetTreeFilter;if(t){let e=t,i=t.match(/(attribute\:)(\"[^"]+\")\S*/g);i&&(i.length>0&&i.forEach(((t,i)=>{e=e.replace(t,"");const r=t.toString().indexOf("attribute:"),a=t.toString().substring(r+10+1,t.toString().length-1);s.attribute.push(a),s.attributeValue.push("")})),this._attributeValueFilter.disabled=!1),i=t.match(/(type\:)\S+/g),i&&i.length>0&&i.forEach(((t,i)=>{e=e.replace(t,"");const r=t.toString().indexOf("type:"),a=t.toString().substring(r+5);s.assetType.push(a)})),i=t.match(/(\"[^\"]+\")\:(([^\"\s]+)|(\"[^\"]+\"))/g),i&&i.length>0&&i.forEach(((t,i)=>{e=e.replace(t,"");const r=t.toString().indexOf('":');let a=t.toString().substring(r+2);const n=t.toString().substring(1,r);'"'===a[0]&&'"'===a[a.length-1]&&(a=a.substring(1,a.length-1)),s.attribute.push(n),s.attributeValue.push(a)})),s.asset=e&&e.length>0?e.trim():void 0}return s}formatFilter(e){let t=e.asset?e.asset:"",s=e.asset?" ":"",i=[];return e.assetType.length>0&&e.assetType.forEach((e=>{t+=s+"type:"+e,s=" "})),e.attribute.length>0&&e.attributeValue.length>0&&e.attributeValue.forEach(((r,a)=>{i.push(e.attribute[a]),t+=s+'"'+e.attribute[a]+'":'+r,s=" "})),e.attribute.length>0&&0===e.attributeValue.length&&e.attribute.forEach((e=>{i.includes(e)||(t+=s+'attribute:"'+e+'"',s=" ")})),t}_shouldEnableAttrTypeEvent(e){let t;e.composedPath()&&(t=e.composedPath()[0].value||void 0),this._shouldEnableAttrType(t)}_shouldEnableAttrType(e){this._attributeValueFilter.disabled=!e}applySettingFields(e){if(this._assetTypeFilter?e.assetType=[this._assetTypeFilter]:e.assetType=[],this._attributeNameFilter.value?e.attribute=[this._attributeNameFilter.value]:e.attribute=[],this._attributeNameFilter.value&&this._attributeValueFilter.value){let t=this._attributeValueFilter.value;t.includes(" ")&&(t='"'+t+'"'),e.attributeValue=[t]}else e.attributeValue=[];return e}_filterFromSettings(){let e=this.parseFromInputFilter(),t=this.applySettingFields(e);this._filter=t;let s=this.formatFilter(this._filter);this._filterInput.value=s,this._filterSettingOpen=!1,this._doFiltering()}_onFilterInputEvent(e){let t;e.composedPath()&&(t=e.composedPath()[0].value||void 0),this._onFilterInput(t,!1)}_onFilterInput(e,t){let s=this.parseFromInputFilter(e);Util.objectsEqual(this._filter,s,!0)||(this._filter=s,this._searchInputTimer&&clearTimeout(this._searchInputTimer),t?this._doFiltering():this._searchInputTimer=window.setTimeout((()=>{this._doFiltering()}),350))}_doFiltering(){return __awaiter(this,void 0,void 0,(function*(){if(this._searchInputTimer&&(clearTimeout(this._searchInputTimer),this._searchInputTimer=void 0),this.isConnected&&this._nodes){if(!(this._filter.asset||this._filter.attribute||this._filter.assetType||this._filter.attributeValue))return OrAssetTree_1._forEachNodeRecursive(this._nodes,(e=>{e.notMatchingFilter=!1,e.hidden=!1})),void this.requestUpdate("_nodes");if(this.disabled=!0,this._filter.asset||this._filter.assetType||this._filter.attribute){let e=!1;this._filter.attribute&&(e=!0),this.getMatcher(e).then((e=>{this._nodes&&(this._nodes.forEach((t=>{this.filterTreeNode(t,e)})),this.disabled=!1)}))}}}))}getMatcher(e){return e?this.getMatcherFromQuery():this.getSimpleNameMatcher()}getSimpleNameMatcher(){return __awaiter(this,void 0,void 0,(function*(){return e=>{let t=!0;return this._filter.asset&&(t=t&&e.name.toLowerCase().includes(this._filter.asset.toLowerCase())),this._filter.assetType.length>0&&(t=t&&e.type.toLowerCase()===this._filter.assetType[0].toLowerCase()),t}}))}getMatcherFromQuery(){return __awaiter(this,void 0,void 0,(function*(){let assetCond,attributeCond,assetTypeCond;this._filter.asset&&(assetCond=[{predicateType:"string",match:"CONTAINS",value:this._filter.asset,caseSensitive:!1}]),this._filter.assetType.length>0&&(assetTypeCond=this._filter.assetType),this._filter.attribute.length>0&&(attributeCond={operator:"AND",items:this._filter.attribute.map((e=>({name:{predicateType:"string",match:"EXACT",value:Util.sentenceCaseToCamelCase(e),caseSensitive:!1}})))});const query={select:{attributes:attributeCond?void 0:[]},names:assetCond,types:assetTypeCond,attributes:attributeCond};let response,foundAssetIds;try{response=yield manager.rest.api.AssetResource.queryAssets(query),foundAssetIds=response.data.map((e=>e.id))}catch(e){this._filter.assetType.forEach((e=>{-1===this._assetTypes.findIndex((t=>t.name===e))&&showSnackbar(void 0,"filter.assetTypeDoesNotExist","dismiss")})),foundAssetIds=[]}return asset=>{let attrValueCheck=!0;if(this._filter.attribute.length>0&&this._filter.attributeValue.length>0&&foundAssetIds.includes(asset.id)){let attributeVal=[];this._filter.attributeValue.forEach(((e,t)=>{e.length>0&&attributeVal.push([this._filter.attribute[t],e])}));let matchingAsset=response.data.find((e=>e.id===asset.id));if(matchingAsset&&matchingAsset.attributes)for(let attributeValIndex=0;attributeValIndex<attributeVal.length;attributeValIndex++){let currentAttributeVal=attributeVal[attributeValIndex],atLeastOneAttributeMatchValue=!1;Object.keys(matchingAsset.attributes).forEach((key=>{let attr=matchingAsset.attributes[key];if(attr.name.toLowerCase()===currentAttributeVal[0].toLowerCase()&&attr.value)switch(attr.type){case"number":case"integer":case"long":case"bigInteger":case"bigNumber":case"positiveInteger":case"negativeInteger":case"positiveNumber":case"negativeNumber":let value=currentAttributeVal[1];currentAttributeVal[1].startsWith("=")&&"="!==currentAttributeVal[1][1]&&(value="="+value),/^[0-9]+$/.test(currentAttributeVal[1])&&(value="=="+value);const resultNumberEval=eval(attr.value+value);resultNumberEval&&(atLeastOneAttributeMatchValue=!0);break;case"text":if(attr.value){let e=currentAttributeVal[1];const t="*";let s=e.replace(t,".*");s=s.replace(/"/g,"");let i=attr.value;-1!=i.toLowerCase().indexOf(s.toLowerCase())&&(atLeastOneAttributeMatchValue=!0)}}})),attrValueCheck=atLeastOneAttributeMatchValue}}return foundAssetIds.includes(asset.id)&&attrValueCheck}}))}isAnyFilter(){return void 0!==this._filter.asset||this._filter.assetType.length>0||this._filter.attribute.length>0}filterTreeNode(e,t,s=!1){let i=t(e.asset);e.notMatchingFilter=!i;let r=e.children.map((e=>this.filterTreeNode(e,t,i))).some((e=>e));return i=i||r,e.expanded=r&&e.children.length>0&&this.isAnyFilter(),e.hidden=!i&&!s,i}_onCopyClicked(){return __awaiter(this,void 0,void 0,(function*(){if(1===this._selectedNodes.length)try{const e=yield manager.rest.api.AssetResource.get(this._selectedNodes[0].asset.id);if(!e.data)throw new Error("API returned an invalid response when retrieving the source asset");const t=JSON.parse(JSON.stringify(e.data));t.name+=" copy",delete t.id,delete t.path,delete t.createdOn,delete t.version,Util.dispatchCancellableEvent(this,new OrAssetTreeRequestAddEvent({sourceAsset:this._selectedNodes[0].asset,asset:t})).then((e=>{e.allow&&this.dispatchEvent(new OrAssetTreeAddEvent(e.detail))}))}catch(e){console.error("Failed to copy asset",e),showErrorDialog("Failed to copy asset")}}))}_onAddClicked(){const e=this._getAllowedChildTypes(this._selectedNodes[0]),t=e.filter((e=>"agent"===e.descriptorType)),s=e.filter((e=>"asset"===e.descriptorType)),i=this._selectedNodes&&1===this._selectedNodes.length?this._selectedNodes[0].asset:void 0;let r;r=showDialog((new OrMwcDialog).setHeading(i18next.t("addAsset")).setContent(html`
71
+ <or-add-asset-dialog id="add-panel" .config="${this.config}" .agentTypes="${t}" .assetTypes="${s}" .parent="${i}" @or-add-asset-changed="${e=>{const t=!!e.detail.name&&e.detail.name.trim().length>0&&e.detail.name.trim().length<1024;r.shadowRoot.getElementById("add-btn").disabled=!e.detail.descriptor||!t}}"></or-add-asset-dialog>
72
+ `).setActions([{actionName:"cancel",content:"cancel"},{actionName:"add",content:html`<or-mwc-input id="add-btn" class="button" .type="${InputType.BUTTON}" label="add" disabled></or-mwc-input>`,action:()=>{const e=r.shadowRoot.getElementById("add-panel"),t=e.selectedType,s=e.selectedAttributes,i=e.name.trim(),a=e.parent;if(!t)return;const n={name:i,type:t.name,realm:manager.displayRealm},o=AssetModelUtil.getAssetTypeInfo(t.name);if(!o)return;o.attributeDescriptors&&(n.attributes={},o.attributeDescriptors.filter((e=>!e.optional)).forEach((e=>{n.attributes[e.name]={name:e.name,type:e.type,meta:e.meta?Object.assign({},e.meta):void 0}}))),s&&(null==s||s.forEach((e=>{n.attributes[e.name]={name:e.name,type:e.type,meta:e.meta?Object.assign({},e.meta):void 0}}))),this.selectedIds&&(n.parentId=a?a.id:void 0);const d={asset:n};Util.dispatchCancellableEvent(this,new OrAssetTreeRequestAddEvent(d)).then((e=>{e.allow&&this.dispatchEvent(new OrAssetTreeAddEvent(e.detail))}))}}]).setStyles(html`
73
+ <style>
74
+ .mdc-dialog__content {
75
+ padding: 0 !important;
76
+ }
77
+ </style>
78
+ `).setDismissAction(null))}_onDeleteClicked(){this._selectedNodes.length>0&&Util.dispatchCancellableEvent(this,new OrAssetTreeRequestDeleteEvent(this._selectedNodes)).then((e=>{e.allow&&this._doDelete()}))}_onSearchClicked(){}_onSortClicked(e){this.sortBy=e}_doDelete(){if(!this._selectedNodes||0===this._selectedNodes.length)return;let e=new Set;OrAssetTree_1._forEachNodeRecursive(this._selectedNodes,(t=>{e.add(t.asset)}));const t=Array.from(e).map((e=>e.id)),s=Array.from(e).map((e=>e.name)),i=()=>{this.disabled=!0,manager.rest.api.AssetResource.delete({assetId:t},{paramsSerializer:e=>Qs.stringify(e,{arrayFormat:"repeat"})}).then((e=>{this.refresh(),this.disabled=!1,204!==e.status&&showErrorDialog(i18next.t("deleteAssetsFailed"))})).catch((e=>{this.refresh(),this.disabled=!1,showErrorDialog(i18next.t("deleteAssetsFailed"))}))};showOkCancelDialog(i18next.t("deleteAssets"),i18next.t("deleteAssetsConfirm",{assetNames:s.join(",\n- ")}),i18next.t("delete")).then((e=>{e&&i()}))}_canAdd(){if(this._selectedNodes&&this._selectedNodes.length>1)return!1;const e=this._selectedNodes?this._selectedNodes[0]:void 0;return this._getAllowedChildTypes(e).length>0}_getAllowedChildTypes(e){let t,s;if(this.config&&this.config.add){if(this.config.add.typesProvider){const t=this.config.add.typesProvider(e);if(t)return t}if(this.config.add.typesParent){let i;!e&&this.config.add.typesParent.none?i=this.config.add.typesParent.none:e&&this.config.add.typesParent.assetTypes&&(i=this.config.add.typesParent.assetTypes[e.asset.type]),i||(i=this.config.add.typesParent.default),i&&(t=i.include,s=i.exclude||[])}}return AssetModelUtil.getAssetDescriptors().filter((e=>(!t||t.some((t=>Util.stringMatch(t,e.name))))&&(!s||!s.some((t=>Util.stringMatch(t,e.name))))))}_getSortFunction(){return"createdOn"===this.sortBy?Util.sortByNumber((e=>e.asset[this.sortBy])):Util.sortByString((e=>e.asset[this.sortBy]))}_loadAssets(){const e=this._getSortFunction();if(this.assets)this._loading=!1,this._buildTreeNodes(this.assets,e);else{if(!this._connected)return;if(this._loading)return;if(this._loading=!0,this.dataProvider)this.dataProvider().then((t=>{this._loading=!1,this._buildTreeNodes(t,e)}));else{const t={realm:{name:manager.displayRealm},select:{attributes:[]}};this.assetIds?(t.ids=this.assetIds,t.recursive=!0):this.rootAssets?(t.ids=this.rootAssets.map((e=>e.id)),t.recursive=!0):this.rootAssetIds&&(t.ids=this.rootAssetIds,t.recursive=!0),this._sendEventWithReply({event:{eventType:"read-assets",assetQuery:t}}).then((t=>{this._loading=!1,this._buildTreeNodes(t.assets,e)}))}}}_addEventSubscriptions(){return __awaiter(this,void 0,void 0,(function*(){this.disableSubscribe||(this._subscriptionIds=[yield manager.getEventProvider().subscribeAssetEvents(void 0,!1,(e=>this._onEvent(e)))])}))}onEventsConnect(){this._connected=!0,this._loadAssets()}onEventsDisconnect(){this._connected=!1,this._nodes=void 0}getNodes(){return this._nodes||[]}_onEvent(e){if("assets"!==e.eventType){if("asset"===e.eventType&&this._nodes&&this._nodes.length>0){const t=e;if("READ"===t.cause)return;if("UPDATE"===t.cause&&!t.updatedProperties.includes("name")&&!t.updatedProperties.includes("parentId"))return;const s=[];"DELETE"!==t.cause&&s.push(t.asset),OrAssetTree_1._forEachNodeRecursive(this._nodes,(e=>{e.asset.id!==t.asset.id&&s.push(e.asset)})),this._filterInput.value||this._buildTreeNodes(s,this._getSortFunction()),this.dispatchEvent(new OrAssetTreeAssetEvent(t))}}else{const t=e;this._buildTreeNodes(t.assets,this._getSortFunction())}}_buildTreeNodes(e,t){if(e&&0!==e.length){let s,i;manager.isRestrictedUser()&&e.forEach((t=>{if(t.parentId&&t.path&&void 0===e.find((e=>e.id===t.parentId))){let s=null;for(let i=2;i<t.path.length;i++){const r=t.path[i];if(void 0!==e.find((e=>e.id===r))){s=r;break}}t.reparentId=s}})),this.rootAssetIds?s=this.rootAssetIds:this.rootAssets&&(s=this.rootAssets.map((e=>e.id))),i=s?e.filter((e=>s.indexOf(e.id)>=0||null===e.reparentId)).map((e=>({asset:e}))):e.filter((e=>!e.parentId||null===e.reparentId)).map((e=>({asset:e}))),this.assetsChildren={},e.forEach((e=>{e.parentId&&(this.assetsChildren[e.parentId]||(this.assetsChildren[e.parentId]=[]),this.assetsChildren[e.parentId].push({asset:e})),e.reparentId&&(this.assetsChildren[e.reparentId]||(this.assetsChildren[e.reparentId]=[]),this.assetsChildren[e.reparentId].push({asset:e}))})),i.sort(t),i.forEach((s=>this._buildChildTreeNodes(s,e,t))),this._nodes=i;const r=[];this._expandedNodes.forEach((e=>{OrAssetTree_1._forEachNodeRecursive(this._nodes,(t=>{t.asset&&e.asset&&t.asset.id===e.asset.id&&(t.expanded=!0,r.push(t))}))})),this._expandedNodes=r}else this._nodes=[];this.selectedIds&&this.selectedIds.length>0&&this._updateSelectedNodes(),this.expandAllNodes&&OrAssetTree_1._forEachNodeRecursive(this._nodes,(e=>{e.children&&e.children.length>0&&(e.expanded=!0)}))}_buildChildTreeNodes(e,t,s){let i=this.assetsChildren[e.asset.id];e.children=i?i.sort(s):[],e.children.length>0&&(e.expandable=!0),e.children.forEach((i=>{i.parent=e,this._buildChildTreeNodes(i,t,s)}))}_onDragStart(e){this._dragDropParentId=null;let t=e.currentTarget.getAttribute("node-asset-id");this.selectedIds||(this.selectedIds=[]),t&&this.selectedIds&&!this.selectedIds.includes(t)&&(e.ctrlKey||e.shiftKey||(this.selectedIds=[]),this.selectedIds.push(t))}_onDragEnd(e){const t=e.x,s=e.y;if(null!==this.shadowRoot){let e=this.shadowRoot.getElementById("list");if(e){const i=e.getBoundingClientRect().top,r=e.getBoundingClientRect().bottom,a=e.getBoundingClientRect().left,n=e.getBoundingClientRect().right;if(t<a||t>n||s>r||s<i)return}}this.selectedIds&&this.dispatchEvent(new OrAssetTreeChangeParentEvent(this._dragDropParentId?this._dragDropParentId:void 0,this.selectedIds))}isExpandable(e){return!(!this._nodes||!this.shadowRoot)&&!!this.shadowRoot.querySelector('[node-asset-id="'+e+'"] > .node-name > [data-expandable]')}_onDragOver(e){let t=e.currentTarget;t.classList.add("over");let s=t.getAttribute("node-asset-id");s&&this.isExpandable(s)&&!this._expandTimer&&(this._expandTimer=window.setTimeout((()=>{this.expandNode(s)}),1e3))}expandNode(e){var t;if(this.shadowRoot&&e&&e===this._dragDropParentId){const s=this._findNodeFromAssetId(e);let i=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector('[node-asset-id="'+e+'"]');i&&s&&!s.expanded&&this._toggleExpanderWithoutEventDispatch(i.firstElementChild.firstElementChild,s)}}_onDragEnter(e){let t=e.currentTarget;t.classList.add("over");let s=t.getAttribute("node-asset-id");this._dragDropParentId=s}_onDragLeave(e){e.currentTarget.classList.remove("over"),clearTimeout(this._expandTimer),this._expandTimer=void 0}_treeNodeTemplate(e,t){const s=AssetModelUtil.getAssetDescriptor(e.asset.type);let i;if(i=e.allChildrenSelected?"checkbox-multiple-marked":e.someChildrenSelected?"checkbox-multiple-marked-outline":"checkbox-multiple-blank-outline",e.hidden)return html``;let r=!1;return e.asset&&e.notMatchingFilter&&(r=!0),e.expanded&&0===e.children.length&&(e.expanded=!1),this.expandedIds&&-1!==this.expandedIds.findIndex((t=>t===e.asset.id))&&(e.expanded=!0),html`
79
+ <li class="asset-list-element" ?data-selected="${e.selected}" ?data-expanded="${e.expanded}" @click="${t=>this._onNodeClicked(t,e)}">
80
+ <div class="in-between-element" node-asset-id="${e.parent?e.parent.asset?e.parent.asset.id:"":void 0}" @dragleave=${e=>{this._onDragLeave(e)}} @dragenter="${e=>this._onDragEnter(e)}" @dragend="${e=>this._onDragEnd(e)}" @dragover="${e=>this._onDragOver(e)}"></div>
81
+ <div class="node-container draggable" node-asset-id="${e.asset?e.asset.id:""}" draggable="true" @dragleave=${e=>{this._onDragLeave(e)}} @dragenter="${e=>this._onDragEnter(e)}" @dragstart="${e=>this._onDragStart(e)}" @dragend="${e=>this._onDragEnd(e)}" @dragover="${e=>this._onDragOver(e)}" style="padding-left: ${22*t}px">
82
+ <div class="node-name">
83
+ <div class="expander" ?data-expandable="${e.expandable}"></div>
84
+ ${getAssetDescriptorIconTemplate(s,void 0,void 0,r?"d3d3d3":void 0)}
85
+ <span style="color: ${r?"#d3d3d3;":""}">${e.asset.name}</span>
86
+ ${this.checkboxes?html`
87
+ <span class="mdc-list-item__graphic">
88
+ ${e.expandable?html`<div class="mdc-checkbox">
89
+ <or-icon class="mdc-checkbox--parent" icon="${i}"></or-icon>
90
+ </div>`:""}
91
+ <div class="mdc-checkbox">
92
+ ${e.selected?html`<or-icon icon="checkbox-marked"></or-icon>`:html`<or-icon icon="checkbox-blank-outline"></or-icon>`}
93
+ </div>
94
+ </span>`:""}
95
+ </div>
96
+ </div>
97
+ <ol>
98
+ ${!e.children||e.expandable&&!e.expanded?"":e.children.map((e=>this._treeNodeTemplate(e,t+1))).filter((e=>!!e))}
99
+ </ol>
100
+ </li>
101
+ `}static _forEachNodeRecursive(e,t){e&&e.forEach((e=>{t(e),this._forEachNodeRecursive(e.children,t)}))}};__decorate([property({type:Array,reflect:!1})],OrAssetTree.prototype,"assets",void 0),__decorate([property({type:Object})],OrAssetTree.prototype,"assetInfos",void 0),__decorate([property({type:Array})],OrAssetTree.prototype,"_assetIdsOverride",void 0),__decorate([property({type:Array})],OrAssetTree.prototype,"rootAssets",void 0),__decorate([property({type:Array})],OrAssetTree.prototype,"rootAssetIds",void 0),__decorate([property({type:Object})],OrAssetTree.prototype,"dataProvider",void 0),__decorate([property({type:Boolean})],OrAssetTree.prototype,"readonly",void 0),__decorate([property({type:Boolean})],OrAssetTree.prototype,"disabled",void 0),__decorate([property({type:Boolean})],OrAssetTree.prototype,"disableSubscribe",void 0),__decorate([property({type:Array})],OrAssetTree.prototype,"selectedIds",void 0),__decorate([property({type:Boolean})],OrAssetTree.prototype,"showDeselectBtn",void 0),__decorate([property({type:Boolean})],OrAssetTree.prototype,"showSortBtn",void 0),__decorate([property({type:Boolean})],OrAssetTree.prototype,"showFilter",void 0),__decorate([property({type:String})],OrAssetTree.prototype,"sortBy",void 0),__decorate([property({type:Boolean})],OrAssetTree.prototype,"expandAllNodes",void 0),__decorate([property({type:Array})],OrAssetTree.prototype,"expandedIds",void 0),__decorate([property({type:Boolean})],OrAssetTree.prototype,"checkboxes",void 0),__decorate([property({attribute:!1})],OrAssetTree.prototype,"_nodes",void 0),__decorate([state()],OrAssetTree.prototype,"_filter",void 0),__decorate([query("#clearIconContainer")],OrAssetTree.prototype,"_clearIconContainer",void 0),__decorate([query("#filterInput")],OrAssetTree.prototype,"_filterInput",void 0),__decorate([state()],OrAssetTree.prototype,"_filterSettingOpen",void 0),__decorate([state()],OrAssetTree.prototype,"_assetTypes",void 0),__decorate([query("#attributeNameFilter")],OrAssetTree.prototype,"_attributeNameFilter",void 0),__decorate([query("#attributeValueFilter")],OrAssetTree.prototype,"_attributeValueFilter",void 0),__decorate([state()],OrAssetTree.prototype,"_assetTypeFilter",void 0),OrAssetTree=OrAssetTree_1=__decorate([customElement("or-asset-tree")],OrAssetTree);export{OrAssetTree};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { LitElement } from "lit";
2
+ import { AgentDescriptor, Asset, AssetDescriptor, AttributeDescriptor } from "@openremote/model";
3
+ import "@openremote/or-mwc-components/or-mwc-input";
4
+ import { AssetTreeConfig } from "./index";
5
+ import { ListItem, OrMwcList } from "@openremote/or-mwc-components/or-mwc-list";
6
+ import { OrMwcInput } from "@openremote/or-mwc-components/or-mwc-input";
7
+ export type OrAddAssetDetail = {
8
+ name: string | undefined;
9
+ descriptor: AssetDescriptor | AgentDescriptor | undefined;
10
+ };
11
+ export declare class OrAddChangedEvent extends CustomEvent<OrAddAssetDetail> {
12
+ static readonly NAME = "or-add-asset-changed";
13
+ constructor(addAssetDetail: OrAddAssetDetail);
14
+ }
15
+ declare global {
16
+ export interface HTMLElementEventMap {
17
+ [OrAddChangedEvent.NAME]: OrAddChangedEvent;
18
+ }
19
+ }
20
+ export declare class OrAddAssetDialog extends LitElement {
21
+ config: AssetTreeConfig;
22
+ agentTypes: AgentDescriptor[];
23
+ assetTypes: AssetDescriptor[];
24
+ parent?: Asset;
25
+ selectedType?: AgentDescriptor | AssetDescriptor;
26
+ selectedAttributes: AttributeDescriptor[];
27
+ protected showParentAssetSelector: boolean;
28
+ selectedChildAssetType: string;
29
+ name: string;
30
+ protected nameInput: OrMwcInput;
31
+ protected agentList?: OrMwcList;
32
+ protected assetList?: OrMwcList;
33
+ protected parentAssetList?: OrMwcList;
34
+ static get styles(): import("lit").CSSResult;
35
+ constructor();
36
+ protected render(): import("lit-html").TemplateResult<1>;
37
+ protected getTypeTemplate(descriptor: AgentDescriptor | AssetDescriptor, parentStr: string): false | import("lit-html").TemplateResult<1>;
38
+ protected onNameChanged(name: string): void;
39
+ protected onTypeChanged(isAgent: boolean, listItem: ListItem): Promise<void>;
40
+ protected onModified(): void;
41
+ protected _onToggleParentAssetSelector(): void;
42
+ protected _onDeselectClicked(): void;
43
+ }
@@ -0,0 +1,145 @@
1
+ var __decorate=this&&this.__decorate||function(e,t,o,i){var r,s=arguments.length,a=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,o,i);else for(var n=e.length-1;n>=0;n--)(r=e[n])&&(a=(s<3?r(a):s>3?r(t,o,a):r(t,o))||a);return s>3&&a&&Object.defineProperty(t,o,a),a},__awaiter=this&&this.__awaiter||function(e,t,o,i){return new(o||(o=Promise))((function(r,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function n(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,n)}l((i=i.apply(e,t||[])).next())}))};import{css,html,LitElement,unsafeCSS}from"lit";import{customElement,property,query}from"lit/decorators.js";import{AssetModelUtil}from"@openremote/model";import"@openremote/or-mwc-components/or-mwc-input";import{OrAssetTreeSelectionEvent}from"./index";import{createListGroup}from"@openremote/or-mwc-components/or-mwc-list";import{i18next}from"@openremote/or-translate";import{DefaultColor3,DefaultColor5,Util}from"@openremote/core";import{InputType}from"@openremote/or-mwc-components/or-mwc-input";export class OrAddChangedEvent extends CustomEvent{constructor(e){super(OrAddChangedEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}OrAddChangedEvent.NAME="or-add-asset-changed";let OrAddAssetDialog=class extends LitElement{static get styles(){return css`
2
+ #name-wrapper {
3
+ display: flex;
4
+ flex-direction: column;
5
+ margin-top: 12px;
6
+ }
7
+
8
+ #toggle-parent-selector,
9
+ #remove-parent {
10
+ flex: 0 0 50px;
11
+ margin: 4px 0 0 5px;
12
+ }
13
+
14
+ #name-input,
15
+ #parent-wrapper {
16
+ margin: 10px 0;
17
+ }
18
+
19
+ #parent-wrapper {
20
+ display: flex;
21
+ }
22
+
23
+ #parent {
24
+ flex: 1 1 auto;
25
+ }
26
+
27
+ #parent-selector {
28
+ max-width: 250px;
29
+ border-left: 1px solid var(--or-app-color5, ${unsafeCSS(DefaultColor5)});
30
+ }
31
+
32
+ #mdc-dialog-form-add {
33
+ display: flex;
34
+ height: 600px;
35
+ width: 1000px;
36
+ border-style: solid;
37
+ border-color: var(--or-app-color5, ${unsafeCSS(DefaultColor5)});
38
+ border-width: 1px 0;
39
+ }
40
+
41
+ .msg {
42
+ display: flex;
43
+ justify-content: center;
44
+ align-items: center;
45
+ text-align: center;
46
+ height: 100%;
47
+ font-family: "Segoe UI", Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
48
+ font-size: 14px;
49
+ }
50
+
51
+ #asset-type-option-container {
52
+ padding: 15px;
53
+ flex: 1 1 auto;
54
+ overflow: auto;
55
+ max-width: 100%;
56
+ font-size: 16px;
57
+ }
58
+
59
+ #type-list {
60
+ width: 260px;
61
+ overflow: auto;
62
+ text-transform: capitalize;
63
+ border-right: 1px solid var(--or-app-color5, ${unsafeCSS(DefaultColor5)});
64
+ }
65
+
66
+ #type-title {
67
+ display: flex;
68
+ align-items: center;
69
+ margin: 9px 4px;
70
+ }
71
+
72
+ #type-description {
73
+ text-transform: capitalize;
74
+ color: var(--or-app-color3, ${unsafeCSS(DefaultColor3)});
75
+ margin-left: 10px;
76
+ font-size: 18px;
77
+ font-weight: bold;
78
+ font-family: "Segoe UI", Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
79
+ }
80
+
81
+ .heading,
82
+ .mdc-list-group__subheader {
83
+ text-transform: uppercase;
84
+ font-family: "Segoe UI", Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
85
+ font-weight: bolder;
86
+ line-height: 1em;
87
+ color: var(--or-app-color3, ${unsafeCSS(DefaultColor3)});
88
+ letter-spacing: 0.025em;
89
+ font-size: 14px;
90
+ margin: 20px 0 10px;
91
+ }
92
+
93
+ .mdc-list-group__subheader {
94
+ margin: 20px 0 0 16px;
95
+ }
96
+ `}constructor(){super(),this.selectedAttributes=[],this.showParentAssetSelector=!1,this.selectedChildAssetType="",this.name="New Asset",this.addEventListener(OrAssetTreeSelectionEvent.NAME,(e=>{this.parent=e.detail.newNodes[0].asset}))}render(){const e=e=>e.map((e=>({styleMap:{"--or-icon-fill":e.colour?"#"+e.colour:"unset"},icon:e.icon,text:Util.getAssetTypeLabel(e),value:e.name,data:e}))).sort(Util.sortByString((e=>e.text))),t=e(this.agentTypes),o=e(this.assetTypes),i=[];t.length>0&&i.push({heading:i18next.t("agents"),list:html`<or-mwc-list @or-mwc-list-changed="${e=>{1===e.detail.length&&this.onTypeChanged(!0,e.detail[0])}}" .listItems="${t}" id="agent-list"></or-mwc-list>`}),o.length>0&&i.push({heading:i18next.t("assets"),list:html`<or-mwc-list @or-mwc-list-changed="${e=>{1===e.detail.length&&this.onTypeChanged(!1,e.detail[0])}}" .listItems="${o}" id="asset-list"></or-mwc-list>`});const r=this.parent?this.parent.name+" ("+this.parent.id+")":i18next.t("none");return html`
97
+ <div class="col">
98
+ <form id="mdc-dialog-form-add" class="row">
99
+ <div id="type-list" class="col">
100
+ ${createListGroup(i)}
101
+ </div>
102
+ <div id="asset-type-option-container" class="col">
103
+ ${this.selectedType?this.getTypeTemplate(this.selectedType,r):html`<div class="msg"><or-translate value="noAssetTypeSelected"></or-translate></div>`}
104
+ </div>
105
+ ${this.showParentAssetSelector?html`<or-asset-tree id="parent-selector" class="col" .showDeselectBtn="${!1}" .showSortBtn="${!1}" selectedNodes readonly></or-asset-tree>`:html``}
106
+ </form>
107
+ </div>
108
+ `}getTypeTemplate(e,t){var o,i;if(!e.name)return!1;const r=AssetModelUtil.getAssetTypeInfo(e.name),s=null===(o=null==r?void 0:r.attributeDescriptors)||void 0===o?void 0:o.filter((e=>!e.optional)),a=null===(i=null==r?void 0:r.attributeDescriptors)||void 0===i?void 0:i.filter((e=>!!e.optional));return html`
109
+ <div id="type-title">
110
+ <or-icon style="--or-icon-fill: ${e.colour?"#"+e.colour:"unset"}" id="type-icon" .icon="${e.icon}"></or-icon>
111
+ <or-translate id="type-description" .value="${Util.getAssetTypeLabel(e)}"></or-translate>
112
+ </div>
113
+ <div id="name-wrapper">
114
+ <or-mwc-input id="name-input" .type="${InputType.TEXT}" min="1" max="1023" required .label="${i18next.t("name")}" .value="${this.name}" @or-mwc-input-changed="${e=>this.onNameChanged(e.detail.value)}"></or-mwc-input>
115
+ <div id="parent-wrapper">
116
+ <or-mwc-input id="parent" .type="${InputType.TEXT}" readonly .label="${i18next.t("parent")}" .value="${t}" @click="${()=>this._onToggleParentAssetSelector()}"></or-mwc-input>
117
+ <or-mwc-input id="remove-parent" ?disabled="${!this.parent}" type="${InputType.BUTTON}" icon="close" @or-mwc-input-changed="${()=>this._onDeselectClicked()}"></or-mwc-input>
118
+ <or-mwc-input id="toggle-parent-selector" icon="${this.showParentAssetSelector?"pencil-off":"pencil"}" type="${InputType.BUTTON}" @or-mwc-input-changed="${()=>this._onToggleParentAssetSelector()}"></or-mwc-input>
119
+ </div>
120
+ </div>
121
+
122
+ ${s?html`
123
+ <div>
124
+ <div class="heading">${i18next.t("attribute_plural")}</div>
125
+ <div style="display: grid">
126
+ ${s.sort(Util.sortByString((e=>e.name))).map((e=>html`
127
+ <or-mwc-input .type="${InputType.CHECKBOX}" .label="${Util.getAttributeLabel(void 0,e,void 0,!0)}"
128
+ .disabled="${!0}" .value="${!0}"></or-mwc-input>
129
+ `))}
130
+ </div>
131
+ `:html``}
132
+
133
+ ${a?html`
134
+ <div>
135
+ <div class="heading">${i18next.t("optional_attributes")}</div>
136
+ <div style="display: grid">
137
+ ${a.sort(Util.sortByString((e=>e.name))).map((e=>html`
138
+ <or-mwc-input .type="${InputType.CHECKBOX}" .label="${Util.getAttributeLabel(void 0,e,void 0,!0)}"
139
+ .value="${this.selectedAttributes.find((t=>t===e))}"
140
+ @or-mwc-input-changed="${t=>t.detail.value?this.selectedAttributes.push(e):this.selectedAttributes.splice(this.selectedAttributes.findIndex((t=>t===e)),1)}"></or-mwc-input>
141
+ `))}
142
+ </div>
143
+ </div>
144
+ `:html``}
145
+ `}onNameChanged(e){this.name=e,this.onModified()}onTypeChanged(e,t){return __awaiter(this,void 0,void 0,(function*(){yield this.updateComplete,this.selectedAttributes=[],this.selectedType=t.data;const o=e?this.assetList:this.agentList;o&&(o.values=void 0),this.onModified()}))}onModified(){this.dispatchEvent(new OrAddChangedEvent({name:this.name,descriptor:this.selectedType}))}_onToggleParentAssetSelector(){this.showParentAssetSelector=!this.showParentAssetSelector}_onDeselectClicked(){this.parent=void 0}};__decorate([property({attribute:!1})],OrAddAssetDialog.prototype,"config",void 0),__decorate([property({attribute:!1})],OrAddAssetDialog.prototype,"agentTypes",void 0),__decorate([property({attribute:!1})],OrAddAssetDialog.prototype,"assetTypes",void 0),__decorate([property({attribute:!1})],OrAddAssetDialog.prototype,"parent",void 0),__decorate([property({attribute:!1})],OrAddAssetDialog.prototype,"selectedType",void 0),__decorate([property({attribute:!1})],OrAddAssetDialog.prototype,"selectedAttributes",void 0),__decorate([property({attribute:!1})],OrAddAssetDialog.prototype,"showParentAssetSelector",void 0),__decorate([property({attribute:!1})],OrAddAssetDialog.prototype,"selectedChildAssetType",void 0),__decorate([query("#name-input")],OrAddAssetDialog.prototype,"nameInput",void 0),__decorate([query("#agent-list")],OrAddAssetDialog.prototype,"agentList",void 0),__decorate([query("#asset-list")],OrAddAssetDialog.prototype,"assetList",void 0),__decorate([query("#parent-asset-list")],OrAddAssetDialog.prototype,"parentAssetList",void 0),OrAddAssetDialog=__decorate([customElement("or-add-asset-dialog")],OrAddAssetDialog);export{OrAddAssetDialog};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"or-add-asset-dialog.js","sourceRoot":"","sources":["../src/or-add-asset-dialog.ts"],"names":[],"mappings":"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"}
package/lib/style.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare const style: import("lit").CSSResult;
package/lib/style.js ADDED
@@ -0,0 +1,302 @@
1
+ import{css,unsafeCSS}from"lit";import{DefaultColor1,DefaultColor2,DefaultColor4,DefaultColor5,DefaultColor8}from"@openremote/core";import{mdiChevronRight}from"@mdi/js";import{mdiChevronDown}from"@mdi/js";export const style=css`
2
+
3
+ :host {
4
+ --internal-or-asset-tree-header-color: var(--or-asset-tree-header-color, var(--or-app-color4, ${unsafeCSS(DefaultColor4)}));
5
+ --internal-or-asset-tree-header-text-color: var(--or-asset-tree-header-text-color, var(--or-app-color8, ${unsafeCSS(DefaultColor8)}));
6
+ --internal-or-asset-tree-header-menu-background-color: var(--or-asset-tree-header-menu-background-color, var(--internal-or-asset-tree-header-text-color));
7
+ --internal-or-asset-tree-header-menu-text-color: var(--or-asset-tree-header-menu-text-color, inherit);
8
+ --internal-or-asset-tree-header-height: var(--or-asset-tree-header-height, 48px);
9
+ --internal-or-asset-tree-background-color: var(--or-asset-tree-background-color, var(--or-app-color1, ${unsafeCSS(DefaultColor1)}));
10
+ --internal-or-asset-tree-text-color: var(--or-asset-tree-text-color, inherit);
11
+ --internal-or-asset-tree-item-height: var(--or-asset-tree-item-height, 24px);
12
+ --internal-or-asset-tree-item-padding: var(--or-asset-tree-item-padding, 10px);
13
+ --internal-or-asset-tree-selected-background-color: var(--or-asset-tree-selected-background-color, var(--or-app-color2, ${unsafeCSS(DefaultColor2)}));
14
+ --internal-or-asset-tree-selected-color: var(--or-asset-tree-selected-color, var(--or-app-color4, ${unsafeCSS(DefaultColor4)}));
15
+ --internal-or-asset-tree-button-color: var(--or-asset-tree-button-color, var(--or-app-color4, ${unsafeCSS(DefaultColor4)}));
16
+ --internal-or-asset-tree-line-color: var(--or-asset-tree-line-color, var(--or-app-color5, ${unsafeCSS(DefaultColor5)}));
17
+
18
+ display: flex;
19
+ flex-direction: column;
20
+ height: 100%;
21
+ width: 100%;
22
+ background-color: var(--internal-or-asset-tree-background-color);
23
+ }
24
+
25
+ *[hidden] {
26
+ display: none;
27
+ }
28
+
29
+ button {
30
+ background-color: var(--internal-or-asset-tree-button-color);
31
+ color: var(--internal-or-asset-tree-background-color);
32
+ --or-icon-width: 20px;
33
+ --or-icon-height: 20px;
34
+ --or-icon-fill: var(--internal-or-asset-tree-background-color);
35
+ border: none;
36
+ padding: 0 6px;
37
+ display: inline-block;
38
+ cursor: pointer;
39
+ opacity: 0.8;
40
+ }
41
+
42
+ button:focus, button:hover {
43
+ outline: 0;
44
+ opacity: 1;
45
+ }
46
+
47
+ #header {
48
+ background-color: var(--internal-or-asset-tree-header-color);
49
+ display: flex;
50
+ align-items: center;
51
+ width: 100%;
52
+ height: var(--internal-or-asset-tree-header-height);
53
+ border-bottom: 1px solid ${unsafeCSS(DefaultColor5)};
54
+ z-index: 1000;
55
+ line-height: var(--internal-or-asset-tree-header-height);
56
+ color: var(--internal-or-asset-tree-header-text-color);
57
+ --or-icon-fill: var(--internal-or-asset-tree-header-text-color);
58
+ }
59
+
60
+ #title-container {
61
+ flex: 1 0 auto;
62
+ flex-direction: row;
63
+ text-transform: capitalize;
64
+ padding-left: 15px;
65
+ }
66
+
67
+ #title {
68
+ font-weight: 500;
69
+ font-size: 16px;
70
+ }
71
+
72
+ #realm-picker {
73
+ outline: none;
74
+ margin-left: 5px;
75
+ text-transform: none;
76
+ font-size: 14px;
77
+ }
78
+
79
+ #header-btns {
80
+ display: flex;
81
+ flex-direction: row;
82
+ padding-right: 5px;
83
+ }
84
+
85
+ #list-container {
86
+ flex: 1 1 auto;
87
+ overflow: auto;
88
+ font-size: 14px;
89
+ }
90
+
91
+ #list {
92
+ margin: 0;
93
+ color: var(--internal-or-asset-tree-text-color);
94
+ padding: 0;
95
+ }
96
+
97
+ #list, ol {
98
+ list-style-type: none;
99
+ }
100
+
101
+ li ol {
102
+ padding: 0;
103
+ }
104
+
105
+ #list li:not([data-expanded]) > ol {
106
+ display: none;
107
+ }
108
+
109
+ #list li[data-selected] > .node-container, #list li > .node-container:hover {
110
+ background-color: var(--internal-or-asset-tree-selected-background-color);
111
+ }
112
+
113
+ #list li[data-selected] > .node-container {
114
+ border-left-color: var(--internal-or-asset-tree-selected-color);
115
+ }
116
+
117
+ .asset-list-element .over {
118
+ background-color: ${unsafeCSS(DefaultColor5)};
119
+ }
120
+
121
+ .in-between-element {
122
+ height: 3px;
123
+ }
124
+
125
+ .end-element {
126
+ height: 15px;
127
+ }
128
+
129
+ .node-container {
130
+ display: flex;
131
+ border-left: 4px solid transparent;
132
+ user-select: none;
133
+ cursor: pointer;
134
+ height: var(--internal-or-asset-tree-item-height);
135
+ line-height: var(--internal-or-asset-tree-item-height);
136
+ padding-top: var(--internal-or-asset-tree-item-padding);
137
+ padding-bottom: var(--internal-or-asset-tree-item-padding);
138
+ }
139
+
140
+ .node-container > * {
141
+ flex: 0 0 auto;
142
+ }
143
+
144
+ .expander {
145
+ width: 36px;
146
+ height: 100%;
147
+ display: inline-block;
148
+ background-repeat: no-repeat;
149
+ background-size: 18px;
150
+ background-position: center;
151
+
152
+ margin-left: -4px;
153
+ border-left: 4px solid transparent;
154
+ }
155
+
156
+ .expander[data-expandable] {
157
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='rgb(204, 204, 204)' viewBox='0 0 24 24'%3E%3Cpath d='${unsafeCSS(mdiChevronRight)}'/%3E%3C/svg%3E");
158
+ }
159
+
160
+ .expander[data-expandable]:hover {
161
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='${unsafeCSS(mdiChevronRight)}'/%3E%3C/svg%3E");
162
+ }
163
+
164
+ li[data-expanded] > .node-container .expander {
165
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='${unsafeCSS(mdiChevronDown)}'/%3E%3C/svg%3E") !important;
166
+ }
167
+
168
+ .node-name {
169
+ margin: -4px 0;
170
+ flex: 1 0 auto;
171
+ display: flex;
172
+ align-items: center;
173
+ }
174
+
175
+ .node-name > span {
176
+ vertical-align: middle;
177
+ }
178
+
179
+ .node-name > or-icon {
180
+ --or-icon-width: 18px;
181
+ --or-icon-height: 18px;
182
+ margin-right: 8px;
183
+ }
184
+
185
+ #loading {
186
+ flex: 1 0 auto;
187
+ display: inline-flex;
188
+ align-items: center;
189
+ text-align: center;
190
+ margin: 0 auto;
191
+ font-size: 14px;
192
+ }
193
+
194
+ @media only screen and (min-width: 768px){
195
+ .expander {
196
+ width: 26px;
197
+ }
198
+ }
199
+
200
+ .mdc-list-item__graphic {
201
+ margin-left: auto;
202
+ display: flex;
203
+ margin-right: 5px;
204
+ }
205
+
206
+ .mdc-checkbox {
207
+ display: flex;
208
+ height: 100%;
209
+ align-items: center;
210
+ }
211
+
212
+ .mdc-checkbox or-icon {
213
+ height: 15px;
214
+ width: auto;
215
+ color: var(--internal-or-asset-tree-line-color);
216
+ }
217
+ .mdc-checkbox or-icon.mdc-checkbox--parent {
218
+ height: 17px;
219
+ }
220
+
221
+ .mdc-checkbox or-icon[icon="checkbox-marked"],
222
+ .mdc-checkbox or-icon[icon="checkbox-multiple-marked"],
223
+ .mdc-checkbox or-icon[icon="checkbox-multiple-marked-outline"] {
224
+ color: var(--internal-or-asset-tree-selected-color);
225
+ }
226
+
227
+ #asset-tree-filter {
228
+ display: flex;
229
+ align-items: center;
230
+ position: relative;
231
+ background-color: var(--internal-or-asset-tree-selected-background-color);
232
+ }
233
+
234
+ #filterInput {
235
+ padding: 7px 12px 7px 7px;
236
+ }
237
+
238
+ #filterAssetTypeDownIcon {
239
+ width: 16px;
240
+ height: 16px;
241
+ position: absolute;
242
+ right: 20px;
243
+ padding-right: 14px;
244
+ cursor: pointer;
245
+ }
246
+
247
+ #filterSettingsIcon {
248
+ cursor: pointer;
249
+ margin-right: 12px;
250
+ }
251
+
252
+ #asset-tree-filter-setting {
253
+ position: absolute;
254
+ background-color: var(--internal-or-asset-tree-background-color);
255
+ top: calc(var(--internal-or-asset-tree-header-height) + var(--internal-or-header-height, 50px) - 1px);
256
+ display: none;
257
+ width: 300px;
258
+ z-index: 100;
259
+ box-shadow: rgb(0 0 0 / 21%) 0px 1px 3px 0px;
260
+ box-sizing: border-box;
261
+ padding: 10px;
262
+ }
263
+
264
+ #asset-tree-filter-setting .advanced-filter {
265
+ display: flex;
266
+ flex-direction: column;
267
+ }
268
+
269
+ #asset-tree-filter-setting.visible {
270
+ display: block;
271
+ }
272
+
273
+ .filterAssetType {
274
+ display: flex;
275
+ align-items: center;
276
+ }
277
+
278
+ #clearIconContainer.visible {
279
+ display: block;
280
+ }
281
+
282
+ #noAssetsFound {
283
+ flex: 1 0 auto;
284
+ display: inline-flex;
285
+ align-items: center;
286
+ text-align: center;
287
+ margin: 0 auto;
288
+ font-size: 14px;
289
+ }
290
+
291
+ .filterMatching {
292
+ color: #808080;
293
+ }
294
+
295
+ .draggable {
296
+ cursor: pointer;
297
+ }
298
+
299
+ .draggable:active {
300
+ cursor: grabbing;
301
+ }
302
+ `;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../src/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,SAAS,EAAC,MAAM,KAAK,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC7G,OAAO,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AACxC,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,eAAe;AACf,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;wGAGgF,SAAS,CAAC,aAAa,CAAC;kHACd,SAAS,CAAC,aAAa,CAAC;;;;gHAI1B,SAAS,CAAC,aAAa,CAAC;;;;kIAIN,SAAS,CAAC,aAAa,CAAC;4GAC9C,SAAS,CAAC,aAAa,CAAC;wGAC5B,SAAS,CAAC,aAAa,CAAC;oGAC5B,SAAS,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAqCzF,SAAS,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAiE/B,SAAS,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gLAuC4H,SAAS,CAAC,eAAe,CAAC;;;;sJAIpD,SAAS,CAAC,eAAe,CAAC;;;;sJAI1B,SAAS,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyI9K,CAAC"}
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@openremote/or-asset-tree",
3
+ "version": "1.2.0-snapshot.20240512155932",
4
+ "description": "OpenRemote Asset Tree",
5
+ "main": "dist/umd/index.bundle.js",
6
+ "module": "lib/index.js",
7
+ "exports": {
8
+ ".": "./lib/index.js",
9
+ "./*": "./lib/*.js"
10
+ },
11
+ "types": "lib/index.d.ts",
12
+ "scripts": {
13
+ "test": "echo \"No tests\" && exit 0",
14
+ "prepublishOnly": "npx webpack"
15
+ },
16
+ "author": "OpenRemote",
17
+ "license": "AGPL-3.0-or-later",
18
+ "dependencies": {
19
+ "@mdi/js": "^5.9.55",
20
+ "@openremote/core": "1.2.0-snapshot.20240512155932",
21
+ "@openremote/model": "1.2.0-snapshot.20240512155932",
22
+ "@openremote/or-icon": "1.2.0-snapshot.20240512155932",
23
+ "@openremote/or-mwc-components": "1.2.0-snapshot.20240512155932",
24
+ "@openremote/or-translate": "1.2.0-snapshot.20240512155932",
25
+ "@openremote/rest": "1.2.0-snapshot.20240512155932",
26
+ "lit": "^2.0.2",
27
+ "moment": "^2.29.4"
28
+ },
29
+ "devDependencies": {
30
+ "@openremote/util": "1.2.0-snapshot.20240512155932"
31
+ },
32
+ "publishConfig": {
33
+ "access": "public"
34
+ }
35
+ }