ngx-bimplus-components 0.0.158 → 0.0.159-28783-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/assets/images/default/Attachment_18_gray.svg +1 -0
- package/assets/images/default/Attachment_18_maincolor.svg +3 -0
- package/assets/images/default/Attachmentlink_18_gray.svg +7 -0
- package/assets/images/default/Attachmentlink_18_maincolor.svg +7 -0
- package/assets/images/default/Comments_18_gray.svg +1 -0
- package/assets/images/default/Comments_18_maincolor.svg +4 -0
- package/assets/images/default/Links_18_gray.svg +1 -0
- package/assets/images/default/Links_18_maincolor.svg +4 -0
- package/assets/images/default/Refresh_18_gray.svg +1 -0
- package/assets/images/default/bimplus_WebIcons_Cross_Disabled.svg +1 -0
- package/assets/images/default/ic_models.svg +3 -0
- package/assets/images/default/ic_models_maincolor.svg +3 -0
- package/assets/images/default/icn_grid_attachments.png +0 -0
- package/assets/images/default/icn_grid_hyperlinks.png +0 -0
- package/assets/images/default/progress-spinner.svg +1 -0
- package/esm2022/lib/components/bimplus-attachments/bimplus-attachments.component.mjs +104 -0
- package/esm2022/lib/components/bimplus-attachments/bimplus-attachments.interface.mjs +38 -0
- package/esm2022/lib/components/bimplus-attachments/components/bimplus-attachment-item/bimplus-attachment-item.component.mjs +92 -0
- package/esm2022/lib/components/bimplus-attachments/services/bimplus-attachments.service.mjs +32 -0
- package/esm2022/lib/components/bimplus-buttons-row/bimplus-buttons-row.component.mjs +37 -5
- package/esm2022/lib/components/bimplus-buttons-row/bimplus-buttons-row.interface.mjs +5 -2
- package/esm2022/lib/components/bimplus-comment/IComment.mjs +2 -0
- package/esm2022/lib/components/bimplus-comment/bimplus-comment.component.mjs +118 -0
- package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-connection-designer-results/bimplus-connection-designer-results.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-flat-tree/bimplus-flat-tree.component.mjs +115 -7
- package/esm2022/lib/components/bimplus-flat-tree/bimplus-flat-tree.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.mjs +1 -1
- package/esm2022/lib/components/bimplus-general-overlay-dialog/bimplus-general-dialog-config-settings.mjs +1 -1
- package/esm2022/lib/components/bimplus-general-overlay-dialog/bimplus-general-overlay-dialog.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-input-checkbox/bimplus-input-checkbox.component.mjs +64 -0
- package/esm2022/lib/components/bimplus-input-combobox/bimplus-input-combobox.component.mjs +161 -0
- package/esm2022/lib/components/bimplus-input-number/bimplus-input-number.component.mjs +85 -0
- package/esm2022/lib/components/bimplus-input-text-field/bimplus-input-text-field.component.mjs +92 -0
- package/esm2022/lib/components/bimplus-link-tooltip-message/bimplus-link-tooltip-message.component.mjs +78 -0
- package/esm2022/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.component.mjs +342 -0
- package/esm2022/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.service.mjs +69 -0
- package/esm2022/lib/components/bimplus-object-comments-list/bimplusObjectCommentsI.mjs +2 -0
- package/esm2022/lib/components/bimplus-object-complex-properties/bimplus-object-complex-properties.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-object-navigator/bimplus-object-navigator.component.mjs +22 -3
- package/esm2022/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-object-navigator/object-filter-result/object-filter-result.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-object-structure/bimplus-object-structure.component.mjs +42 -4
- package/esm2022/lib/components/bimplus-object-structure/bimplus-object-structure.interface.mjs +4 -2
- package/esm2022/lib/components/bimplus-overlay-dialog-confirm/bimplus-overlay-dialog-confirm.component.mjs +77 -0
- package/esm2022/lib/components/bimplus-overlay-dialog-delete/bimplus-overlay-dialog-delete.component.mjs +83 -0
- package/esm2022/lib/components/bimplus-overlay-dialog-error/bimplus-overlay-dialog-error.component.mjs +31 -8
- package/esm2022/lib/components/bimplus-overlay-dialog-warning/bimplus-overlay-dialog-warning.component.mjs +34 -8
- package/esm2022/lib/components/bimplus-scrollable-container/bimplus-scrollable-container.component.mjs +1 -1
- package/esm2022/lib/components/bimplus-sidenav-drawer-content/bimplus-sidenav-drawer-content.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-status-bar/bimplus-status-bar.component.mjs +35 -0
- package/esm2022/lib/components/bimplus-status-bar/bimplus-status-bar.service.mjs +35 -0
- package/esm2022/lib/components/bimplus-status-bar/statusBar.mjs +2 -0
- package/esm2022/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.component.mjs +38 -0
- package/esm2022/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.interface.mjs +10 -0
- package/esm2022/lib/components/bimplus-tabs-switcher/components/bimplus-tab/bimplus-tab.component.mjs +89 -0
- package/esm2022/lib/components/bimplus-tabs-switcher/services/bimplus-tabs-switcher.service.mjs +33 -0
- package/esm2022/lib/components/bimplus-textarea/autoResizeTextarea.directive.mjs +83 -0
- package/esm2022/lib/components/bimplus-textarea/bimplus-textarea.component.mjs +128 -0
- package/esm2022/lib/components/links-to-documents/links-to-documents.component.mjs +380 -0
- package/esm2022/lib/components/object-hyperlinks/object-hyperlinks.component.mjs +145 -0
- package/esm2022/lib/components/object-hyperlinks-item/object-hyperlinks-item.component.mjs +36 -0
- package/esm2022/lib/components/object-preview/object-preview.component.mjs +283 -0
- package/esm2022/lib/components/object-preview/object-preview.interface.mjs +2 -0
- package/esm2022/lib/components/object-properties/object-properties.component.mjs +536 -0
- package/esm2022/lib/components/object-properties/object-properties.interface.mjs +2 -0
- package/esm2022/lib/components/object-properties/object-properties.service.mjs +26 -0
- package/esm2022/lib/components/object-properties-group/object-properties-group.component.mjs +124 -0
- package/esm2022/lib/components/object-properties-group/object-property-value/object-property-value.component.mjs +55 -0
- package/esm2022/lib/components/object-properties-header/object-properties-header.component.mjs +48 -6
- package/esm2022/lib/components/object-properties-header/object-properties-header.interface.mjs +1 -1
- package/esm2022/lib/components/resizable-panel/resizable-panel.component.mjs +54 -10
- package/esm2022/lib/pipes/bit-converter.pipe.mjs +46 -0
- package/esm2022/lib/pipes/get-attribute-value-as-string.pipe.mjs +173 -0
- package/esm2022/lib/pipes/get-attribute-value.pipe.mjs +162 -0
- package/esm2022/lib/pipes/round.pipe.mjs +20 -0
- package/esm2022/lib/utils/objectProperties.mjs +9 -0
- package/esm2022/lib/validators/double-enum.validator.mjs +17 -0
- package/esm2022/lib/validators/double.validator.mjs +23 -0
- package/esm2022/lib/validators/guid-enum.validator.mjs +17 -0
- package/esm2022/lib/validators/guid.validator.mjs +11 -0
- package/esm2022/lib/validators/integer.validator.mjs +20 -0
- package/esm2022/lib/validators/string-combobox.validator.mjs +17 -0
- package/esm2022/lib/validators/string-enum.validator.mjs +17 -0
- package/esm2022/public-api.mjs +22 -1
- package/fesm2022/ngx-bimplus-components.mjs +4195 -82
- package/fesm2022/ngx-bimplus-components.mjs.map +1 -1
- package/lib/components/bimplus-attachments/bimplus-attachments.component.d.ts +39 -0
- package/lib/components/bimplus-attachments/bimplus-attachments.interface.d.ts +33 -0
- package/lib/components/bimplus-attachments/components/bimplus-attachment-item/bimplus-attachment-item.component.d.ts +30 -0
- package/lib/components/bimplus-attachments/services/bimplus-attachments.service.d.ts +8 -0
- package/lib/components/bimplus-buttons-row/bimplus-buttons-row.component.d.ts +13 -3
- package/lib/components/bimplus-buttons-row/bimplus-buttons-row.interface.d.ts +7 -1
- package/lib/components/bimplus-comment/IComment.d.ts +4 -0
- package/lib/components/bimplus-comment/bimplus-comment.component.d.ts +39 -0
- package/lib/components/bimplus-flat-tree/bimplus-flat-tree.component.d.ts +16 -3
- package/lib/components/bimplus-flat-tree/bimplus-flat-tree.interface.d.ts +4 -0
- package/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.d.ts +1 -1
- package/lib/components/bimplus-general-overlay-dialog/bimplus-general-dialog-config-settings.d.ts +3 -3
- package/lib/components/bimplus-input-checkbox/bimplus-input-checkbox.component.d.ts +18 -0
- package/lib/components/bimplus-input-combobox/bimplus-input-combobox.component.d.ts +41 -0
- package/lib/components/bimplus-input-number/bimplus-input-number.component.d.ts +26 -0
- package/lib/components/bimplus-input-text-field/bimplus-input-text-field.component.d.ts +28 -0
- package/lib/components/bimplus-link-tooltip-message/bimplus-link-tooltip-message.component.d.ts +22 -0
- package/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.component.d.ts +84 -0
- package/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.service.d.ts +15 -0
- package/lib/components/bimplus-object-comments-list/bimplusObjectCommentsI.d.ts +11 -0
- package/lib/components/bimplus-object-navigator/bimplus-object-navigator.component.d.ts +5 -1
- package/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.component.d.ts +12 -12
- package/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.interface.d.ts +3 -3
- package/lib/components/bimplus-object-structure/bimplus-object-structure.component.d.ts +5 -1
- package/lib/components/bimplus-object-structure/bimplus-object-structure.interface.d.ts +2 -0
- package/lib/components/bimplus-overlay-dialog-confirm/bimplus-overlay-dialog-confirm.component.d.ts +29 -0
- package/lib/components/bimplus-overlay-dialog-delete/bimplus-overlay-dialog-delete.component.d.ts +24 -0
- package/lib/components/bimplus-overlay-dialog-error/bimplus-overlay-dialog-error.component.d.ts +8 -1
- package/lib/components/bimplus-overlay-dialog-warning/bimplus-overlay-dialog-warning.component.d.ts +11 -1
- package/lib/components/bimplus-scrollable-container/bimplus-scrollable-container.component.d.ts +1 -1
- package/lib/components/bimplus-status-bar/bimplus-status-bar.component.d.ts +14 -0
- package/lib/components/bimplus-status-bar/bimplus-status-bar.service.d.ts +14 -0
- package/lib/components/bimplus-status-bar/statusBar.d.ts +4 -0
- package/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.component.d.ts +16 -0
- package/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.interface.d.ts +18 -0
- package/lib/components/bimplus-tabs-switcher/components/bimplus-tab/bimplus-tab.component.d.ts +36 -0
- package/lib/components/bimplus-tabs-switcher/services/bimplus-tabs-switcher.service.d.ts +15 -0
- package/lib/components/bimplus-textarea/autoResizeTextarea.directive.d.ts +24 -0
- package/lib/components/bimplus-textarea/bimplus-textarea.component.d.ts +42 -0
- package/lib/components/links-to-documents/links-to-documents.component.d.ts +68 -0
- package/lib/components/object-hyperlinks/object-hyperlinks.component.d.ts +32 -0
- package/lib/components/object-hyperlinks-item/object-hyperlinks-item.component.d.ts +15 -0
- package/lib/components/object-preview/object-preview.component.d.ts +45 -0
- package/lib/components/object-preview/object-preview.interface.d.ts +5 -0
- package/lib/components/object-properties/object-properties.component.d.ts +78 -0
- package/lib/components/object-properties/object-properties.interface.d.ts +22 -0
- package/lib/components/object-properties/object-properties.service.d.ts +12 -0
- package/lib/components/object-properties-group/object-properties-group.component.d.ts +29 -0
- package/lib/components/object-properties-group/object-property-value/object-property-value.component.d.ts +14 -0
- package/lib/components/object-properties-header/object-properties-header.component.d.ts +13 -4
- package/lib/components/object-properties-header/object-properties-header.interface.d.ts +8 -0
- package/lib/components/resizable-panel/resizable-panel.component.d.ts +12 -3
- package/lib/pipes/bit-converter.pipe.d.ts +17 -0
- package/lib/pipes/get-attribute-value-as-string.pipe.d.ts +35 -0
- package/lib/pipes/get-attribute-value.pipe.d.ts +35 -0
- package/lib/pipes/round.pipe.d.ts +7 -0
- package/lib/utils/objectProperties.d.ts +2 -0
- package/lib/validators/double-enum.validator.d.ts +2 -0
- package/lib/validators/double.validator.d.ts +2 -0
- package/lib/validators/guid-enum.validator.d.ts +2 -0
- package/lib/validators/guid.validator.d.ts +2 -0
- package/lib/validators/integer.validator.d.ts +2 -0
- package/lib/validators/string-combobox.validator.d.ts +2 -0
- package/lib/validators/string-enum.validator.d.ts +2 -0
- package/package.json +12 -4
- package/public-api.d.ts +21 -0
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
import { Component, Input, signal, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { BimplusOverlayDialogDeleteComponent } from '../bimplus-overlay-dialog-delete/bimplus-overlay-dialog-delete.component';
|
|
3
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import { AsyncPipe, DatePipe, NgFor } from '@angular/common';
|
|
5
|
+
import { BimplusTextareaComponent } from '../bimplus-textarea/bimplus-textarea.component';
|
|
6
|
+
import { BimplusCommentComponent } from '../bimplus-comment/bimplus-comment.component';
|
|
7
|
+
import { BimplusButtonsRowComponent } from '../bimplus-buttons-row/bimplus-buttons-row.component';
|
|
8
|
+
import { BimplusLocalizedWidgetComponent } from '../bimplus-localized-widget/bimplus-localized-widget.component';
|
|
9
|
+
import { BimplusScrollableContainerComponent } from '../bimplus-scrollable-container/bimplus-scrollable-container.component';
|
|
10
|
+
import { BimplusInputTextFieldComponent } from "../bimplus-input-text-field/bimplus-input-text-field.component";
|
|
11
|
+
import { FormsModule, ReactiveFormsModule, Validators } from "@angular/forms";
|
|
12
|
+
import { BimplusAttachmentsComponent } from '../bimplus-attachments/bimplus-attachments.component';
|
|
13
|
+
import { BimplusAttachmentsService } from '../bimplus-attachments/services/bimplus-attachments.service';
|
|
14
|
+
import { BIMPLUS_ATTACHMENTS_CONFIG, } from '../bimplus-attachments/bimplus-attachments.interface';
|
|
15
|
+
import { BehaviorSubject, switchMap } from 'rxjs';
|
|
16
|
+
import { BimplusObjectCommentsListService } from './bimplus-object-comments-list.service';
|
|
17
|
+
import { LinksToDocumentsComponent } from '../links-to-documents/links-to-documents.component';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "../bimplus-general-overlay-dialog/bimplus-general-overlay-dialog.service";
|
|
20
|
+
import * as i2 from "@ngx-translate/core";
|
|
21
|
+
import * as i3 from "@angular/common";
|
|
22
|
+
import * as i4 from "@angular/forms";
|
|
23
|
+
import * as i5 from "../bimplus-attachments/services/bimplus-attachments.service";
|
|
24
|
+
import * as i6 from "./bimplus-object-comments-list.service";
|
|
25
|
+
import * as i7 from "../bimplus-status-bar/bimplus-status-bar.service";
|
|
26
|
+
const config = {
|
|
27
|
+
showNoAttachmentsFound: false,
|
|
28
|
+
hideAttachmentSize: true,
|
|
29
|
+
};
|
|
30
|
+
export class BimplusObjectCommentsListComponent extends BimplusLocalizedWidgetComponent {
|
|
31
|
+
set rootObjectId(id) {
|
|
32
|
+
this._rootObjectId = id;
|
|
33
|
+
}
|
|
34
|
+
get rootObjectId() {
|
|
35
|
+
return this._rootObjectId;
|
|
36
|
+
}
|
|
37
|
+
set userId(id) {
|
|
38
|
+
this._userId = id;
|
|
39
|
+
}
|
|
40
|
+
get userId() {
|
|
41
|
+
return this._userId;
|
|
42
|
+
}
|
|
43
|
+
constructor(dialogService, translateService, datePipe, formBuilder, bimplusAttachmentsService, bimplusObjectCommentsListService, statusBarService) {
|
|
44
|
+
super(translateService);
|
|
45
|
+
this.dialogService = dialogService;
|
|
46
|
+
this.datePipe = datePipe;
|
|
47
|
+
this.formBuilder = formBuilder;
|
|
48
|
+
this.bimplusAttachmentsService = bimplusAttachmentsService;
|
|
49
|
+
this.bimplusObjectCommentsListService = bimplusObjectCommentsListService;
|
|
50
|
+
this.statusBarService = statusBarService;
|
|
51
|
+
this.project = null;
|
|
52
|
+
this.wormholeSelector = "localEmbeddedModalId";
|
|
53
|
+
this.env = "prod";
|
|
54
|
+
this.attachmentLinkItems = [];
|
|
55
|
+
this.commentsList$ = new BehaviorSubject([]);
|
|
56
|
+
this.loading = signal(false);
|
|
57
|
+
this.attachmentsState = signal([]);
|
|
58
|
+
this.buttonRowItems = [];
|
|
59
|
+
this.hyperlinkButtonRowItems = [];
|
|
60
|
+
this.textAreaValue = null;
|
|
61
|
+
this.lastShownDate = '';
|
|
62
|
+
this.placeholder = '';
|
|
63
|
+
this.name = '';
|
|
64
|
+
this.readonly = false;
|
|
65
|
+
this.autoResizeTextarea = true;
|
|
66
|
+
this.minRows = 3;
|
|
67
|
+
this.maxRows = 10;
|
|
68
|
+
this.clearValue = false;
|
|
69
|
+
this.statusBarTitleMessage = this.translateService.instant('_Loading');
|
|
70
|
+
// attachment ids ready to map to concrete comment
|
|
71
|
+
this.newAttachmentIDs = [];
|
|
72
|
+
this.isAddingHyperlink = false;
|
|
73
|
+
this.intermediateHyperlinks = [];
|
|
74
|
+
this._rootObjectId = '';
|
|
75
|
+
this._userId = '';
|
|
76
|
+
this.hyperlinkForm = this.formBuilder.group({
|
|
77
|
+
name: ['', []],
|
|
78
|
+
url: [
|
|
79
|
+
'',
|
|
80
|
+
[
|
|
81
|
+
Validators.required,
|
|
82
|
+
Validators.pattern(/^[^<>]*$/), // Do not allow < or >
|
|
83
|
+
Validators.pattern(/^(?!\s*$).+/), // Do not allow all empty string, but allow text after spaces
|
|
84
|
+
],
|
|
85
|
+
],
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
ngOnInit() {
|
|
89
|
+
this.bimplusObjectCommentsListService.api = this.api;
|
|
90
|
+
this.loadComments();
|
|
91
|
+
const submit = [
|
|
92
|
+
{
|
|
93
|
+
id: 'submit',
|
|
94
|
+
title: this.translateService.instant('_Add comment'),
|
|
95
|
+
tooltip: this.translateService.instant('_Add comment'),
|
|
96
|
+
disabled: !this.textAreaValue,
|
|
97
|
+
buttonStyle: 'primary',
|
|
98
|
+
},
|
|
99
|
+
];
|
|
100
|
+
this.placeholder = this.translateService.instant('_Place comment text here');
|
|
101
|
+
this.name = this.translateService.instant('comment');
|
|
102
|
+
this.buttonRowItems = submit;
|
|
103
|
+
this.hyperlinkButtonRowItems.push({
|
|
104
|
+
id: 'cancel-hyperlink',
|
|
105
|
+
title: this.translateService.instant('_Cancel'),
|
|
106
|
+
tooltip: this.translateService.instant('_Cancel'),
|
|
107
|
+
disabled: false,
|
|
108
|
+
buttonStyle: 'primary',
|
|
109
|
+
}, {
|
|
110
|
+
id: 'add-hyperlink',
|
|
111
|
+
title: this.translateService.instant('_Add hyperlink'),
|
|
112
|
+
tooltip: this.translateService.instant('_Add hyperlink'),
|
|
113
|
+
disabled: true,
|
|
114
|
+
buttonStyle: 'primary',
|
|
115
|
+
});
|
|
116
|
+
this.hyperlinkForm.statusChanges.subscribe((status) => {
|
|
117
|
+
this.hyperlinkButtonRowItems[1].disabled = status !== 'VALID';
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
ngOnChanges(changes) {
|
|
121
|
+
if (changes['rootObjectId'] && !changes['rootObjectId'].firstChange) {
|
|
122
|
+
this.loadComments();
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
onAttachmentsChange(newAttachmentIDs) {
|
|
126
|
+
this.newAttachmentIDs = [...this.newAttachmentIDs, ...newAttachmentIDs];
|
|
127
|
+
}
|
|
128
|
+
onAddAttachment(file) {
|
|
129
|
+
const attachment = this.bimplusAttachmentsService.getAttachment(file);
|
|
130
|
+
this.attachmentsState.update(attachments => ([...attachments, attachment]));
|
|
131
|
+
}
|
|
132
|
+
onDeleteAttachment(attachment) {
|
|
133
|
+
this.attachmentsState.update(attachments => attachments.filter(a => a !== attachment));
|
|
134
|
+
}
|
|
135
|
+
/** Event on click attachment. */
|
|
136
|
+
onGetAttachment(attachment) {
|
|
137
|
+
this.bimplusObjectCommentsListService.downloadAttachment(attachment);
|
|
138
|
+
}
|
|
139
|
+
onTextareaValueChange(value) {
|
|
140
|
+
this.textAreaValue = value;
|
|
141
|
+
this.buttonRowItems[0].disabled = !value;
|
|
142
|
+
}
|
|
143
|
+
handleActionCommentEvent(event) {
|
|
144
|
+
if (event.action === 'delete') {
|
|
145
|
+
const data = event.data;
|
|
146
|
+
this.openDialogDeleteComment(data.commentId);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
actionDialogClose(data) {
|
|
150
|
+
this.dialogService.close(data);
|
|
151
|
+
}
|
|
152
|
+
openDialogDeleteComment(commentId) {
|
|
153
|
+
this.dialogService.open(BimplusOverlayDialogDeleteComponent, {
|
|
154
|
+
options: {
|
|
155
|
+
position: 'middle',
|
|
156
|
+
positionOptions: {},
|
|
157
|
+
overlayClickEnabled: false,
|
|
158
|
+
overlayVisibilityEnabled: true,
|
|
159
|
+
draggable: true,
|
|
160
|
+
},
|
|
161
|
+
data: {
|
|
162
|
+
title: this.translateService.instant('_Comment delete confirmation title'),
|
|
163
|
+
message: this.translateService.instant('_Comment delete confirmation message'),
|
|
164
|
+
acceptCallback: () => {
|
|
165
|
+
this.deleteComment(commentId);
|
|
166
|
+
},
|
|
167
|
+
},
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
isSameDate(date) {
|
|
171
|
+
if (!date) {
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
const time = this.datePipe.transform(date, 'shortDate');
|
|
175
|
+
if (this.lastShownDate === time) {
|
|
176
|
+
return false;
|
|
177
|
+
}
|
|
178
|
+
this.lastShownDate = date;
|
|
179
|
+
return true;
|
|
180
|
+
}
|
|
181
|
+
buttonRowButtonClicked($event) {
|
|
182
|
+
if ($event.id === 'submit') {
|
|
183
|
+
if (!this.api || !this.rootObjectId)
|
|
184
|
+
return;
|
|
185
|
+
this.loading.set(true);
|
|
186
|
+
const data = {
|
|
187
|
+
text: this.textAreaValue,
|
|
188
|
+
objectId: this.rootObjectId,
|
|
189
|
+
};
|
|
190
|
+
const dataText = JSON.stringify(data);
|
|
191
|
+
this.statusBarService.setStatusBarData({ statusBarVisible: true, title: this.translateService.instant('_Creating new comment') });
|
|
192
|
+
this.bimplusObjectCommentsListService.postComments(this.rootObjectId, dataText, this.getHyperlinks(this.rootObjectId), this.attachmentsState(), this.newAttachmentIDs)
|
|
193
|
+
.pipe(switchMap(() => this.bimplusObjectCommentsListService.loadComments(this.rootObjectId)))
|
|
194
|
+
.subscribe({
|
|
195
|
+
next: (comments) => this.commentsList$.next(comments),
|
|
196
|
+
complete: () => {
|
|
197
|
+
this.attachmentsState.set([]);
|
|
198
|
+
this.intermediateHyperlinks = [];
|
|
199
|
+
this.textAreaValue = null;
|
|
200
|
+
this.clearValue = true;
|
|
201
|
+
this.buttonRowItems[0].disabled = true;
|
|
202
|
+
this.loading.set(false);
|
|
203
|
+
this.statusBarService.setStatusBarData({ statusBarVisible: false, title: '' });
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
hyperlinkButtonRowButtonClicked($event) {
|
|
209
|
+
if ($event.id === 'add-hyperlink') {
|
|
210
|
+
this.addIntermediateHyperlink();
|
|
211
|
+
}
|
|
212
|
+
else if ($event.id === 'cancel-hyperlink') {
|
|
213
|
+
this.hyperlinkForm.reset();
|
|
214
|
+
this.isAddingHyperlink = false;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
addIntermediateHyperlink() {
|
|
218
|
+
if (!this.hyperlinkForm.valid) {
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
let sanitizedUrl = this.hyperlinkForm.value['url'].trim();
|
|
222
|
+
if (!RegExp(/^http(s?):\/\//).exec(sanitizedUrl)) {
|
|
223
|
+
sanitizedUrl = 'https://' + sanitizedUrl;
|
|
224
|
+
}
|
|
225
|
+
let sanitizedName = this.hyperlinkForm.value['name']?.trim() ?? '';
|
|
226
|
+
if (sanitizedName === '') {
|
|
227
|
+
sanitizedName = sanitizedUrl;
|
|
228
|
+
}
|
|
229
|
+
sanitizedName = sanitizedName?.replace(/^http(s?):\/\//, '');
|
|
230
|
+
this.intermediateHyperlinks.push({
|
|
231
|
+
name: sanitizedName,
|
|
232
|
+
url: sanitizedUrl,
|
|
233
|
+
});
|
|
234
|
+
this.hyperlinkForm.reset();
|
|
235
|
+
this.isAddingHyperlink = false;
|
|
236
|
+
}
|
|
237
|
+
deleteComment(commentId) {
|
|
238
|
+
this.statusBarService.setStatusBarData({ statusBarVisible: true, title: this.translateService.instant('_Deleting the comment') });
|
|
239
|
+
this.bimplusObjectCommentsListService.deleteComment(commentId)
|
|
240
|
+
.subscribe(() => this.loadComments());
|
|
241
|
+
}
|
|
242
|
+
addHyperlinkIconClicked() {
|
|
243
|
+
this.isAddingHyperlink = !this.isAddingHyperlink;
|
|
244
|
+
}
|
|
245
|
+
addHyperlinkIconKeypress(event) {
|
|
246
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
247
|
+
this.addHyperlinkIconClicked();
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
removeIntermediateHyperlink(link) {
|
|
251
|
+
this.intermediateHyperlinks = this.intermediateHyperlinks.filter((hyperlink) => hyperlink !== link);
|
|
252
|
+
}
|
|
253
|
+
removeIntermediateHyperlinkKeypress(event, link) {
|
|
254
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
255
|
+
this.removeIntermediateHyperlink(link);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
isActUserAuthor(item) {
|
|
259
|
+
return item.author?.id === this.userId;
|
|
260
|
+
}
|
|
261
|
+
displayName(item) {
|
|
262
|
+
return item.author?.displayname ? item.author?.displayname : '';
|
|
263
|
+
}
|
|
264
|
+
formatDate(date) {
|
|
265
|
+
const locale = window.navigator.language;
|
|
266
|
+
if (locale.includes('en')) {
|
|
267
|
+
const unformattedDate = new Date(date);
|
|
268
|
+
return unformattedDate.getMonth() + '/' + unformattedDate.getDate() + '/' + unformattedDate.getFullYear();
|
|
269
|
+
}
|
|
270
|
+
return new Intl.DateTimeFormat(undefined, { dateStyle: "short" }).format(new Date(date));
|
|
271
|
+
}
|
|
272
|
+
clearTextareaValue() {
|
|
273
|
+
return this.clearValue;
|
|
274
|
+
}
|
|
275
|
+
loadComments() {
|
|
276
|
+
this.statusBarService.setStatusBarData({ statusBarVisible: true, title: this.translateService.instant('_Loading comments list') });
|
|
277
|
+
this.loading.set(true);
|
|
278
|
+
this.bimplusObjectCommentsListService
|
|
279
|
+
.loadComments(this.rootObjectId)
|
|
280
|
+
.subscribe({
|
|
281
|
+
next: comments => this.commentsList$.next(comments),
|
|
282
|
+
complete: () => {
|
|
283
|
+
this.loading.set(false);
|
|
284
|
+
this.statusBarService.setStatusBarData({ statusBarVisible: false, title: '' });
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
getHyperlinks(objectId) {
|
|
289
|
+
return this.intermediateHyperlinks.map((h) => ({
|
|
290
|
+
...h,
|
|
291
|
+
objectId,
|
|
292
|
+
}));
|
|
293
|
+
}
|
|
294
|
+
onEnterKeyPressedInHyperlinkForm() {
|
|
295
|
+
this.addIntermediateHyperlink();
|
|
296
|
+
}
|
|
297
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BimplusObjectCommentsListComponent, deps: [{ token: i1.DialogService }, { token: i2.TranslateService }, { token: i3.DatePipe }, { token: i4.FormBuilder }, { token: i5.BimplusAttachmentsService }, { token: i6.BimplusObjectCommentsListService }, { token: i7.BimplusStatusBarService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
298
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: BimplusObjectCommentsListComponent, isStandalone: true, selector: "lib-bimplus-object-comments-list", inputs: { api: "api", project: "project", wormholeSelector: "wormholeSelector", env: "env", attachmentLinkItems: "attachmentLinkItems", rootObjectId: "rootObjectId", userId: "userId" }, providers: [
|
|
299
|
+
DatePipe,
|
|
300
|
+
BimplusObjectCommentsListService,
|
|
301
|
+
BimplusAttachmentsService,
|
|
302
|
+
{ provide: BIMPLUS_ATTACHMENTS_CONFIG, useValue: config },
|
|
303
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!loading()) {\r\n<div class=\"comment-tab-container\">\r\n <div class=\"textarea-container\">\r\n <lib-bimplus-textarea\r\n (textAreaValueChange)=\"onTextareaValueChange($event)\"\r\n [placeholder]=\"placeholder\"\r\n [name]=\"name\"\r\n [readonly]=\"readonly\"\r\n [activeAutoResizeTextarea]=\"true\"\r\n [minRows]=\"minRows\"\r\n [maxRows]=\"maxRows\"\r\n [clearValue]=\"clearTextareaValue()\"\r\n ></lib-bimplus-textarea>\r\n </div>\r\n\r\n <lib-bimplus-attachments\r\n #attachments\r\n listOnly\r\n [attachments]=\"attachmentsState()\"\r\n (addAttachment)=\"onAddAttachment($event)\"\r\n (deleteAttachment)=\"onDeleteAttachment($event)\"\r\n />\r\n\r\n <lib-links-to-documents \r\n #linksToDocuments\r\n listOnly\r\n hideAttachmentSize\r\n showEmptyMessage=\"false\" \r\n [attachments]=\"attachmentLinkItems\"\r\n (attachmentsChange)=\"onAttachmentsChange($event)\"\r\n [api]=\"api\" \r\n [project]=\"project\"\r\n [rootObjectId]=\"rootObjectId\"\r\n [canCreateAttachmentLink]=\"true\"\r\n [canDeleteAttachmentLink]=\"true\"\r\n [wormholeSelector]=\"wormholeSelector\"\r\n [env]=\"env\"\r\n />\r\n\r\n @if (intermediateHyperlinks.length) {\r\n <div class=\"intermediate-hyperlinks-list\">\r\n <div *ngFor=\"let link of intermediateHyperlinks\" class=\"intermediate-hyperlink\" title=\"{{ link.url }}\">\r\n <div class=\"link-icon icon-small\" title=\"{{ link.url }}\"></div>\r\n <div class=\"text\">{{ link.name }}</div>\r\n <span class=\"cancel-icon\" title=\"{{ '_Hyperlink delete confirmation title' | translate }}\" (click)=\"removeIntermediateHyperlink(link)\" (keydown)=\"removeIntermediateHyperlinkKeypress($event, link)\"></span>\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (isAddingHyperlink) {\r\n <form [formGroup]=\"hyperlinkForm\" class=\"hyperlink-input-form\">\r\n <div class=\"hyperlink-input-row\">\r\n <div class=\"link-icon icon-next-to-text-input\"></div>\r\n <lib-bimplus-input-text-field class=\"flex-grow\" formControlName=\"name\" placeholder=\"{{ '_Name' | translate }}\" (enterKeyPressed)=\"onEnterKeyPressedInHyperlinkForm()\"/>\r\n </div>\r\n <div class=\"hyperlink-input-row\">\r\n <div class=\"icon-next-to-text-input\"></div>\r\n <lib-bimplus-input-text-field class=\"flex-grow\" formControlName=\"url\" placeholder=\"{{ '_URL' | translate }}\" (enterKeyPressed)=\"onEnterKeyPressedInHyperlinkForm()\"/>\r\n </div>\r\n\r\n <lib-bimplus-buttons-row [items]=\"hyperlinkButtonRowItems\" (buttonClicked)=\"hyperlinkButtonRowButtonClicked($event)\"/>\r\n </form>\r\n }\r\n\r\n <div class=\"comments-tab-attachments-section\">\r\n <div class=\"comments-attachments-list\">\r\n <div class=\"tab-attachments icon attachments-icon hidden\"></div>\r\n <div class=\"attachment-icon icon-small interactive\" [title]=\"'_Add attachment' | translate\" (click)=\"attachments.open()\" (keydown)=\"attachments.open()\"></div>\r\n <div class=\"link-icon icon-small interactive\" [title]=\"'_Add hyperlink' | translate\" (click)=\"addHyperlinkIconClicked()\" (keydown)=\"addHyperlinkIconKeypress($event)\"></div>\r\n <div class=\"link-document-icon icon-small interactive\" [title]=\"'_Add_attachment_link' | translate\" (click)=\"linksToDocuments.createAttachmentLink(api!)\" (keydown)=\"linksToDocuments.createAttachmentLink(api!)\"></div>\r\n <div class=\"tab-attachmentlinks icon attachments-icon hidden\"></div>\r\n </div>\r\n <div class=\"add-comment\">\r\n <lib-bimplus-buttons-row\r\n [items]=\"buttonRowItems\"\r\n (buttonClicked)=\"buttonRowButtonClicked($event)\" />\r\n </div>\r\n </div>\r\n\r\n <div class=\"comments-separator\"></div>\r\n\r\n <div class=\"scrollable-content-container\">\r\n <lib-bimplus-scrollable-container>\r\n @for (item of commentsList$ | async; track item) {\r\n @if(item.createdAt && isSameDate(item.createdAt))\r\n {\r\n <div class=\"comment-list-date\">\r\n {{formatDate(item.createdAt)}}\r\n </div>\r\n }\r\n <lib-bimplus-comment\r\n (outputActionCommentEvent)=\"handleActionCommentEvent($event)\"\r\n (getAttachment)=\"onGetAttachment($event)\"\r\n [message]=\"item.text\"\r\n [api]=\"api\"\r\n [date]=\"item.createdAt ? item.createdAt : ''\"\r\n action=\"delete\"\r\n [commentId]=\"item.id\"\r\n [attachments]=\"item.attachments ?? []\"\r\n [attachmentLinkItems]=\"item.attachmentLinks ?? []\"\r\n [hyperlinks]=\"item.hyperlinks\"\r\n [isActUserAuthor]=\"isActUserAuthor(item)\"\r\n [displayname]=\"displayName(item)\">\r\n </lib-bimplus-comment>\r\n }\r\n </lib-bimplus-scrollable-container>\r\n </div>\r\n\r\n</div>\r\n}\r\n", styles: [":host{height:100%;display:flex;flex-direction:column;flex:1}.link-icon{background:url('data:image/svg+xml,<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0\" y=\"0\" viewBox=\"0 0 18 18\" xml:space=\"preserve\"><style>.st0{fill:%23444}<\\/style><path class=\"st0\" d=\"M16.7 4.2l-1.3-1.3c-1.2-1.2-3.2-1.2-4.4 0l-.6.6 1.1 1.1.7-.6c.6-.6 1.5-.6 2.1 0l1.3 1.3c.6.6.6 1.5 0 2.1l-4.1 4.1c-.6.6-1.5.6-2.1 0l-1.3-1.3c-.6-.5-.6-1.4-.1-2L6.9 7.1c-1.1 1.2-1.1 3.1.1 4.3l1.3 1.3c1.2 1.2 3.2 1.2 4.4 0l4.1-4.1c1.1-1.2 1.1-3.2-.1-4.4z\"/><path class=\"st0\" d=\"M5.8 13c-.6.6-1.5.6-2.1 0l-1.3-1.3c-.6-.6-.6-1.5 0-2.1l4.1-4.1c.6-.6 1.5-.6 2.1 0l1.3 1.3c.6.6.6 1.5 0 2.1l-.6.6 1.1 1.1.6-.6c1.2-1.2 1.2-3.2 0-4.4L9.8 4.3c-1.2-1.2-3.2-1.2-4.4 0L1.3 8.4c-1.2 1.2-1.2 3.2 0 4.4l1.3 1.3c1.2 1.2 3.2 1.2 4.4 0l.6-.6-1.1-1.1-.7.6z\"/></svg>') no-repeat center}.attachment-icon{background:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M12 3v12H6V3h2v10h2V2.4C10 1.6 9.4 1 8.6 1H5.4C4.6 1 4 1.6 4 2.4v13.3c0 .7.6 1.3 1.4 1.3h7.3c.8 0 1.4-.6 1.4-1.4V3H12z\" fill=\"%23444\"/></svg>') no-repeat center}.link-document-icon{background:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M4 8H8V6H4V8Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M4 3V5H12V3H4Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M4 11H8V9H4V11Z\" fill=\"%23444444\"/>%0D%0A<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1 0H15V10H13V2H3V16H10V18H1V0Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M15.0198 11.9876V16.5C15.0198 16.7761 14.7959 17 14.5198 17H12.5C12.2239 17 12 16.7761 12 16.5V12.4938C12 12.2153 12.2277 11.9904 12.5062 11.9939C12.7799 11.9973 13 12.2201 13 12.4938V16H14V12.3913C14 11.5963 13.4456 11 12.6535 11H12.3861C11.5941 11 11 11.5963 11 12.3913V16.6087C11 17.4037 11.5941 18 12.3861 18H14.6139C15.4059 18 16 17.4037 16 16.6087V11.9876H15.0198Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A') no-repeat center}.icon{height:2rem;width:2rem;margin:0 .2rem}.icon-small{height:100%;width:1.8rem;margin:0 .2rem}.icon-next-to-text-input{width:1.8rem;margin:.3rem .2rem 0}.interactive{cursor:pointer}.flex{display:flex}.flex-grow{flex-grow:1}.hyperlink-input-row{display:flex;gap:.2rem}.hyperlink-input-row lib-bimplus-input-text-field{margin-top:.2rem}.intermediate-hyperlinks-list{margin:0 .6rem .2rem 0}.intermediate-hyperlink{padding-left:.8rem;display:grid;grid-template-columns:auto 1fr auto;column-gap:.4rem}.intermediate-hyperlink .text{line-height:2.4rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.intermediate-hyperlink .cancel-icon{flex:1;background:url('data:image/svg+xml,<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0\" y=\"0\" width=\"18\" height=\"18\" xml:space=\"preserve\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" fill=\"%23444\" d=\"M13.5 5.4L12.1 4 8.5 7.6 4.9 4 3.5 5.4 7.1 9l-3.6 3.6L4.9 14l3.6-3.6 3.6 3.6 1.4-1.4L9.9 9z\"/></svg>%0D%0A') no-repeat center;background-size:1.8rem;width:3.2rem;max-width:3.2rem;cursor:pointer}.hyperlink-input-form{padding-left:.8rem;padding-right:.8rem;display:flex;flex-direction:column;gap:.2rem}.comment-tab-container{height:100%;display:flex;flex-direction:column;flex:1}.comment-tab-container .scrollable-content-container{position:relative;flex:1;width:100%}.comment-tab-container .scrollable-content-container lib-bimplus-scrollable-container{position:absolute;top:0;bottom:0;flex:1;width:100%}.comment-tab-container .textarea-container{margin-left:.8rem}.comment-tab-container .comments-tab-attachments-section{display:inline-flex;width:100%;justify-content:space-between;margin:1rem .8rem .8rem 0}.comment-tab-container .comments-tab-attachments-section .comments-attachments-list{align-items:center;margin-left:.8rem}.comment-tab-container .comments-tab-attachments-section .add-comment{display:inline-flex;align-items:center;margin-right:.8rem}.comment-tab-container .comments-attachments-list{display:inline-flex}.comment-tab-container .comments-attachments-list .attachments-icon{height:2rem;width:2rem;margin:0 .2rem;cursor:pointer}.comment-tab-container .comments-attachments-list .tab-attachments{background:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M12 3v12H6V3h2v10h2V2.4C10 1.6 9.4 1 8.6 1H5.4C4.6 1 4 1.6 4 2.4v13.3c0 .7.6 1.3 1.4 1.3h7.3c.8 0 1.4-.6 1.4-1.4V3H12z\" fill=\"%23444\"/></svg>') no-repeat center}.comment-tab-container .comments-attachments-list .tab-attachmentlinks{background:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M4 8H8V6H4V8Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M4 3V5H12V3H4Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M4 11H8V9H4V11Z\" fill=\"%23444444\"/>%0D%0A<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1 0H15V10H13V2H3V16H10V18H1V0Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M15.0198 11.9876V16.5C15.0198 16.7761 14.7959 17 14.5198 17H12.5C12.2239 17 12 16.7761 12 16.5V12.4938C12 12.2153 12.2277 11.9904 12.5062 11.9939C12.7799 11.9973 13 12.2201 13 12.4938V16H14V12.3913C14 11.5963 13.4456 11 12.6535 11H12.3861C11.5941 11 11 11.5963 11 12.3913V16.6087C11 17.4037 11.5941 18 12.3861 18H14.6139C15.4059 18 16 17.4037 16 16.6087V11.9876H15.0198Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A') no-repeat center}.comment-tab-container .comments-attachments-list .tab-hyperlinks{background:url('data:image/svg+xml,<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0\" y=\"0\" viewBox=\"0 0 18 18\" xml:space=\"preserve\"><style>.st0{fill:%23444}<\\/style><path class=\"st0\" d=\"M16.7 4.2l-1.3-1.3c-1.2-1.2-3.2-1.2-4.4 0l-.6.6 1.1 1.1.7-.6c.6-.6 1.5-.6 2.1 0l1.3 1.3c.6.6.6 1.5 0 2.1l-4.1 4.1c-.6.6-1.5.6-2.1 0l-1.3-1.3c-.6-.5-.6-1.4-.1-2L6.9 7.1c-1.1 1.2-1.1 3.1.1 4.3l1.3 1.3c1.2 1.2 3.2 1.2 4.4 0l4.1-4.1c1.1-1.2 1.1-3.2-.1-4.4z\"/><path class=\"st0\" d=\"M5.8 13c-.6.6-1.5.6-2.1 0l-1.3-1.3c-.6-.6-.6-1.5 0-2.1l4.1-4.1c.6-.6 1.5-.6 2.1 0l1.3 1.3c.6.6.6 1.5 0 2.1l-.6.6 1.1 1.1.6-.6c1.2-1.2 1.2-3.2 0-4.4L9.8 4.3c-1.2-1.2-3.2-1.2-4.4 0L1.3 8.4c-1.2 1.2-1.2 3.2 0 4.4l1.3 1.3c1.2 1.2 3.2 1.2 4.4 0l.6-.6-1.1-1.1-.7.6z\"/></svg>') no-repeat center}.comment-tab-container .comments-separator{margin:0 .8rem .8rem;border-bottom:solid .1rem var(--comments-chat-comments-separator-border-color)}.comment-tab-container textarea::-webkit-scrollbar-track{background-color:var(--main-menu-apps-container-background-color-enabled)}.comment-tab-container textarea::-webkit-scrollbar-thumb{background-color:var(--propertymanager-object-tree-scrollable-border-color);border-radius:5px}.comment-tab-container textarea::-webkit-scrollbar{width:7px;background:var(--storage-info-placeholder-text-color-enabled)}.comment-tab-container .comment-list-date{text-align:center}.comment-tab-container .hidden{display:none}lib-bimplus-attachments{--bim-attachment-item-border-bottom: none;--bim-attachment-delete-button-icon-color: #444;--bim-attachment-delete-button-icon-font-weight: bold;--bim-attachment-item-background-image: url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M12 3v12H6V3h2v10h2V2.4C10 1.6 9.4 1 8.6 1H5.4C4.6 1 4 1.6 4 2.4v13.3c0 .7.6 1.3 1.4 1.3h7.3c.8 0 1.4-.6 1.4-1.4V3H12z\" fill=\"%23444\"/></svg>')}lib-links-to-documents{--attachment-row-border-bottom: none;--bim-attachment-item-background-image: url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M4 8H8V6H4V8Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M4 3V5H12V3H4Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M4 11H8V9H4V11Z\" fill=\"%23444444\"/>%0D%0A<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1 0H15V10H13V2H3V16H10V18H1V0Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M15.0198 11.9876V16.5C15.0198 16.7761 14.7959 17 14.5198 17H12.5C12.2239 17 12 16.7761 12 16.5V12.4938C12 12.2153 12.2277 11.9904 12.5062 11.9939C12.7799 11.9973 13 12.2201 13 12.4938V16H14V12.3913C14 11.5963 13.4456 11 12.6535 11H12.3861C11.5941 11 11 11.5963 11 12.3913V16.6087C11 17.4037 11.5941 18 12.3861 18H14.6139C15.4059 18 16 17.4037 16 16.6087V11.9876H15.0198Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');--bim-attachment-delete-button: #444;--attachment-row-margin: 0;--bim-attachment-item-background-size: 1.8rem;--bim-attachment-delete-button-font-weight: bold}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: BimplusTextareaComponent, selector: "lib-bimplus-textarea", inputs: ["name", "placeholder", "readonly", "required", "minRows", "maxRows", "activeAutoResizeTextarea", "clearValue", "rows"], outputs: ["textAreaValueChange"] }, { kind: "component", type: BimplusCommentComponent, selector: "lib-bimplus-comment", inputs: ["api", "attachmentLinkItems", "message", "date", "action", "commentId", "isActUserAuthor", "displayname", "hyperlinks", "attachments"], outputs: ["outputActionCommentEvent", "getAttachment"] }, { kind: "component", type: BimplusButtonsRowComponent, selector: "lib-bimplus-buttons-row", inputs: ["items", "canUpdateObject"], outputs: ["fileChanged", "buttonClicked"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: BimplusScrollableContainerComponent, selector: "lib-bimplus-scrollable-container" }, { kind: "component", type: BimplusInputTextFieldComponent, selector: "lib-bimplus-input-text-field", inputs: ["placeholder", "showClearButton", "validValue"], outputs: ["enterKeyPressed"] }, { kind: "component", type: BimplusAttachmentsComponent, selector: "lib-bimplus-attachments", inputs: ["api", "attachments", "closeIconTemplate", "listOnly"], outputs: ["deleteAttachment", "addAttachment", "getAttachment"] }, { kind: "component", type: LinksToDocumentsComponent, selector: "lib-links-to-documents", inputs: ["api", "canCreateAttachmentLink", "listOnly", "showEmptyMessage", "hideAttachmentSize", "attachments", "canDeleteAttachmentLink", "project", "wormholeSelector", "env", "rootObjectId"], outputs: ["attachmentsChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ShadowDom }); }
|
|
304
|
+
}
|
|
305
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BimplusObjectCommentsListComponent, decorators: [{
|
|
306
|
+
type: Component,
|
|
307
|
+
args: [{ selector: 'lib-bimplus-object-comments-list', imports: [
|
|
308
|
+
NgFor,
|
|
309
|
+
BimplusTextareaComponent,
|
|
310
|
+
BimplusCommentComponent,
|
|
311
|
+
BimplusButtonsRowComponent,
|
|
312
|
+
TranslateModule,
|
|
313
|
+
BimplusScrollableContainerComponent,
|
|
314
|
+
BimplusInputTextFieldComponent,
|
|
315
|
+
BimplusAttachmentsComponent,
|
|
316
|
+
LinksToDocumentsComponent,
|
|
317
|
+
FormsModule,
|
|
318
|
+
ReactiveFormsModule,
|
|
319
|
+
AsyncPipe,
|
|
320
|
+
], providers: [
|
|
321
|
+
DatePipe,
|
|
322
|
+
BimplusObjectCommentsListService,
|
|
323
|
+
BimplusAttachmentsService,
|
|
324
|
+
{ provide: BIMPLUS_ATTACHMENTS_CONFIG, useValue: config },
|
|
325
|
+
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.ShadowDom, template: "@if (!loading()) {\r\n<div class=\"comment-tab-container\">\r\n <div class=\"textarea-container\">\r\n <lib-bimplus-textarea\r\n (textAreaValueChange)=\"onTextareaValueChange($event)\"\r\n [placeholder]=\"placeholder\"\r\n [name]=\"name\"\r\n [readonly]=\"readonly\"\r\n [activeAutoResizeTextarea]=\"true\"\r\n [minRows]=\"minRows\"\r\n [maxRows]=\"maxRows\"\r\n [clearValue]=\"clearTextareaValue()\"\r\n ></lib-bimplus-textarea>\r\n </div>\r\n\r\n <lib-bimplus-attachments\r\n #attachments\r\n listOnly\r\n [attachments]=\"attachmentsState()\"\r\n (addAttachment)=\"onAddAttachment($event)\"\r\n (deleteAttachment)=\"onDeleteAttachment($event)\"\r\n />\r\n\r\n <lib-links-to-documents \r\n #linksToDocuments\r\n listOnly\r\n hideAttachmentSize\r\n showEmptyMessage=\"false\" \r\n [attachments]=\"attachmentLinkItems\"\r\n (attachmentsChange)=\"onAttachmentsChange($event)\"\r\n [api]=\"api\" \r\n [project]=\"project\"\r\n [rootObjectId]=\"rootObjectId\"\r\n [canCreateAttachmentLink]=\"true\"\r\n [canDeleteAttachmentLink]=\"true\"\r\n [wormholeSelector]=\"wormholeSelector\"\r\n [env]=\"env\"\r\n />\r\n\r\n @if (intermediateHyperlinks.length) {\r\n <div class=\"intermediate-hyperlinks-list\">\r\n <div *ngFor=\"let link of intermediateHyperlinks\" class=\"intermediate-hyperlink\" title=\"{{ link.url }}\">\r\n <div class=\"link-icon icon-small\" title=\"{{ link.url }}\"></div>\r\n <div class=\"text\">{{ link.name }}</div>\r\n <span class=\"cancel-icon\" title=\"{{ '_Hyperlink delete confirmation title' | translate }}\" (click)=\"removeIntermediateHyperlink(link)\" (keydown)=\"removeIntermediateHyperlinkKeypress($event, link)\"></span>\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (isAddingHyperlink) {\r\n <form [formGroup]=\"hyperlinkForm\" class=\"hyperlink-input-form\">\r\n <div class=\"hyperlink-input-row\">\r\n <div class=\"link-icon icon-next-to-text-input\"></div>\r\n <lib-bimplus-input-text-field class=\"flex-grow\" formControlName=\"name\" placeholder=\"{{ '_Name' | translate }}\" (enterKeyPressed)=\"onEnterKeyPressedInHyperlinkForm()\"/>\r\n </div>\r\n <div class=\"hyperlink-input-row\">\r\n <div class=\"icon-next-to-text-input\"></div>\r\n <lib-bimplus-input-text-field class=\"flex-grow\" formControlName=\"url\" placeholder=\"{{ '_URL' | translate }}\" (enterKeyPressed)=\"onEnterKeyPressedInHyperlinkForm()\"/>\r\n </div>\r\n\r\n <lib-bimplus-buttons-row [items]=\"hyperlinkButtonRowItems\" (buttonClicked)=\"hyperlinkButtonRowButtonClicked($event)\"/>\r\n </form>\r\n }\r\n\r\n <div class=\"comments-tab-attachments-section\">\r\n <div class=\"comments-attachments-list\">\r\n <div class=\"tab-attachments icon attachments-icon hidden\"></div>\r\n <div class=\"attachment-icon icon-small interactive\" [title]=\"'_Add attachment' | translate\" (click)=\"attachments.open()\" (keydown)=\"attachments.open()\"></div>\r\n <div class=\"link-icon icon-small interactive\" [title]=\"'_Add hyperlink' | translate\" (click)=\"addHyperlinkIconClicked()\" (keydown)=\"addHyperlinkIconKeypress($event)\"></div>\r\n <div class=\"link-document-icon icon-small interactive\" [title]=\"'_Add_attachment_link' | translate\" (click)=\"linksToDocuments.createAttachmentLink(api!)\" (keydown)=\"linksToDocuments.createAttachmentLink(api!)\"></div>\r\n <div class=\"tab-attachmentlinks icon attachments-icon hidden\"></div>\r\n </div>\r\n <div class=\"add-comment\">\r\n <lib-bimplus-buttons-row\r\n [items]=\"buttonRowItems\"\r\n (buttonClicked)=\"buttonRowButtonClicked($event)\" />\r\n </div>\r\n </div>\r\n\r\n <div class=\"comments-separator\"></div>\r\n\r\n <div class=\"scrollable-content-container\">\r\n <lib-bimplus-scrollable-container>\r\n @for (item of commentsList$ | async; track item) {\r\n @if(item.createdAt && isSameDate(item.createdAt))\r\n {\r\n <div class=\"comment-list-date\">\r\n {{formatDate(item.createdAt)}}\r\n </div>\r\n }\r\n <lib-bimplus-comment\r\n (outputActionCommentEvent)=\"handleActionCommentEvent($event)\"\r\n (getAttachment)=\"onGetAttachment($event)\"\r\n [message]=\"item.text\"\r\n [api]=\"api\"\r\n [date]=\"item.createdAt ? item.createdAt : ''\"\r\n action=\"delete\"\r\n [commentId]=\"item.id\"\r\n [attachments]=\"item.attachments ?? []\"\r\n [attachmentLinkItems]=\"item.attachmentLinks ?? []\"\r\n [hyperlinks]=\"item.hyperlinks\"\r\n [isActUserAuthor]=\"isActUserAuthor(item)\"\r\n [displayname]=\"displayName(item)\">\r\n </lib-bimplus-comment>\r\n }\r\n </lib-bimplus-scrollable-container>\r\n </div>\r\n\r\n</div>\r\n}\r\n", styles: [":host{height:100%;display:flex;flex-direction:column;flex:1}.link-icon{background:url('data:image/svg+xml,<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0\" y=\"0\" viewBox=\"0 0 18 18\" xml:space=\"preserve\"><style>.st0{fill:%23444}<\\/style><path class=\"st0\" d=\"M16.7 4.2l-1.3-1.3c-1.2-1.2-3.2-1.2-4.4 0l-.6.6 1.1 1.1.7-.6c.6-.6 1.5-.6 2.1 0l1.3 1.3c.6.6.6 1.5 0 2.1l-4.1 4.1c-.6.6-1.5.6-2.1 0l-1.3-1.3c-.6-.5-.6-1.4-.1-2L6.9 7.1c-1.1 1.2-1.1 3.1.1 4.3l1.3 1.3c1.2 1.2 3.2 1.2 4.4 0l4.1-4.1c1.1-1.2 1.1-3.2-.1-4.4z\"/><path class=\"st0\" d=\"M5.8 13c-.6.6-1.5.6-2.1 0l-1.3-1.3c-.6-.6-.6-1.5 0-2.1l4.1-4.1c.6-.6 1.5-.6 2.1 0l1.3 1.3c.6.6.6 1.5 0 2.1l-.6.6 1.1 1.1.6-.6c1.2-1.2 1.2-3.2 0-4.4L9.8 4.3c-1.2-1.2-3.2-1.2-4.4 0L1.3 8.4c-1.2 1.2-1.2 3.2 0 4.4l1.3 1.3c1.2 1.2 3.2 1.2 4.4 0l.6-.6-1.1-1.1-.7.6z\"/></svg>') no-repeat center}.attachment-icon{background:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M12 3v12H6V3h2v10h2V2.4C10 1.6 9.4 1 8.6 1H5.4C4.6 1 4 1.6 4 2.4v13.3c0 .7.6 1.3 1.4 1.3h7.3c.8 0 1.4-.6 1.4-1.4V3H12z\" fill=\"%23444\"/></svg>') no-repeat center}.link-document-icon{background:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M4 8H8V6H4V8Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M4 3V5H12V3H4Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M4 11H8V9H4V11Z\" fill=\"%23444444\"/>%0D%0A<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1 0H15V10H13V2H3V16H10V18H1V0Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M15.0198 11.9876V16.5C15.0198 16.7761 14.7959 17 14.5198 17H12.5C12.2239 17 12 16.7761 12 16.5V12.4938C12 12.2153 12.2277 11.9904 12.5062 11.9939C12.7799 11.9973 13 12.2201 13 12.4938V16H14V12.3913C14 11.5963 13.4456 11 12.6535 11H12.3861C11.5941 11 11 11.5963 11 12.3913V16.6087C11 17.4037 11.5941 18 12.3861 18H14.6139C15.4059 18 16 17.4037 16 16.6087V11.9876H15.0198Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A') no-repeat center}.icon{height:2rem;width:2rem;margin:0 .2rem}.icon-small{height:100%;width:1.8rem;margin:0 .2rem}.icon-next-to-text-input{width:1.8rem;margin:.3rem .2rem 0}.interactive{cursor:pointer}.flex{display:flex}.flex-grow{flex-grow:1}.hyperlink-input-row{display:flex;gap:.2rem}.hyperlink-input-row lib-bimplus-input-text-field{margin-top:.2rem}.intermediate-hyperlinks-list{margin:0 .6rem .2rem 0}.intermediate-hyperlink{padding-left:.8rem;display:grid;grid-template-columns:auto 1fr auto;column-gap:.4rem}.intermediate-hyperlink .text{line-height:2.4rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.intermediate-hyperlink .cancel-icon{flex:1;background:url('data:image/svg+xml,<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0\" y=\"0\" width=\"18\" height=\"18\" xml:space=\"preserve\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" fill=\"%23444\" d=\"M13.5 5.4L12.1 4 8.5 7.6 4.9 4 3.5 5.4 7.1 9l-3.6 3.6L4.9 14l3.6-3.6 3.6 3.6 1.4-1.4L9.9 9z\"/></svg>%0D%0A') no-repeat center;background-size:1.8rem;width:3.2rem;max-width:3.2rem;cursor:pointer}.hyperlink-input-form{padding-left:.8rem;padding-right:.8rem;display:flex;flex-direction:column;gap:.2rem}.comment-tab-container{height:100%;display:flex;flex-direction:column;flex:1}.comment-tab-container .scrollable-content-container{position:relative;flex:1;width:100%}.comment-tab-container .scrollable-content-container lib-bimplus-scrollable-container{position:absolute;top:0;bottom:0;flex:1;width:100%}.comment-tab-container .textarea-container{margin-left:.8rem}.comment-tab-container .comments-tab-attachments-section{display:inline-flex;width:100%;justify-content:space-between;margin:1rem .8rem .8rem 0}.comment-tab-container .comments-tab-attachments-section .comments-attachments-list{align-items:center;margin-left:.8rem}.comment-tab-container .comments-tab-attachments-section .add-comment{display:inline-flex;align-items:center;margin-right:.8rem}.comment-tab-container .comments-attachments-list{display:inline-flex}.comment-tab-container .comments-attachments-list .attachments-icon{height:2rem;width:2rem;margin:0 .2rem;cursor:pointer}.comment-tab-container .comments-attachments-list .tab-attachments{background:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M12 3v12H6V3h2v10h2V2.4C10 1.6 9.4 1 8.6 1H5.4C4.6 1 4 1.6 4 2.4v13.3c0 .7.6 1.3 1.4 1.3h7.3c.8 0 1.4-.6 1.4-1.4V3H12z\" fill=\"%23444\"/></svg>') no-repeat center}.comment-tab-container .comments-attachments-list .tab-attachmentlinks{background:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M4 8H8V6H4V8Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M4 3V5H12V3H4Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M4 11H8V9H4V11Z\" fill=\"%23444444\"/>%0D%0A<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1 0H15V10H13V2H3V16H10V18H1V0Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M15.0198 11.9876V16.5C15.0198 16.7761 14.7959 17 14.5198 17H12.5C12.2239 17 12 16.7761 12 16.5V12.4938C12 12.2153 12.2277 11.9904 12.5062 11.9939C12.7799 11.9973 13 12.2201 13 12.4938V16H14V12.3913C14 11.5963 13.4456 11 12.6535 11H12.3861C11.5941 11 11 11.5963 11 12.3913V16.6087C11 17.4037 11.5941 18 12.3861 18H14.6139C15.4059 18 16 17.4037 16 16.6087V11.9876H15.0198Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A') no-repeat center}.comment-tab-container .comments-attachments-list .tab-hyperlinks{background:url('data:image/svg+xml,<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0\" y=\"0\" viewBox=\"0 0 18 18\" xml:space=\"preserve\"><style>.st0{fill:%23444}<\\/style><path class=\"st0\" d=\"M16.7 4.2l-1.3-1.3c-1.2-1.2-3.2-1.2-4.4 0l-.6.6 1.1 1.1.7-.6c.6-.6 1.5-.6 2.1 0l1.3 1.3c.6.6.6 1.5 0 2.1l-4.1 4.1c-.6.6-1.5.6-2.1 0l-1.3-1.3c-.6-.5-.6-1.4-.1-2L6.9 7.1c-1.1 1.2-1.1 3.1.1 4.3l1.3 1.3c1.2 1.2 3.2 1.2 4.4 0l4.1-4.1c1.1-1.2 1.1-3.2-.1-4.4z\"/><path class=\"st0\" d=\"M5.8 13c-.6.6-1.5.6-2.1 0l-1.3-1.3c-.6-.6-.6-1.5 0-2.1l4.1-4.1c.6-.6 1.5-.6 2.1 0l1.3 1.3c.6.6.6 1.5 0 2.1l-.6.6 1.1 1.1.6-.6c1.2-1.2 1.2-3.2 0-4.4L9.8 4.3c-1.2-1.2-3.2-1.2-4.4 0L1.3 8.4c-1.2 1.2-1.2 3.2 0 4.4l1.3 1.3c1.2 1.2 3.2 1.2 4.4 0l.6-.6-1.1-1.1-.7.6z\"/></svg>') no-repeat center}.comment-tab-container .comments-separator{margin:0 .8rem .8rem;border-bottom:solid .1rem var(--comments-chat-comments-separator-border-color)}.comment-tab-container textarea::-webkit-scrollbar-track{background-color:var(--main-menu-apps-container-background-color-enabled)}.comment-tab-container textarea::-webkit-scrollbar-thumb{background-color:var(--propertymanager-object-tree-scrollable-border-color);border-radius:5px}.comment-tab-container textarea::-webkit-scrollbar{width:7px;background:var(--storage-info-placeholder-text-color-enabled)}.comment-tab-container .comment-list-date{text-align:center}.comment-tab-container .hidden{display:none}lib-bimplus-attachments{--bim-attachment-item-border-bottom: none;--bim-attachment-delete-button-icon-color: #444;--bim-attachment-delete-button-icon-font-weight: bold;--bim-attachment-item-background-image: url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M12 3v12H6V3h2v10h2V2.4C10 1.6 9.4 1 8.6 1H5.4C4.6 1 4 1.6 4 2.4v13.3c0 .7.6 1.3 1.4 1.3h7.3c.8 0 1.4-.6 1.4-1.4V3H12z\" fill=\"%23444\"/></svg>')}lib-links-to-documents{--attachment-row-border-bottom: none;--bim-attachment-item-background-image: url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M4 8H8V6H4V8Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M4 3V5H12V3H4Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M4 11H8V9H4V11Z\" fill=\"%23444444\"/>%0D%0A<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1 0H15V10H13V2H3V16H10V18H1V0Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M15.0198 11.9876V16.5C15.0198 16.7761 14.7959 17 14.5198 17H12.5C12.2239 17 12 16.7761 12 16.5V12.4938C12 12.2153 12.2277 11.9904 12.5062 11.9939C12.7799 11.9973 13 12.2201 13 12.4938V16H14V12.3913C14 11.5963 13.4456 11 12.6535 11H12.3861C11.5941 11 11 11.5963 11 12.3913V16.6087C11 17.4037 11.5941 18 12.3861 18H14.6139C15.4059 18 16 17.4037 16 16.6087V11.9876H15.0198Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');--bim-attachment-delete-button: #444;--attachment-row-margin: 0;--bim-attachment-item-background-size: 1.8rem;--bim-attachment-delete-button-font-weight: bold}\n"] }]
|
|
326
|
+
}], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.TranslateService }, { type: i3.DatePipe }, { type: i4.FormBuilder }, { type: i5.BimplusAttachmentsService }, { type: i6.BimplusObjectCommentsListService }, { type: i7.BimplusStatusBarService }], propDecorators: { api: [{
|
|
327
|
+
type: Input,
|
|
328
|
+
args: [{ required: true }]
|
|
329
|
+
}], project: [{
|
|
330
|
+
type: Input
|
|
331
|
+
}], wormholeSelector: [{
|
|
332
|
+
type: Input
|
|
333
|
+
}], env: [{
|
|
334
|
+
type: Input
|
|
335
|
+
}], attachmentLinkItems: [{
|
|
336
|
+
type: Input
|
|
337
|
+
}], rootObjectId: [{
|
|
338
|
+
type: Input
|
|
339
|
+
}], userId: [{
|
|
340
|
+
type: Input
|
|
341
|
+
}] } });
|
|
342
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1vYmplY3QtY29tbWVudHMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYmltcGx1cy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9iaW1wbHVzLW9iamVjdC1jb21tZW50cy1saXN0L2JpbXBsdXMtb2JqZWN0LWNvbW1lbnRzLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1vYmplY3QtY29tbWVudHMtbGlzdC9iaW1wbHVzLW9iamVjdC1jb21tZW50cy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLGlCQUFpQixFQUFDLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQy9ILE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDMUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFHdkYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDakgsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFFN0gsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0VB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Q3pCLFdBQVcsMllBQ1gsbUJBQW1CLDJVQUNuQixTQUFTOzs0RkFZQSxrQ0FBa0M7a0JBNUI5QyxTQUFTOytCQUNFLGtDQUFrQyxXQUduQzt3QkFDUCxLQUFLO3dCQUNMLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2QiwwQkFBMEI7d0JBQzFCLGVBQWU7d0JBQ2YsbUNBQW1DO3dCQUNuQyw4QkFBOEI7d0JBQzlCLDJCQUEyQjt3QkFDM0IseUJBQXlCO3dCQUN6QixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsU0FBUztxQkFDVixhQUNVO3dCQUNULFFBQVE7d0JBQ1IsZ0NBQWdDO3dCQUNoQyx5QkFBeUI7d0JBQ3pCLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUU7cUJBQzFELGNBQ1csSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxTQUFTOytSQU9mLEdBQUc7c0JBQTdCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBMkJGLFlBQVk7c0JBRGYsS0FBSztnQkFVRixNQUFNO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgc2lnbmFsLCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbixDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCaW1wbHVzT3ZlcmxheURpYWxvZ0RlbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtb3ZlcmxheS1kaWFsb2ctZGVsZXRlL2JpbXBsdXMtb3ZlcmxheS1kaWFsb2ctZGVsZXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBBc3luY1BpcGUsIERhdGVQaXBlLCBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi9iaW1wbHVzLWdlbmVyYWwtb3ZlcmxheS1kaWFsb2cvYmltcGx1cy1nZW5lcmFsLW92ZXJsYXktZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCaW1wbHVzVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuLi9iaW1wbHVzLXRleHRhcmVhL2JpbXBsdXMtdGV4dGFyZWEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmltcGx1c0NvbW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9iaW1wbHVzLWNvbW1lbnQvYmltcGx1cy1jb21tZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCBXZWJTZGsgZnJvbSAnYmltcGx1cy13ZWJzZGsnO1xyXG5pbXBvcnQgeyBCaW1wbHVzQnV0dG9uQ2xpY2tFdmVudCwgQmltcGx1c0J1dHRvblJvd0l0ZW0gfSBmcm9tICcuLi9iaW1wbHVzLWJ1dHRvbnMtcm93L2JpbXBsdXMtYnV0dG9ucy1yb3cuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQmltcGx1c0J1dHRvbnNSb3dDb21wb25lbnQgfSBmcm9tICcuLi9iaW1wbHVzLWJ1dHRvbnMtcm93L2JpbXBsdXMtYnV0dG9ucy1yb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmltcGx1c0xvY2FsaXplZFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC9iaW1wbHVzLWxvY2FsaXplZC13aWRnZXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmltcGx1c1Njcm9sbGFibGVDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9iaW1wbHVzLXNjcm9sbGFibGUtY29udGFpbmVyL2JpbXBsdXMtc2Nyb2xsYWJsZS1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tbWVudERhdGEsIENvbW1lbnRPdXRwdXREYXRhLCBJRGlhbG9nQ29uZmlybUNsb3NlIH0gZnJvbSAnLi9iaW1wbHVzT2JqZWN0Q29tbWVudHNJJztcclxuaW1wb3J0IHsgQmltcGx1c0lucHV0VGV4dEZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4uL2JpbXBsdXMtaW5wdXQtdGV4dC1maWVsZC9iaW1wbHVzLWlucHV0LXRleHQtZmllbGQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEJpbXBsdXNBdHRhY2htZW50c0NvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtYXR0YWNobWVudHMvYmltcGx1cy1hdHRhY2htZW50cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCaW1wbHVzQXR0YWNobWVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vYmltcGx1cy1hdHRhY2htZW50cy9zZXJ2aWNlcy9iaW1wbHVzLWF0dGFjaG1lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIEF0dGFjaG1lbnQsXHJcbiAgQklNUExVU19BVFRBQ0hNRU5UU19DT05GSUcsXHJcbiAgQmltcGx1c0F0dGFjaG1lbnRzQ29uZmlnLFxyXG59IGZyb20gJy4uL2JpbXBsdXMtYXR0YWNobWVudHMvYmltcGx1cy1hdHRhY2htZW50cy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCaW1wbHVzT2JqZWN0Q29tbWVudHNMaXN0U2VydmljZSB9IGZyb20gJy4vYmltcGx1cy1vYmplY3QtY29tbWVudHMtbGlzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGlua3NUb0RvY3VtZW50c0NvbXBvbmVudCB9IGZyb20gJy4uL2xpbmtzLXRvLWRvY3VtZW50cy9saW5rcy10by1kb2N1bWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvamVjdE5hdmlnYXRvclByb2plY3QgfSBmcm9tICcuLi9wcm9qZWN0LW1vZGVscy9wcm9qZWN0LW1vZGVscy5pbnRlcmZhY2UnO1xyXG4vLy9pbXBvcnQgeyBBdHRhY2htZW50TGlua0l0ZW0gfSBmcm9tICcuLi9saW5rcy10by1kb2N1bWVudHMvbGlua3MtdG8tZG9jdW1lbnRzLmNvbXBvbmVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBCaW1wbHVzU3RhdHVzQmFyU2VydmljZSB9IGZyb20gJy4uL2JpbXBsdXMtc3RhdHVzLWJhci9iaW1wbHVzLXN0YXR1cy1iYXIuc2VydmljZSc7XHJcblxyXG5jb25zdCBjb25maWc6IEJpbXBsdXNBdHRhY2htZW50c0NvbmZpZyA9IHtcclxuICBzaG93Tm9BdHRhY2htZW50c0ZvdW5kOiBmYWxzZSxcclxuICBoaWRlQXR0YWNobWVudFNpemU6IHRydWUsXHJcbn07XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWJpbXBsdXMtb2JqZWN0LWNvbW1lbnRzLWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iaW1wbHVzLW9iamVjdC1jb21tZW50cy1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iaW1wbHVzLW9iamVjdC1jb21tZW50cy1saXN0LmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTmdGb3IsXHJcbiAgICBCaW1wbHVzVGV4dGFyZWFDb21wb25lbnQsXHJcbiAgICBCaW1wbHVzQ29tbWVudENvbXBvbmVudCxcclxuICAgIEJpbXBsdXNCdXR0b25zUm93Q29tcG9uZW50LFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgQmltcGx1c1Njcm9sbGFibGVDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBCaW1wbHVzSW5wdXRUZXh0RmllbGRDb21wb25lbnQsXHJcbiAgICBCaW1wbHVzQXR0YWNobWVudHNDb21wb25lbnQsXHJcbiAgICBMaW5rc1RvRG9jdW1lbnRzQ29tcG9uZW50LFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQXN5bmNQaXBlLFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBEYXRlUGlwZSxcclxuICAgIEJpbXBsdXNPYmplY3RDb21tZW50c0xpc3RTZXJ2aWNlLFxyXG4gICAgQmltcGx1c0F0dGFjaG1lbnRzU2VydmljZSxcclxuICAgIHsgcHJvdmlkZTogQklNUExVU19BVFRBQ0hNRU5UU19DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfSxcclxuICBdLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uU2hhZG93RG9tLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmltcGx1c09iamVjdENvbW1lbnRzTGlzdENvbXBvbmVudFxyXG4gIGV4dGVuZHMgQmltcGx1c0xvY2FsaXplZFdpZGdldENvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIGh5cGVybGlua0Zvcm06IEZvcm1Hcm91cDtcclxuXHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgYXBpITogV2ViU2RrLkFwaSB8IG51bGw7XHJcbiAgQElucHV0KCkgcHJvamVjdDogUHJvamVjdE5hdmlnYXRvclByb2plY3QgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSB3b3JtaG9sZVNlbGVjdG9yOiBzdHJpbmcgPSBcImxvY2FsRW1iZWRkZWRNb2RhbElkXCI7XHJcbiAgQElucHV0KCkgZW52OiBzdHJpbmcgPSBcInByb2RcIjtcclxuICBASW5wdXQoKSBhdHRhY2htZW50TGlua0l0ZW1zOiBXZWJTZGsuQXR0YWNobWVudExpbmtbXSA9IFtdXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbW1lbnRzTGlzdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFdlYlNkay5Db21tZW50UmVzcG9uc2VbXT4oW10pO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBsb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXR0YWNobWVudHNTdGF0ZSA9IHNpZ25hbDxBdHRhY2htZW50W10+KFtdKTtcclxuICBidXR0b25Sb3dJdGVtczogQmltcGx1c0J1dHRvblJvd0l0ZW1bXSA9IFtdO1xyXG4gIGh5cGVybGlua0J1dHRvblJvd0l0ZW1zOiBCaW1wbHVzQnV0dG9uUm93SXRlbVtdID0gW107XHJcbiAgdGV4dEFyZWFWYWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgbGFzdFNob3duRGF0ZSA9ICcnO1xyXG4gIHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgbmFtZSA9ICcnO1xyXG4gIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgYXV0b1Jlc2l6ZVRleHRhcmVhID0gdHJ1ZTtcclxuICBtaW5Sb3dzID0gMztcclxuICBtYXhSb3dzID0gMTA7XHJcbiAgY2xlYXJWYWx1ZSA9IGZhbHNlO1xyXG4gIHN0YXR1c0JhclRpdGxlTWVzc2FnZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdfTG9hZGluZycpO1xyXG4gIFxyXG4gIC8vIGF0dGFjaG1lbnQgaWRzIHJlYWR5IHRvIG1hcCB0byBjb25jcmV0ZSBjb21tZW50XHJcbiAgbmV3QXR0YWNobWVudElEczogc3RyaW5nW10gPSBbXVxyXG5cclxuICBpc0FkZGluZ0h5cGVybGluazogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGludGVybWVkaWF0ZUh5cGVybGlua3M6IFBhcnRpYWw8V2ViU2RrLkh5cGVybGluaz5bXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIF9yb290T2JqZWN0SWQgPSAnJztcclxuICBwcml2YXRlIF91c2VySWQgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgcm9vdE9iamVjdElkKGlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3Jvb3RPYmplY3RJZCA9IGlkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJvb3RPYmplY3RJZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Jvb3RPYmplY3RJZDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHVzZXJJZChpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl91c2VySWQgPSBpZDtcclxuICB9XHJcblxyXG4gIGdldCB1c2VySWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl91c2VySWQ7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRhdGVQaXBlOiBEYXRlUGlwZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGJpbXBsdXNBdHRhY2htZW50c1NlcnZpY2U6IEJpbXBsdXNBdHRhY2htZW50c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJpbXBsdXNPYmplY3RDb21tZW50c0xpc3RTZXJ2aWNlOiBCaW1wbHVzT2JqZWN0Q29tbWVudHNMaXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgc3RhdHVzQmFyU2VydmljZTogQmltcGx1c1N0YXR1c0JhclNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKHRyYW5zbGF0ZVNlcnZpY2UpO1xyXG5cclxuICAgIHRoaXMuaHlwZXJsaW5rRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICBuYW1lOiBbJycsIFtdXSxcclxuICAgICAgdXJsOiBbXHJcbiAgICAgICAgJycsXHJcbiAgICAgICAgW1xyXG4gICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICAgIFZhbGlkYXRvcnMucGF0dGVybigvXltePD5dKiQvKSwgLy8gRG8gbm90IGFsbG93IDwgb3IgPlxyXG4gICAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKC9eKD8hXFxzKiQpLisvKSwgLy8gRG8gbm90IGFsbG93IGFsbCBlbXB0eSBzdHJpbmcsIGJ1dCBhbGxvdyB0ZXh0IGFmdGVyIHNwYWNlc1xyXG4gICAgICAgIF0sXHJcbiAgICAgIF0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYmltcGx1c09iamVjdENvbW1lbnRzTGlzdFNlcnZpY2UuYXBpID0gdGhpcy5hcGkhO1xyXG4gICAgdGhpcy5sb2FkQ29tbWVudHMoKTsgICAgXHJcbiAgICBjb25zdCBzdWJtaXQ6IEJpbXBsdXNCdXR0b25Sb3dJdGVtW10gPSBbXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogJ3N1Ym1pdCcsXHJcbiAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdfQWRkIGNvbW1lbnQnKSxcclxuICAgICAgICB0b29sdGlwOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnX0FkZCBjb21tZW50JyksXHJcbiAgICAgICAgZGlzYWJsZWQ6ICF0aGlzLnRleHRBcmVhVmFsdWUsXHJcbiAgICAgICAgYnV0dG9uU3R5bGU6ICdwcmltYXJ5JyxcclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXHJcbiAgICAgICdfUGxhY2UgY29tbWVudCB0ZXh0IGhlcmUnXHJcbiAgICApO1xyXG4gICAgdGhpcy5uYW1lID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2NvbW1lbnQnKTtcclxuICAgIHRoaXMuYnV0dG9uUm93SXRlbXMgPSBzdWJtaXQ7XHJcblxyXG4gICAgdGhpcy5oeXBlcmxpbmtCdXR0b25Sb3dJdGVtcy5wdXNoKFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6ICdjYW5jZWwtaHlwZXJsaW5rJyxcclxuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ19DYW5jZWwnKSxcclxuICAgICAgICB0b29sdGlwOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnX0NhbmNlbCcpLFxyXG4gICAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICBidXR0b25TdHlsZTogJ3ByaW1hcnknLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6ICdhZGQtaHlwZXJsaW5rJyxcclxuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ19BZGQgaHlwZXJsaW5rJyksXHJcbiAgICAgICAgdG9vbHRpcDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ19BZGQgaHlwZXJsaW5rJyksXHJcbiAgICAgICAgZGlzYWJsZWQ6IHRydWUsXHJcbiAgICAgICAgYnV0dG9uU3R5bGU6ICdwcmltYXJ5JyxcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmh5cGVybGlua0Zvcm0uc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKHN0YXR1cykgPT4ge1xyXG4gICAgICB0aGlzLmh5cGVybGlua0J1dHRvblJvd0l0ZW1zWzFdLmRpc2FibGVkID0gc3RhdHVzICE9PSAnVkFMSUQnO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydyb290T2JqZWN0SWQnXSAmJiAhY2hhbmdlc1sncm9vdE9iamVjdElkJ10uZmlyc3RDaGFuZ2UpIHtcclxuICAgICAgdGhpcy5sb2FkQ29tbWVudHMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvbkF0dGFjaG1lbnRzQ2hhbmdlKG5ld0F0dGFjaG1lbnRJRHM6IHN0cmluZ1tdKTogdm9pZCB7XHJcbiAgICB0aGlzLm5ld0F0dGFjaG1lbnRJRHMgPSBbLi4udGhpcy5uZXdBdHRhY2htZW50SURzLCAuLi5uZXdBdHRhY2htZW50SURzXVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG9uQWRkQXR0YWNobWVudChmaWxlOiBGaWxlKTogdm9pZCB7XHJcbiAgICBjb25zdCBhdHRhY2htZW50ID0gdGhpcy5iaW1wbHVzQXR0YWNobWVudHNTZXJ2aWNlLmdldEF0dGFjaG1lbnQoZmlsZSk7XHJcbiAgICB0aGlzLmF0dGFjaG1lbnRzU3RhdGUudXBkYXRlKGF0dGFjaG1lbnRzID0+IChbLi4uYXR0YWNobWVudHMsIGF0dGFjaG1lbnRdKSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb25EZWxldGVBdHRhY2htZW50KGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuYXR0YWNobWVudHNTdGF0ZS51cGRhdGUoYXR0YWNobWVudHMgPT4gYXR0YWNobWVudHMuZmlsdGVyKGEgPT4gYSAhPT0gYXR0YWNobWVudCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEV2ZW50IG9uIGNsaWNrIGF0dGFjaG1lbnQuICovXHJcbiAgcHJvdGVjdGVkIG9uR2V0QXR0YWNobWVudChhdHRhY2htZW50OiBBdHRhY2htZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLmJpbXBsdXNPYmplY3RDb21tZW50c0xpc3RTZXJ2aWNlLmRvd25sb2FkQXR0YWNobWVudChhdHRhY2htZW50KTtcclxuICB9XHJcblxyXG4gIG9uVGV4dGFyZWFWYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRleHRBcmVhVmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuYnV0dG9uUm93SXRlbXNbMF0uZGlzYWJsZWQgPSAhdmFsdWU7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVBY3Rpb25Db21tZW50RXZlbnQoZXZlbnQ6IENvbW1lbnRPdXRwdXREYXRhKSB7XHJcbiAgICBpZiAoZXZlbnQuYWN0aW9uID09PSAnZGVsZXRlJykge1xyXG4gICAgICBjb25zdCBkYXRhID0gZXZlbnQuZGF0YSBhcyBDb21tZW50RGF0YTtcclxuICAgICAgdGhpcy5vcGVuRGlhbG9nRGVsZXRlQ29tbWVudChkYXRhLmNvbW1lbnRJZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhY3Rpb25EaWFsb2dDbG9zZShkYXRhOiBJRGlhbG9nQ29uZmlybUNsb3NlKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY2xvc2UoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBvcGVuRGlhbG9nRGVsZXRlQ29tbWVudChjb21tZW50SWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oQmltcGx1c092ZXJsYXlEaWFsb2dEZWxldGVDb21wb25lbnQsIHtcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIHBvc2l0aW9uOiAnbWlkZGxlJyxcclxuICAgICAgICBwb3NpdGlvbk9wdGlvbnM6IHt9LFxyXG4gICAgICAgIG92ZXJsYXlDbGlja0VuYWJsZWQ6IGZhbHNlLFxyXG4gICAgICAgIG92ZXJsYXlWaXNpYmlsaXR5RW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICBkcmFnZ2FibGU6IHRydWUsXHJcbiAgICAgIH0sXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXHJcbiAgICAgICAgICAnX0NvbW1lbnQgZGVsZXRlIGNvbmZpcm1hdGlvbiB0aXRsZSdcclxuICAgICAgICApLFxyXG4gICAgICAgIG1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ19Db21tZW50IGRlbGV0ZSBjb25maXJtYXRpb24gbWVzc2FnZSdcclxuICAgICAgICApLFxyXG4gICAgICAgIGFjY2VwdENhbGxiYWNrOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRlbGV0ZUNvbW1lbnQoY29tbWVudElkKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBpc1NhbWVEYXRlKGRhdGU/OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGlmICghZGF0ZSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBjb25zdCB0aW1lID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSwgJ3Nob3J0RGF0ZScpO1xyXG4gICAgaWYgKHRoaXMubGFzdFNob3duRGF0ZSA9PT0gdGltZSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLmxhc3RTaG93bkRhdGUgPSBkYXRlO1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBidXR0b25Sb3dCdXR0b25DbGlja2VkKCRldmVudDogQmltcGx1c0J1dHRvbkNsaWNrRXZlbnQpIHtcclxuICAgIGlmICgkZXZlbnQuaWQgPT09ICdzdWJtaXQnKSB7XHJcbiAgICAgIGlmICghdGhpcy5hcGkgfHwgIXRoaXMucm9vdE9iamVjdElkKSByZXR1cm47XHJcbiAgICAgIHRoaXMubG9hZGluZy5zZXQodHJ1ZSk7XHJcblxyXG4gICAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICAgIHRleHQ6IHRoaXMudGV4dEFyZWFWYWx1ZSxcclxuICAgICAgICBvYmplY3RJZDogdGhpcy5yb290T2JqZWN0SWQsXHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnN0IGRhdGFUZXh0ID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XHJcbiAgICAgIHRoaXMuc3RhdHVzQmFyU2VydmljZS5zZXRTdGF0dXNCYXJEYXRhKHsgc3RhdHVzQmFyVmlzaWJsZTogdHJ1ZSwgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdfQ3JlYXRpbmcgbmV3IGNvbW1lbnQnKSB9KTtcclxuICAgICAgdGhpcy5iaW1wbHVzT2JqZWN0Q29tbWVudHNMaXN0U2VydmljZS5wb3N0Q29tbWVudHModGhpcy5yb290T2JqZWN0SWQsIGRhdGFUZXh0LCB0aGlzLmdldEh5cGVybGlua3ModGhpcy5yb290T2JqZWN0SWQpLCB0aGlzLmF0dGFjaG1lbnRzU3RhdGUoKSwgdGhpcy5uZXdBdHRhY2htZW50SURzKVxyXG4gICAgICAucGlwZShzd2l0Y2hNYXAoKCkgPT4gdGhpcy5iaW1wbHVzT2JqZWN0Q29tbWVudHNMaXN0U2VydmljZS5sb2FkQ29tbWVudHModGhpcy5yb290T2JqZWN0SWQpKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKGNvbW1lbnRzKSA9PiB0aGlzLmNvbW1lbnRzTGlzdCQubmV4dChjb21tZW50cyksXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuYXR0YWNobWVudHNTdGF0ZS5zZXQoW10pO1xyXG4gICAgICAgICAgdGhpcy5pbnRlcm1lZGlhdGVIeXBlcmxpbmtzID0gW107XHJcbiAgICAgICAgICB0aGlzLnRleHRBcmVhVmFsdWUgPSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5jbGVhclZhbHVlID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuYnV0dG9uUm93SXRlbXNbMF0uZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nLnNldChmYWxzZSk7XHJcbiAgICAgICAgICB0aGlzLnN0YXR1c0JhclNlcnZpY2Uuc2V0U3RhdHVzQmFyRGF0YSh7IHN0YXR1c0JhclZpc2libGU6IGZhbHNlLCB0aXRsZTogJycgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGh5cGVybGlua0J1dHRvblJvd0J1dHRvbkNsaWNrZWQoJGV2ZW50OiBCaW1wbHVzQnV0dG9uQ2xpY2tFdmVudCkge1xyXG4gICAgaWYgKCRldmVudC5pZCA9PT0gJ2FkZC1oeXBlcmxpbmsnKSB7XHJcbiAgICAgIHRoaXMuYWRkSW50ZXJtZWRpYXRlSHlwZXJsaW5rKCk7XHJcbiAgICB9IGVsc2UgaWYgKCRldmVudC5pZCA9PT0gJ2NhbmNlbC1oeXBlcmxpbmsnKSB7XHJcbiAgICAgIHRoaXMuaHlwZXJsaW5rRm9ybS5yZXNldCgpO1xyXG4gICAgICB0aGlzLmlzQWRkaW5nSHlwZXJsaW5rID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRJbnRlcm1lZGlhdGVIeXBlcmxpbmsoKSB7XHJcbiAgICBpZiAoIXRoaXMuaHlwZXJsaW5rRm9ybS52YWxpZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHNhbml0aXplZFVybDogc3RyaW5nID0gdGhpcy5oeXBlcmxpbmtGb3JtLnZhbHVlWyd1cmwnXS50cmltKCk7XHJcbiAgICBpZiAoIVJlZ0V4cCgvXmh0dHAocz8pOlxcL1xcLy8pLmV4ZWMoc2FuaXRpemVkVXJsKSkge1xyXG4gICAgICBzYW5pdGl6ZWRVcmwgPSAnaHR0cHM6Ly8nICsgc2FuaXRpemVkVXJsO1xyXG4gICAgfVxyXG4gICAgbGV0IHNhbml0aXplZE5hbWUgPSB0aGlzLmh5cGVybGlua0Zvcm0udmFsdWVbJ25hbWUnXT8udHJpbSgpID8/ICcnO1xyXG4gICAgaWYgKHNhbml0aXplZE5hbWUgPT09ICcnKSB7XHJcbiAgICAgIHNhbml0aXplZE5hbWUgPSBzYW5pdGl6ZWRVcmw7XHJcbiAgICB9XHJcbiAgICBzYW5pdGl6ZWROYW1lID0gc2FuaXRpemVkTmFtZT8ucmVwbGFjZSgvXmh0dHAocz8pOlxcL1xcLy8sICcnKTtcclxuICAgIHRoaXMuaW50ZXJtZWRpYXRlSHlwZXJsaW5rcy5wdXNoKHtcclxuICAgICAgbmFtZTogc2FuaXRpemVkTmFtZSxcclxuICAgICAgdXJsOiBzYW5pdGl6ZWRVcmwsXHJcbiAgICB9KTtcclxuICAgIHRoaXMuaHlwZXJsaW5rRm9ybS5yZXNldCgpO1xyXG4gICAgdGhpcy5pc0FkZGluZ0h5cGVybGluayA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlQ29tbWVudChjb21tZW50SWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5zdGF0dXNCYXJTZXJ2aWNlLnNldFN0YXR1c0JhckRhdGEoe3N0YXR1c0JhclZpc2libGU6IHRydWUsIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnX0RlbGV0aW5nIHRoZSBjb21tZW50Jyl9KTtcclxuICAgIHRoaXMuYmltcGx1c09iamVjdENvbW1lbnRzTGlzdFNlcnZpY2UuZGVsZXRlQ29tbWVudChjb21tZW50SWQpXHJcbiAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMubG9hZENvbW1lbnRzKCkpXHJcbiAgfVxyXG5cclxuICBhZGRIeXBlcmxpbmtJY29uQ2xpY2tlZCgpIHtcclxuICAgIHRoaXMuaXNBZGRpbmdIeXBlcmxpbmsgPSAhdGhpcy5pc0FkZGluZ0h5cGVybGluaztcclxuICB9XHJcblxyXG4gIGFkZEh5cGVybGlua0ljb25LZXlwcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICcgJykge1xyXG4gICAgICB0aGlzLmFkZEh5cGVybGlua0ljb25DbGlja2VkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVJbnRlcm1lZGlhdGVIeXBlcmxpbmsobGluazogUGFydGlhbDxXZWJTZGsuSHlwZXJsaW5rPikge1xyXG4gICAgdGhpcy5pbnRlcm1lZGlhdGVIeXBlcmxpbmtzID0gdGhpcy5pbnRlcm1lZGlhdGVIeXBlcmxpbmtzLmZpbHRlcihcclxuICAgICAgKGh5cGVybGluaykgPT4gaHlwZXJsaW5rICE9PSBsaW5rXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlSW50ZXJtZWRpYXRlSHlwZXJsaW5rS2V5cHJlc3MoXHJcbiAgICBldmVudDogS2V5Ym9hcmRFdmVudCxcclxuICAgIGxpbms6IFBhcnRpYWw8V2ViU2RrLkh5cGVybGluaz5cclxuICApIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnICcpIHtcclxuICAgICAgdGhpcy5yZW1vdmVJbnRlcm1lZGlhdGVIeXBlcmxpbmsobGluayk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0FjdFVzZXJBdXRob3IoaXRlbTogV2ViU2RrLkNvbW1lbnRSZXNwb25zZSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uYXV0aG9yPy5pZCA9PT0gdGhpcy51c2VySWQ7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5TmFtZShpdGVtOiBXZWJTZGsuQ29tbWVudFJlc3BvbnNlKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBpdGVtLmF1dGhvcj8uZGlzcGxheW5hbWUgPyBpdGVtLmF1dGhvcj8uZGlzcGxheW5hbWUgOiAnJztcclxuICB9XHJcblxyXG4gIGZvcm1hdERhdGUoZGF0ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGxvY2FsZSA9IHdpbmRvdy5uYXZpZ2F0b3IubGFuZ3VhZ2U7XHJcbiAgICBpZiAobG9jYWxlLmluY2x1ZGVzKCdlbicpKSB7XHJcbiAgICAgIGNvbnN0IHVuZm9ybWF0dGVkRGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgICByZXR1cm4gdW5mb3JtYXR0ZWREYXRlLmdldE1vbnRoKCkgKyAnLycgKyB1bmZvcm1hdHRlZERhdGUuZ2V0RGF0ZSgpICsgJy8nICsgdW5mb3JtYXR0ZWREYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodW5kZWZpbmVkLCB7IGRhdGVTdHlsZTogXCJzaG9ydFwiIH0pLmZvcm1hdChuZXcgRGF0ZShkYXRlKSk7XHJcbiAgfVxyXG5cclxuICBjbGVhclRleHRhcmVhVmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jbGVhclZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkQ29tbWVudHMoKSB7XHJcbiAgICB0aGlzLnN0YXR1c0JhclNlcnZpY2Uuc2V0U3RhdHVzQmFyRGF0YSh7c3RhdHVzQmFyVmlzaWJsZTogdHJ1ZSwgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdfTG9hZGluZyBjb21tZW50cyBsaXN0Jyl9KTtcclxuICAgIHRoaXMubG9hZGluZy5zZXQodHJ1ZSk7XHJcbiAgICB0aGlzLmJpbXBsdXNPYmplY3RDb21tZW50c0xpc3RTZXJ2aWNlXHJcbiAgICAgIC5sb2FkQ29tbWVudHModGhpcy5yb290T2JqZWN0SWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IGNvbW1lbnRzID0+IHRoaXMuY29tbWVudHNMaXN0JC5uZXh0KGNvbW1lbnRzKSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nLnNldChmYWxzZSk7XHJcbiAgICAgICAgICB0aGlzLnN0YXR1c0JhclNlcnZpY2Uuc2V0U3RhdHVzQmFyRGF0YSh7IHN0YXR1c0JhclZpc2libGU6IGZhbHNlLCB0aXRsZTogJycgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRIeXBlcmxpbmtzKG9iamVjdElkOiBzdHJpbmcpOiBQYXJ0aWFsPFdlYlNkay5IeXBlcmxpbms+W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuaW50ZXJtZWRpYXRlSHlwZXJsaW5rcy5tYXAoKGgpID0+ICh7XHJcbiAgICAgIC4uLmgsXHJcbiAgICAgIG9iamVjdElkLFxyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgb25FbnRlcktleVByZXNzZWRJbkh5cGVybGlua0Zvcm0oKSB7XHJcbiAgICB0aGlzLmFkZEludGVybWVkaWF0ZUh5cGVybGluaygpO1xyXG4gIH1cclxufVxyXG4iLCJAaWYgKCFsb2FkaW5nKCkpIHtcclxuPGRpdiBjbGFzcz1cImNvbW1lbnQtdGFiLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0ZXh0YXJlYS1jb250YWluZXJcIj5cclxuICAgIDxsaWItYmltcGx1cy10ZXh0YXJlYVxyXG4gICAgICAodGV4dEFyZWFWYWx1ZUNoYW5nZSk9XCJvblRleHRhcmVhVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICBbYWN0aXZlQXV0b1Jlc2l6ZVRleHRhcmVhXT1cInRydWVcIlxyXG4gICAgICBbbWluUm93c109XCJtaW5Sb3dzXCJcclxuICAgICAgW21heFJvd3NdPVwibWF4Um93c1wiXHJcbiAgICAgIFtjbGVhclZhbHVlXT1cImNsZWFyVGV4dGFyZWFWYWx1ZSgpXCJcclxuICAgID48L2xpYi1iaW1wbHVzLXRleHRhcmVhPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8bGliLWJpbXBsdXMtYXR0YWNobWVudHNcclxuICAgICNhdHRhY2htZW50c1xyXG4gICAgbGlzdE9ubHlcclxuICAgIFthdHRhY2htZW50c109XCJhdHRhY2htZW50c1N0YXRlKClcIlxyXG4gICAgKGFkZEF0dGFjaG1lbnQpPVwib25BZGRBdHRhY2htZW50KCRldmVudClcIlxyXG4gICAgKGRlbGV0ZUF0dGFjaG1lbnQpPVwib25EZWxldGVBdHRhY2htZW50KCRldmVudClcIlxyXG4gIC8+XHJcblxyXG4gIDxsaWItbGlua3MtdG8tZG9jdW1lbnRzIFxyXG4gICAgI2xpbmtzVG9Eb2N1bWVudHNcclxuICAgIGxpc3RPbmx5XHJcbiAgICBoaWRlQXR0YWNobWVudFNpemVcclxuICAgIHNob3dFbXB0eU1lc3NhZ2U9XCJmYWxzZVwiIFxyXG4gICAgW2F0dGFjaG1lbnRzXT1cImF0dGFjaG1lbnRMaW5rSXRlbXNcIlxyXG4gICAgKGF0dGFjaG1lbnRzQ2hhbmdlKT1cIm9uQXR0YWNobWVudHNDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBbYXBpXT1cImFwaVwiICAgICAgICBcclxuICAgIFtwcm9qZWN0XT1cInByb2plY3RcIlxyXG4gICAgW3Jvb3RPYmplY3RJZF09XCJyb290T2JqZWN0SWRcIlxyXG4gICAgW2NhbkNyZWF0ZUF0dGFjaG1lbnRMaW5rXT1cInRydWVcIlxyXG4gICAgW2NhbkRlbGV0ZUF0dGFjaG1lbnRMaW5rXT1cInRydWVcIlxyXG4gICAgW3dvcm1ob2xlU2VsZWN0b3JdPVwid29ybWhvbGVTZWxlY3RvclwiXHJcbiAgICBbZW52XT1cImVudlwiXHJcbiAgLz5cclxuXHJcbiAgQGlmIChpbnRlcm1lZGlhdGVIeXBlcmxpbmtzLmxlbmd0aCkge1xyXG4gICAgPGRpdiBjbGFzcz1cImludGVybWVkaWF0ZS1oeXBlcmxpbmtzLWxpc3RcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgbGluayBvZiBpbnRlcm1lZGlhdGVIeXBlcmxpbmtzXCIgY2xhc3M9XCJpbnRlcm1lZGlhdGUtaHlwZXJsaW5rXCIgdGl0bGU9XCJ7eyBsaW5rLnVybCB9fVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rLWljb24gaWNvbi1zbWFsbFwiIHRpdGxlPVwie3sgbGluay51cmwgfX1cIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiPnt7IGxpbmsubmFtZSB9fTwvZGl2PlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2FuY2VsLWljb25cIiB0aXRsZT1cInt7ICdfSHlwZXJsaW5rIGRlbGV0ZSBjb25maXJtYXRpb24gdGl0bGUnIHwgdHJhbnNsYXRlIH19XCIgKGNsaWNrKT1cInJlbW92ZUludGVybWVkaWF0ZUh5cGVybGluayhsaW5rKVwiIChrZXlkb3duKT1cInJlbW92ZUludGVybWVkaWF0ZUh5cGVybGlua0tleXByZXNzKCRldmVudCwgbGluaylcIj48L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG5cclxuICBAaWYgKGlzQWRkaW5nSHlwZXJsaW5rKSB7XHJcbiAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiaHlwZXJsaW5rRm9ybVwiIGNsYXNzPVwiaHlwZXJsaW5rLWlucHV0LWZvcm1cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaHlwZXJsaW5rLWlucHV0LXJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmstaWNvbiBpY29uLW5leHQtdG8tdGV4dC1pbnB1dFwiPjwvZGl2PlxyXG4gICAgICAgICAgPGxpYi1iaW1wbHVzLWlucHV0LXRleHQtZmllbGQgY2xhc3M9XCJmbGV4LWdyb3dcIiBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCIgcGxhY2Vob2xkZXI9XCJ7eyAnX05hbWUnIHwgdHJhbnNsYXRlIH19XCIgKGVudGVyS2V5UHJlc3NlZCk9XCJvbkVudGVyS2V5UHJlc3NlZEluSHlwZXJsaW5rRm9ybSgpXCIvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoeXBlcmxpbmstaW5wdXQtcm93XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1uZXh0LXRvLXRleHQtaW5wdXRcIj48L2Rpdj5cclxuICAgICAgICAgIDxsaWItYmltcGx1cy1pbnB1dC10ZXh0LWZpZWxkIGNsYXNzPVwiZmxleC1ncm93XCIgZm9ybUNvbnRyb2xOYW1lPVwidXJsXCIgcGxhY2Vob2xkZXI9XCJ7eyAnX1VSTCcgfCB0cmFuc2xhdGUgfX1cIiAoZW50ZXJLZXlQcmVzc2VkKT1cIm9uRW50ZXJLZXlQcmVzc2VkSW5IeXBlcmxpbmtGb3JtKClcIi8+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxsaWItYmltcGx1cy1idXR0b25zLXJvdyBbaXRlbXNdPVwiaHlwZXJsaW5rQnV0dG9uUm93SXRlbXNcIiAoYnV0dG9uQ2xpY2tlZCk9XCJoeXBlcmxpbmtCdXR0b25Sb3dCdXR0b25DbGlja2VkKCRldmVudClcIi8+XHJcbiAgICAgIDwvZm9ybT5cclxuICB9XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJjb21tZW50cy10YWItYXR0YWNobWVudHMtc2VjdGlvblwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbW1lbnRzLWF0dGFjaG1lbnRzLWxpc3RcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRhYi1hdHRhY2htZW50cyBpY29uIGF0dGFjaG1lbnRzLWljb24gaGlkZGVuXCI+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhdHRhY2htZW50LWljb24gaWNvbi1zbWFsbCBpbnRlcmFjdGl2ZVwiIFt0aXRsZV09XCInX0FkZCBhdHRhY2htZW50JyB8IHRyYW5zbGF0ZVwiIChjbGljayk9XCJhdHRhY2htZW50cy5vcGVuKClcIiAoa2V5ZG93bik9XCJhdHRhY2htZW50cy5vcGVuKClcIj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImxpbmstaWNvbiBpY29uLXNtYWxsIGludGVyYWN0aXZlXCIgW3RpdGxlXT1cIidfQWRkIGh5cGVybGluaycgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwiYWRkSHlwZXJsaW5rSWNvbkNsaWNrZWQoKVwiIChrZXlkb3duKT1cImFkZEh5cGVybGlua0ljb25LZXlwcmVzcygkZXZlbnQpXCI+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsaW5rLWRvY3VtZW50LWljb24gaWNvbi1zbWFsbCBpbnRlcmFjdGl2ZVwiIFt0aXRsZV09XCInX0FkZF9hdHRhY2htZW50X2xpbmsnIHwgdHJhbnNsYXRlXCIgKGNsaWNrKT1cImxpbmtzVG9Eb2N1bWVudHMuY3JlYXRlQXR0YWNobWVudExpbmsoYXBpISlcIiAoa2V5ZG93bik9XCJsaW5rc1RvRG9jdW1lbnRzLmNyZWF0ZUF0dGFjaG1lbnRMaW5rKGFwaSEpXCI+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWItYXR0YWNobWVudGxpbmtzIGljb24gYXR0YWNobWVudHMtaWNvbiBoaWRkZW5cIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImFkZC1jb21tZW50XCI+XHJcbiAgICAgIDxsaWItYmltcGx1cy1idXR0b25zLXJvd1xyXG4gICAgICAgIFtpdGVtc109XCJidXR0b25Sb3dJdGVtc1wiXHJcbiAgICAgICAgKGJ1dHRvbkNsaWNrZWQpPVwiYnV0dG9uUm93QnV0dG9uQ2xpY2tlZCgkZXZlbnQpXCIgLz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiY29tbWVudHMtc2VwYXJhdG9yXCI+PC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJzY3JvbGxhYmxlLWNvbnRlbnQtY29udGFpbmVyXCI+XHJcbiAgICA8bGliLWJpbXBsdXMtc2Nyb2xsYWJsZS1jb250YWluZXI+XHJcbiAgICAgIEBmb3IgKGl0ZW0gb2YgY29tbWVudHNMaXN0JCB8IGFzeW5jOyB0cmFjayBpdGVtKSB7XHJcbiAgICAgICAgQGlmKGl0ZW0uY3JlYXRlZEF0ICYmIGlzU2FtZURhdGUoaXRlbS5jcmVhdGVkQXQpKVxyXG4gICAgICAgIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1saXN0LWRhdGVcIj5cclxuICAgICAgICAgIHt7Zm9ybWF0RGF0ZShpdGVtLmNyZWF0ZWRBdCl9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICA8bGliLWJpbXBsdXMtY29tbWVudFxyXG4gICAgICAgICAgKG91dHB1dEFjdGlvbkNvbW1lbnRFdmVudCk9XCJoYW5kbGVBY3Rpb25Db21tZW50RXZlbnQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoZ2V0QXR0YWNobWVudCk9XCJvbkdldEF0dGFjaG1lbnQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbbWVzc2FnZV09XCJpdGVtLnRleHRcIlxyXG4gICAgICAgICAgW2FwaV09XCJhcGlcIlxyXG4gICAgICAgICAgW2RhdGVdPVwiaXRlbS5jcmVhdGVkQXQgPyBpdGVtLmNyZWF0ZWRBdCA6ICcnXCJcclxuICAgICAgICAgIGFjdGlvbj1cImRlbGV0ZVwiXHJcbiAgICAgICAgICBbY29tbWVudElkXT1cIml0ZW0uaWRcIlxyXG4gICAgICAgICAgW2F0dGFjaG1lbnRzXT1cIml0ZW0uYXR0YWNobWVudHMgPz8gW11cIlxyXG4gICAgICAgICAgW2F0dGFjaG1lbnRMaW5rSXRlbXNdPVwiaXRlbS5hdHRhY2htZW50TGlua3MgPz8gW11cIlxyXG4gICAgICAgICAgW2h5cGVybGlua3NdPVwiaXRlbS5oeXBlcmxpbmtzXCJcclxuICAgICAgICAgIFtpc0FjdFVzZXJBdXRob3JdPVwiaXNBY3RVc2VyQXV0aG9yKGl0ZW0pXCJcclxuICAgICAgICAgIFtkaXNwbGF5bmFtZV09XCJkaXNwbGF5TmFtZShpdGVtKVwiPlxyXG4gICAgICAgIDwvbGliLWJpbXBsdXMtY29tbWVudD5cclxuICAgICAgfVxyXG4gICAgPC9saWItYmltcGx1cy1zY3JvbGxhYmxlLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG59XHJcbiJdfQ==
|
package/esm2022/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.service.mjs
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { inject, Injectable } from '@angular/core';
|
|
2
|
+
import { defaultIfEmpty, first, forkJoin, from, map, of, switchMap } from 'rxjs';
|
|
3
|
+
import { BimplusAttachmentsService } from '../bimplus-attachments/services/bimplus-attachments.service';
|
|
4
|
+
import { postAttachmentLinks } from '../links-to-documents/links-to-documents.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class BimplusObjectCommentsListService {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.bimplusAttachmentsService = inject(BimplusAttachmentsService);
|
|
9
|
+
}
|
|
10
|
+
deleteComment(commentId) {
|
|
11
|
+
return from(this.api.comments.delete(commentId));
|
|
12
|
+
}
|
|
13
|
+
downloadAttachment(attachment) {
|
|
14
|
+
const { id, fileName } = attachment;
|
|
15
|
+
if (!this.api) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const api = this.api;
|
|
19
|
+
const path = `${api.getApiTeamUrl()}attachments/${id}/download?api-token=${api.getAccessToken()}&openInBrowser=true`;
|
|
20
|
+
this.bimplusAttachmentsService.download(path, fileName);
|
|
21
|
+
}
|
|
22
|
+
postComments(rootObjectId, dataText, hyperlinks, attachments, newAttachmentIDs) {
|
|
23
|
+
return from(this.api.objects.postComment(rootObjectId, dataText))
|
|
24
|
+
.pipe(switchMap(createdComment => {
|
|
25
|
+
const { id } = createdComment;
|
|
26
|
+
const formData$ = attachments
|
|
27
|
+
.map(attachment => {
|
|
28
|
+
const attachmentsPayload = new FormData();
|
|
29
|
+
attachmentsPayload.append('file', attachment.file);
|
|
30
|
+
attachmentsPayload.append('name', attachment.fileName);
|
|
31
|
+
attachmentsPayload.append('size', attachment.file.size.toString());
|
|
32
|
+
attachmentsPayload.append('type', attachment.file.type);
|
|
33
|
+
attachmentsPayload.append('objectId', rootObjectId);
|
|
34
|
+
return attachmentsPayload;
|
|
35
|
+
});
|
|
36
|
+
return of(formData$).pipe(map(formData => ({ formData, id })));
|
|
37
|
+
}), switchMap(({ id: createdCommentId, formData }) => {
|
|
38
|
+
const callback = function () { console.info(''); };
|
|
39
|
+
const calls = formData?.map(data => from(this.api.objects.postAttachment(createdCommentId, data, callback, '')));
|
|
40
|
+
return calls?.length ? forkJoin(calls).pipe(map(() => createdCommentId)) : of(createdCommentId);
|
|
41
|
+
}), switchMap(createdCommentId => {
|
|
42
|
+
return postAttachmentLinks(newAttachmentIDs, createdCommentId, this.api).pipe(map(() => createdCommentId));
|
|
43
|
+
}), switchMap(createdCommentId => {
|
|
44
|
+
return this.manageHyperLinks(createdCommentId, hyperlinks);
|
|
45
|
+
}), defaultIfEmpty(null), first());
|
|
46
|
+
}
|
|
47
|
+
loadComments(objectId) {
|
|
48
|
+
return from(this.api.objects.getComments(objectId));
|
|
49
|
+
}
|
|
50
|
+
manageHyperLinks(createdCommentId, hyperlinks) {
|
|
51
|
+
const hyperlinkPromises = [];
|
|
52
|
+
hyperlinks.forEach((h) => {
|
|
53
|
+
const hyperlinkData = JSON.stringify(h);
|
|
54
|
+
const promise = this.api?.objects
|
|
55
|
+
.postHyperlink(createdCommentId, hyperlinkData)
|
|
56
|
+
.catch((err) => {
|
|
57
|
+
console.log(err);
|
|
58
|
+
});
|
|
59
|
+
hyperlinkPromises.push(promise);
|
|
60
|
+
});
|
|
61
|
+
return from(Promise.all(hyperlinkPromises));
|
|
62
|
+
}
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BimplusObjectCommentsListService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
64
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BimplusObjectCommentsListService }); }
|
|
65
|
+
}
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BimplusObjectCommentsListService, decorators: [{
|
|
67
|
+
type: Injectable
|
|
68
|
+
}] });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1vYmplY3QtY29tbWVudHMtbGlzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1vYmplY3QtY29tbWVudHMtbGlzdC9iaW1wbHVzLW9iamVjdC1jb21tZW50cy1saXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUV4RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7QUFHekYsTUFBTSxPQUFPLGdDQUFnQztJQUQ3QztRQUltQiw4QkFBeUIsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztLQTRFaEY7SUExRVEsYUFBYSxDQUFDLFNBQWlCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxVQUFzQjtRQUM5QyxNQUFNLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLFVBQVUsQ0FBQztRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2QsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ3JCLE1BQU0sSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFD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Q3BCLEtBQUssRUFBRSxDQUNSLENBQUE7SUFDSCxDQUFDO0lBRU0sWUFBWSxDQUFDLFFBQWdCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxnQkFBZ0IsQ0FDckIsZ0JBQXdCLEVBQ3hCLFVBQXVDO1FBRXZDLE1BQU0saUJBQWlCLEdBQ3JCLEVBQUUsQ0FBQztRQUVMLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN2QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTztpQkFDOUIsYUFBYSxDQUFDLGdCQUFnQixFQUFFLGFBQWEsQ0FBQztpQkFDOUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQztZQUNMLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7K0dBOUVVLGdDQUFnQzttSEFBaEMsZ0NBQWdDOzs0RkFBaEMsZ0NBQWdDO2tCQUQ1QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBXZWJTZGsgZnJvbSAnYmltcGx1cy13ZWJzZGsnO1xyXG5pbXBvcnQge2RlZmF1bHRJZkVtcHR5LCBmaXJzdCwgZm9ya0pvaW4sIGZyb20sIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJpbXBsdXNBdHRhY2htZW50c1NlcnZpY2UgfSBmcm9tICcuLi9iaW1wbHVzLWF0dGFjaG1lbnRzL3NlcnZpY2VzL2JpbXBsdXMtYXR0YWNobWVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEF0dGFjaG1lbnQgfSBmcm9tICcuLi9iaW1wbHVzLWF0dGFjaG1lbnRzL2JpbXBsdXMtYXR0YWNobWVudHMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgcG9zdEF0dGFjaG1lbnRMaW5rcyB9IGZyb20gJy4uL2xpbmtzLXRvLWRvY3VtZW50cy9saW5rcy10by1kb2N1bWVudHMuY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEJpbXBsdXNPYmplY3RDb21tZW50c0xpc3RTZXJ2aWNlIHtcclxuICBwdWJsaWMgYXBpITogV2ViU2RrLkFwaTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBiaW1wbHVzQXR0YWNobWVudHNTZXJ2aWNlID0gaW5qZWN0KEJpbXBsdXNBdHRhY2htZW50c1NlcnZpY2UpO1xyXG5cclxuICBwdWJsaWMgZGVsZXRlQ29tbWVudChjb21tZW50SWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIGZyb20odGhpcy5hcGkuY29tbWVudHMuZGVsZXRlKGNvbW1lbnRJZCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRvd25sb2FkQXR0YWNobWVudChhdHRhY2htZW50OiBBdHRhY2htZW50KSB7XHJcbiAgICBjb25zdCB7IGlkLCBmaWxlTmFtZSB9ID0gYXR0YWNobWVudDtcclxuICAgIGlmICghdGhpcy5hcGkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgYXBpID0gdGhpcy5hcGk7XHJcbiAgICBjb25zdCBwYXRoID0gYCR7YXBpLmdldEFwaVRlYW1VcmwoKX1hdHRhY2htZW50cy8ke2lkfS9kb3dubG9hZD9hcGktdG9rZW49JHthcGkuZ2V0QWNjZXNzVG9rZW4oKX0mb3BlbkluQnJvd3Nlcj10cnVlYDtcclxuICAgIHRoaXMuYmltcGx1c0F0dGFjaG1lbnRzU2VydmljZS5kb3dubG9hZChwYXRoLCBmaWxlTmFtZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcG9zdENvbW1lbnRzKHJvb3RPYmplY3RJZDogc3RyaW5nLCBkYXRhVGV4dDogc3RyaW5nLCBoeXBlcmxpbmtzOiBQYXJ0aWFsPFdlYlNkay5IeXBlcmxpbms+W10sIGF0dGFjaG1lbnRzOiBBdHRhY2htZW50W10sIG5ld0F0dGFjaG1lbnRJRHM6IHN0cmluZ1tdKSB7XHJcbiAgICByZXR1cm4gZnJvbSh0aGlzLmFwaS5vYmplY3RzLnBvc3RDb21tZW50KHJvb3RPYmplY3RJZCwgZGF0YVRleHQpKVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcChjcmVhdGVkQ29tbWVudCA9PiB7XHJcbiAgICAgICAgY29uc3QgeyBpZCB9ID0gY3JlYXRlZENvbW1lbnQ7XHJcblxyXG4gICAgICAgIGNvbnN0IGZvcm1EYXRhJCA9IGF0dGFjaG1lbnRzXHJcbiAgICAgICAgICAubWFwKGF0dGFjaG1lbnQgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBhdHRhY2htZW50c1BheWxvYWQgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgICAgICAgICAgYXR0YWNobWVudHNQYXlsb2FkLmFwcGVuZCgnZmlsZScsIGF0dGFjaG1lbnQuZmlsZSEpO1xyXG4gICAgICAgICAgICBhdHRhY2htZW50c1BheWxvYWQuYXBwZW5kKCduYW1lJywgYXR0YWNobWVudC5maWxlTmFtZSk7XHJcbiAgICAgICAgICAgIGF0dGFjaG1lbnRzUGF5bG9hZC5hcHBlbmQoJ3NpemUnLCBhdHRhY2htZW50LmZpbGUhLnNpemUudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIGF0dGFjaG1lbnRzUGF5bG9hZC5hcHBlbmQoJ3R5cGUnLCBhdHRhY2htZW50LmZpbGUhLnR5cGUpO1xyXG4gICAgICAgICAgICBhdHRhY2htZW50c1BheWxvYWQuYXBwZW5kKCdvYmplY3RJZCcsIHJvb3RPYmplY3RJZCk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gYXR0YWNobWVudHNQYXlsb2FkO1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBvZihmb3JtRGF0YSQpLnBpcGUobWFwKGZvcm1EYXRhID0+ICh7IGZvcm1EYXRhLCBpZCB9KSkpO1xyXG4gICAgICB9KSxcclxuICAgICAgc3dpdGNoTWFwKCh7IGlkOiBjcmVhdGVkQ29tbWVudElkLCBmb3JtRGF0YSB9KSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2FsbGJhY2sgPSBmdW5jdGlvbigpIHsgY29uc29sZS5pbmZvKCcnKSB9O1xyXG4gICAgICAgIGNvbnN0IGNhbGxzID0gZm9ybURhdGE/Lm1hcChkYXRhID0+IGZyb20odGhpcy5hcGkub2JqZWN0cy5wb3N0QXR0YWNobWVudChjcmVhdGVkQ29tbWVudElkLCBkYXRhLCBjYWxsYmFjaywgJycpKSk7XHJcblxyXG4gICAgICAgIHJldHVybiBjYWxscz8ubGVuZ3RoID8gZm9ya0pvaW4oY2FsbHMpLnBpcGUobWFwKCgpID0+IGNyZWF0ZWRDb21tZW50SWQpKSA6IG9mKGNyZWF0ZWRDb21tZW50SWQpO1xyXG4gICAgICB9KSxcclxuICAgICAgc3dpdGNoTWFwKGNyZWF0ZWRDb21tZW50SWQgPT4ge1xyXG4gICAgICAgIHJldHVybiBwb3N0QXR0YWNobWVudExpbmtzKG5ld0F0dGFjaG1lbnRJRHMsIGNyZWF0ZWRDb21tZW50SWQsIHRoaXMuYXBpKS5waXBlKG1hcCgoKSA9PiBjcmVhdGVkQ29tbWVudElkKSlcclxuICAgICAgfSksXHJcbiAgICAgIHN3aXRjaE1hcChjcmVhdGVkQ29tbWVudElkID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5tYW5hZ2VIeXBlckxpbmtzKGNyZWF0ZWRDb21tZW50SWQsIGh5cGVybGlua3MpO1xyXG4gICAgICB9KSxcclxuICAgICAgZGVmYXVsdElmRW1wdHkobnVsbCksXHJcbiAgICAgIGZpcnN0KClcclxuICAgIClcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2FkQ29tbWVudHMob2JqZWN0SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8V2ViU2RrLkNvbW1lbnRzUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBmcm9tKHRoaXMuYXBpLm9iamVjdHMuZ2V0Q29tbWVudHMob2JqZWN0SWQpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBtYW5hZ2VIeXBlckxpbmtzKFxyXG4gICAgY3JlYXRlZENvbW1lbnRJZDogc3RyaW5nLFxyXG4gICAgaHlwZXJsaW5rczogUGFydGlhbDxXZWJTZGsuSHlwZXJsaW5rPltdXHJcbiAgKSB7XHJcbiAgICBjb25zdCBoeXBlcmxpbmtQcm9taXNlczogKFByb21pc2U8dm9pZCB8IFdlYlNkay5IeXBlcmxpbms+IHwgdW5kZWZpbmVkKVtdID1cclxuICAgICAgW107XHJcblxyXG4gICAgaHlwZXJsaW5rcy5mb3JFYWNoKChoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGh5cGVybGlua0RhdGEgPSBKU09OLnN0cmluZ2lmeShoKTtcclxuICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuYXBpPy5vYmplY3RzXHJcbiAgICAgICAgLnBvc3RIeXBlcmxpbmsoY3JlYXRlZENvbW1lbnRJZCwgaHlwZXJsaW5rRGF0YSlcclxuICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB9KTtcclxuICAgICAgaHlwZXJsaW5rUHJvbWlzZXMucHVzaChwcm9taXNlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBmcm9tKFByb21pc2UuYWxsKGh5cGVybGlua1Byb21pc2VzKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1c09iamVjdENvbW1lbnRzSS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LWNvbW1lbnRzLWxpc3QvYmltcGx1c09iamVjdENvbW1lbnRzSS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJRGlhbG9nQ29uZmlybUNsb3NlIHtcclxuICAgIGNvbXBvbmVudERpYWxvZ05hbWU6IHN0cmluZztcclxuICAgIGFjdGlvbkJ1dHRvbjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbW1lbnRPdXRwdXREYXRhIHtcclxuICAgIGFjdGlvbjogc3RyaW5nO1xyXG4gICAgZGF0YTogdW5rbm93bjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb21tZW50RGF0YSB7XHJcbiAgICBjb21tZW50SWQ6IHN0cmluZztcclxufSJdfQ==
|