ngx-bimplus-components 0.0.148 → 0.0.149-28792-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.
Files changed (174) hide show
  1. package/assets/images/default/Attachment_18_gray.svg +1 -0
  2. package/assets/images/default/Attachment_18_maincolor.svg +3 -0
  3. package/assets/images/default/Attachmentlink_18_gray.svg +7 -0
  4. package/assets/images/default/Attachmentlink_18_maincolor.svg +7 -0
  5. package/assets/images/default/Comments_18_gray.svg +1 -0
  6. package/assets/images/default/Comments_18_maincolor.svg +4 -0
  7. package/assets/images/default/Links_18_gray.svg +1 -0
  8. package/assets/images/default/Links_18_maincolor.svg +4 -0
  9. package/assets/images/default/ic_models.svg +3 -0
  10. package/assets/images/default/ic_models_maincolor.svg +3 -0
  11. package/assets/images/default/icn_grid_attachments.png +0 -0
  12. package/assets/images/default/icn_grid_hyperlinks.png +0 -0
  13. package/assets/languages/strings_cs.json +24 -72
  14. package/assets/languages/strings_de.json +4 -15
  15. package/assets/languages/strings_en.json +5 -5
  16. package/assets/languages/strings_es.json +6 -54
  17. package/assets/languages/strings_fr.json +6 -50
  18. package/assets/languages/strings_it.json +2 -50
  19. package/assets/languages/strings_nl.json +796 -796
  20. package/assets/languages/strings_ro.json +7 -55
  21. package/assets/languages/strings_ru.json +45 -93
  22. package/assets/languages/strings_tr.json +2 -50
  23. package/assets/languages/strings_us.json +8 -44
  24. package/esm2022/lib/components/bimplus-attachments/bimplus-attachments.component.mjs +69 -0
  25. package/esm2022/lib/components/bimplus-attachments/bimplus-attachments.interface.mjs +34 -0
  26. package/esm2022/lib/components/bimplus-attachments/components/bimplus-attachment-item/bimplus-attachment-item.component.mjs +82 -0
  27. package/esm2022/lib/components/bimplus-attachments/services/bimplus-attachments.service.mjs +49 -0
  28. package/esm2022/lib/components/bimplus-buttons-row/bimplus-buttons-row.component.mjs +20 -7
  29. package/esm2022/lib/components/bimplus-buttons-row/bimplus-buttons-row.interface.mjs +5 -2
  30. package/esm2022/lib/components/bimplus-comment/bimplus-comment.component.mjs +68 -0
  31. package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.component.mjs +7 -7
  32. package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.interface.mjs +1 -1
  33. package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.service.mjs +4 -4
  34. package/esm2022/lib/components/bimplus-connection-designer-results/bimplus-connection-designer-results.component.mjs +5 -5
  35. package/esm2022/lib/components/bimplus-connection-designer-results/bimplus-connection-designer-results.interface.mjs +1 -1
  36. package/esm2022/lib/components/bimplus-contact/bimplus-contact.component.mjs +5 -5
  37. package/esm2022/lib/components/bimplus-context-menu/bimplus-context-menu.component.mjs +3 -3
  38. package/esm2022/lib/components/bimplus-context-menu/bimplus-context-menu.interface.mjs +1 -1
  39. package/esm2022/lib/components/bimplus-flat-tree/bimplus-flat-tree.component.mjs +5 -5
  40. package/esm2022/lib/components/bimplus-flat-tree/bimplus-flat-tree.interface.mjs +1 -1
  41. package/esm2022/lib/components/bimplus-floating-bar/bimplus-floating-bar.component.mjs +5 -5
  42. package/esm2022/lib/components/bimplus-floating-bar/bimplus-floating-bar.interface.mjs +1 -1
  43. package/esm2022/lib/components/bimplus-floating-bar-body/bimplus-floating-bar-body.component.mjs +5 -5
  44. package/esm2022/lib/components/bimplus-floating-bar-dragger/bimplus-floating-bar-dragger.component.mjs +5 -5
  45. package/esm2022/lib/components/bimplus-floating-bar-header-content/bimplus-floating-bar-header-content.component.mjs +3 -3
  46. package/esm2022/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.mjs +4 -4
  47. package/esm2022/lib/components/bimplus-floating-bar-hide-objects/bimplus-floating-bar-hide-objects.component.mjs +3 -3
  48. package/esm2022/lib/components/bimplus-floating-bar-isolation-objects/bimplus-floating-bar-isolation-objects.component.mjs +4 -4
  49. package/esm2022/lib/components/bimplus-floating-bar-project-navigator/bimplus-floating-bar-project-navigator.component.mjs +3 -3
  50. package/esm2022/lib/components/bimplus-general-overlay-dialog/bimplus-general-overlay-dialog.component.mjs +4 -4
  51. package/esm2022/lib/components/bimplus-general-overlay-dialog/bimplus-general-overlay-dialog.service.mjs +3 -3
  52. package/esm2022/lib/components/bimplus-input-text-field/bimplus-input-text-field.component.mjs +58 -0
  53. package/esm2022/lib/components/bimplus-language-menu/bimplus-language-menu.component.mjs +3 -3
  54. package/esm2022/lib/components/bimplus-localized-widget/bimplus-localized-widget.component.mjs +5 -5
  55. package/esm2022/lib/components/bimplus-main-menu/bimplus-main-menu.component.mjs +3 -3
  56. package/esm2022/lib/components/bimplus-navbar/bimplus-navbar.component.mjs +3 -3
  57. package/esm2022/lib/components/bimplus-notify/bimplus-notify.component.mjs +5 -5
  58. package/esm2022/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.component.mjs +242 -0
  59. package/esm2022/lib/components/bimplus-object-comments-list/bimplusObjectCommentsI.mjs +2 -0
  60. package/esm2022/lib/components/bimplus-object-complex-properties/bimplus-object-complex-properties.component.mjs +5 -5
  61. package/esm2022/lib/components/bimplus-object-navigator/bimplus-object-navigator.component.mjs +5 -5
  62. package/esm2022/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.component.mjs +5 -5
  63. package/esm2022/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.interface.mjs +1 -1
  64. package/esm2022/lib/components/bimplus-object-navigator/filter-criterium/filter-criterium.component.mjs +3 -3
  65. package/esm2022/lib/components/bimplus-object-navigator/object-filter-result/object-filter-result.component.mjs +5 -5
  66. package/esm2022/lib/components/bimplus-object-structure/bimplus-object-structure.component.mjs +5 -5
  67. package/esm2022/lib/components/bimplus-overlay-dialog-confirm/bimplus-overlay-dialog-confirm.component.mjs +76 -0
  68. package/esm2022/lib/components/bimplus-overlay-dialog-delete/bimplus-overlay-dialog-delete.component.mjs +78 -0
  69. package/esm2022/lib/components/bimplus-overlay-dialog-error/bimplus-overlay-dialog-error.component.mjs +3 -3
  70. package/esm2022/lib/components/bimplus-overlay-dialog-warning/bimplus-overlay-dialog-warning.component.mjs +10 -7
  71. package/esm2022/lib/components/bimplus-panel-toolbar/bimplus-panel-toolbar.component.mjs +5 -5
  72. package/esm2022/lib/components/bimplus-project-menu/bimplus-project-menu.component.mjs +3 -3
  73. package/esm2022/lib/components/bimplus-scrollable-container/bimplus-scrollable-container.component.mjs +5 -5
  74. package/esm2022/lib/components/bimplus-sidenav/bimplus-sidenav.component.mjs +3 -3
  75. package/esm2022/lib/components/bimplus-sidenav-drawer-content/bimplus-sidenav-drawer-content.component.mjs +3 -3
  76. package/esm2022/lib/components/bimplus-storage-info/bimplus-storage-info.component.mjs +3 -3
  77. package/esm2022/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.component.mjs +38 -0
  78. package/esm2022/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.interface.mjs +10 -0
  79. package/esm2022/lib/components/bimplus-tabs-switcher/components/bimplus-tab/bimplus-tab.component.mjs +89 -0
  80. package/esm2022/lib/components/bimplus-tabs-switcher/services/bimplus-tabs-switcher.service.mjs +33 -0
  81. package/esm2022/lib/components/bimplus-text-message/bimplus-text-message.component.mjs +3 -3
  82. package/esm2022/lib/components/bimplus-textarea/autoResizeTextarea.directive.mjs +83 -0
  83. package/esm2022/lib/components/bimplus-textarea/bimplus-textarea.component.mjs +122 -0
  84. package/esm2022/lib/components/bimplus-tool-hub/bimplus-tool-hub.component.mjs +3 -3
  85. package/esm2022/lib/components/bimplus-tool-hub/svgGenerator.mjs +1 -1
  86. package/esm2022/lib/components/bimplus-tool-hub/tool-hub-item/tool-hub-item.component.mjs +3 -3
  87. package/esm2022/lib/components/bimplus-tool-hub/tool-hub-sub-item/tool-hub-sub-item.component.mjs +3 -3
  88. package/esm2022/lib/components/bimplus-tooltip-message/bimplus-tooltip-message.component.mjs +5 -5
  89. package/esm2022/lib/components/bimplus-tooltip-message/bimplus-tooltip-message.interface.mjs +1 -1
  90. package/esm2022/lib/components/bimplus-touch-menu/bimplus-touch-menu.component.mjs +5 -5
  91. package/esm2022/lib/components/bimplus-user-menu/bimplus-user-menu.component.mjs +3 -3
  92. package/esm2022/lib/components/bimplus-zoom/bimplus-zoom.component.mjs +5 -5
  93. package/esm2022/lib/components/expansion-panel/expansion-panel.component.mjs +3 -3
  94. package/esm2022/lib/components/expansion-panel-header/expansion-panel-header.component.mjs +3 -3
  95. package/esm2022/lib/components/expansion-panel-header-actions/expansion-panel-header-actions.component.mjs +3 -3
  96. package/esm2022/lib/components/links-to-documents/links-to-documents.component.interface.mjs +2 -0
  97. package/esm2022/lib/components/links-to-documents/links-to-documents.component.mjs +337 -0
  98. package/esm2022/lib/components/loading-spinner/loading-spinner.component.mjs +3 -3
  99. package/esm2022/lib/components/object-hyperlinks/object-hyperlinks.component.mjs +141 -0
  100. package/esm2022/lib/components/object-hyperlinks-item/object-hyperlinks-item.component.mjs +36 -0
  101. package/esm2022/lib/components/object-properties/object-properties.component.mjs +261 -0
  102. package/esm2022/lib/components/object-properties/object-properties.interface.mjs +2 -0
  103. package/esm2022/lib/components/object-properties-group/object-properties-group.component.mjs +40 -0
  104. package/esm2022/lib/components/object-properties-group/object-property-value/object-property-value.component.mjs +55 -0
  105. package/esm2022/lib/components/object-properties-header/object-properties-header.component.mjs +21 -6
  106. package/esm2022/lib/components/object-properties-header/object-properties-header.interface.mjs +1 -1
  107. package/esm2022/lib/components/project-models/project-models.component.mjs +3 -3
  108. package/esm2022/lib/components/project-models/project-models.interface.mjs +1 -1
  109. package/esm2022/lib/components/resizable-panel/resizable-panel.component.mjs +5 -5
  110. package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +4 -4
  111. package/esm2022/lib/directives/component-draggable/componentsDraggable.directive.mjs +3 -3
  112. package/esm2022/lib/directives/draggable.directive.mjs +3 -3
  113. package/esm2022/lib/directives/resizable.directive.mjs +4 -4
  114. package/esm2022/lib/directives/x-draggable.directive.mjs +3 -3
  115. package/esm2022/lib/interfaces/bimplus-opacity-properties.interface.mjs +1 -1
  116. package/esm2022/lib/interfaces/bimplus-visibility-properties.interface.mjs +1 -1
  117. package/esm2022/lib/ngx-bimplus-components.component.mjs +3 -3
  118. package/esm2022/lib/ngx-bimplus-components.service.mjs +3 -3
  119. package/esm2022/lib/pipes/bit-converter.pipe.mjs +46 -0
  120. package/esm2022/lib/pipes/get-attribute-value.pipe.mjs +110 -0
  121. package/esm2022/lib/pipes/pxsuffix.pipe.mjs +3 -3
  122. package/esm2022/lib/pipes/round.pipe.mjs +20 -0
  123. package/esm2022/lib/services/cursors.service.mjs +3 -3
  124. package/esm2022/lib/services/language-strings.service.mjs +3 -3
  125. package/esm2022/lib/services/layout-manager.service.mjs +3 -3
  126. package/esm2022/lib/services/local-storage.service.mjs +4 -4
  127. package/esm2022/lib/services/resize-observer.service.mjs +4 -4
  128. package/esm2022/lib/types/types.mjs +1 -1
  129. package/esm2022/lib/utils/filterString.mjs +1 -1
  130. package/esm2022/lib/utils/filterStructureFetcher.mjs +1 -1
  131. package/esm2022/lib/utils/objectProperties.mjs +9 -0
  132. package/esm2022/lib/utils/utils.mjs +1 -1
  133. package/esm2022/public-api.mjs +17 -1
  134. package/fesm2022/ngx-bimplus-components.mjs +2323 -249
  135. package/fesm2022/ngx-bimplus-components.mjs.map +1 -1
  136. package/lib/components/bimplus-attachments/bimplus-attachments.component.d.ts +25 -0
  137. package/lib/components/bimplus-attachments/bimplus-attachments.interface.d.ts +19 -0
  138. package/lib/components/bimplus-attachments/components/bimplus-attachment-item/bimplus-attachment-item.component.d.ts +26 -0
  139. package/lib/components/bimplus-attachments/services/bimplus-attachments.service.d.ts +12 -0
  140. package/lib/components/bimplus-buttons-row/bimplus-buttons-row.component.d.ts +9 -3
  141. package/lib/components/bimplus-buttons-row/bimplus-buttons-row.interface.d.ts +5 -0
  142. package/lib/components/bimplus-comment/bimplus-comment.component.d.ts +34 -0
  143. package/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.d.ts +1 -1
  144. package/lib/components/bimplus-input-text-field/bimplus-input-text-field.component.d.ts +17 -0
  145. package/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.component.d.ts +51 -0
  146. package/lib/components/bimplus-object-comments-list/bimplusObjectCommentsI.d.ts +11 -0
  147. package/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.component.d.ts +7 -7
  148. package/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.interface.d.ts +3 -3
  149. package/lib/components/bimplus-overlay-dialog-confirm/bimplus-overlay-dialog-confirm.component.d.ts +31 -0
  150. package/lib/components/bimplus-overlay-dialog-delete/bimplus-overlay-dialog-delete.component.d.ts +26 -0
  151. package/lib/components/bimplus-overlay-dialog-warning/bimplus-overlay-dialog-warning.component.d.ts +3 -0
  152. package/lib/components/bimplus-scrollable-container/bimplus-scrollable-container.component.d.ts +1 -1
  153. package/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.component.d.ts +16 -0
  154. package/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.interface.d.ts +18 -0
  155. package/lib/components/bimplus-tabs-switcher/components/bimplus-tab/bimplus-tab.component.d.ts +36 -0
  156. package/lib/components/bimplus-tabs-switcher/services/bimplus-tabs-switcher.service.d.ts +15 -0
  157. package/lib/components/bimplus-textarea/autoResizeTextarea.directive.d.ts +24 -0
  158. package/lib/components/bimplus-textarea/bimplus-textarea.component.d.ts +42 -0
  159. package/lib/components/links-to-documents/links-to-documents.component.d.ts +55 -0
  160. package/lib/components/links-to-documents/links-to-documents.component.interface.d.ts +11 -0
  161. package/lib/components/object-hyperlinks/object-hyperlinks.component.d.ts +32 -0
  162. package/lib/components/object-hyperlinks-item/object-hyperlinks-item.component.d.ts +15 -0
  163. package/lib/components/object-properties/object-properties.component.d.ts +45 -0
  164. package/lib/components/object-properties/object-properties.interface.d.ts +21 -0
  165. package/lib/components/object-properties-group/object-properties-group.component.d.ts +11 -0
  166. package/lib/components/object-properties-group/object-property-value/object-property-value.component.d.ts +14 -0
  167. package/lib/components/object-properties-header/object-properties-header.component.d.ts +5 -3
  168. package/lib/components/object-properties-header/object-properties-header.interface.d.ts +1 -0
  169. package/lib/pipes/bit-converter.pipe.d.ts +17 -0
  170. package/lib/pipes/get-attribute-value.pipe.d.ts +23 -0
  171. package/lib/pipes/round.pipe.d.ts +7 -0
  172. package/lib/utils/objectProperties.d.ts +2 -0
  173. package/package.json +11 -4
  174. package/public-api.d.ts +16 -0
