@colijnit/sharedcomponents 254.1.1 → 254.1.2
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/3rdpartylicenses.txt +1408 -0
- package/bundles/colijnit-sharedcomponents.umd.js +609 -153
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.d.ts +2 -0
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/colijnit-sharedcomponents.js +3 -1
- package/esm2015/lib/components/activity-overview-component/component-activity-overview.component.js +8 -7
- package/esm2015/lib/components/activity-overview-component/components/base-activity-overview.component.js +15 -21
- package/esm2015/lib/components/modify-task-form/components/base-activity-summary.component.js +8 -10
- package/esm2015/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.component.js +2 -2
- package/esm2015/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.component.js +5 -5
- package/esm2015/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.component.js +2 -2
- package/esm2015/lib/components/modify-task-form/components/status-summary-block/status-summary-block.component.js +7 -4
- package/esm2015/lib/components/modify-task-form/components/task-details/task-details.component.js +7 -4
- package/esm2015/lib/components/modify-task-form/modify-task-form.component.js +39 -13
- package/esm2015/lib/components/modify-task-form/modify-task-form.module.js +10 -3
- package/esm2015/lib/components/open-activity-list/component-activity-list.component.js +42 -57
- package/esm2015/lib/components/open-activity-list/components/base-open-activity-list.component.js +5 -3
- package/esm2015/lib/components/simple-tags/simple-tags.component.js +5 -147
- package/esm2015/lib/components/simple-tags/simple-tags.module.js +4 -2
- package/esm2015/lib/components/simple-tags-form/simple-tags-form.component.js +196 -0
- package/esm2015/lib/components/simple-tags-form/simple-tags-form.module.js +26 -0
- package/esm2015/lib/components/task-modifyer/task-modifier.component.js +9 -9
- package/esm2015/lib/components/workflow-info-tiles/components/workflow-info-tile.component.js +45 -0
- package/esm2015/lib/components/workflow-info-tiles/components/workflow-info-tile.module.js +22 -0
- package/esm2015/lib/components/workflow-info-tiles/workflow-info-tiles.component.js +55 -0
- package/esm2015/lib/components/workflow-info-tiles/workflow-info-tiles.module.js +22 -0
- package/esm2015/lib/enum/icon.enum.js +1 -1
- package/esm2015/lib/model/icon-svg.js +1 -1
- package/esm2015/lib/service/shared-connector.service.js +93 -1
- package/esm2015/lib/service/shared.service.js +44 -1
- package/esm2015/public-api.js +5 -1
- package/favicon.ico +0 -0
- package/fesm2015/colijnit-sharedcomponents.js +565 -218
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/index.html +12 -0
- package/lib/components/activity-overview-component/component-activity-overview.component.d.ts +3 -1
- package/lib/components/activity-overview-component/components/base-activity-overview.component.d.ts +3 -8
- package/lib/components/modify-task-form/components/base-activity-summary.component.d.ts +3 -4
- package/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.component.d.ts +2 -2
- package/lib/components/modify-task-form/components/status-summary-block/status-summary-block.component.d.ts +3 -1
- package/lib/components/modify-task-form/components/task-details/task-details.component.d.ts +3 -1
- package/lib/components/modify-task-form/modify-task-form.component.d.ts +9 -4
- package/lib/components/modify-task-form/style/_layout.scss +4 -0
- package/lib/components/open-activity-list/component-activity-list.component.d.ts +9 -11
- package/lib/components/open-activity-list/components/base-open-activity-list.component.d.ts +2 -0
- package/lib/components/simple-tags/simple-tags.component.d.ts +1 -8
- package/lib/components/simple-tags-form/simple-tags-form.component.d.ts +29 -0
- package/lib/components/simple-tags-form/simple-tags-form.module.d.ts +2 -0
- package/lib/components/simple-tags-form/style/_layout.scss +257 -0
- package/lib/components/simple-tags-form/style/_material-definition.scss +39 -0
- package/lib/components/simple-tags-form/style/_theme.scss +4 -0
- package/lib/components/simple-tags-form/style/material.scss +4 -0
- package/lib/components/task-modifyer/task-modifier.component.d.ts +3 -5
- package/lib/components/workflow-info-tiles/components/style/_layout.scss +49 -0
- package/lib/components/workflow-info-tiles/components/style/_material-definition.scss +0 -0
- package/lib/components/workflow-info-tiles/components/style/_theme.scss +4 -0
- package/lib/components/workflow-info-tiles/components/style/material.scss +4 -0
- package/lib/components/workflow-info-tiles/components/workflow-info-tile.component.d.ts +15 -0
- package/lib/components/workflow-info-tiles/components/workflow-info-tile.module.d.ts +2 -0
- package/lib/components/workflow-info-tiles/style/_layout.scss +16 -0
- package/lib/components/workflow-info-tiles/style/_material-definition.scss +0 -0
- package/lib/components/workflow-info-tiles/style/_theme.scss +4 -0
- package/lib/components/workflow-info-tiles/style/material.scss +4 -0
- package/lib/components/workflow-info-tiles/workflow-info-tiles.component.d.ts +21 -0
- package/lib/components/workflow-info-tiles/workflow-info-tiles.module.d.ts +2 -0
- package/lib/service/shared-connector.service.d.ts +10 -0
- package/lib/service/shared.service.d.ts +12 -0
- package/main.894c3ac9caba556953e2.js +1 -0
- package/package.json +2 -1
- package/polyfills.907fe9d1887c5de17993.js +1 -0
- package/public-api.d.ts +4 -0
- package/runtime.8aac21847ed3d3829cca.js +1 -0
- package/styles.b92683eab3a233f3fb51.css +1 -0
|
@@ -17,11 +17,12 @@ export class SimpleTagsComponent {
|
|
|
17
17
|
}
|
|
18
18
|
set tags(tags) {
|
|
19
19
|
this._tags = tags;
|
|
20
|
-
|
|
20
|
+
}
|
|
21
|
+
get tags() {
|
|
22
|
+
return this._tags;
|
|
21
23
|
}
|
|
22
24
|
set linkedTags(tags) {
|
|
23
25
|
this._linkedTags = tags;
|
|
24
|
-
tags.forEach((tag) => this._loadThumbnail(tag));
|
|
25
26
|
}
|
|
26
27
|
get linkedTags() {
|
|
27
28
|
return this._linkedTags;
|
|
@@ -29,78 +30,10 @@ export class SimpleTagsComponent {
|
|
|
29
30
|
showClass() {
|
|
30
31
|
return true;
|
|
31
32
|
}
|
|
32
|
-
setRootDisplayTags() {
|
|
33
|
-
this.displayTags = this._tags.filter((tag) => tag.treeLevel === 0);
|
|
34
|
-
this.breadCrumbs = [];
|
|
35
|
-
this.searchString = '';
|
|
36
|
-
}
|
|
37
|
-
handleTagSelected(selectedTag) {
|
|
38
|
-
if (selectedTag.tagType === 'TR' || selectedTag.tagType === 'TG') {
|
|
39
|
-
if (selectedTag !== this.breadCrumbs[0]) {
|
|
40
|
-
this.breadCrumbs.push(selectedTag);
|
|
41
|
-
}
|
|
42
|
-
this.displayTags = this._tags.filter((tag) => {
|
|
43
|
-
return tag.parentId === selectedTag.id && tag.treeLevel === selectedTag.treeLevel + 1;
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
handleCrumbClicked(tag, index) {
|
|
48
|
-
if (tag !== this.breadCrumbs[this.breadCrumbs.length - 1]) {
|
|
49
|
-
this.breadCrumbs.splice(index + 1);
|
|
50
|
-
this.handleTagSelected(tag);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
handleAddTag(event) {
|
|
54
|
-
const draggedTag = this.displayTags[event.previousIndex];
|
|
55
|
-
if (!this._linkedTags.includes(draggedTag)) {
|
|
56
|
-
this._linkedTags.push(this.displayTags[event.previousIndex]);
|
|
57
|
-
this._loadThumbnail(draggedTag);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
deleteLinkedTag(tag) {
|
|
61
|
-
this._linkedTags.splice(this._linkedTags.indexOf(tag), 1);
|
|
62
|
-
}
|
|
63
|
-
searchCollection() {
|
|
64
|
-
if (!this.searchString) {
|
|
65
|
-
this.searchString = '';
|
|
66
|
-
this.setRootDisplayTags();
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
if (this.searchString.length < 2) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
if (this.searchString === '') {
|
|
73
|
-
this.setRootDisplayTags();
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
const matchingObjects = [];
|
|
77
|
-
this._tags.filter((item) => item.tagType === 'T').forEach((obj) => {
|
|
78
|
-
Object.values(obj).forEach((value) => {
|
|
79
|
-
if (typeof value === 'string' || typeof value === 'number') {
|
|
80
|
-
const stringValue = String(value).toLowerCase();
|
|
81
|
-
if (stringValue.includes(this.searchString.toLowerCase())) {
|
|
82
|
-
matchingObjects.push(obj);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
});
|
|
87
|
-
this.displayTags = matchingObjects;
|
|
88
|
-
this.breadCrumbs = [];
|
|
89
|
-
}
|
|
90
33
|
handleSaveTags() {
|
|
91
34
|
this.saveClick.next(this._linkedTags);
|
|
92
35
|
this.closeClick.next();
|
|
93
36
|
}
|
|
94
|
-
_loadThumbnail(tagTreeItem) {
|
|
95
|
-
if (tagTreeItem.image && tagTreeItem.image.documentId && !tagTreeItem.image.thumbnailBody) {
|
|
96
|
-
this.sharedService.getDocumentContent(tagTreeItem.image.documentId, true)
|
|
97
|
-
.then((result) => {
|
|
98
|
-
if (result) {
|
|
99
|
-
tagTreeItem.image.thumbnailBody = result;
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
37
|
}
|
|
105
38
|
SimpleTagsComponent.decorators = [
|
|
106
39
|
{ type: Component, args: [{
|
|
@@ -119,82 +52,7 @@ SimpleTagsComponent.decorators = [
|
|
|
119
52
|
</ng-template>
|
|
120
53
|
|
|
121
54
|
<div class="dialog-content-wrapper">
|
|
122
|
-
<
|
|
123
|
-
<span class="title" [textContent]="'Beschikbare tags'"></span>
|
|
124
|
-
<co-input-search
|
|
125
|
-
[(model)]="searchString"
|
|
126
|
-
[placeholder]="'Search for tag name'"
|
|
127
|
-
(search)="searchCollection()"
|
|
128
|
-
(modelChange)="searchCollection()"
|
|
129
|
-
(rightIconClick)="searchCollection()"
|
|
130
|
-
></co-input-search>
|
|
131
|
-
<div class="breadcrumbs">
|
|
132
|
-
<co-icon
|
|
133
|
-
[iconData]="iconCacheService.getIcon(icon.HouseBlankRegular)"
|
|
134
|
-
(click)="setRootDisplayTags()"
|
|
135
|
-
></co-icon>
|
|
136
|
-
<div class="crumbs">
|
|
137
|
-
<span class="spacer" [textContent]="'|'"></span>
|
|
138
|
-
<div class="crumb" *ngFor="let crumb of breadCrumbs; let index = index" (click)="handleCrumbClicked(crumb, index)">
|
|
139
|
-
<span class="spacer" *ngIf="index !== 0" [textContent]="'/'"></span>
|
|
140
|
-
<span [textContent]="crumb.description"></span>
|
|
141
|
-
</div>
|
|
142
|
-
</div>
|
|
143
|
-
</div>
|
|
144
|
-
<div class="collection-view"
|
|
145
|
-
cdkDropList
|
|
146
|
-
cdkDropListSortingDisabled
|
|
147
|
-
#collectionList="cdkDropList"
|
|
148
|
-
[cdkDropListData]="displayTags"
|
|
149
|
-
[cdkDropListConnectedTo]="[linkedList]"
|
|
150
|
-
><div class="collection-item"
|
|
151
|
-
*ngFor="let tag of displayTags"
|
|
152
|
-
cdkDrag
|
|
153
|
-
[cdkDragDisabled]="tag.tagType !== 'T' || linkedTags.includes(tag)"
|
|
154
|
-
[class.draggable]="tag.tagType === 'T' && !linkedTags.includes(tag)"
|
|
155
|
-
[class.disabled]="linkedTags.includes(tag)"
|
|
156
|
-
(click)="handleTagSelected(tag)">
|
|
157
|
-
|
|
158
|
-
<div class="collection-item" *cdkDragPlaceholder>
|
|
159
|
-
<co-icon *ngIf="tag.tagType === 'T'" [iconData]="iconCacheService.getIcon(icon.TagRegular)"></co-icon>
|
|
160
|
-
<span [textContent]="tag.description"></span>
|
|
161
|
-
</div>
|
|
162
|
-
|
|
163
|
-
<div *cdkDragPreview><co-icon [iconData]="iconCacheService.getIcon(icon.TagRegular)"></co-icon></div>
|
|
164
|
-
|
|
165
|
-
<co-icon *ngIf="tag.tagType === 'T'" [iconData]="iconCacheService.getIcon(icon.TagRegular)"></co-icon>
|
|
166
|
-
<span [textContent]="tag.description"></span>
|
|
167
|
-
</div>
|
|
168
|
-
</div>
|
|
169
|
-
</div>
|
|
170
|
-
|
|
171
|
-
<div class="linked-tags-view">
|
|
172
|
-
<span class="title" [textContent]="'Gekoppelde tags'"></span>
|
|
173
|
-
<div class="view-wrapper"
|
|
174
|
-
cdkDropList
|
|
175
|
-
#linkedList="cdkDropList"
|
|
176
|
-
[cdkDropListData]="linkedTags"
|
|
177
|
-
(cdkDropListDropped)="handleAddTag($event)">
|
|
178
|
-
<div class="tag-item" *ngFor="let tag of linkedTags" [cdkDragDisabled]="true" cdkDrag [style.background-color]="tag.color?.replace('0x', '#')">
|
|
179
|
-
<div class="placeholderLinked" *cdkDragPlaceholder></div>
|
|
180
|
-
|
|
181
|
-
<div class="thumbnail-description">
|
|
182
|
-
<co-icon *ngIf="!tag.image?.thumbnailBody" [iconData]="iconCacheService.getIcon(icon.TagRegular)"></co-icon>
|
|
183
|
-
<div *ngIf="tag.image" class="thumbnail-wrapper">
|
|
184
|
-
<img [src]="tag.image.thumbnailBodyAsDataUri">
|
|
185
|
-
</div>
|
|
186
|
-
|
|
187
|
-
<div class="description-wrapper">
|
|
188
|
-
<span [textContent]="tag.parentDescription"></span>
|
|
189
|
-
<span class="description" [textContent]="tag.description"></span>
|
|
190
|
-
</div>
|
|
191
|
-
</div>
|
|
192
|
-
<co-icon class="delete-tag" (click)="deleteLinkedTag(tag)"
|
|
193
|
-
[iconData]="iconCacheService.getIcon(icon.XSolid)"
|
|
194
|
-
></co-icon>
|
|
195
|
-
</div>
|
|
196
|
-
</div>
|
|
197
|
-
</div>
|
|
55
|
+
<co-simple-tags-form [tags]="tags" [(linkedTags)]="linkedTags"></co-simple-tags-form>
|
|
198
56
|
</div>
|
|
199
57
|
|
|
200
58
|
<ng-template #footerTemplate>
|
|
@@ -226,4 +84,4 @@ SimpleTagsComponent.propDecorators = {
|
|
|
226
84
|
saveClick: [{ type: Output }],
|
|
227
85
|
showClass: [{ type: HostBinding, args: ["class.co-simple-tags",] }]
|
|
228
86
|
};
|
|
229
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXRhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2ltcGxlLXRhZ3Mvc2ltcGxlLXRhZ3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUUxQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFrSDNELE1BQU0sT0FBTyxtQkFBbUI7SUFxQzlCLFlBQ1MsZ0JBQWtDLEVBQ2xDLGFBQTRCO1FBRDVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUF0Q3JCLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBbUJsQyxlQUFVLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHMUQsY0FBUyxHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUUzRSxnQkFBVyxHQUFrQixFQUFFLENBQUM7UUFDaEMsZ0JBQVcsR0FBa0IsRUFBRSxDQUFDO1FBQ2hDLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBRXpCLFVBQUssR0FBa0IsRUFBRSxDQUFDO1FBQzFCLGdCQUFXLEdBQWtCLEVBQUUsQ0FBQztJQVVwQyxDQUFDO0lBckNMLElBQ1csSUFBSSxDQUFDLElBQW1CO1FBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFF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YSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztpQkFDdEUsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxNQUFNLEVBQUU7b0JBQ1YsV0FBVyxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO2lCQUMxQztZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDOzs7WUExT0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBHVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBcEhPLGdCQUFnQjtZQUdoQixhQUFhOzs7bUJBcUhsQixLQUFLO3lCQU1MLEtBQUs7eUJBVUwsTUFBTTt3QkFHTixNQUFNO3dCQVVOLFdBQVcsU0FBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7Q2RrRHJhZ0Ryb3B9IGZyb20gXCJAYW5ndWxhci9jZGsvZHJhZy1kcm9wXCI7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvc2hhcmVkLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUYWdUcmVlSXRlbX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3RhZy10cmVlLWl0ZW0uYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXNpbXBsZS10YWdzXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1kaWFsb2dcclxuICAgICAgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCJcclxuICAgICAgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCJcclxuICAgICAgKGNsb3NlQ2xpY2spPVwiY2xvc2VDbGljay5lbWl0KClcIlxyXG4gICAgPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uLlRhZ1JlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidUYWdzJ1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbGxlY3Rpb24tbmF2aWdhdGlvbiBjby1zbWFsbC1zY3JvbGxiYXJcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ0Jlc2NoaWtiYXJlIHRhZ3MnXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXNlYXJjaFxyXG4gICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTdHJpbmdcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NlYXJjaCBmb3IgdGFnIG5hbWUnXCJcclxuICAgICAgICAgICAgKHNlYXJjaCk9XCJzZWFyY2hDb2xsZWN0aW9uKClcIlxyXG4gICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwic2VhcmNoQ29sbGVjdGlvbigpXCJcclxuICAgICAgICAgICAgKHJpZ2h0SWNvbkNsaWNrKT1cInNlYXJjaENvbGxlY3Rpb24oKVwiXHJcbiAgICAgICAgICA+PC9jby1pbnB1dC1zZWFyY2g+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnJlYWRjcnVtYnNcIj5cclxuICAgICAgICAgICAgPGNvLWljb25cclxuICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb24uSG91c2VCbGFua1JlZ3VsYXIpXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwic2V0Um9vdERpc3BsYXlUYWdzKClcIlxyXG4gICAgICAgICAgICA+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3J1bWJzXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzcGFjZXJcIiBbdGV4dENvbnRlbnRdPVwiJ3wnXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcnVtYlwiICpuZ0Zvcj1cImxldCBjcnVtYiBvZiBicmVhZENydW1iczsgbGV0IGluZGV4ID0gaW5kZXhcIiAoY2xpY2spPVwiaGFuZGxlQ3J1bWJDbGlja2VkKGNydW1iLCBpbmRleClcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3BhY2VyXCIgKm5nSWY9XCJpbmRleCAhPT0gMFwiIFt0ZXh0Q29udGVudF09XCInLydcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiY3J1bWIuZGVzY3JpcHRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sbGVjdGlvbi12aWV3XCJcclxuICAgICAgICAgICAgICAgY2RrRHJvcExpc3RcclxuICAgICAgICAgICAgICAgY2RrRHJvcExpc3RTb3J0aW5nRGlzYWJsZWRcclxuICAgICAgICAgICAgICAgI2NvbGxlY3Rpb25MaXN0PVwiY2RrRHJvcExpc3RcIlxyXG4gICAgICAgICAgICAgICBbY2RrRHJvcExpc3REYXRhXT1cImRpc3BsYXlUYWdzXCJcclxuICAgICAgICAgICAgICAgW2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwiW2xpbmtlZExpc3RdXCJcclxuICAgICAgICAgID48ZGl2IGNsYXNzPVwiY29sbGVjdGlvbi1pdGVtXCJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWcgb2YgZGlzcGxheVRhZ3NcIlxyXG4gICAgICAgICAgICAgICAgY2RrRHJhZ1xyXG4gICAgICAgICAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCJ0YWcudGFnVHlwZSAhPT0gJ1QnIHx8IGxpbmtlZFRhZ3MuaW5jbHVkZXModGFnKVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZHJhZ2dhYmxlXT1cInRhZy50YWdUeXBlID09PSAnVCcgJiYgIWxpbmtlZFRhZ3MuaW5jbHVkZXModGFnKVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwibGlua2VkVGFncy5pbmNsdWRlcyh0YWcpXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVUYWdTZWxlY3RlZCh0YWcpXCI+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sbGVjdGlvbi1pdGVtXCIgKmNka0RyYWdQbGFjZWhvbGRlcj5cclxuICAgICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cInRhZy50YWdUeXBlID09PSAnVCdcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb24uVGFnUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInRhZy5kZXNjcmlwdGlvblwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2ICpjZGtEcmFnUHJldmlldz48Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb24uVGFnUmVndWxhcilcIj48L2NvLWljb24+PC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cInRhZy50YWdUeXBlID09PSAnVCdcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb24uVGFnUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJ0YWcuZGVzY3JpcHRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGlua2VkLXRhZ3Mtdmlld1wiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiIFt0ZXh0Q29udGVudF09XCInR2Vrb3BwZWxkZSB0YWdzJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2aWV3LXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAgICBjZGtEcm9wTGlzdFxyXG4gICAgICAgICAgICAgICAjbGlua2VkTGlzdD1cImNka0Ryb3BMaXN0XCJcclxuICAgICAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJsaW5rZWRUYWdzXCJcclxuICAgICAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJoYW5kbGVBZGRUYWcoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFnLWl0ZW1cIiAqbmdGb3I9XCJsZXQgdGFnIG9mIGxpbmtlZFRhZ3NcIiBbY2RrRHJhZ0Rpc2FibGVkXT1cInRydWVcIiBjZGtEcmFnIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cInRhZy5jb2xvcj8ucmVwbGFjZSgnMHgnLCAnIycpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyTGlua2VkXCIgKmNka0RyYWdQbGFjZWhvbGRlcj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRodW1ibmFpbC1kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWljb24gKm5nSWY9XCIhdGFnLmltYWdlPy50aHVtYm5haWxCb2R5XCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uLlRhZ1JlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRhZy5pbWFnZVwiIGNsYXNzPVwidGh1bWJuYWlsLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cInRhZy5pbWFnZS50aHVtYm5haWxCb2R5QXNEYXRhVXJpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb24td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwidGFnLnBhcmVudERlc2NyaXB0aW9uXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRlc2NyaXB0aW9uXCIgW3RleHRDb250ZW50XT1cInRhZy5kZXNjcmlwdGlvblwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiZGVsZXRlLXRhZ1wiIChjbGljayk9XCJkZWxldGVMaW5rZWRUYWcodGFnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uLlhTb2xpZClcIlxyXG4gICAgICAgICAgICAgID48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWZvb3Rlci1idXR0b24td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2F2ZVRhZ3MoKVwiXHJcbiAgICAgICAgICA+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uXHJcbiAgICAgICAgICAgIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCJcclxuICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uLkNyb3NzU2tpbm55KVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZUNsaWNrLm5leHQoKVwiXHJcbiAgICAgICAgICA+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2NvLWRpYWxvZz5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpbXBsZVRhZ3NDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCB0YWdzKHRhZ3M6IFRhZ1RyZWVJdGVtW10pIHtcclxuICAgIHRoaXMuX3RhZ3MgPSB0YWdzO1xyXG4gICAgdGhpcy5zZXRSb290RGlzcGxheVRhZ3MoKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBsaW5rZWRUYWdzKHRhZ3M6IFRhZ1RyZWVJdGVtW10pIHtcclxuICAgIHRoaXMuX2xpbmtlZFRhZ3MgPSB0YWdzO1xyXG4gICAgdGFncy5mb3JFYWNoKCh0YWcpID0+IHRoaXMuX2xvYWRUaHVtYm5haWwodGFnKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGxpbmtlZFRhZ3MoKTogVGFnVHJlZUl0ZW1bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGlua2VkVGFncztcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjbG9zZUNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzYXZlQ2xpY2s6IEV2ZW50RW1pdHRlcjxUYWdUcmVlSXRlbVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8VGFnVHJlZUl0ZW1bXT4oKTtcclxuXHJcbiAgcHVibGljIGJyZWFkQ3J1bWJzOiBUYWdUcmVlSXRlbVtdID0gW107XHJcbiAgcHVibGljIGRpc3BsYXlUYWdzOiBUYWdUcmVlSXRlbVtdID0gW107XHJcbiAgcHVibGljIHNlYXJjaFN0cmluZzogc3RyaW5nID0gJyc7XHJcblxyXG4gIHByaXZhdGUgX3RhZ3M6IFRhZ1RyZWVJdGVtW10gPSBbXTtcclxuICBwcml2YXRlIF9saW5rZWRUYWdzOiBUYWdUcmVlSXRlbVtdID0gW107XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXNpbXBsZS10YWdzXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyBzaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlLFxyXG4gICkgeyB9XHJcblxyXG4gIHB1YmxpYyBzZXRSb290RGlzcGxheVRhZ3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc3BsYXlUYWdzID0gdGhpcy5fdGFncy5maWx0ZXIoKHRhZzogVGFnVHJlZUl0ZW0pID0+IHRhZy50cmVlTGV2ZWwgPT09IDApO1xyXG4gICAgdGhpcy5icmVhZENydW1icyA9IFtdO1xyXG4gICAgdGhpcy5zZWFyY2hTdHJpbmcgPSAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVUYWdTZWxlY3RlZChzZWxlY3RlZFRhZzogVGFnVHJlZUl0ZW0pOiB2b2lkIHtcclxuICAgIGlmIChzZWxlY3RlZFRhZy50YWdUeXBlID09PSAnVFInIHx8IHNlbGVjdGVkVGFnLnRhZ1R5cGUgPT09ICdURycpIHtcclxuICAgICAgaWYgKHNlbGVjdGVkVGFnICE9PSB0aGlzLmJyZWFkQ3J1bWJzWzBdKSB7XHJcbiAgICAgICAgdGhpcy5icmVhZENydW1icy5wdXNoKHNlbGVjdGVkVGFnKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmRpc3BsYXlUYWdzID0gdGhpcy5fdGFncy5maWx0ZXIoKHRhZzogVGFnVHJlZUl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4gdGFnLnBhcmVudElkID09PSBzZWxlY3RlZFRhZy5pZCAmJiB0YWcudHJlZUxldmVsID09PSBzZWxlY3RlZFRhZy50cmVlTGV2ZWwgKyAxXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNydW1iQ2xpY2tlZCh0YWc6IFRhZ1RyZWVJdGVtLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGFnICE9PSB0aGlzLmJyZWFkQ3J1bWJzW3RoaXMuYnJlYWRDcnVtYnMubGVuZ3RoIC0gMV0pIHtcclxuICAgICAgdGhpcy5icmVhZENydW1icy5zcGxpY2UoaW5kZXggKyAxKTtcclxuICAgICAgdGhpcy5oYW5kbGVUYWdTZWxlY3RlZCh0YWcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUFkZFRhZyhldmVudDogQ2RrRHJhZ0Ryb3A8VGFnVHJlZUl0ZW1bXSwgYW55Pik6IHZvaWQge1xyXG4gICAgY29uc3QgZHJhZ2dlZFRhZzogVGFnVHJlZUl0ZW0gPSB0aGlzLmRpc3BsYXlUYWdzW2V2ZW50LnByZXZpb3VzSW5kZXhdO1xyXG4gICAgaWYgKCF0aGlzLl9saW5rZWRUYWdzLmluY2x1ZGVzKGRyYWdnZWRUYWcpKSB7XHJcbiAgICAgIHRoaXMuX2xpbmtlZFRhZ3MucHVzaCh0aGlzLmRpc3BsYXlUYWdzW2V2ZW50LnByZXZpb3VzSW5kZXhdKTtcclxuICAgICAgdGhpcy5fbG9hZFRodW1ibmFpbChkcmFnZ2VkVGFnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBkZWxldGVMaW5rZWRUYWcodGFnOiBUYWdUcmVlSXRlbSk6IHZvaWQge1xyXG4gICAgdGhpcy5fbGlua2VkVGFncy5zcGxpY2UodGhpcy5fbGlua2VkVGFncy5pbmRleE9mKHRhZyksIDEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlYXJjaENvbGxlY3Rpb24oKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuc2VhcmNoU3RyaW5nKSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoU3RyaW5nID0gJyc7XHJcbiAgICAgIHRoaXMuc2V0Um9vdERpc3BsYXlUYWdzKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlYXJjaFN0cmluZy5sZW5ndGggPCAyKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlYXJjaFN0cmluZyA9PT0gJycpIHtcclxuICAgICAgdGhpcy5zZXRSb290RGlzcGxheVRhZ3MoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG1hdGNoaW5nT2JqZWN0czogVGFnVHJlZUl0ZW1bXSA9IFtdO1xyXG5cclxuICAgIHRoaXMuX3RhZ3MuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnRhZ1R5cGUgPT09ICdUJykuZm9yRWFjaCgob2JqKSA9PiB7XHJcbiAgICAgIE9iamVjdC52YWx1ZXMob2JqKS5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgIGNvbnN0IHN0cmluZ1ZhbHVlID0gU3RyaW5nKHZhbHVlKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgaWYgKHN0cmluZ1ZhbHVlLmluY2x1ZGVzKHRoaXMuc2VhcmNoU3RyaW5nLnRvTG93ZXJDYXNlKCkpKSB7XHJcbiAgICAgICAgICAgIG1hdGNoaW5nT2JqZWN0cy5wdXNoKG9iaik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZGlzcGxheVRhZ3MgPSBtYXRjaGluZ09iamVjdHM7XHJcbiAgICB0aGlzLmJyZWFkQ3J1bWJzID0gW107XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2F2ZVRhZ3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNhdmVDbGljay5uZXh0KHRoaXMuX2xpbmtlZFRhZ3MpO1xyXG4gICAgdGhpcy5jbG9zZUNsaWNrLm5leHQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2xvYWRUaHVtYm5haWwodGFnVHJlZUl0ZW06IFRhZ1RyZWVJdGVtKTogdm9pZCB7XHJcbiAgICBpZiAodGFnVHJlZUl0ZW0uaW1hZ2UgJiYgdGFnVHJlZUl0ZW0uaW1hZ2UuZG9jdW1lbnRJZCAmJiAhdGFnVHJlZUl0ZW0uaW1hZ2UudGh1bWJuYWlsQm9keSkge1xyXG4gICAgICB0aGlzLnNoYXJlZFNlcnZpY2UuZ2V0RG9jdW1lbnRDb250ZW50KHRhZ1RyZWVJdGVtLmltYWdlLmRvY3VtZW50SWQsIHRydWUpXHJcbiAgICAgICAgLnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICB0YWdUcmVlSXRlbS5pbWFnZS50aHVtYm5haWxCb2R5ID0gcmVzdWx0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXRhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2ltcGxlLXRhZ3Mvc2ltcGxlLXRhZ3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUUxQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUF1QzNELE1BQU0sT0FBTyxtQkFBbUI7SUF1QzlCLFlBQ1MsZ0JBQWtDLEVBQ2xDLGFBQTRCO1FBRDVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUF4Q3JCLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBcUJsQyxlQUFVLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHMUQsY0FBUyxHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUUzRSxnQkFBVyxHQUFrQixFQUFFLENBQUM7UUFDaEMsZ0JBQVcsR0FBa0IsRUFBRSxDQUFDO1FBQ2hDLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBRXpCLFVBQUssR0FBa0IsRUFBRSxDQUFDO1FBQzFCLGdCQUFXLEdBQWtCLEVBQUUsQ0FBQztJQVVwQyxDQUFDO0lBdkNMLElBQ1csSUFBSSxDQUFDLElBQW1CO1FBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQ1csVUFBVSxDQUFDLElBQW1CO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFnQk0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQU9NLGNBQWM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQzs7O1lBbkZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQlQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXpDTyxnQkFBZ0I7WUFHaEIsYUFBYTs7O21CQTBDbEIsS0FBSzt5QkFTTCxLQUFLO3lCQVNMLE1BQU07d0JBR04sTUFBTTt3QkFVTixXQUFXLFNBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0Nka0RyYWdEcm9wfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xyXG5pbXBvcnQge1NoYXJlZFNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3NoYXJlZC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VGFnVHJlZUl0ZW19IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC90YWctdHJlZS1pdGVtLmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zaW1wbGUtdGFnc1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tZGlhbG9nXHJcbiAgICAgIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiXHJcbiAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiXHJcbiAgICAgIChjbG9zZUNsaWNrKT1cImNsb3NlQ2xpY2suZW1pdCgpXCJcclxuICAgID5cclxuICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbi5UYWdSZWd1bGFyKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY28tZGlhbG9nLWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInVGFncydcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgIDxjby1zaW1wbGUtdGFncy1mb3JtIFt0YWdzXT1cInRhZ3NcIiBbKGxpbmtlZFRhZ3MpXT1cImxpbmtlZFRhZ3NcIj48L2NvLXNpbXBsZS10YWdzLWZvcm0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWZvb3Rlci1idXR0b24td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2F2ZVRhZ3MoKVwiXHJcbiAgICAgICAgICA+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uXHJcbiAgICAgICAgICAgIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCJcclxuICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uLkNyb3NzU2tpbm55KVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZUNsaWNrLm5leHQoKVwiXHJcbiAgICAgICAgICA+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2NvLWRpYWxvZz5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpbXBsZVRhZ3NDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCB0YWdzKHRhZ3M6IFRhZ1RyZWVJdGVtW10pIHtcclxuICAgIHRoaXMuX3RhZ3MgPSB0YWdzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB0YWdzKCk6IFRhZ1RyZWVJdGVtW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RhZ3M7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgbGlua2VkVGFncyh0YWdzOiBUYWdUcmVlSXRlbVtdKSB7XHJcbiAgICB0aGlzLl9saW5rZWRUYWdzID0gdGFncztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgbGlua2VkVGFncygpOiBUYWdUcmVlSXRlbVtdIHtcclxuICAgIHJldHVybiB0aGlzLl9saW5rZWRUYWdzO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNsb3NlQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNhdmVDbGljazogRXZlbnRFbWl0dGVyPFRhZ1RyZWVJdGVtW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxUYWdUcmVlSXRlbVtdPigpO1xyXG5cclxuICBwdWJsaWMgYnJlYWRDcnVtYnM6IFRhZ1RyZWVJdGVtW10gPSBbXTtcclxuICBwdWJsaWMgZGlzcGxheVRhZ3M6IFRhZ1RyZWVJdGVtW10gPSBbXTtcclxuICBwdWJsaWMgc2VhcmNoU3RyaW5nOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgcHJpdmF0ZSBfdGFnczogVGFnVHJlZUl0ZW1bXSA9IFtdO1xyXG4gIHByaXZhdGUgX2xpbmtlZFRhZ3M6IFRhZ1RyZWVJdGVtW10gPSBbXTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tc2ltcGxlLXRhZ3NcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2UsXHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNhdmVUYWdzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zYXZlQ2xpY2submV4dCh0aGlzLl9saW5rZWRUYWdzKTtcclxuICAgIHRoaXMuY2xvc2VDbGljay5uZXh0KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -3,6 +3,7 @@ import { CommonModule } from "@angular/common";
|
|
|
3
3
|
import { SimpleTagsComponent } from "./simple-tags.component";
|
|
4
4
|
import { ButtonModule, CoDialogModule, IconModule, InputSearchModule } from "@colijnit/corecomponents_v12";
|
|
5
5
|
import { DragDropModule } from "@angular/cdk/drag-drop";
|
|
6
|
+
import { SimpleTagsFormModule } from "../simple-tags-form/simple-tags-form.module";
|
|
6
7
|
export class SimpleTagsModule {
|
|
7
8
|
}
|
|
8
9
|
SimpleTagsModule.decorators = [
|
|
@@ -13,7 +14,8 @@ SimpleTagsModule.decorators = [
|
|
|
13
14
|
InputSearchModule,
|
|
14
15
|
IconModule,
|
|
15
16
|
DragDropModule,
|
|
16
|
-
ButtonModule
|
|
17
|
+
ButtonModule,
|
|
18
|
+
SimpleTagsFormModule
|
|
17
19
|
],
|
|
18
20
|
declarations: [
|
|
19
21
|
SimpleTagsComponent
|
|
@@ -23,4 +25,4 @@ SimpleTagsModule.decorators = [
|
|
|
23
25
|
]
|
|
24
26
|
},] }
|
|
25
27
|
];
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXRhZ3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2ltcGxlLXRhZ3Mvc2ltcGxlLXRhZ3MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3pHLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQW1CakYsTUFBTSxPQUFPLGdCQUFnQjs7O1lBakI1QixRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxpQkFBaUI7b0JBQ2pCLFVBQVU7b0JBQ1YsY0FBYztvQkFDZCxZQUFZO29CQUNaLG9CQUFvQjtpQkFDdkI7Z0JBQ0gsWUFBWSxFQUFFO29CQUNaLG1CQUFtQjtpQkFDcEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLG1CQUFtQjtpQkFDcEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7U2ltcGxlVGFnc0NvbXBvbmVudH0gZnJvbSBcIi4vc2ltcGxlLXRhZ3MuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBDb0RpYWxvZ01vZHVsZSwgSWNvbk1vZHVsZSwgSW5wdXRTZWFyY2hNb2R1bGV9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7RHJhZ0Ryb3BNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jZGsvZHJhZy1kcm9wXCI7XHJcbmltcG9ydCB7U2ltcGxlVGFnc0Zvcm1Nb2R1bGV9IGZyb20gXCIuLi9zaW1wbGUtdGFncy1mb3JtL3NpbXBsZS10YWdzLWZvcm0ubW9kdWxlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBDb0RpYWxvZ01vZHVsZSxcclxuICAgICAgICBJbnB1dFNlYXJjaE1vZHVsZSxcclxuICAgICAgICBJY29uTW9kdWxlLFxyXG4gICAgICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBTaW1wbGVUYWdzRm9ybU1vZHVsZVxyXG4gICAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNpbXBsZVRhZ3NDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFNpbXBsZVRhZ3NDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaW1wbGVUYWdzTW9kdWxlIHtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { IconCacheService } from "../../service/icon-cache.service";
|
|
3
|
+
import { Icon } from "../../enum/icon.enum";
|
|
4
|
+
import { SharedService } from "../../service/shared.service";
|
|
5
|
+
export class SimpleTagsFormComponent {
|
|
6
|
+
constructor(iconCacheService, sharedService) {
|
|
7
|
+
this.iconCacheService = iconCacheService;
|
|
8
|
+
this.sharedService = sharedService;
|
|
9
|
+
this.icon = Icon;
|
|
10
|
+
this.linkedTagsChange = new EventEmitter();
|
|
11
|
+
this.breadCrumbs = [];
|
|
12
|
+
this.displayTags = [];
|
|
13
|
+
this.searchString = '';
|
|
14
|
+
this._tags = [];
|
|
15
|
+
this._linkedTags = [];
|
|
16
|
+
}
|
|
17
|
+
set tags(tags) {
|
|
18
|
+
this._tags = tags;
|
|
19
|
+
this.setRootDisplayTags();
|
|
20
|
+
}
|
|
21
|
+
set linkedTags(tags) {
|
|
22
|
+
this._linkedTags = tags;
|
|
23
|
+
tags.forEach((tag) => this._loadThumbnail(tag));
|
|
24
|
+
}
|
|
25
|
+
get linkedTags() {
|
|
26
|
+
return this._linkedTags;
|
|
27
|
+
}
|
|
28
|
+
showClass() {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
setRootDisplayTags() {
|
|
32
|
+
this.displayTags = this._tags.filter((tag) => tag.treeLevel === 0);
|
|
33
|
+
this.breadCrumbs = [];
|
|
34
|
+
this.searchString = '';
|
|
35
|
+
}
|
|
36
|
+
handleTagSelected(selectedTag) {
|
|
37
|
+
if (selectedTag.tagType === 'TR' || selectedTag.tagType === 'TG') {
|
|
38
|
+
if (selectedTag !== this.breadCrumbs[0]) {
|
|
39
|
+
this.breadCrumbs.push(selectedTag);
|
|
40
|
+
}
|
|
41
|
+
this.displayTags = this._tags.filter((tag) => {
|
|
42
|
+
return tag.parentId === selectedTag.id && tag.treeLevel === selectedTag.treeLevel + 1;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
handleCrumbClicked(tag, index) {
|
|
47
|
+
if (tag !== this.breadCrumbs[this.breadCrumbs.length - 1]) {
|
|
48
|
+
this.breadCrumbs.splice(index + 1);
|
|
49
|
+
this.handleTagSelected(tag);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
handleAddTag(event) {
|
|
53
|
+
const draggedTag = this.displayTags[event.previousIndex];
|
|
54
|
+
if (!this._linkedTags.includes(draggedTag)) {
|
|
55
|
+
this._linkedTags.push(this.displayTags[event.previousIndex]);
|
|
56
|
+
this._loadThumbnail(draggedTag);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
deleteLinkedTag(tag) {
|
|
60
|
+
this._linkedTags.splice(this._linkedTags.indexOf(tag), 1);
|
|
61
|
+
}
|
|
62
|
+
searchCollection() {
|
|
63
|
+
if (!this.searchString) {
|
|
64
|
+
this.searchString = '';
|
|
65
|
+
this.setRootDisplayTags();
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
if (this.searchString.length < 2) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (this.searchString === '') {
|
|
72
|
+
this.setRootDisplayTags();
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const matchingObjects = [];
|
|
76
|
+
this._tags.filter((item) => item.tagType === 'T').forEach((obj) => {
|
|
77
|
+
Object.values(obj).forEach((value) => {
|
|
78
|
+
if (typeof value === 'string' || typeof value === 'number') {
|
|
79
|
+
const stringValue = String(value).toLowerCase();
|
|
80
|
+
if (stringValue.includes(this.searchString.toLowerCase())) {
|
|
81
|
+
matchingObjects.push(obj);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
this.displayTags = matchingObjects;
|
|
87
|
+
this.breadCrumbs = [];
|
|
88
|
+
}
|
|
89
|
+
_loadThumbnail(tagTreeItem) {
|
|
90
|
+
if (tagTreeItem.image && tagTreeItem.image.documentId && !tagTreeItem.image.thumbnailBody) {
|
|
91
|
+
this.sharedService.getDocumentContent(tagTreeItem.image.documentId, true)
|
|
92
|
+
.then((result) => {
|
|
93
|
+
if (result) {
|
|
94
|
+
tagTreeItem.image.thumbnailBody = result;
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
SimpleTagsFormComponent.decorators = [
|
|
101
|
+
{ type: Component, args: [{
|
|
102
|
+
selector: "co-simple-tags-form",
|
|
103
|
+
template: `
|
|
104
|
+
<div class="form-content-wrapper">
|
|
105
|
+
<div class="collection-navigation co-small-scrollbar">
|
|
106
|
+
<span class="title" [textContent]="'Beschikbare tags'"></span>
|
|
107
|
+
<co-input-search
|
|
108
|
+
[(model)]="searchString"
|
|
109
|
+
[placeholder]="'Search for tag name'"
|
|
110
|
+
(search)="searchCollection()"
|
|
111
|
+
(modelChange)="searchCollection()"
|
|
112
|
+
(rightIconClick)="searchCollection()"
|
|
113
|
+
></co-input-search>
|
|
114
|
+
<div class="breadcrumbs">
|
|
115
|
+
<co-icon
|
|
116
|
+
[iconData]="iconCacheService.getIcon(icon.HouseBlankRegular)"
|
|
117
|
+
(click)="setRootDisplayTags()"
|
|
118
|
+
></co-icon>
|
|
119
|
+
<div class="crumbs">
|
|
120
|
+
<span class="spacer" [textContent]="'|'"></span>
|
|
121
|
+
<div class="crumb" *ngFor="let crumb of breadCrumbs; let index = index" (click)="handleCrumbClicked(crumb, index)">
|
|
122
|
+
<span class="spacer" *ngIf="index !== 0" [textContent]="'/'"></span>
|
|
123
|
+
<span [textContent]="crumb.description"></span>
|
|
124
|
+
</div>
|
|
125
|
+
</div>
|
|
126
|
+
</div>
|
|
127
|
+
<div class="collection-view"
|
|
128
|
+
cdkDropList
|
|
129
|
+
cdkDropListSortingDisabled
|
|
130
|
+
#collectionList="cdkDropList"
|
|
131
|
+
[cdkDropListData]="displayTags"
|
|
132
|
+
[cdkDropListConnectedTo]="[linkedList]">
|
|
133
|
+
<div class="collection-item"
|
|
134
|
+
*ngFor="let tag of displayTags"
|
|
135
|
+
cdkDrag
|
|
136
|
+
[cdkDragDisabled]="tag.tagType !== 'T' || linkedTags.includes(tag)"
|
|
137
|
+
[class.draggable]="tag.tagType === 'T' && !linkedTags.includes(tag)"
|
|
138
|
+
[class.disabled]="linkedTags.includes(tag)"
|
|
139
|
+
(click)="handleTagSelected(tag)">
|
|
140
|
+
|
|
141
|
+
<div class="collection-item" *cdkDragPlaceholder>
|
|
142
|
+
<co-icon *ngIf="tag.tagType === 'T'" [iconData]="iconCacheService.getIcon(icon.TagRegular)"></co-icon>
|
|
143
|
+
<span [textContent]="tag.description"></span>
|
|
144
|
+
</div>
|
|
145
|
+
|
|
146
|
+
<div *cdkDragPreview><co-icon [iconData]="iconCacheService.getIcon(icon.TagRegular)"></co-icon></div>
|
|
147
|
+
|
|
148
|
+
<co-icon *ngIf="tag.tagType === 'T'" [iconData]="iconCacheService.getIcon(icon.TagRegular)"></co-icon>
|
|
149
|
+
<span [textContent]="tag.description"></span>
|
|
150
|
+
</div>
|
|
151
|
+
</div>
|
|
152
|
+
</div>
|
|
153
|
+
|
|
154
|
+
<div class="linked-tags-view">
|
|
155
|
+
<span class="title" [textContent]="'Gekoppelde tags'"></span>
|
|
156
|
+
<div class="view-wrapper"
|
|
157
|
+
cdkDropList
|
|
158
|
+
#linkedList="cdkDropList"
|
|
159
|
+
[cdkDropListData]="linkedTags"
|
|
160
|
+
(cdkDropListDropped)="handleAddTag($event)">
|
|
161
|
+
<div class="tag-item" *ngFor="let tag of linkedTags" [cdkDragDisabled]="true" cdkDrag [style.background-color]="tag.color?.replace('0x', '#')">
|
|
162
|
+
<div class="placeholderLinked" *cdkDragPlaceholder></div>
|
|
163
|
+
|
|
164
|
+
<div class="thumbnail-description">
|
|
165
|
+
<co-icon *ngIf="!tag.image?.thumbnailBody" [iconData]="iconCacheService.getIcon(icon.TagRegular)"></co-icon>
|
|
166
|
+
<div *ngIf="tag.image" class="thumbnail-wrapper">
|
|
167
|
+
<img [src]="tag.image.thumbnailBodyAsDataUri">
|
|
168
|
+
</div>
|
|
169
|
+
|
|
170
|
+
<div class="description-wrapper">
|
|
171
|
+
<span [textContent]="tag.parentDescription"></span>
|
|
172
|
+
<span class="description" [textContent]="tag.description"></span>
|
|
173
|
+
</div>
|
|
174
|
+
</div>
|
|
175
|
+
<co-icon class="delete-tag" (click)="deleteLinkedTag(tag)"
|
|
176
|
+
[iconData]="iconCacheService.getIcon(icon.XSolid)"
|
|
177
|
+
></co-icon>
|
|
178
|
+
</div>
|
|
179
|
+
</div>
|
|
180
|
+
</div>
|
|
181
|
+
</div>
|
|
182
|
+
`,
|
|
183
|
+
encapsulation: ViewEncapsulation.None
|
|
184
|
+
},] }
|
|
185
|
+
];
|
|
186
|
+
SimpleTagsFormComponent.ctorParameters = () => [
|
|
187
|
+
{ type: IconCacheService },
|
|
188
|
+
{ type: SharedService }
|
|
189
|
+
];
|
|
190
|
+
SimpleTagsFormComponent.propDecorators = {
|
|
191
|
+
tags: [{ type: Input }],
|
|
192
|
+
linkedTags: [{ type: Input }],
|
|
193
|
+
linkedTagsChange: [{ type: Output }],
|
|
194
|
+
showClass: [{ type: HostBinding, args: ["class.co-simple-tags-form",] }]
|
|
195
|
+
};
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXRhZ3MtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zaW1wbGUtdGFncy1mb3JtL3NpbXBsZS10YWdzLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUUxQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUF1RjNELE1BQU0sT0FBTyx1QkFBdUI7SUFrQ2xDLFlBQ1MsZ0JBQWtDLEVBQ2xDLGFBQTRCO1FBRDVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFuQ3JCLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBbUJ6QixxQkFBZ0IsR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFM0YsZ0JBQVcsR0FBa0IsRUFBRSxDQUFDO1FBQ2hDLGdCQUFXLEdBQWtCLEVBQUUsQ0FBQztRQUNoQyxpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUV6QixVQUFLLEdBQWtCLEVBQUUsQ0FBQztRQUMxQixnQkFBVyxHQUFrQixFQUFFLENBQUM7SUFVcEMsQ0FBQztJQWxDTCxJQUNXLElBQUksQ0FBQyxJQUFtQjtRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFDVyxVQUFVLENBQUMsSUFB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QUFhLEdBQUcsTUFBTSxDQUFDO2lCQUMxQztZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDOzs7WUF2TUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStFVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBekZPLGdCQUFnQjtZQUdoQixhQUFhOzs7bUJBMEZsQixLQUFLO3lCQU1MLEtBQUs7K0JBVUwsTUFBTTt3QkFVTixXQUFXLFNBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0Nka0RyYWdEcm9wfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xyXG5pbXBvcnQge1NoYXJlZFNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3NoYXJlZC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VGFnVHJlZUl0ZW19IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC90YWctdHJlZS1pdGVtLmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zaW1wbGUtdGFncy1mb3JtXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sbGVjdGlvbi1uYXZpZ2F0aW9uIGNvLXNtYWxsLXNjcm9sbGJhclwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ0Jlc2NoaWtiYXJlIHRhZ3MnXCI+PC9zcGFuPlxyXG4gICAgICAgIDxjby1pbnB1dC1zZWFyY2hcclxuICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFN0cmluZ1wiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NlYXJjaCBmb3IgdGFnIG5hbWUnXCJcclxuICAgICAgICAgIChzZWFyY2gpPVwic2VhcmNoQ29sbGVjdGlvbigpXCJcclxuICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJzZWFyY2hDb2xsZWN0aW9uKClcIlxyXG4gICAgICAgICAgKHJpZ2h0SWNvbkNsaWNrKT1cInNlYXJjaENvbGxlY3Rpb24oKVwiXHJcbiAgICAgICAgPjwvY28taW5wdXQtc2VhcmNoPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJicmVhZGNydW1ic1wiPlxyXG4gICAgICAgICAgPGNvLWljb25cclxuICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uLkhvdXNlQmxhbmtSZWd1bGFyKVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzZXRSb290RGlzcGxheVRhZ3MoKVwiXHJcbiAgICAgICAgICA+PC9jby1pY29uPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNydW1ic1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNwYWNlclwiIFt0ZXh0Q29udGVudF09XCInfCdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcnVtYlwiICpuZ0Zvcj1cImxldCBjcnVtYiBvZiBicmVhZENydW1iczsgbGV0IGluZGV4ID0gaW5kZXhcIiAoY2xpY2spPVwiaGFuZGxlQ3J1bWJDbGlja2VkKGNydW1iLCBpbmRleClcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNwYWNlclwiICpuZ0lmPVwiaW5kZXggIT09IDBcIiBbdGV4dENvbnRlbnRdPVwiJy8nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJjcnVtYi5kZXNjcmlwdGlvblwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sbGVjdGlvbi12aWV3XCJcclxuICAgICAgICAgICAgIGNka0Ryb3BMaXN0XHJcbiAgICAgICAgICAgICBjZGtEcm9wTGlzdFNvcnRpbmdEaXNhYmxlZFxyXG4gICAgICAgICAgICAgI2NvbGxlY3Rpb25MaXN0PVwiY2RrRHJvcExpc3RcIlxyXG4gICAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJkaXNwbGF5VGFnc1wiXHJcbiAgICAgICAgICAgICBbY2RrRHJvcExpc3RDb25uZWN0ZWRUb109XCJbbGlua2VkTGlzdF1cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xsZWN0aW9uLWl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHRhZyBvZiBkaXNwbGF5VGFnc1wiXHJcbiAgICAgICAgICAgICAgICBjZGtEcmFnXHJcbiAgICAgICAgICAgICAgICBbY2RrRHJhZ0Rpc2FibGVkXT1cInRhZy50YWdUeXBlICE9PSAnVCcgfHwgbGlua2VkVGFncy5pbmNsdWRlcyh0YWcpXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5kcmFnZ2FibGVdPVwidGFnLnRhZ1R5cGUgPT09ICdUJyAmJiAhbGlua2VkVGFncy5pbmNsdWRlcyh0YWcpXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJsaW5rZWRUYWdzLmluY2x1ZGVzKHRhZylcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVRhZ1NlbGVjdGVkKHRhZylcIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xsZWN0aW9uLWl0ZW1cIiAqY2RrRHJhZ1BsYWNlaG9sZGVyPlxyXG4gICAgICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwidGFnLnRhZ1R5cGUgPT09ICdUJ1wiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbi5UYWdSZWd1bGFyKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwidGFnLmRlc2NyaXB0aW9uXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgKmNka0RyYWdQcmV2aWV3Pjxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbi5UYWdSZWd1bGFyKVwiPjwvY28taWNvbj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwidGFnLnRhZ1R5cGUgPT09ICdUJ1wiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbi5UYWdSZWd1bGFyKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInRhZy5kZXNjcmlwdGlvblwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsaW5rZWQtdGFncy12aWV3XCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiIFt0ZXh0Q29udGVudF09XCInR2Vrb3BwZWxkZSB0YWdzJ1wiPjwvc3Bhbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidmlldy13cmFwcGVyXCJcclxuICAgICAgICAgICAgIGNka0Ryb3BMaXN0XHJcbiAgICAgICAgICAgICAjbGlua2VkTGlzdD1cImNka0Ryb3BMaXN0XCJcclxuICAgICAgICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwibGlua2VkVGFnc1wiXHJcbiAgICAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImhhbmRsZUFkZFRhZygkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFnLWl0ZW1cIiAqbmdGb3I9XCJsZXQgdGFnIG9mIGxpbmtlZFRhZ3NcIiBbY2RrRHJhZ0Rpc2FibGVkXT1cInRydWVcIiBjZGtEcmFnIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cInRhZy5jb2xvcj8ucmVwbGFjZSgnMHgnLCAnIycpXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFjZWhvbGRlckxpbmtlZFwiICpjZGtEcmFnUGxhY2Vob2xkZXI+PC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGh1bWJuYWlsLWRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gKm5nSWY9XCIhdGFnLmltYWdlPy50aHVtYm5haWxCb2R5XCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uLlRhZ1JlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0YWcuaW1hZ2VcIiBjbGFzcz1cInRodW1ibmFpbC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwidGFnLmltYWdlLnRodW1ibmFpbEJvZHlBc0RhdGFVcmlcIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJ0YWcucGFyZW50RGVzY3JpcHRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRlc2NyaXB0aW9uXCIgW3RleHRDb250ZW50XT1cInRhZy5kZXNjcmlwdGlvblwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiZGVsZXRlLXRhZ1wiIChjbGljayk9XCJkZWxldGVMaW5rZWRUYWcodGFnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbi5YU29saWQpXCJcclxuICAgICAgICAgICAgPjwvY28taWNvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2ltcGxlVGFnc0Zvcm1Db21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCB0YWdzKHRhZ3M6IFRhZ1RyZWVJdGVtW10pIHtcclxuICAgIHRoaXMuX3RhZ3MgPSB0YWdzO1xyXG4gICAgdGhpcy5zZXRSb290RGlzcGxheVRhZ3MoKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBsaW5rZWRUYWdzKHRhZ3M6IFRhZ1RyZWVJdGVtW10pIHtcclxuICAgIHRoaXMuX2xpbmtlZFRhZ3MgPSB0YWdzO1xyXG4gICAgdGFncy5mb3JFYWNoKCh0YWcpID0+IHRoaXMuX2xvYWRUaHVtYm5haWwodGFnKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGxpbmtlZFRhZ3MoKTogVGFnVHJlZUl0ZW1bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGlua2VkVGFncztcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBsaW5rZWRUYWdzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VGFnVHJlZUl0ZW1bXT4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhZ1RyZWVJdGVtW10+KCk7XHJcblxyXG4gIHB1YmxpYyBicmVhZENydW1iczogVGFnVHJlZUl0ZW1bXSA9IFtdO1xyXG4gIHB1YmxpYyBkaXNwbGF5VGFnczogVGFnVHJlZUl0ZW1bXSA9IFtdO1xyXG4gIHB1YmxpYyBzZWFyY2hTdHJpbmc6IHN0cmluZyA9ICcnO1xyXG5cclxuICBwcml2YXRlIF90YWdzOiBUYWdUcmVlSXRlbVtdID0gW107XHJcbiAgcHJpdmF0ZSBfbGlua2VkVGFnczogVGFnVHJlZUl0ZW1bXSA9IFtdO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1zaW1wbGUtdGFncy1mb3JtXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyBzaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlLFxyXG4gICkgeyB9XHJcblxyXG4gIHB1YmxpYyBzZXRSb290RGlzcGxheVRhZ3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc3BsYXlUYWdzID0gdGhpcy5fdGFncy5maWx0ZXIoKHRhZzogVGFnVHJlZUl0ZW0pID0+IHRhZy50cmVlTGV2ZWwgPT09IDApO1xyXG4gICAgdGhpcy5icmVhZENydW1icyA9IFtdO1xyXG4gICAgdGhpcy5zZWFyY2hTdHJpbmcgPSAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVUYWdTZWxlY3RlZChzZWxlY3RlZFRhZzogVGFnVHJlZUl0ZW0pOiB2b2lkIHtcclxuICAgIGlmIChzZWxlY3RlZFRhZy50YWdUeXBlID09PSAnVFInIHx8IHNlbGVjdGVkVGFnLnRhZ1R5cGUgPT09ICdURycpIHtcclxuICAgICAgaWYgKHNlbGVjdGVkVGFnICE9PSB0aGlzLmJyZWFkQ3J1bWJzWzBdKSB7XHJcbiAgICAgICAgdGhpcy5icmVhZENydW1icy5wdXNoKHNlbGVjdGVkVGFnKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmRpc3BsYXlUYWdzID0gdGhpcy5fdGFncy5maWx0ZXIoKHRhZzogVGFnVHJlZUl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4gdGFnLnBhcmVudElkID09PSBzZWxlY3RlZFRhZy5pZCAmJiB0YWcudHJlZUxldmVsID09PSBzZWxlY3RlZFRhZy50cmVlTGV2ZWwgKyAxXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNydW1iQ2xpY2tlZCh0YWc6IFRhZ1RyZWVJdGVtLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGFnICE9PSB0aGlzLmJyZWFkQ3J1bWJzW3RoaXMuYnJlYWRDcnVtYnMubGVuZ3RoIC0gMV0pIHtcclxuICAgICAgdGhpcy5icmVhZENydW1icy5zcGxpY2UoaW5kZXggKyAxKTtcclxuICAgICAgdGhpcy5oYW5kbGVUYWdTZWxlY3RlZCh0YWcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUFkZFRhZyhldmVudDogQ2RrRHJhZ0Ryb3A8VGFnVHJlZUl0ZW1bXSwgYW55Pik6IHZvaWQge1xyXG4gICAgY29uc3QgZHJhZ2dlZFRhZzogVGFnVHJlZUl0ZW0gPSB0aGlzLmRpc3BsYXlUYWdzW2V2ZW50LnByZXZpb3VzSW5kZXhdO1xyXG4gICAgaWYgKCF0aGlzLl9saW5rZWRUYWdzLmluY2x1ZGVzKGRyYWdnZWRUYWcpKSB7XHJcbiAgICAgIHRoaXMuX2xpbmtlZFRhZ3MucHVzaCh0aGlzLmRpc3BsYXlUYWdzW2V2ZW50LnByZXZpb3VzSW5kZXhdKTtcclxuICAgICAgdGhpcy5fbG9hZFRodW1ibmFpbChkcmFnZ2VkVGFnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBkZWxldGVMaW5rZWRUYWcodGFnOiBUYWdUcmVlSXRlbSk6IHZvaWQge1xyXG4gICAgdGhpcy5fbGlua2VkVGFncy5zcGxpY2UodGhpcy5fbGlua2VkVGFncy5pbmRleE9mKHRhZyksIDEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlYXJjaENvbGxlY3Rpb24oKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuc2VhcmNoU3RyaW5nKSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoU3RyaW5nID0gJyc7XHJcbiAgICAgIHRoaXMuc2V0Um9vdERpc3BsYXlUYWdzKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlYXJjaFN0cmluZy5sZW5ndGggPCAyKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlYXJjaFN0cmluZyA9PT0gJycpIHtcclxuICAgICAgdGhpcy5zZXRSb290RGlzcGxheVRhZ3MoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG1hdGNoaW5nT2JqZWN0czogVGFnVHJlZUl0ZW1bXSA9IFtdO1xyXG5cclxuICAgIHRoaXMuX3RhZ3MuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnRhZ1R5cGUgPT09ICdUJykuZm9yRWFjaCgob2JqKSA9PiB7XHJcbiAgICAgIE9iamVjdC52YWx1ZXMob2JqKS5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgIGNvbnN0IHN0cmluZ1ZhbHVlID0gU3RyaW5nKHZhbHVlKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgaWYgKHN0cmluZ1ZhbHVlLmluY2x1ZGVzKHRoaXMuc2VhcmNoU3RyaW5nLnRvTG93ZXJDYXNlKCkpKSB7XHJcbiAgICAgICAgICAgIG1hdGNoaW5nT2JqZWN0cy5wdXNoKG9iaik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZGlzcGxheVRhZ3MgPSBtYXRjaGluZ09iamVjdHM7XHJcbiAgICB0aGlzLmJyZWFkQ3J1bWJzID0gW107XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9sb2FkVGh1bWJuYWlsKHRhZ1RyZWVJdGVtOiBUYWdUcmVlSXRlbSk6IHZvaWQge1xyXG4gICAgaWYgKHRhZ1RyZWVJdGVtLmltYWdlICYmIHRhZ1RyZWVJdGVtLmltYWdlLmRvY3VtZW50SWQgJiYgIXRhZ1RyZWVJdGVtLmltYWdlLnRodW1ibmFpbEJvZHkpIHtcclxuICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmdldERvY3VtZW50Q29udGVudCh0YWdUcmVlSXRlbS5pbWFnZS5kb2N1bWVudElkLCB0cnVlKVxyXG4gICAgICAgIC50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgICAgdGFnVHJlZUl0ZW0uaW1hZ2UudGh1bWJuYWlsQm9keSA9IHJlc3VsdDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { SimpleTagsFormComponent } from "./simple-tags-form.component";
|
|
4
|
+
import { ButtonModule, CoDialogModule, IconModule, InputSearchModule } from "@colijnit/corecomponents_v12";
|
|
5
|
+
import { DragDropModule } from "@angular/cdk/drag-drop";
|
|
6
|
+
export class SimpleTagsFormModule {
|
|
7
|
+
}
|
|
8
|
+
SimpleTagsFormModule.decorators = [
|
|
9
|
+
{ type: NgModule, args: [{
|
|
10
|
+
imports: [
|
|
11
|
+
CommonModule,
|
|
12
|
+
CoDialogModule,
|
|
13
|
+
InputSearchModule,
|
|
14
|
+
IconModule,
|
|
15
|
+
DragDropModule,
|
|
16
|
+
ButtonModule
|
|
17
|
+
],
|
|
18
|
+
declarations: [
|
|
19
|
+
SimpleTagsFormComponent
|
|
20
|
+
],
|
|
21
|
+
exports: [
|
|
22
|
+
SimpleTagsFormComponent
|
|
23
|
+
]
|
|
24
|
+
},] }
|
|
25
|
+
];
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXRhZ3MtZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zaW1wbGUtdGFncy1mb3JtL3NpbXBsZS10YWdzLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3pHLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQWtCdEQsTUFBTSxPQUFPLG9CQUFvQjs7O1lBaEJoQyxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxpQkFBaUI7b0JBQ2pCLFVBQVU7b0JBQ1YsY0FBYztvQkFDZCxZQUFZO2lCQUNiO2dCQUNELFlBQVksRUFBRTtvQkFDWix1QkFBdUI7aUJBQ3hCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCx1QkFBdUI7aUJBQ3hCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge1NpbXBsZVRhZ3NGb3JtQ29tcG9uZW50fSBmcm9tIFwiLi9zaW1wbGUtdGFncy1mb3JtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0J1dHRvbk1vZHVsZSwgQ29EaWFsb2dNb2R1bGUsIEljb25Nb2R1bGUsIElucHV0U2VhcmNoTW9kdWxlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0RyYWdEcm9wTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBDb0RpYWxvZ01vZHVsZSxcclxuICAgIElucHV0U2VhcmNoTW9kdWxlLFxyXG4gICAgSWNvbk1vZHVsZSxcclxuICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNpbXBsZVRhZ3NGb3JtQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTaW1wbGVUYWdzRm9ybUNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNpbXBsZVRhZ3NGb3JtTW9kdWxlIHtcclxufVxyXG4iXX0=
|