@@ -0,0 +1,242 @@
1
+ import { Component, Input, ViewEncapsulation } 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 { 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 * as i0 from "@angular/core";
13
+ import * as i1 from "../bimplus-general-overlay-dialog/bimplus-general-overlay-dialog.service";
14
+ import * as i2 from "@ngx-translate/core";
15
+ import * as i3 from "@angular/common";
16
+ import * as i4 from "@angular/forms";
17
+ export class BimplusObjectCommentsListComponent extends BimplusLocalizedWidgetComponent {
18
+ set rootObjectId(id) {
19
+ this.loadComments(id);
20
+ this._rootObjectId = id;
21
+ }
22
+ get rootObjectId() {
23
+ return this._rootObjectId;
24
+ }
25
+ constructor(dialogService, translateService, datePipe, formBuilder) {
26
+ super(translateService);
27
+ this.dialogService = dialogService;
28
+ this.datePipe = datePipe;
29
+ this.formBuilder = formBuilder;
30
+ this.api = null;
31
+ this.commentsList = [];
32
+ this.loading = false;
33
+ this.buttonRowItems = [];
34
+ this.hyperlinkButtonRowItems = [];
35
+ this.textAreaValue = '';
36
+ this.lastShownDate = '';
37
+ this.placeholder = '';
38
+ this.name = '';
39
+ this.readonly = false;
40
+ this.autoResizeTextarea = true;
41
+ this.minRows = 3;
42
+ this.maxRows = 10;
43
+ this.isAddingHyperlink = false;
44
+ this.intermediateHyperlinks = [];
45
+ this._rootObjectId = '';
46
+ this.hyperlinkForm = this.formBuilder.group({
47
+ name: ['', []],
48
+ url: ['',
49
+ [
50
+ Validators.required,
51
+ Validators.pattern(/^[^<>]*$/), // Do not allow < or >
52
+ Validators.pattern(/^(?!\s*$).+/) // Do not allow all empty string, but allow text after spaces
53
+ ]
54
+ ]
55
+ });
56
+ }
57
+ ngOnInit() {
58
+ const submit = [{
59
+ id: 'submit',
60
+ title: this.translateService.instant('_Add comment'),
61
+ tooltip: this.translateService.instant('_Add comment'),
62
+ disabled: !this.textAreaValue || this.textAreaValue.length <= 0,
63
+ buttonStyle: 'primary'
64
+ }];
65
+ this.placeholder = this.translateService.instant('_Place comment text here');
66
+ this.name = this.translateService.instant('comment');
67
+ this.buttonRowItems = submit;
68
+ this.hyperlinkButtonRowItems.push({
69
+ id: "cancel-hyperlink",
70
+ title: this.translateService.instant('_Cancel'),
71
+ tooltip: this.translateService.instant('_Cancel'),
72
+ disabled: false,
73
+ buttonStyle: 'primary'
74
+ }, {
75
+ id: "add-hyperlink",
76
+ title: this.translateService.instant('_Add hyperlink'),
77
+ tooltip: this.translateService.instant('_Add hyperlink'),
78
+ disabled: true,
79
+ buttonStyle: 'primary'
80
+ });
81
+ this.hyperlinkForm.statusChanges.subscribe(status => {
82
+ this.hyperlinkButtonRowItems[1].disabled = status !== 'VALID';
83
+ });
84
+ }
85
+ onTextareaValueChange(value) {
86
+ this.textAreaValue = value;
87
+ this.buttonRowItems[0].disabled = !(value && value.length > 0);
88
+ }
89
+ handleActionCommentEvent(event) {
90
+ if (event.action === 'delete') {
91
+ const data = event.data;
92
+ this.openDialogDeleteComment(data.commentId);
93
+ }
94
+ }
95
+ actionDialogClose(data) {
96
+ this.dialogService.close(data);
97
+ }
98
+ openDialogDeleteComment(commentId) {
99
+ this.dialogService.open(BimplusOverlayDialogDeleteComponent, {
100
+ options: {
101
+ width: 'auto',
102
+ height: '200px',
103
+ position: 'middle',
104
+ positionOptions: {},
105
+ overlayClickEnabled: false,
106
+ overlayVisibilityEnabled: true,
107
+ draggable: true
108
+ },
109
+ data: {
110
+ title: this.translateService.instant('_Comment delete confirmation title'),
111
+ message: this.translateService.instant('_Comment delete confirmation message'),
112
+ acceptCallback: () => {
113
+ this.deleteComment(commentId);
114
+ }
115
+ }
116
+ });
117
+ }
118
+ isSameDate(date) {
119
+ if (!date) {
120
+ return false;
121
+ }
122
+ const time = this.datePipe.transform(date, 'shortDate');
123
+ if (this.lastShownDate === time) {
124
+ return false;
125
+ }
126
+ this.lastShownDate = date;
127
+ return true;
128
+ }
129
+ buttonRowButtonClicked($event) {
130
+ if ($event.id === 'submit') {
131
+ if (!this.api || !this.rootObjectId)
132
+ return;
133
+ this.loading = true;
134
+ const data = {
135
+ text: this.textAreaValue,
136
+ objectId: this.rootObjectId,
137
+ };
138
+ const dataText = JSON.stringify(data);
139
+ this.api.objects.postComment(this.rootObjectId, dataText).then(createdComment => {
140
+ console.log("created:", createdComment);
141
+ const createdCommentId = createdComment.id;
142
+ const hyperlinks = this.intermediateHyperlinks.map(h => ({ ...h, objectId: createdCommentId }));
143
+ const hyperlinkPromises = [];
144
+ hyperlinks.forEach(h => {
145
+ const hyperlinkData = JSON.stringify(h);
146
+ const promise = this.api?.objects.postHyperlink(createdCommentId, hyperlinkData).catch((err) => {
147
+ console.log(err);
148
+ });
149
+ hyperlinkPromises.push(promise);
150
+ });
151
+ Promise.all(hyperlinkPromises).then(() => {
152
+ this.hyperlinkForm.reset();
153
+ this.isAddingHyperlink = false;
154
+ this.loadComments(this.rootObjectId);
155
+ this.loading = false;
156
+ });
157
+ }).catch((err) => {
158
+ console.log(err);
159
+ });
160
+ }
161
+ }
162
+ hyperlinkButtonRowButtonClicked($event) {
163
+ if ($event.id === 'add-hyperlink') {
164
+ if (this.hyperlinkForm.valid) {
165
+ let sanitizedUrl = this.hyperlinkForm.value['url'].trim();
166
+ if (!RegExp(/^http(s?):\/\//).exec(sanitizedUrl)) {
167
+ sanitizedUrl = 'https://' + sanitizedUrl;
168
+ }
169
+ let sanitizedName = this.hyperlinkForm.value['name']?.trim() ?? '';
170
+ if (sanitizedName === '') {
171
+ sanitizedName = sanitizedUrl;
172
+ }
173
+ this.intermediateHyperlinks.push({
174
+ name: sanitizedName,
175
+ url: sanitizedUrl
176
+ });
177
+ this.hyperlinkForm.reset();
178
+ this.isAddingHyperlink = false;
179
+ }
180
+ }
181
+ else if ($event.id === 'cancel-hyperlink') {
182
+ this.hyperlinkForm.reset();
183
+ this.isAddingHyperlink = false;
184
+ }
185
+ }
186
+ deleteComment(commentId) {
187
+ if (!this.api || !commentId)
188
+ return;
189
+ this.api.comments.delete(commentId).then(() => {
190
+ this.loadComments(this.rootObjectId);
191
+ }).catch((err) => {
192
+ console.log(err);
193
+ });
194
+ }
195
+ loadComments(objectId) {
196
+ if (!this.api || !objectId)
197
+ return;
198
+ this.api.objects.getComments(objectId).then((response) => {
199
+ this.commentsList = response;
200
+ }).catch((err) => {
201
+ console.log(err);
202
+ });
203
+ }
204
+ addHyperlinkIconClicked() {
205
+ this.isAddingHyperlink = !this.isAddingHyperlink;
206
+ }
207
+ addHyperlinkIconKeypress(event) {
208
+ if (event.key === 'Enter' || event.key === ' ') {
209
+ this.addHyperlinkIconClicked();
210
+ }
211
+ }
212
+ removeIntermediateHyperlink(link) {
213
+ this.intermediateHyperlinks = this.intermediateHyperlinks.filter(hyperlink => hyperlink !== link);
214
+ }
215
+ removeIntermediateHyperlinkKeypress(event, link) {
216
+ if (event.key === 'Enter' || event.key === ' ') {
217
+ this.removeIntermediateHyperlink(link);
218
+ }
219
+ }
220
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusObjectCommentsListComponent, deps: [{ token: i1.DialogService }, { token: i2.TranslateService }, { token: i3.DatePipe }, { token: i4.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
221
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: BimplusObjectCommentsListComponent, isStandalone: true, selector: "lib-bimplus-object-comments-list", inputs: { api: "api", rootObjectId: "rootObjectId" }, providers: [DatePipe], usesInheritance: 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 ></lib-bimplus-textarea>\r\n </div>\r\n\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=\"{{ '_Delete hyperlink' | translate }}\" (click)=\"removeIntermediateHyperlink(link)\" (keydown)=\"removeIntermediateHyperlinkKeypress($event, link)\"></span>\r\n </div>\r\n </div>\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 }}\"/>\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 }}\"/>\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=\"link-icon icon-small interactive\" (click)=\"addHyperlinkIconClicked()\" (keydown)=\"addHyperlinkIconKeypress($event)\"></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 <div *ngFor=\"let item of commentsList\">\r\n @if(isSameDate(item.createdAt))\r\n {\r\n <div class=\"comment-list-date\">\r\n {{item.createdAt | date:'shortDate'}}\r\n </div>\r\n }\r\n <lib-bimplus-comment\r\n (outputActionCommentEvent)=\"handleActionCommentEvent($event)\"\r\n [message]=\"item.text ? item.text : ''\"\r\n [date]=\"item.createdAt ? item.createdAt : ''\"\r\n [action]=\"'delete'\"\r\n [commentId]=\"item.id\"\r\n [hyperlinks]=\"item.hyperlinks\">\r\n </lib-bimplus-comment>\r\n </div>\r\n\r\n </lib-bimplus-scrollable-container>\r\n </div>\r\n\r\n</div>\r\n\r\n} @else{\r\n<div>{{'_Loading' | translate}}</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}.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}.intermediate-hyperlinks-list{margin-top:.8rem;margin-bottom:.8rem}.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 0 .8rem}.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}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "component", type: BimplusTextareaComponent, selector: "lib-bimplus-textarea", inputs: ["text", "name", "placeholder", "readonly", "required", "minRows", "maxRows", "activeAutoResizeTextarea", "rows"], outputs: ["textAreaValueChange"] }, { kind: "component", type: BimplusCommentComponent, selector: "lib-bimplus-comment", inputs: ["message", "date", "action", "commentId", "hyperlinks"], outputs: ["outputActionCommentEvent"] }, { kind: "component", type: BimplusButtonsRowComponent, selector: "lib-bimplus-buttons-row", inputs: ["items"], 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"] }, { 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"] }], encapsulation: i0.ViewEncapsulation.ShadowDom }); }
222
+ }
223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusObjectCommentsListComponent, decorators: [{
224
+ type: Component,
225
+ args: [{ selector: 'lib-bimplus-object-comments-list', imports: [
226
+ NgFor,
227
+ DatePipe,
228
+ BimplusTextareaComponent,
229
+ BimplusCommentComponent,
230
+ BimplusButtonsRowComponent,
231
+ TranslateModule,
232
+ BimplusScrollableContainerComponent,
233
+ BimplusInputTextFieldComponent,
234
+ FormsModule,
235
+ ReactiveFormsModule
236
+ ], providers: [DatePipe], standalone: true, 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 ></lib-bimplus-textarea>\r\n </div>\r\n\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=\"{{ '_Delete hyperlink' | translate }}\" (click)=\"removeIntermediateHyperlink(link)\" (keydown)=\"removeIntermediateHyperlinkKeypress($event, link)\"></span>\r\n </div>\r\n </div>\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 }}\"/>\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 }}\"/>\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=\"link-icon icon-small interactive\" (click)=\"addHyperlinkIconClicked()\" (keydown)=\"addHyperlinkIconKeypress($event)\"></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 <div *ngFor=\"let item of commentsList\">\r\n @if(isSameDate(item.createdAt))\r\n {\r\n <div class=\"comment-list-date\">\r\n {{item.createdAt | date:'shortDate'}}\r\n </div>\r\n }\r\n <lib-bimplus-comment\r\n (outputActionCommentEvent)=\"handleActionCommentEvent($event)\"\r\n [message]=\"item.text ? item.text : ''\"\r\n [date]=\"item.createdAt ? item.createdAt : ''\"\r\n [action]=\"'delete'\"\r\n [commentId]=\"item.id\"\r\n [hyperlinks]=\"item.hyperlinks\">\r\n </lib-bimplus-comment>\r\n </div>\r\n\r\n </lib-bimplus-scrollable-container>\r\n </div>\r\n\r\n</div>\r\n\r\n} @else{\r\n<div>{{'_Loading' | translate}}</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}.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}.intermediate-hyperlinks-list{margin-top:.8rem;margin-bottom:.8rem}.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 0 .8rem}.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}\n"] }]
237
+ }], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.TranslateService }, { type: i3.DatePipe }, { type: i4.FormBuilder }], propDecorators: { api: [{
238
+ type: Input
239
+ }], rootObjectId: [{
240
+ type: Input
241
+ }] } });
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1vYmplY3QtY29tbWVudHMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYmltcGx1cy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9iaW1wbHVzLW9iamVjdC1jb21tZW50cy1saXN0L2JpbXBsdXMtb2JqZWN0LWNvbW1lbnRzLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1vYmplY3QtY29tbWVudHMtbGlzdC9iaW1wbHVzLW9iamVjdC1jb21tZW50cy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQy9ILE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUd2RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNqSCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUU3SCxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUM5RyxPQUFPLEVBQXlCLFdBQVcsRUFB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QiwwQkFBMEI7d0JBQzFCLGVBQWU7d0JBQ2YsbUNBQW1DO3dCQUNuQyw4QkFBOEI7d0JBQzlCLFdBQVc7d0JBQ1gsbUJBQW1CO3FCQUNwQixhQUNVLENBQUMsUUFBUSxDQUFDLGNBQ1QsSUFBSSxpQkFDRCxpQkFBaUIsQ0FBQyxTQUFTO2tLQU1qQyxHQUFHO3NCQUFYLEtBQUs7Z0JBb0JGLFlBQVk7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmltcGx1c092ZXJsYXlEaWFsb2dEZWxldGVDb21wb25lbnQgfSBmcm9tICcuLi9iaW1wbHVzLW92ZXJsYXktZGlhbG9nLWRlbGV0ZS9iaW1wbHVzLW92ZXJsYXktZGlhbG9nLWRlbGV0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUsIE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uL2JpbXBsdXMtZ2VuZXJhbC1vdmVybGF5LWRpYWxvZy9iaW1wbHVzLWdlbmVyYWwtb3ZlcmxheS1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IEJpbXBsdXNUZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtdGV4dGFyZWEvYmltcGx1cy10ZXh0YXJlYS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCaW1wbHVzQ29tbWVudENvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtY29tbWVudC9iaW1wbHVzLWNvbW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IFdlYlNkayBmcm9tICdiaW1wbHVzLXdlYnNkayc7XHJcbmltcG9ydCB7IEJpbXBsdXNCdXR0b25DbGlja0V2ZW50LCBCaW1wbHVzQnV0dG9uUm93SXRlbSB9IGZyb20gJy4uL2JpbXBsdXMtYnV0dG9ucy1yb3cvYmltcGx1cy1idXR0b25zLXJvdy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBCaW1wbHVzQnV0dG9uc1Jvd0NvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtYnV0dG9ucy1yb3cvYmltcGx1cy1idXR0b25zLXJvdy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0L2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCaW1wbHVzU2Nyb2xsYWJsZUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtc2Nyb2xsYWJsZS1jb250YWluZXIvYmltcGx1cy1zY3JvbGxhYmxlLWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tZW50RGF0YSwgQ29tbWVudE91dHB1dERhdGEsIElEaWFsb2dDb25maXJtQ2xvc2UgfSBmcm9tICcuL2JpbXBsdXNPYmplY3RDb21tZW50c0knO1xyXG5pbXBvcnQge0JpbXBsdXNJbnB1dFRleHRGaWVsZENvbXBvbmVudH0gZnJvbSBcIi4uL2JpbXBsdXMtaW5wdXQtdGV4dC1maWVsZC9iaW1wbHVzLWlucHV0LXRleHQtZmllbGQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Rm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnN9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYmltcGx1cy1vYmplY3QtY29tbWVudHMtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtb2JqZWN0LWNvbW1lbnRzLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JpbXBsdXMtb2JqZWN0LWNvbW1lbnRzLWxpc3QuY29tcG9uZW50Lmxlc3MnXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0ZvcixcclxuICAgIERhdGVQaXBlLFxyXG4gICAgQmltcGx1c1RleHRhcmVhQ29tcG9uZW50LFxyXG4gICAgQmltcGx1c0NvbW1lbnRDb21wb25lbnQsXHJcbiAgICBCaW1wbHVzQnV0dG9uc1Jvd0NvbXBvbmVudCxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIEJpbXBsdXNTY3JvbGxhYmxlQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgQmltcGx1c0lucHV0VGV4dEZpZWxkQ29tcG9uZW50LFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtEYXRlUGlwZV0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb21cclxufSlcclxuZXhwb3J0IGNsYXNzIEJpbXBsdXNPYmplY3RDb21tZW50c0xpc3RDb21wb25lbnQgZXh0ZW5kcyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgaHlwZXJsaW5rRm9ybTogRm9ybUdyb3VwO1xyXG5cclxuICBASW5wdXQoKSBhcGk6IFdlYlNkay5BcGkgfCBudWxsID0gbnVsbDtcclxuICBjb21tZW50c0xpc3Q6IFdlYlNkay5Db21tZW50c1Jlc3BvbnNlID0gW107XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIGJ1dHRvblJvd0l0ZW1zOiBCaW1wbHVzQnV0dG9uUm93SXRlbVtdID0gW107XHJcbiAgaHlwZXJsaW5rQnV0dG9uUm93SXRlbXM6IEJpbXBsdXNCdXR0b25Sb3dJdGVtW10gPSBbXTtcclxuICB0ZXh0QXJlYVZhbHVlID0gJyc7XHJcbiAgbGFzdFNob3duRGF0ZSA9ICcnO1xyXG4gIHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgbmFtZSA9ICcnO1xyXG4gIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgYXV0b1Jlc2l6ZVRleHRhcmVhID0gdHJ1ZTtcclxuICBtaW5Sb3dzID0gMztcclxuICBtYXhSb3dzID0gMTA7XHJcblxyXG4gIGlzQWRkaW5nSHlwZXJsaW5rOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaW50ZXJtZWRpYXRlSHlwZXJsaW5rczogUGFydGlhbDxXZWJTZGsuSHlwZXJsaW5rPltdID0gW107XHJcblxyXG4gIHByaXZhdGUgX3Jvb3RPYmplY3RJZCA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCByb290T2JqZWN0SWQoaWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5sb2FkQ29tbWVudHMoaWQpO1xyXG4gICAgdGhpcy5fcm9vdE9iamVjdElkID0gaWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgcm9vdE9iamVjdElkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fcm9vdE9iamVjdElkO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkYXRlUGlwZTogRGF0ZVBpcGUsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlclxyXG4gICkge1xyXG4gICAgc3VwZXIodHJhbnNsYXRlU2VydmljZSk7XHJcblxyXG4gICAgdGhpcy5oeXBlcmxpbmtGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIG5hbWU6IFsnJywgW11dLFxyXG4gICAgICB1cmw6IFsnJyxcclxuICAgICAgICBbXHJcbiAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKC9eW148Pl0qJC8pLCAvLyBEbyBub3QgYWxsb3cgPCBvciA+XHJcbiAgICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oL14oPyFcXHMqJCkuKy8pIC8vIERvIG5vdCBhbGxvdyBhbGwgZW1wdHkgc3RyaW5nLCBidXQgYWxsb3cgdGV4dCBhZnRlciBzcGFjZXNcclxuICAgICAgICBdXHJcbiAgICAgIF1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBjb25zdCBzdWJtaXQ6IEJpbXBsdXNCdXR0b25Sb3dJdGVtW10gPSBbe1xyXG4gICAgICBpZDogJ3N1Ym1pdCcsXHJcbiAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnX0FkZCBjb21tZW50JyksXHJcbiAgICAgIHRvb2x0aXA6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdfQWRkIGNvbW1lbnQnKSxcclxuICAgICAgZGlzYWJsZWQ6ICF0aGlzLnRleHRBcmVhVmFsdWUgfHwgdGhpcy50ZXh0QXJlYVZhbHVlLmxlbmd0aCA8PSAwLFxyXG4gICAgICBidXR0b25TdHlsZTogJ3ByaW1hcnknXHJcbiAgICB9XTtcclxuICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnX1BsYWNlIGNvbW1lbnQgdGV4dCBoZXJlJyk7XHJcbiAgICB0aGlzLm5hbWUgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29tbWVudCcpO1xyXG4gICAgdGhpcy5idXR0b25Sb3dJdGVtcyA9IHN1Ym1pdDtcclxuXHJcbiAgICB0aGlzLmh5cGVybGlua0J1dHRvblJvd0l0ZW1zLnB1c2goXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogXCJjYW5jZWwtaHlwZXJsaW5rXCJcclxuICAgICAgICAsIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnX0NhbmNlbCcpXHJcbiAgICAgICAgLCB0b29sdGlwOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnX0NhbmNlbCcpXHJcbiAgICAgICAgLCBkaXNhYmxlZDogZmFsc2VcclxuICAgICAgICAsIGJ1dHRvblN0eWxlOiAncHJpbWFyeSdcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGlkOiBcImFkZC1oeXBlcmxpbmtcIlxyXG4gICAgICAgICwgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdfQWRkIGh5cGVybGluaycpXHJcbiAgICAgICAgLCB0b29sdGlwOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnX0FkZCBoeXBlcmxpbmsnKVxyXG4gICAgICAgICwgZGlzYWJsZWQ6IHRydWVcclxuICAgICAgICAsIGJ1dHRvblN0eWxlOiAncHJpbWFyeSdcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmh5cGVybGlua0Zvcm0uc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoc3RhdHVzID0+IHtcclxuICAgICAgdGhpcy5oeXBlcmxpbmtCdXR0b25Sb3dJdGVtc1sxXS5kaXNhYmxlZCA9IHN0YXR1cyAhPT0gJ1ZBTElEJztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25UZXh0YXJlYVZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudGV4dEFyZWFWYWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5idXR0b25Sb3dJdGVtc1swXS5kaXNhYmxlZCA9ICEodmFsdWUgJiYgdmFsdWUubGVuZ3RoID4gMCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVBY3Rpb25Db21tZW50RXZlbnQoZXZlbnQ6IENvbW1lbnRPdXRwdXREYXRhKSB7XHJcbiAgICBpZiAoZXZlbnQuYWN0aW9uID09PSAnZGVsZXRlJykge1xyXG4gICAgICBjb25zdCBkYXRhID0gZXZlbnQuZGF0YSBhcyBDb21tZW50RGF0YTtcclxuICAgICAgdGhpcy5vcGVuRGlhbG9nRGVsZXRlQ29tbWVudChkYXRhLmNvbW1lbnRJZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhY3Rpb25EaWFsb2dDbG9zZShkYXRhOiBJRGlhbG9nQ29uZmlybUNsb3NlKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY2xvc2UoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBvcGVuRGlhbG9nRGVsZXRlQ29tbWVudChjb21tZW50SWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oQmltcGx1c092ZXJsYXlEaWFsb2dEZWxldGVDb21wb25lbnQsIHtcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIHdpZHRoOiAnYXV0bycsXHJcbiAgICAgICAgaGVpZ2h0OiAnMjAwcHgnLFxyXG4gICAgICAgIHBvc2l0aW9uOiAnbWlkZGxlJyxcclxuICAgICAgICBwb3NpdGlvbk9wdGlvbnM6IHt9LFxyXG4gICAgICAgIG92ZXJsYXlDbGlja0VuYWJsZWQ6IGZhbHNlLFxyXG4gICAgICAgIG92ZXJsYXlWaXNpYmlsaXR5RW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICBkcmFnZ2FibGU6IHRydWVcclxuICAgICAgfSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnX0NvbW1lbnQgZGVsZXRlIGNvbmZpcm1hdGlvbiB0aXRsZScpLFxyXG4gICAgICAgIG1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdfQ29tbWVudCBkZWxldGUgY29uZmlybWF0aW9uIG1lc3NhZ2UnKSxcclxuICAgICAgICBhY2NlcHRDYWxsYmFjazogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5kZWxldGVDb21tZW50KGNvbW1lbnRJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGlzU2FtZURhdGUoZGF0ZT86IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFkYXRlKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRpbWUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCAnc2hvcnREYXRlJyk7XHJcbiAgICBpZiAodGhpcy5sYXN0U2hvd25EYXRlID09PSB0aW1lKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMubGFzdFNob3duRGF0ZSA9IGRhdGU7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGJ1dHRvblJvd0J1dHRvbkNsaWNrZWQoJGV2ZW50OiBCaW1wbHVzQnV0dG9uQ2xpY2tFdmVudCkge1xyXG4gICAgaWYgKCRldmVudC5pZCA9PT0gJ3N1Ym1pdCcpIHtcclxuXHJcbiAgICAgIGlmICghdGhpcy5hcGkgfHwgIXRoaXMucm9vdE9iamVjdElkKSByZXR1cm47XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICAgIHRleHQ6IHRoaXMudGV4dEFyZWFWYWx1ZSxcclxuICAgICAgICBvYmplY3RJZDogdGhpcy5yb290T2JqZWN0SWQsXHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnN0IGRhdGFUZXh0ID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XHJcblxyXG4gICAgICB0aGlzLmFwaS5vYmplY3RzLnBvc3RDb21tZW50KHRoaXMucm9vdE9iamVjdElkLCBkYXRhVGV4dCkudGhlbihjcmVhdGVkQ29tbWVudCA9PiB7XHJcblxyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiY3JlYXRlZDpcIiwgY3JlYXRlZENvbW1lbnQpO1xyXG5cclxuICAgICAgICBjb25zdCBjcmVhdGVkQ29tbWVudElkID0gY3JlYXRlZENvbW1lbnQuaWQ7XHJcblxyXG4gICAgICAgIGNvbnN0IGh5cGVybGlua3M6IFBhcnRpYWw8V2ViU2RrLkh5cGVybGluaz5bXSA9IHRoaXMuaW50ZXJtZWRpYXRlSHlwZXJsaW5rcy5tYXAoaCA9PiAoeyAuLi5oLCBvYmplY3RJZDogY3JlYXRlZENvbW1lbnRJZCB9KSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGh5cGVybGlua1Byb21pc2VzOiAoUHJvbWlzZTx2b2lkIHwgV2ViU2RrLkh5cGVybGluaz4gfCB1bmRlZmluZWQpW10gPSBbXTtcclxuICAgICAgICBoeXBlcmxpbmtzLmZvckVhY2goaCA9PiB7XHJcbiAgICAgICAgICBjb25zdCBoeXBlcmxpbmtEYXRhID0gSlNPTi5zdHJpbmdpZnkoaCk7XHJcbiAgICAgICAgICBjb25zdCBwcm9taXNlID0gdGhpcy5hcGk/Lm9iamVjdHMucG9zdEh5cGVybGluayhjcmVhdGVkQ29tbWVudElkLCBoeXBlcmxpbmtEYXRhKS5jYXRjaCgoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGh5cGVybGlua1Byb21pc2VzLnB1c2gocHJvbWlzZSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIFByb21pc2UuYWxsKGh5cGVybGlua1Byb21pc2VzKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuaHlwZXJsaW5rRm9ybS5yZXNldCgpO1xyXG4gICAgICAgICAgdGhpcy5pc0FkZGluZ0h5cGVybGluayA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5sb2FkQ29tbWVudHModGhpcy5yb290T2JqZWN0SWQpO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICB9KS5jYXRjaCgoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoeXBlcmxpbmtCdXR0b25Sb3dCdXR0b25DbGlja2VkKCRldmVudDogQmltcGx1c0J1dHRvbkNsaWNrRXZlbnQpIHtcclxuICAgIGlmICgkZXZlbnQuaWQgPT09ICdhZGQtaHlwZXJsaW5rJykge1xyXG4gICAgICBpZiAodGhpcy5oeXBlcmxpbmtGb3JtLnZhbGlkKSB7XHJcblxyXG4gICAgICAgIGxldCBzYW5pdGl6ZWRVcmw6IHN0cmluZyA9IHRoaXMuaHlwZXJsaW5rRm9ybS52YWx1ZVsndXJsJ10udHJpbSgpO1xyXG5cclxuICAgICAgICBpZiAoIVJlZ0V4cCgvXmh0dHAocz8pOlxcL1xcLy8pLmV4ZWMoc2FuaXRpemVkVXJsKSkge1xyXG4gICAgICAgICAgc2FuaXRpemVkVXJsID0gJ2h0dHBzOi8vJyArIHNhbml0aXplZFVybDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBzYW5pdGl6ZWROYW1lID0gdGhpcy5oeXBlcmxpbmtGb3JtLnZhbHVlWyduYW1lJ10/LnRyaW0oKSA/PyAnJztcclxuXHJcbiAgICAgICAgaWYgKHNhbml0aXplZE5hbWUgPT09ICcnKSB7XHJcbiAgICAgICAgICBzYW5pdGl6ZWROYW1lID0gc2FuaXRpemVkVXJsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5pbnRlcm1lZGlhdGVIeXBlcmxpbmtzLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogc2FuaXRpemVkTmFtZSxcclxuICAgICAgICAgIHVybDogc2FuaXRpemVkVXJsXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuaHlwZXJsaW5rRm9ybS5yZXNldCgpO1xyXG4gICAgICAgIHRoaXMuaXNBZGRpbmdIeXBlcmxpbmsgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICgkZXZlbnQuaWQgPT09ICdjYW5jZWwtaHlwZXJsaW5rJykge1xyXG4gICAgICB0aGlzLmh5cGVybGlua0Zvcm0ucmVzZXQoKTtcclxuICAgICAgdGhpcy5pc0FkZGluZ0h5cGVybGluayA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGVsZXRlQ29tbWVudChjb21tZW50SWQ6IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLmFwaSB8fCAhY29tbWVudElkKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5hcGkuY29tbWVudHMuZGVsZXRlKGNvbW1lbnRJZCkudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMubG9hZENvbW1lbnRzKHRoaXMucm9vdE9iamVjdElkKTtcclxuICAgIH0pLmNhdGNoKChlcnIpID0+IHtcclxuICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkQ29tbWVudHMob2JqZWN0SWQ6IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLmFwaSB8fCAhb2JqZWN0SWQpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLmFwaS5vYmplY3RzLmdldENvbW1lbnRzKG9iamVjdElkKS50aGVuKChyZXNwb25zZTogV2ViU2RrLkNvbW1lbnRzUmVzcG9uc2UpID0+IHtcclxuICAgICAgdGhpcy5jb21tZW50c0xpc3QgPSByZXNwb25zZTtcclxuICAgIH0pLmNhdGNoKChlcnIpID0+IHtcclxuICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWRkSHlwZXJsaW5rSWNvbkNsaWNrZWQoKSB7XHJcbiAgICB0aGlzLmlzQWRkaW5nSHlwZXJsaW5rID0gIXRoaXMuaXNBZGRpbmdIeXBlcmxpbms7XHJcbiAgfVxyXG5cclxuICBhZGRIeXBlcmxpbmtJY29uS2V5cHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnICcpIHtcclxuICAgICAgdGhpcy5hZGRIeXBlcmxpbmtJY29uQ2xpY2tlZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlSW50ZXJtZWRpYXRlSHlwZXJsaW5rKGxpbms6IFBhcnRpYWw8V2ViU2RrLkh5cGVybGluaz4pIHtcclxuICAgIHRoaXMuaW50ZXJtZWRpYXRlSHlwZXJsaW5rcyA9IHRoaXMuaW50ZXJtZWRpYXRlSHlwZXJsaW5rcy5maWx0ZXIoaHlwZXJsaW5rID0+IGh5cGVybGluayAhPT0gbGluayk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVJbnRlcm1lZGlhdGVIeXBlcmxpbmtLZXlwcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCwgbGluazogUGFydGlhbDxXZWJTZGsuSHlwZXJsaW5rPikge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICcgJykge1xyXG4gICAgICB0aGlzLnJlbW92ZUludGVybWVkaWF0ZUh5cGVybGluayhsaW5rKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQGlmICghbG9hZGluZykge1xyXG48ZGl2IGNsYXNzPVwiY29tbWVudC10YWItY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInRleHRhcmVhLWNvbnRhaW5lclwiPlxyXG4gICAgPGxpYi1iaW1wbHVzLXRleHRhcmVhXHJcbiAgICAgICh0ZXh0QXJlYVZhbHVlQ2hhbmdlKT1cIm9uVGV4dGFyZWFWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW25hbWVdPVwibmFtZVwiXHJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgIFthY3RpdmVBdXRvUmVzaXplVGV4dGFyZWFdPVwidHJ1ZVwiXHJcbiAgICAgIFttaW5Sb3dzXT1cIm1pblJvd3NcIlxyXG4gICAgICBbbWF4Um93c109XCJtYXhSb3dzXCJcclxuICAgID48L2xpYi1iaW1wbHVzLXRleHRhcmVhPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiaW50ZXJtZWRpYXRlLWh5cGVybGlua3MtbGlzdFwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgbGluayBvZiBpbnRlcm1lZGlhdGVIeXBlcmxpbmtzXCIgY2xhc3M9XCJpbnRlcm1lZGlhdGUtaHlwZXJsaW5rXCIgdGl0bGU9XCJ7eyBsaW5rLnVybCB9fVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibGluay1pY29uIGljb24tc21hbGxcIiB0aXRsZT1cInt7IGxpbmsudXJsIH19XCI+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCI+e3sgbGluay5uYW1lIH19PC9kaXY+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiY2FuY2VsLWljb25cIiB0aXRsZT1cInt7ICdfRGVsZXRlIGh5cGVybGluaycgfCB0cmFuc2xhdGUgfX1cIiAoY2xpY2spPVwicmVtb3ZlSW50ZXJtZWRpYXRlSHlwZXJsaW5rKGxpbmspXCIgKGtleWRvd24pPVwicmVtb3ZlSW50ZXJtZWRpYXRlSHlwZXJsaW5rS2V5cHJlc3MoJGV2ZW50LCBsaW5rKVwiPjwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICBAaWYgKGlzQWRkaW5nSHlwZXJsaW5rKSB7XHJcbiAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiaHlwZXJsaW5rRm9ybVwiIGNsYXNzPVwiaHlwZXJsaW5rLWlucHV0LWZvcm1cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaHlwZXJsaW5rLWlucHV0LXJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmstaWNvbiBpY29uLW5leHQtdG8tdGV4dC1pbnB1dFwiPjwvZGl2PlxyXG4gICAgICAgICAgPGxpYi1iaW1wbHVzLWlucHV0LXRleHQtZmllbGQgY2xhc3M9XCJmbGV4LWdyb3dcIiBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCIgcGxhY2Vob2xkZXI9XCJ7eyAnX05hbWUnIHwgdHJhbnNsYXRlIH19XCIvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoeXBlcmxpbmstaW5wdXQtcm93XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1uZXh0LXRvLXRleHQtaW5wdXRcIj48L2Rpdj5cclxuICAgICAgICAgIDxsaWItYmltcGx1cy1pbnB1dC10ZXh0LWZpZWxkIGNsYXNzPVwiZmxleC1ncm93XCIgZm9ybUNvbnRyb2xOYW1lPVwidXJsXCIgcGxhY2Vob2xkZXI9XCJ7eyAnX1VSTCcgfCB0cmFuc2xhdGUgfX1cIi8+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxsaWItYmltcGx1cy1idXR0b25zLXJvdyBbaXRlbXNdPVwiaHlwZXJsaW5rQnV0dG9uUm93SXRlbXNcIiAoYnV0dG9uQ2xpY2tlZCk9XCJoeXBlcmxpbmtCdXR0b25Sb3dCdXR0b25DbGlja2VkKCRldmVudClcIi8+XHJcbiAgICAgIDwvZm9ybT5cclxuICB9XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJjb21tZW50cy10YWItYXR0YWNobWVudHMtc2VjdGlvblwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbW1lbnRzLWF0dGFjaG1lbnRzLWxpc3RcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRhYi1hdHRhY2htZW50cyBpY29uIGF0dGFjaG1lbnRzLWljb24gaGlkZGVuXCI+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsaW5rLWljb24gaWNvbi1zbWFsbCBpbnRlcmFjdGl2ZVwiIChjbGljayk9XCJhZGRIeXBlcmxpbmtJY29uQ2xpY2tlZCgpXCIgKGtleWRvd24pPVwiYWRkSHlwZXJsaW5rSWNvbktleXByZXNzKCRldmVudClcIj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRhYi1hdHRhY2htZW50bGlua3MgaWNvbiBhdHRhY2htZW50cy1pY29uIGhpZGRlblwiPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWRkLWNvbW1lbnRcIj5cclxuICAgICAgPGxpYi1iaW1wbHVzLWJ1dHRvbnMtcm93XHJcbiAgICAgICAgW2l0ZW1zXT1cImJ1dHRvblJvd0l0ZW1zXCJcclxuICAgICAgICAoYnV0dG9uQ2xpY2tlZCk9XCJidXR0b25Sb3dCdXR0b25DbGlja2VkKCRldmVudClcIiAvPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJjb21tZW50cy1zZXBhcmF0b3JcIj48L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInNjcm9sbGFibGUtY29udGVudC1jb250YWluZXJcIj5cclxuICAgIDxsaWItYmltcGx1cy1zY3JvbGxhYmxlLWNvbnRhaW5lcj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb21tZW50c0xpc3RcIj5cclxuICAgICAgICBAaWYoaXNTYW1lRGF0ZShpdGVtLmNyZWF0ZWRBdCkpXHJcbiAgICAgICAge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50LWxpc3QtZGF0ZVwiPlxyXG4gICAgICAgICAge3tpdGVtLmNyZWF0ZWRBdCB8IGRhdGU6J3Nob3J0RGF0ZSd9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICA8bGliLWJpbXBsdXMtY29tbWVudFxyXG4gICAgICAgICAgKG91dHB1dEFjdGlvbkNvbW1lbnRFdmVudCk9XCJoYW5kbGVBY3Rpb25Db21tZW50RXZlbnQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbbWVzc2FnZV09XCJpdGVtLnRleHQgPyBpdGVtLnRleHQgOiAnJ1wiXHJcbiAgICAgICAgICBbZGF0ZV09XCJpdGVtLmNyZWF0ZWRBdCA/IGl0ZW0uY3JlYXRlZEF0IDogJydcIlxyXG4gICAgICAgICAgW2FjdGlvbl09XCInZGVsZXRlJ1wiXHJcbiAgICAgICAgICBbY29tbWVudElkXT1cIml0ZW0uaWRcIlxyXG4gICAgICAgICAgW2h5cGVybGlua3NdPVwiaXRlbS5oeXBlcmxpbmtzXCI+XHJcbiAgICAgICAgPC9saWItYmltcGx1cy1jb21tZW50PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2xpYi1iaW1wbHVzLXNjcm9sbGFibGUtY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcblxyXG59IEBlbHNle1xyXG48ZGl2Pnt7J19Mb2FkaW5nJyB8IHRyYW5zbGF0ZX19PC9kaXY+XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1c09iamVjdENvbW1lbnRzSS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LWNvbW1lbnRzLWxpc3QvYmltcGx1c09iamVjdENvbW1lbnRzSS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJRGlhbG9nQ29uZmlybUNsb3NlIHtcclxuICAgIGNvbXBvbmVudERpYWxvZ05hbWU6IHN0cmluZztcclxuICAgIGFjdGlvbkJ1dHRvbjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbW1lbnRPdXRwdXREYXRhIHtcclxuICAgIGFjdGlvbjogc3RyaW5nO1xyXG4gICAgZGF0YTogdW5rbm93bjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb21tZW50RGF0YSB7XHJcbiAgICBjb21tZW50SWQ6IHN0cmluZztcclxufSJdfQ==
@@ -67,12 +67,12 @@ export class BimplusObjectComplexPropertiesComponent {
67
67
  expandTree() {
68
68
  this.treeComponent?.expandTree();
69
69
  }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BimplusObjectComplexPropertiesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BimplusObjectComplexPropertiesComponent, isStandalone: true, selector: "lib-bimplus-object-complex-properties", inputs: { complexPropertiesValue: ["complexProperties", "complexPropertiesValue"] }, outputs: { nodeSelected: "nodeSelected" }, viewQueries: [{ propertyName: "treeComponent", first: true, predicate: BimplusFlatTreeComponent, descendants: true }], ngImport: i0, template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes)=\"handleSelectedNodes($event)\"\r\n dataTestPrefix=\"object-complex-properties-tree-\"\r\n></lib-bimplus-flat-tree>\r\n", styles: ["lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400}\n"], dependencies: [{ kind: "component", type: BimplusFlatTreeComponent, selector: "lib-bimplus-flat-tree", inputs: ["treeDataStringified", "treeTitle", "paddingIndent", "multiSelect", "oneLevelMultiSelect", "showFoldersIcons", "showObjectsIcons", "enableSelect", "enableParentHighlighting", "enableDragAndDrop", "dataTestPrefix", "contextMenus", "treeData", "customNodeTemplate"], outputs: ["selectedNodes"] }] }); }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusObjectComplexPropertiesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: BimplusObjectComplexPropertiesComponent, isStandalone: true, selector: "lib-bimplus-object-complex-properties", inputs: { complexPropertiesValue: ["complexProperties", "complexPropertiesValue"] }, outputs: { nodeSelected: "nodeSelected" }, viewQueries: [{ propertyName: "treeComponent", first: true, predicate: BimplusFlatTreeComponent, descendants: true }], ngImport: i0, template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes)=\"handleSelectedNodes($event)\"\r\n dataTestPrefix=\"object-complex-properties-tree-\"\r\n></lib-bimplus-flat-tree>\r\n", styles: ["lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-background-color: var(--bimplus-object-complex-properties-background-color, var(--flat-tree-container-background-color-enabled))}\n"], dependencies: [{ kind: "component", type: BimplusFlatTreeComponent, selector: "lib-bimplus-flat-tree", inputs: ["treeDataStringified", "treeTitle", "paddingIndent", "multiSelect", "oneLevelMultiSelect", "showFoldersIcons", "showObjectsIcons", "enableSelect", "enableParentHighlighting", "enableDragAndDrop", "dataTestPrefix", "contextMenus", "treeData", "customNodeTemplate"], outputs: ["selectedNodes"] }] }); }
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BimplusObjectComplexPropertiesComponent, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusObjectComplexPropertiesComponent, decorators: [{
74
74
  type: Component,
75
- args: [{ selector: 'lib-bimplus-object-complex-properties', standalone: true, imports: [BimplusFlatTreeComponent], template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes)=\"handleSelectedNodes($event)\"\r\n dataTestPrefix=\"object-complex-properties-tree-\"\r\n></lib-bimplus-flat-tree>\r\n", styles: ["lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400}\n"] }]
75
+ args: [{ selector: 'lib-bimplus-object-complex-properties', standalone: true, imports: [BimplusFlatTreeComponent], template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes)=\"handleSelectedNodes($event)\"\r\n dataTestPrefix=\"object-complex-properties-tree-\"\r\n></lib-bimplus-flat-tree>\r\n", styles: ["lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-background-color: var(--bimplus-object-complex-properties-background-color, var(--flat-tree-container-background-color-enabled))}\n"] }]
76
76
  }], propDecorators: { complexPropertiesValue: [{
77
77
  type: Input,
78
78
  args: [{ alias: 'complexProperties' }]
@@ -82,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
82
82
  }], nodeSelected: [{
83
83
  type: Output
84
84
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LWNvbXBsZXgtcHJvcGVydGllcy9iaW1wbHVzLW9iamVjdC1jb21wbGV4LXByb3BlcnRpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzL2JpbXBsdXMtb2JqZWN0LWNvbXBsZXgtcHJvcGVydGllcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOztBQVc1RixNQUFNLE9BQU8sdUNBQXVDO0lBUHBEO1FBZW1CLHVCQUFrQixHQUFHLE1BQU0sQ0FBd0I7WUFDbEUsRUFBRSxFQUFFLEVBQUU7WUFDTixJQUFJLEVBQUUsRUFBRTtZQUNSLE1BQU0sRUFBRSxFQUFFO1NBQ1gsQ0FBQyxDQUFDO1FBRWtDLGtCQUFhLEdBQW9DLElBQUksQ0FBQztRQUVsRixhQUFRLEdBQUcsUUFBUSxDQUFhLEdBQUcsRUFBRTtZQUM1QyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ3BELElBQUcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUN0QixPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUM7WUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMscUNBQXFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUMzRSxJQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1QsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDO1lBRUQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFBO1FBb0RRLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7S0FDcEU7SUFoRkMsNEVBQTRFO0lBQzVFLG9EQUFvRDtJQUNwRCxJQUNJLHNCQUFzQixDQUFDLElBQTRCO1FBQ3JELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQXdCTyxxQ0FBcUMsQ0FBQyxJQUE0QjtRQUV4RSxNQUFNLFFBQVEsR0FBYztZQUMxQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztRQUVGLElBQUcsSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDO1lBQ2hCLFFBQVEsQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLEtBQUksTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDO2dCQUNoQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMscUNBQXFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hFLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3hDLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUdPLFNBQVMsQ0FBQyxFQUFTLEVBQUUsSUFBNEI7UUFDdkQsSUFBRyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBQyxDQUFDO1lBQ2hCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELElBQUcsSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDO1lBQ2hCLEtBQUksTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDO2dCQUNoQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDdEMsSUFBRyxHQUFHLEVBQUMsQ0FBQztvQkFDTixPQUFPLEdBQUcsQ0FBQztnQkFDYixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFrQjtRQUNwQyxJQUFHLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFDLENBQUM7WUFDckIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7WUFDNUUsSUFBRyxZQUFZLEVBQUMsQ0FBQztnQkFDZixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN2QyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNuQyxDQUFDOytHQTlFVSx1Q0FBdUM7bUdBQXZDLHVDQUF1QyxnUkFjdkMsd0JBQXdCLGdEQzFCckMsMlFBT0EsaUpEQ1ksd0JBQXdCOzs0RkFJdkIsdUNBQXVDO2tCQVBuRCxTQUFTOytCQUNFLHVDQUF1QyxjQUNyQyxJQUFJLFdBQ1AsQ0FBQyx3QkFBd0IsQ0FBQzs4QkFRL0Isc0JBQXNCO3NCQUR6QixLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFO2dCQVdBLGFBQWE7c0JBQWpELFNBQVM7dUJBQUMsd0JBQXdCO2dCQWtFekIsWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgc2lnbmFsLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmltcGx1cy1mbGF0LXRyZWUvYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tcGxleFByb3BlcnRpZXNOb2RlIH0gZnJvbSAnLi9iaW1wbHVzLW9iamVjdC1jb21wbGV4LXByb3BlcnRpZXMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgRmxhdE5vZGUsIFRyZWVOb2RlIH0gZnJvbSAnLi4vYmltcGx1cy1mbGF0LXRyZWUvYmltcGx1cy1mbGF0LXRyZWUuaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWJpbXBsdXMtb2JqZWN0LWNvbXBsZXgtcHJvcGVydGllcycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5sZXNzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQmltcGx1c09iamVjdENvbXBsZXhQcm9wZXJ0aWVzQ29tcG9uZW50IHtcclxuICAvKiogVE9ETyByZW1vdmUgQElucHV0IG9uY2Ugc2lnbmFsIGlucHV0cyByZWxlYXNlIGZyb20gZGV2ZWxvcGVyIHByZXZpZXcuICovXHJcbiAgLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZSAqL1xyXG4gIEBJbnB1dCh7IGFsaWFzOiAnY29tcGxleFByb3BlcnRpZXMnIH0pXHJcbiAgc2V0IGNvbXBsZXhQcm9wZXJ0aWVzVmFsdWUobm9kZSA6IENvbXBsZXhQcm9wZXJ0aWVzTm9kZSkge1xyXG4gICAgdGhpcy5fY29tcGxleFByb3BlcnRpZXMuc2V0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfY29tcGxleFByb3BlcnRpZXMgPSBzaWduYWw8Q29tcGxleFByb3BlcnRpZXNOb2RlPih7XHJcbiAgICBpZDogXCJcIixcclxuICAgIG5hbWU6IFwiXCIsXHJcbiAgICBwYXJlbnQ6IFwiXCJcclxuICB9KTtcclxuXHJcbiAgQFZpZXdDaGlsZChCaW1wbHVzRmxhdFRyZWVDb21wb25lbnQpIHRyZWVDb21wb25lbnQ6IEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudCB8IG51bGwgPSBudWxsO1xyXG5cclxuICByZWFkb25seSB0cmVlRGF0YSA9IGNvbXB1dGVkPFRyZWVOb2RlW10+KCgpID0+IHtcclxuICAgIGNvbnN0IGNvbXBsZXhQcm9wZXJ0aWVzID0gdGhpcy5fY29tcGxleFByb3BlcnRpZXMoKTtcclxuICAgIGlmKCFjb21wbGV4UHJvcGVydGllcykge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgcm9vdCA9IHRoaXMuX2NvbnZlcnRPYmplY3RTdHJ1Y3R1cmVOb2RlVG9UcmVlTm9kZShjb21wbGV4UHJvcGVydGllcyk7XHJcbiAgICBpZighcm9vdCkge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFtyb290XTtcclxuICB9KVxyXG5cclxuICBwcml2YXRlIF9jb252ZXJ0T2JqZWN0U3RydWN0dXJlTm9kZVRvVHJlZU5vZGUobm9kZSA6IENvbXBsZXhQcm9wZXJ0aWVzTm9kZSkgOiBUcmVlTm9kZXtcclxuXHJcbiAgICBjb25zdCB0cmVlTm9kZSA6IFRyZWVOb2RlID0ge1xyXG4gICAgICBuYW1lOiBub2RlLm5hbWUsXHJcbiAgICAgIGlkOiBub2RlLmlkLFxyXG4gICAgICBwYXJlbnQ6IG5vZGUucGFyZW50IFxyXG4gICAgfTtcclxuXHJcbiAgICBpZihub2RlLmNoaWxkcmVuKXtcclxuICAgICAgdHJlZU5vZGUuY2hpbGRyZW4gPSBbXTtcclxuICAgICAgZm9yKGNvbnN0IGNoaWxkIG9mIG5vZGUuY2hpbGRyZW4pe1xyXG4gICAgICAgIGNvbnN0IGNoaWxkVHJlZU5vZGUgPSB0aGlzLl9jb252ZXJ0T2JqZWN0U3RydWN0dXJlTm9kZVRvVHJlZU5vZGUoY2hpbGQpO1xyXG4gICAgICAgIHRyZWVOb2RlLmNoaWxkcmVuLnB1c2goY2hpbGRUcmVlTm9kZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJlZU5vZGU7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBfZmluZE5vZGUoaWQ6c3RyaW5nLCBub2RlIDogQ29tcGxleFByb3BlcnRpZXNOb2RlKSA6IENvbXBsZXhQcm9wZXJ0aWVzTm9kZSB8IG51bGx7XHJcbiAgICBpZihub2RlLmlkID09IGlkKXtcclxuICAgICAgcmV0dXJuIG5vZGU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYobm9kZS5jaGlsZHJlbil7XHJcbiAgICAgIGZvcihjb25zdCBjaGlsZCBvZiBub2RlLmNoaWxkcmVuKXtcclxuICAgICAgICBjb25zdCByZXMgPSB0aGlzLl9maW5kTm9kZShpZCwgY2hpbGQpO1xyXG4gICAgICAgIGlmKHJlcyl7XHJcbiAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VsZWN0ZWROb2Rlcyhub2RlcyA6IEZsYXROb2RlW10pe1xyXG4gICAgaWYobm9kZXMubGVuZ3RoID09PSAxKXtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlID0gdGhpcy5fZmluZE5vZGUobm9kZXNbMF0uaWQsIHRoaXMuX2NvbXBsZXhQcm9wZXJ0aWVzKCkpO1xyXG4gICAgICBpZihzZWxlY3RlZE5vZGUpe1xyXG4gICAgICAgIHRoaXMubm9kZVNlbGVjdGVkLmVtaXQoc2VsZWN0ZWROb2RlKTtcclxuICAgICAgfVxyXG4gICAgfSAgICBcclxuICB9XHJcblxyXG4gIGV4cGFuZFRyZWUoKXtcclxuICAgIHRoaXMudHJlZUNvbXBvbmVudD8uZXhwYW5kVHJlZSgpO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIG5vZGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tcGxleFByb3BlcnRpZXNOb2RlPigpO1xyXG59XHJcbiIsIjxsaWItYmltcGx1cy1mbGF0LXRyZWVcclxuICBwYWRkaW5nSW5kZW50PVwiMS40cmVtXCJcclxuICBbdHJlZURhdGFdPVwidHJlZURhdGEoKVwiXHJcbiAgZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nPVwiZmFsc2VcIlxyXG4gIChzZWxlY3RlZE5vZGVzKT1cImhhbmRsZVNlbGVjdGVkTm9kZXMoJGV2ZW50KVwiXHJcbiAgZGF0YVRlc3RQcmVmaXg9XCJvYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzLXRyZWUtXCJcclxuPjwvbGliLWJpbXBsdXMtZmxhdC10cmVlPlxyXG4iXX0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LWNvbXBsZXgtcHJvcGVydGllcy9iaW1wbHVzLW9iamVjdC1jb21wbGV4LXByb3BlcnRpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzL2JpbXBsdXMtb2JqZWN0LWNvbXBsZXgtcHJvcGVydGllcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOztBQVc1RixNQUFNLE9BQU8sdUNBQXVDO0lBUHBEO1FBZW1CLHVCQUFrQixHQUFHLE1BQU0sQ0FBd0I7WUFDbEUsRUFBRSxFQUFFLEVBQUU7WUFDTixJQUFJLEVBQUUsRUFBRTtZQUNSLE1BQU0sRUFBRSxFQUFFO1NBQ1gsQ0FBQyxDQUFDO1FBRWtDLGtCQUFhLEdBQW9DLElBQUksQ0FBQztRQUVsRixhQUFRLEdBQUcsUUFBUSxDQUFhLEdBQUcsRUFBRTtZQUM1QyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ3BELElBQUcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUN0QixPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUM7WUFFRCxNQUFNLElBQUks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IE91dHB1dCwgc2lnbmFsLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmltcGx1cy1mbGF0LXRyZWUvYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tcGxleFByb3BlcnRpZXNOb2RlIH0gZnJvbSAnLi9iaW1wbHVzLW9iamVjdC1jb21wbGV4LXByb3BlcnRpZXMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgRmxhdE5vZGUsIFRyZWVOb2RlIH0gZnJvbSAnLi4vYmltcGx1cy1mbGF0LXRyZWUvYmltcGx1cy1mbGF0LXRyZWUuaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWJpbXBsdXMtb2JqZWN0LWNvbXBsZXgtcHJvcGVydGllcycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5sZXNzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQmltcGx1c09iamVjdENvbXBsZXhQcm9wZXJ0aWVzQ29tcG9uZW50IHtcclxuICAvKiogVE9ETyByZW1vdmUgQElucHV0IG9uY2Ugc2lnbmFsIGlucHV0cyByZWxlYXNlIGZyb20gZGV2ZWxvcGVyIHByZXZpZXcuICovXHJcbiAgLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZSAqL1xyXG4gIEBJbnB1dCh7IGFsaWFzOiAnY29tcGxleFByb3BlcnRpZXMnIH0pXHJcbiAgc2V0IGNvbXBsZXhQcm9wZXJ0aWVzVmFsdWUobm9kZSA6IENvbXBsZXhQcm9wZXJ0aWVzTm9kZSkge1xyXG4gICAgdGhpcy5fY29tcGxleFByb3BlcnRpZXMuc2V0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfY29tcGxleFByb3BlcnRpZXMgPSBzaWduYWw8Q29tcGxleFByb3BlcnRpZXNOb2RlPih7XHJcbiAgICBpZDogXCJcIixcclxuICAgIG5hbWU6IFwiXCIsXHJcbiAgICBwYXJlbnQ6IFwiXCJcclxuICB9KTtcclxuXHJcbiAgQFZpZXdDaGlsZChCaW1wbHVzRmxhdFRyZWVDb21wb25lbnQpIHRyZWVDb21wb25lbnQ6IEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudCB8IG51bGwgPSBudWxsO1xyXG5cclxuICByZWFkb25seSB0cmVlRGF0YSA9IGNvbXB1dGVkPFRyZWVOb2RlW10+KCgpID0+IHtcclxuICAgIGNvbnN0IGNvbXBsZXhQcm9wZXJ0aWVzID0gdGhpcy5fY29tcGxleFByb3BlcnRpZXMoKTtcclxuICAgIGlmKCFjb21wbGV4UHJvcGVydGllcykge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgcm9vdCA9IHRoaXMuX2NvbnZlcnRPYmplY3RTdHJ1Y3R1cmVOb2RlVG9UcmVlTm9kZShjb21wbGV4UHJvcGVydGllcyk7XHJcbiAgICBpZighcm9vdCkge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFtyb290XTtcclxuICB9KVxyXG5cclxuICBwcml2YXRlIF9jb252ZXJ0T2JqZWN0U3RydWN0dXJlTm9kZVRvVHJlZU5vZGUobm9kZSA6IENvbXBsZXhQcm9wZXJ0aWVzTm9kZSkgOiBUcmVlTm9kZXtcclxuXHJcbiAgICBjb25zdCB0cmVlTm9kZSA6IFRyZWVOb2RlID0ge1xyXG4gICAgICBuYW1lOiBub2RlLm5hbWUsXHJcbiAgICAgIGlkOiBub2RlLmlkLFxyXG4gICAgICBwYXJlbnQ6IG5vZGUucGFyZW50IFxyXG4gICAgfTtcclxuXHJcbiAgICBpZihub2RlLmNoaWxkcmVuKXtcclxuICAgICAgdHJlZU5vZGUuY2hpbGRyZW4gPSBbXTtcclxuICAgICAgZm9yKGNvbnN0IGNoaWxkIG9mIG5vZGUuY2hpbGRyZW4pe1xyXG4gICAgICAgIGNvbnN0IGNoaWxkVHJlZU5vZGUgPSB0aGlzLl9jb252ZXJ0T2JqZWN0U3RydWN0dXJlTm9kZVRvVHJlZU5vZGUoY2hpbGQpO1xyXG4gICAgICAgIHRyZWVOb2RlLmNoaWxkcmVuLnB1c2goY2hpbGRUcmVlTm9kZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJlZU5vZGU7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBfZmluZE5vZGUoaWQ6c3RyaW5nLCBub2RlIDogQ29tcGxleFByb3BlcnRpZXNOb2RlKSA6IENvbXBsZXhQcm9wZXJ0aWVzTm9kZSB8IG51bGx7XHJcbiAgICBpZihub2RlLmlkID09IGlkKXtcclxuICAgICAgcmV0dXJuIG5vZGU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYobm9kZS5jaGlsZHJlbil7XHJcbiAgICAgIGZvcihjb25zdCBjaGlsZCBvZiBub2RlLmNoaWxkcmVuKXtcclxuICAgICAgICBjb25zdCByZXMgPSB0aGlzLl9maW5kTm9kZShpZCwgY2hpbGQpO1xyXG4gICAgICAgIGlmKHJlcyl7XHJcbiAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VsZWN0ZWROb2Rlcyhub2RlcyA6IEZsYXROb2RlW10pe1xyXG4gICAgaWYobm9kZXMubGVuZ3RoID09PSAxKXtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlID0gdGhpcy5fZmluZE5vZGUobm9kZXNbMF0uaWQsIHRoaXMuX2NvbXBsZXhQcm9wZXJ0aWVzKCkpO1xyXG4gICAgICBpZihzZWxlY3RlZE5vZGUpe1xyXG4gICAgICAgIHRoaXMubm9kZVNlbGVjdGVkLmVtaXQoc2VsZWN0ZWROb2RlKTtcclxuICAgICAgfVxyXG4gICAgfSAgICBcclxuICB9XHJcblxyXG4gIGV4cGFuZFRyZWUoKXtcclxuICAgIHRoaXMudHJlZUNvbXBvbmVudD8uZXhwYW5kVHJlZSgpO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIG5vZGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tcGxleFByb3BlcnRpZXNOb2RlPigpO1xyXG59XHJcbiIsIjxsaWItYmltcGx1cy1mbGF0LXRyZWVcclxuICBwYWRkaW5nSW5kZW50PVwiMS40cmVtXCJcclxuICBbdHJlZURhdGFdPVwidHJlZURhdGEoKVwiXHJcbiAgZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nPVwiZmFsc2VcIlxyXG4gIChzZWxlY3RlZE5vZGVzKT1cImhhbmRsZVNlbGVjdGVkTm9kZXMoJGV2ZW50KVwiXHJcbiAgZGF0YVRlc3RQcmVmaXg9XCJvYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzLXRyZWUtXCJcclxuPjwvbGliLWJpbXBsdXMtZmxhdC10cmVlPlxyXG4iXX0=