@inspark/inspark-components 14.0.71 → 19.0.1

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 (219) hide show
  1. package/full/bms.css +3 -2363
  2. package/full/bms.js +1 -1
  3. package/full/components/autocomplete/autocomplete.component.d.ts +36 -57
  4. package/full/components/autocomplete/autocomplete.component.d.ts.map +1 -0
  5. package/full/components/autocomplete/autocomplete.module.d.ts +10 -0
  6. package/full/components/autocomplete/autocomplete.module.d.ts.map +1 -0
  7. package/full/components/breadcrumb/breadcrumb.component.d.ts +2 -1
  8. package/full/components/breadcrumb/breadcrumb.component.d.ts.map +1 -0
  9. package/full/components/breadcrumb/breadcrumb.module.d.ts +9 -0
  10. package/full/components/breadcrumb/breadcrumb.module.d.ts.map +1 -0
  11. package/full/components/button/button.component.d.ts +9 -8
  12. package/full/components/button/button.component.d.ts.map +1 -0
  13. package/full/components/button/button.module.d.ts +12 -0
  14. package/full/components/button/button.module.d.ts.map +1 -0
  15. package/full/components/checkbox/checkbox.component.d.ts +2 -1
  16. package/full/components/checkbox/checkbox.component.d.ts.map +1 -0
  17. package/full/components/checkbox/checkbox.module.d.ts +10 -0
  18. package/full/components/checkbox/checkbox.module.d.ts.map +1 -0
  19. package/full/components/communication.service.d.ts +1 -0
  20. package/full/components/communication.service.d.ts.map +1 -0
  21. package/full/components/component-container/component-container.component.d.ts +3 -2
  22. package/full/components/component-container/component-container.component.d.ts.map +1 -0
  23. package/full/components/component-container/component-container.module.d.ts +9 -0
  24. package/full/components/component-container/component-container.module.d.ts.map +1 -0
  25. package/full/components/content-toggle/content-toggle.component.d.ts +2 -1
  26. package/full/components/content-toggle/content-toggle.component.d.ts.map +1 -0
  27. package/full/components/dropdown/dropdown.component.d.ts +31 -108
  28. package/full/components/dropdown/dropdown.component.d.ts.map +1 -0
  29. package/full/components/dropdown/dropdown.module.d.ts +10 -0
  30. package/full/components/dropdown/dropdown.module.d.ts.map +1 -0
  31. package/full/components/empty/empty.component.d.ts +2 -1
  32. package/full/components/empty/empty.component.d.ts.map +1 -0
  33. package/full/components/file/file.component.d.ts +2 -1
  34. package/full/components/file/file.component.d.ts.map +1 -0
  35. package/full/components/file/file.module.d.ts +9 -0
  36. package/full/components/file/file.module.d.ts.map +1 -0
  37. package/full/components/header/header.component.d.ts +2 -1
  38. package/full/components/header/header.component.d.ts.map +1 -0
  39. package/full/components/inline-message/inline-message.component.d.ts +2 -1
  40. package/full/components/inline-message/inline-message.component.d.ts.map +1 -0
  41. package/full/components/input-group/input-group.component.d.ts +2 -1
  42. package/full/components/input-group/input-group.component.d.ts.map +1 -0
  43. package/full/components/input-text/input-text.component.d.ts +2 -1
  44. package/full/components/input-text/input-text.component.d.ts.map +1 -0
  45. package/full/components/input-text/input-text.module.d.ts +10 -0
  46. package/full/components/input-text/input-text.module.d.ts.map +1 -0
  47. package/full/components/inspark.module.d.ts +41 -44
  48. package/full/components/inspark.module.d.ts.map +1 -0
  49. package/full/components/inspark.shared.d.ts +2 -1
  50. package/full/components/inspark.shared.d.ts.map +1 -0
  51. package/full/components/legacy/legacy-components.module.d.ts +12 -0
  52. package/full/components/legacy/legacy-components.module.d.ts.map +1 -0
  53. package/full/components/legacy/legacy-ui.module.d.ts +13 -0
  54. package/full/components/legacy/legacy-ui.module.d.ts.map +1 -0
  55. package/full/components/link/link.component.d.ts +4 -3
  56. package/full/components/link/link.component.d.ts.map +1 -0
  57. package/full/components/link/link.module.d.ts +11 -0
  58. package/full/components/link/link.module.d.ts.map +1 -0
  59. package/full/components/modal-input-text/modal-input-text.component.d.ts +2 -1
  60. package/full/components/modal-input-text/modal-input-text.component.d.ts.map +1 -0
  61. package/full/components/object-tree/object-tree.component.d.ts +2 -1
  62. package/full/components/object-tree/object-tree.component.d.ts.map +1 -0
  63. package/full/components/panel/panel.component.d.ts +2 -1
  64. package/full/components/panel/panel.component.d.ts.map +1 -0
  65. package/full/components/pie/pie.component.d.ts +2 -1
  66. package/full/components/pie/pie.component.d.ts.map +1 -0
  67. package/full/components/pie/pie.service.d.ts +1 -0
  68. package/full/components/pie/pie.service.d.ts.map +1 -0
  69. package/full/components/preloader/preloader.component.d.ts +3 -2
  70. package/full/components/preloader/preloader.component.d.ts.map +1 -0
  71. package/full/components/preloader/preloader.module.d.ts +9 -0
  72. package/full/components/preloader/preloader.module.d.ts.map +1 -0
  73. package/full/components/radiobutton/radiobutton.component.d.ts +2 -1
  74. package/full/components/radiobutton/radiobutton.component.d.ts.map +1 -0
  75. package/full/components/select-button/select-button.component.d.ts +3 -2
  76. package/full/components/select-button/select-button.component.d.ts.map +1 -0
  77. package/full/components/select-button/select-button.module.d.ts +9 -0
  78. package/full/components/select-button/select-button.module.d.ts.map +1 -0
  79. package/full/components/select-list/select-list.component.d.ts +2 -1
  80. package/full/components/select-list/select-list.component.d.ts.map +1 -0
  81. package/full/components/shared/shared-components.module.d.ts +11 -0
  82. package/full/components/shared/shared-components.module.d.ts.map +1 -0
  83. package/full/components/shared/shared-ui.module.d.ts +12 -0
  84. package/full/components/shared/shared-ui.module.d.ts.map +1 -0
  85. package/full/components/status-circle/status-circle.component.d.ts +2 -1
  86. package/full/components/status-circle/status-circle.component.d.ts.map +1 -0
  87. package/full/components/sticky/sticky.component.d.ts +2 -1
  88. package/full/components/sticky/sticky.component.d.ts.map +1 -0
  89. package/full/components/sticky/sticky.module.d.ts +9 -0
  90. package/full/components/sticky/sticky.module.d.ts.map +1 -0
  91. package/full/components/svg/svg.component.d.ts +4 -4
  92. package/full/components/svg/svg.component.d.ts.map +1 -0
  93. package/full/components/svg/svg.module.d.ts +10 -0
  94. package/full/components/svg/svg.module.d.ts.map +1 -0
  95. package/full/components/switcher/switcher.component.d.ts +2 -1
  96. package/full/components/switcher/switcher.component.d.ts.map +1 -0
  97. package/full/components/table/table-click-outside.directive.d.ts +2 -1
  98. package/full/components/table/table-click-outside.directive.d.ts.map +1 -0
  99. package/full/components/table/table-columns-multiselect/table-columns-multiselect.component.d.ts +2 -1
  100. package/full/components/table/table-columns-multiselect/table-columns-multiselect.component.d.ts.map +1 -0
  101. package/full/components/table/table-menu-overlay/table-menu-overlay.component.d.ts +2 -1
  102. package/full/components/table/table-menu-overlay/table-menu-overlay.component.d.ts.map +1 -0
  103. package/full/components/table/table.component.d.ts +10 -12
  104. package/full/components/table/table.component.d.ts.map +1 -0
  105. package/full/components/textarea/textarea.component.d.ts +2 -1
  106. package/full/components/textarea/textarea.component.d.ts.map +1 -0
  107. package/full/components/textarea/textarea.module.d.ts +10 -0
  108. package/full/components/textarea/textarea.module.d.ts.map +1 -0
  109. package/full/components/toolbar/toolbar.component.d.ts +2 -1
  110. package/full/components/toolbar/toolbar.component.d.ts.map +1 -0
  111. package/full/components/toolbar/toolbar.module.d.ts +9 -0
  112. package/full/components/toolbar/toolbar.module.d.ts.map +1 -0
  113. package/full/components/tooltip/tooltip.component.d.ts +2 -1
  114. package/full/components/tooltip/tooltip.component.d.ts.map +1 -0
  115. package/full/components/tree-table/tree-table.component.d.ts +3 -2
  116. package/full/components/tree-table/tree-table.component.d.ts.map +1 -0
  117. package/full/fesm2022/inspark-inspark-components.mjs +6292 -0
  118. package/full/fesm2022/inspark-inspark-components.mjs.map +1 -0
  119. package/full/index.css +6 -2366
  120. package/full/index.d.ts +1 -0
  121. package/full/index.js +1 -1
  122. package/full/inspark-inspark-components.d.ts.map +1 -0
  123. package/full/interface.d.ts +3 -2
  124. package/full/interface.d.ts.map +1 -0
  125. package/full/pipes/pipes.module.d.ts +1 -0
  126. package/full/pipes/pipes.module.d.ts.map +1 -0
  127. package/full/pipes/propertyValue.pipe.d.ts +1 -0
  128. package/full/pipes/propertyValue.pipe.d.ts.map +1 -0
  129. package/full/pipes/safeUrl.pipe.d.ts +1 -0
  130. package/full/pipes/safeUrl.pipe.d.ts.map +1 -0
  131. package/full/pipes/sort-by.pipe.d.ts +1 -0
  132. package/full/pipes/sort-by.pipe.d.ts.map +1 -0
  133. package/full/pipes/time.pipe.d.ts +2 -1
  134. package/full/pipes/time.pipe.d.ts.map +1 -0
  135. package/full/public_api.d.ts +24 -7
  136. package/full/public_api.d.ts.map +1 -0
  137. package/full/services/inspark-dialog.service.d.ts +19 -6
  138. package/full/services/inspark-dialog.service.d.ts.map +1 -0
  139. package/full/services/inspark-message.service.d.ts +3 -2
  140. package/full/services/inspark-message.service.d.ts.map +1 -0
  141. package/full/utils/gettextMarker.function.d.ts +1 -0
  142. package/full/utils/gettextMarker.function.d.ts.map +1 -0
  143. package/full/utils/hybrid/prime-table/row-state.enum.d.ts +1 -0
  144. package/full/utils/hybrid/prime-table/row-state.enum.d.ts.map +1 -0
  145. package/full/utils/hybrid/prime-table/table-row-data.model.d.ts +1 -0
  146. package/full/utils/hybrid/prime-table/table-row-data.model.d.ts.map +1 -0
  147. package/interface/index.d.ts +1 -0
  148. package/interface/inspark-inspark-components.d.ts.map +1 -0
  149. package/interface/interface.d.ts +3 -2
  150. package/interface/interface.d.ts.map +1 -0
  151. package/interface/public_api.d.ts +1 -0
  152. package/interface/public_api.d.ts.map +1 -0
  153. package/package.json +1 -1
  154. package/full/components/primeng.module.d.ts +0 -7
  155. package/full/esm2020/components/autocomplete/autocomplete.component.mjs +0 -220
  156. package/full/esm2020/components/breadcrumb/breadcrumb.component.mjs +0 -20
  157. package/full/esm2020/components/button/button.component.mjs +0 -160
  158. package/full/esm2020/components/checkbox/checkbox.component.mjs +0 -89
  159. package/full/esm2020/components/communication.service.mjs +0 -25
  160. package/full/esm2020/components/component-container/component-container.component.mjs +0 -17
  161. package/full/esm2020/components/content-toggle/content-toggle.component.mjs +0 -49
  162. package/full/esm2020/components/dropdown/dropdown.component.mjs +0 -338
  163. package/full/esm2020/components/empty/empty.component.mjs +0 -12
  164. package/full/esm2020/components/file/file.component.mjs +0 -53
  165. package/full/esm2020/components/header/header.component.mjs +0 -29
  166. package/full/esm2020/components/inline-message/inline-message.component.mjs +0 -20
  167. package/full/esm2020/components/input-group/input-group.component.mjs +0 -166
  168. package/full/esm2020/components/input-text/input-text.component.mjs +0 -149
  169. package/full/esm2020/components/inspark.module.mjs +0 -239
  170. package/full/esm2020/components/inspark.shared.mjs +0 -25
  171. package/full/esm2020/components/link/link.component.mjs +0 -131
  172. package/full/esm2020/components/modal-input-text/modal-input-text.component.mjs +0 -88
  173. package/full/esm2020/components/object-tree/object-tree.component.mjs +0 -14
  174. package/full/esm2020/components/panel/panel.component.mjs +0 -11
  175. package/full/esm2020/components/pie/pie.component.mjs +0 -44
  176. package/full/esm2020/components/pie/pie.service.mjs +0 -55
  177. package/full/esm2020/components/preloader/preloader.component.mjs +0 -25
  178. package/full/esm2020/components/primeng.module.mjs +0 -22
  179. package/full/esm2020/components/radiobutton/radiobutton.component.mjs +0 -50
  180. package/full/esm2020/components/select-button/select-button.component.mjs +0 -190
  181. package/full/esm2020/components/select-list/select-list.component.mjs +0 -55
  182. package/full/esm2020/components/status-circle/status-circle.component.mjs +0 -39
  183. package/full/esm2020/components/sticky/sticky.component.mjs +0 -64
  184. package/full/esm2020/components/svg/svg.component.mjs +0 -28
  185. package/full/esm2020/components/switcher/switcher.component.mjs +0 -123
  186. package/full/esm2020/components/table/table-click-outside.directive.mjs +0 -31
  187. package/full/esm2020/components/table/table-columns-multiselect/table-columns-multiselect.component.mjs +0 -32
  188. package/full/esm2020/components/table/table-menu-overlay/table-menu-overlay.component.mjs +0 -26
  189. package/full/esm2020/components/table/table.component.mjs +0 -482
  190. package/full/esm2020/components/textarea/textarea.component.mjs +0 -87
  191. package/full/esm2020/components/toolbar/toolbar.component.mjs +0 -30
  192. package/full/esm2020/components/tooltip/tooltip.component.mjs +0 -14
  193. package/full/esm2020/components/tree-table/tree-table.component.mjs +0 -206
  194. package/full/esm2020/inspark-inspark-components.mjs +0 -5
  195. package/full/esm2020/interface.mjs +0 -2
  196. package/full/esm2020/pipes/pipes.module.mjs +0 -19
  197. package/full/esm2020/pipes/propertyValue.pipe.mjs +0 -25
  198. package/full/esm2020/pipes/safeUrl.pipe.mjs +0 -36
  199. package/full/esm2020/pipes/sort-by.pipe.mjs +0 -28
  200. package/full/esm2020/pipes/time.pipe.mjs +0 -206
  201. package/full/esm2020/public_api.mjs +0 -60
  202. package/full/esm2020/services/inspark-dialog.service.mjs +0 -61
  203. package/full/esm2020/services/inspark-message.service.mjs +0 -77
  204. package/full/esm2020/utils/gettextMarker.function.mjs +0 -5
  205. package/full/esm2020/utils/hybrid/prime-table/row-state.enum.mjs +0 -9
  206. package/full/esm2020/utils/hybrid/prime-table/table-row-data.model.mjs +0 -2
  207. package/full/fesm2015/inspark-inspark-components.mjs +0 -3664
  208. package/full/fesm2015/inspark-inspark-components.mjs.map +0 -1
  209. package/full/fesm2020/inspark-inspark-components.mjs +0 -3666
  210. package/full/fesm2020/inspark-inspark-components.mjs.map +0 -1
  211. package/full/package.json +0 -36
  212. package/interface/esm2020/inspark-inspark-components.mjs +0 -5
  213. package/interface/esm2020/interface.mjs +0 -2
  214. package/interface/esm2020/public_api.mjs +0 -5
  215. package/interface/fesm2020/inspark-inspark-components.mjs +0 -8
  216. package/interface/fesm2020/inspark-inspark-components.mjs.map +0 -1
  217. package/interface/package.json +0 -36
  218. /package/interface/{fesm2015 → fesm2022}/inspark-inspark-components.mjs +0 -0
  219. /package/interface/{fesm2015 → fesm2022}/inspark-inspark-components.mjs.map +0 -0
@@ -1,87 +0,0 @@
1
- import { Component, forwardRef, Input } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/forms";
5
- import * as i2 from "@angular/common";
6
- export class TextareaComponent {
7
- constructor() {
8
- this.name = null;
9
- this.label = null;
10
- this.required = false;
11
- this.error = null;
12
- this.placeholder = '';
13
- this.id = null;
14
- this.minHeight = 30;
15
- this.maxlength = 100000;
16
- this.propagateChange = (_) => {
17
- };
18
- }
19
- /**
20
- * Write form value to the DOM element (model => view)
21
- */
22
- writeValue(value) {
23
- this.value = value;
24
- }
25
- /**
26
- * Write form disabled state to the DOM element (model => view)
27
- */
28
- setDisabledState(isDisabled) {
29
- this.disabled = isDisabled;
30
- }
31
- /**
32
- * Update form when DOM element value changes (view => model)
33
- */
34
- registerOnChange(fn) {
35
- // Store the provided function as an internal method.
36
- this.propagateChange = fn;
37
- }
38
- /**
39
- * Update form when DOM element is blurred (view => model)
40
- */
41
- registerOnTouched(fn) {
42
- // Store the provided function as an internal method.
43
- this.onTouched = fn;
44
- }
45
- onChange(_) {
46
- this.propagateChange(this.value);
47
- }
48
- onTouched() {
49
- }
50
- }
51
- TextareaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
52
- TextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TextareaComponent, selector: "in-textarea", inputs: { name: "name", label: "label", required: "required", error: "error", placeholder: "placeholder", id: "id", disabled: "disabled", minHeight: "minHeight", maxlength: "maxlength" }, providers: [
53
- {
54
- provide: NG_VALUE_ACCESSOR,
55
- useExisting: forwardRef(() => TextareaComponent),
56
- multi: true,
57
- }
58
- ], ngImport: i0, template: "<label class=\"c-label\">\r\n <span *ngIf=\"label\" class=\"c-label__content\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n </span>\r\n <textarea (change)=\"onChange($event)\"\r\n (input)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [id]=\"id\"\r\n [name]=\"name\"\r\n [ngStyle]=\"{ 'min-height': minHeight+'px' }\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n class=\"c-textarea field_{{id}}\"\r\n type=\"text\"\r\n ></textarea>\r\n</label>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextareaComponent, decorators: [{
60
- type: Component,
61
- args: [{ selector: 'in-textarea', providers: [
62
- {
63
- provide: NG_VALUE_ACCESSOR,
64
- useExisting: forwardRef(() => TextareaComponent),
65
- multi: true,
66
- }
67
- ], template: "<label class=\"c-label\">\r\n <span *ngIf=\"label\" class=\"c-label__content\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n </span>\r\n <textarea (change)=\"onChange($event)\"\r\n (input)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [id]=\"id\"\r\n [name]=\"name\"\r\n [ngStyle]=\"{ 'min-height': minHeight+'px' }\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n class=\"c-textarea field_{{id}}\"\r\n type=\"text\"\r\n ></textarea>\r\n</label>\r\n" }]
68
- }], propDecorators: { name: [{
69
- type: Input
70
- }], label: [{
71
- type: Input
72
- }], required: [{
73
- type: Input
74
- }], error: [{
75
- type: Input
76
- }], placeholder: [{
77
- type: Input
78
- }], id: [{
79
- type: Input
80
- }], disabled: [{
81
- type: Input
82
- }], minHeight: [{
83
- type: Input
84
- }], maxlength: [{
85
- type: Input
86
- }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5zcGFyay1jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7O0FBY3ZFLE1BQU0sT0FBTyxpQkFBaUI7SUFaOUI7UUFjVyxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osVUFBSyxHQUFHLElBQUksQ0FBQztRQUNiLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsVUFBSyxHQUFHLElBQUksQ0FBQztRQUNiLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLE9BQUUsR0FBRyxJQUFJLENBQUM7UUFFVixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsY0FBUyxHQUFHLE1BQU0sQ0FBQztRQWtDcEIsb0JBQWUsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFO1FBQ3JDLENBQUMsQ0FBQztLQVNIO0lBeENDOztPQUVHO0lBQ0gsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixxREFBcUQ7UUFDckQsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLENBQUMsRUFBTztRQUN2QixxREFBcUQ7UUFDckQsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUtELFFBQVEsQ0FBQyxDQUFNO1FBQ2IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVPLFNBQVM7SUFDakIsQ0FBQzs7OEdBcERVLGlCQUFpQjtrR0FBakIsaUJBQWlCLGtPQVJqQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO1lBQ2hELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNiSCxxdUJBbUJBOzJGREphLGlCQUFpQjtrQkFaN0IsU0FBUzsrQkFDRSxhQUFhLGFBR1o7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUlRLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpbi10ZXh0YXJlYScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRhcmVhLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXh0YXJlYS5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGV4dGFyZWFDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH1cclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGV4dGFyZWFDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIEBJbnB1dCgpIG5hbWUgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGxhYmVsID0gbnVsbDtcclxuICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGVycm9yID0gbnVsbDtcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xyXG4gIEBJbnB1dCgpIGlkID0gbnVsbDtcclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBtaW5IZWlnaHQgPSAzMDtcclxuICBASW5wdXQoKSBtYXhsZW5ndGggPSAxMDAwMDA7XHJcblxyXG4gIHZhbHVlOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdyaXRlIGZvcm0gdmFsdWUgdG8gdGhlIERPTSBlbGVtZW50IChtb2RlbCA9PiB2aWV3KVxyXG4gICAqL1xyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV3JpdGUgZm9ybSBkaXNhYmxlZCBzdGF0ZSB0byB0aGUgRE9NIGVsZW1lbnQgKG1vZGVsID0+IHZpZXcpXHJcbiAgICovXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBmb3JtIHdoZW4gRE9NIGVsZW1lbnQgdmFsdWUgY2hhbmdlcyAodmlldyA9PiBtb2RlbClcclxuICAgKi9cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIC8vIFN0b3JlIHRoZSBwcm92aWRlZCBmdW5jdGlvbiBhcyBhbiBpbnRlcm5hbCBtZXRob2QuXHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIGZvcm0gd2hlbiBET00gZWxlbWVudCBpcyBibHVycmVkICh2aWV3ID0+IG1vZGVsKVxyXG4gICAqL1xyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIC8vIFN0b3JlIHRoZSBwcm92aWRlZCBmdW5jdGlvbiBhcyBhbiBpbnRlcm5hbCBtZXRob2QuXHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgb25DaGFuZ2UoXzogYW55KSB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25Ub3VjaGVkKCkge1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGxhYmVsIGNsYXNzPVwiYy1sYWJlbFwiPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJsYWJlbFwiIGNsYXNzPVwiYy1sYWJlbF9fY29udGVudFwiPlxyXG4gICAgICAgIHt7bGFiZWx9fVxyXG4gICAgICA8c3BhbiAqbmdJZj1cInJlcXVpcmVkXCIgY2xhc3M9XCJjLWxhYmVsX19yZXFcIj4qPC9zcGFuPlxyXG48c3BhbiAqbmdJZj1cImVycm9yXCIgY2xhc3M9XCJjLWxhYmVsX19zdWJfaXMtZXJyb3JcIj57e2Vycm9yfX08L3NwYW4+XHJcbiAgICA8L3NwYW4+XHJcbiAgPHRleHRhcmVhIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChpbnB1dCk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIFtpZF09XCJpZFwiXHJcbiAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7ICdtaW4taGVpZ2h0JzogbWluSGVpZ2h0KydweCcgfVwiXHJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYy10ZXh0YXJlYSBmaWVsZF97e2lkfX1cIlxyXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgPjwvdGV4dGFyZWE+XHJcbjwvbGFiZWw+XHJcbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input } from '@angular/core';
2
- import { Router } from '@angular/router';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/router";
5
- import * as i2 from "../sticky/sticky.component";
6
- export class ToolbarComponent {
7
- constructor(element, cdRef, router) {
8
- this.element = element;
9
- this.cdRef = cdRef;
10
- this.router = router;
11
- this.display = false;
12
- }
13
- ngOnInit() {
14
- }
15
- clickedOutsideOverlay(event) {
16
- if (!this.element.nativeElement.contains(event.target)) {
17
- this.display = false;
18
- this.cdRef.detectChanges();
19
- }
20
- }
21
- }
22
- ToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ToolbarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
23
- ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ToolbarComponent, selector: "in-toolbar", inputs: { title: "title" }, ngImport: i0, template: "<div class=\"toolbar-wrapper\">\r\n <in-sticky top=\"60\">\r\n\r\n <div class=\"c-panel toolbar-container\">\r\n <div class=\"c-toolbar\">\r\n <div class=\"c-toolbar__side-left\">\r\n <div class=\"c-toolbar__title\">{{title}}</div>\r\n </div>\r\n <div class=\"c-toolbar__side-center\">\r\n\r\n </div>\r\n <div class=\"c-toolbar__side-right\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </in-sticky>\r\n</div>\r\n", styles: [".toolbar-wrapper{padding-bottom:4px}.toolbar-container{padding:8px;position:relative}:host{position:sticky;z-index:2}.c-toolbar{display:inline-flex;width:100%;flex-wrap:wrap}.c-toolbar__side-left{flex:100%;text-align:left}@media screen and (min-width: 1200px){.c-toolbar__side-left{flex:1}}.c-toolbar__title{display:inline-flex;vertical-align:middle;font-size:22px}.c-toolbar__side-right{display:flex;text-align:right}.add-widget{position:fixed;right:16px;bottom:16px}.widget-container{position:absolute;inset:40px 0 0;overflow:auto}.widget-block{position:absolute;inset:5px}.sidebar{background:var(--main-background);position:absolute;left:0;top:35px;bottom:0;height:100vh;z-index:100;width:300px;box-shadow:0 0 3px 8px #0000001a;overflow:auto}.right-side{display:flex;align-items:center;justify-content:flex-end;flex:1}.right-side>*{margin-left:5px}.left-side{white-space:nowrap;display:flex;align-items:center;justify-content:flex-start}.left-side>*{margin-right:5px}.controls-panel{height:41px;border-radius:2px;padding:4px 0;margin:0 5px 5px;display:flex}.dashboard-list{position:relative}.title{font-size:22px}\n"], dependencies: [{ kind: "component", type: i2.InsparkStickyComponent, selector: "in-sticky", inputs: ["top", "isInline", "isFloated", "zIndex", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ToolbarComponent, decorators: [{
25
- type: Component,
26
- args: [{ selector: 'in-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, entryComponents: [], template: "<div class=\"toolbar-wrapper\">\r\n <in-sticky top=\"60\">\r\n\r\n <div class=\"c-panel toolbar-container\">\r\n <div class=\"c-toolbar\">\r\n <div class=\"c-toolbar__side-left\">\r\n <div class=\"c-toolbar__title\">{{title}}</div>\r\n </div>\r\n <div class=\"c-toolbar__side-center\">\r\n\r\n </div>\r\n <div class=\"c-toolbar__side-right\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </in-sticky>\r\n</div>\r\n", styles: [".toolbar-wrapper{padding-bottom:4px}.toolbar-container{padding:8px;position:relative}:host{position:sticky;z-index:2}.c-toolbar{display:inline-flex;width:100%;flex-wrap:wrap}.c-toolbar__side-left{flex:100%;text-align:left}@media screen and (min-width: 1200px){.c-toolbar__side-left{flex:1}}.c-toolbar__title{display:inline-flex;vertical-align:middle;font-size:22px}.c-toolbar__side-right{display:flex;text-align:right}.add-widget{position:fixed;right:16px;bottom:16px}.widget-container{position:absolute;inset:40px 0 0;overflow:auto}.widget-block{position:absolute;inset:5px}.sidebar{background:var(--main-background);position:absolute;left:0;top:35px;bottom:0;height:100vh;z-index:100;width:300px;box-shadow:0 0 3px 8px #0000001a;overflow:auto}.right-side{display:flex;align-items:center;justify-content:flex-end;flex:1}.right-side>*{margin-left:5px}.left-side{white-space:nowrap;display:flex;align-items:center;justify-content:flex-start}.left-side>*{margin-right:5px}.controls-panel{height:41px;border-radius:2px;padding:4px 0;margin:0 5px 5px;display:flex}.dashboard-list{position:relative}.title{font-size:22px}\n"] }]
27
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Router }]; }, propDecorators: { title: [{
28
- type: Input
29
- }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnNwYXJrLWNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVN2QyxNQUFNLE9BQU8sZ0JBQWdCO0lBUzNCLFlBQW1CLE9BQW1CLEVBQVUsS0FBd0IsRUFBUyxNQUFjO1FBQTVFLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVE7UUFML0YsWUFBTyxHQUFHLEtBQUssQ0FBQztJQU9oQixDQUFDO0lBRUQsUUFBUTtJQUVSLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxLQUFLO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDOzs2R0F0QlUsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsOEVDVjdCLHdnQkFtQkE7MkZEVGEsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTSxtQkFDOUIsRUFBRTtzSkFLVixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2luLXRvb2xiYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90b29sYmFyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW50cnlDb21wb25lbnRzOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG5cclxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xyXG4gIGRpc3BsYXkgPSBmYWxzZTtcclxuICBvYmplY3RzO1xyXG5cclxuICBzZWxlY3RlZDogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyByb3V0ZXI6IFJvdXRlcikge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGlja2VkT3V0c2lkZU92ZXJsYXkoZXZlbnQpIHtcclxuICAgIGlmICghdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xyXG4gICAgICB0aGlzLmRpc3BsYXkgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4iLCI8ZGl2IGNsYXNzPVwidG9vbGJhci13cmFwcGVyXCI+XHJcbiAgPGluLXN0aWNreSB0b3A9XCI2MFwiPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjLXBhbmVsIHRvb2xiYXItY29udGFpbmVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjLXRvb2xiYXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYy10b29sYmFyX19zaWRlLWxlZnRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjLXRvb2xiYXJfX3RpdGxlXCI+e3t0aXRsZX19PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImMtdG9vbGJhcl9fc2lkZS1jZW50ZXJcIj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImMtdG9vbGJhcl9fc2lkZS1yaWdodFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2luLXN0aWNreT5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,14 +0,0 @@
1
- import { Component, ChangeDetectionStrategy } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class TooltipComponent {
4
- constructor() { }
5
- ngOnInit() {
6
- }
7
- }
8
- TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TooltipComponent, selector: "in-tooltip", ngImport: i0, template: "<div class=\"c-tooltip c-tooltip_left\">\r\n <ng-content></ng-content>\r\n <div class=\"c-tooltip__content\" style=\"width: 12em;\" >\r\n <ng-content select=\"tooltip_content\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n", styles: [".c-tooltip{display:inline-block;position:relative;text-align:left;overflow:visible}.c-tooltip:hover .c-tooltip__content{visibility:visible;opacity:1}.c-tooltip_left>.c-tooltip__content{inset:50% 100% auto auto;margin-right:12px;border-top-right-radius:0}.c-tooltip_left>.c-tooltip__content:before{border-top-color:var(--colorBgLevel2, #282A31);border-left-color:var(--colorBgLevel2, #282A31)}.c-tooltip__content{position:absolute;width:auto;margin:0 0 12px;padding:9px 12px;font-size:13px;font-weight:400;letter-spacing:normal;border-radius:3px;line-height:1.64286;visibility:hidden;opacity:0;transition:opacity .3s linear;z-index:1070;background:var(--colorBgLevel2, #282A31);color:var(--ids-theme-text-color, #fff);white-space:normal;text-transform:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TooltipComponent, decorators: [{
11
- type: Component,
12
- args: [{ selector: 'in-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"c-tooltip c-tooltip_left\">\r\n <ng-content></ng-content>\r\n <div class=\"c-tooltip__content\" style=\"width: 12em;\" >\r\n <ng-content select=\"tooltip_content\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n", styles: [".c-tooltip{display:inline-block;position:relative;text-align:left;overflow:visible}.c-tooltip:hover .c-tooltip__content{visibility:visible;opacity:1}.c-tooltip_left>.c-tooltip__content{inset:50% 100% auto auto;margin-right:12px;border-top-right-radius:0}.c-tooltip_left>.c-tooltip__content:before{border-top-color:var(--colorBgLevel2, #282A31);border-left-color:var(--colorBgLevel2, #282A31)}.c-tooltip__content{position:absolute;width:auto;margin:0 0 12px;padding:9px 12px;font-size:13px;font-weight:400;letter-spacing:normal;border-radius:3px;line-height:1.64286;visibility:hidden;opacity:0;transition:opacity .3s linear;z-index:1070;background:var(--colorBgLevel2, #282A31);color:var(--ids-theme-text-color, #fff);white-space:normal;text-transform:none}\n"] }]
13
- }], ctorParameters: function () { return []; } });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnNwYXJrLWNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRM0UsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs7NkdBTFUsZ0JBQWdCO2lHQUFoQixnQkFBZ0Isa0RDUjdCLG1PQU9BOzJGRENhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxZQUFZLG1CQUdMLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaW4tdG9vbHRpcCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Rvb2x0aXAuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImMtdG9vbHRpcCBjLXRvb2x0aXBfbGVmdFwiPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8ZGl2IGNsYXNzPVwiYy10b29sdGlwX19jb250ZW50XCIgc3R5bGU9XCJ3aWR0aDogMTJlbTtcIiA+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0b29sdGlwX2NvbnRlbnRcIj48L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuIl19
@@ -1,206 +0,0 @@
1
- import { Component, ContentChildren, EventEmitter, Input, NgModule, Output, QueryList } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { InsparkTemplate } from '../inspark.shared';
4
- import { TranslateModule } from '@ngx-translate/core';
5
- import { FormsModule } from '@angular/forms';
6
- import { TableComponentModule } from '../table/table.component';
7
- import { PipesModule } from '../../pipes/pipes.module';
8
- import { TreeTableModule } from 'primeng/treetable';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common";
11
- import * as i2 from "primeng/treetable";
12
- import * as i3 from "primeng/api";
13
- import * as i4 from "@angular/forms";
14
- import * as i5 from "../table/table-columns-multiselect/table-columns-multiselect.component";
15
- import * as i6 from "../../pipes/propertyValue.pipe";
16
- import * as i7 from "@ngx-translate/core";
17
- export class TreeTableComponent {
18
- constructor() {
19
- this.columns = [];
20
- this.values = [];
21
- this.checkboxSelection = true;
22
- this.activeChange = new EventEmitter();
23
- this.selectionChange = new EventEmitter();
24
- this.addAction = new EventEmitter();
25
- this.csvAction = new EventEmitter();
26
- this.saveAction = new EventEmitter();
27
- this.collapseAction = new EventEmitter();
28
- this.removeAction = new EventEmitter();
29
- this.unlinkAction = new EventEmitter();
30
- this.groupEditAction = new EventEmitter();
31
- this.groupAddAction = new EventEmitter();
32
- this.rowIndex = 0;
33
- this.isCollapse = true;
34
- this._selection = null;
35
- }
36
- set selection(val) {
37
- this._selection = val;
38
- }
39
- get selectionValue() {
40
- return this._selection;
41
- }
42
- set selectionValue(val) {
43
- this._selection = val;
44
- this.selectionChange.emit(val);
45
- }
46
- isRowActive(row) {
47
- return this.active && this.active.id === row.id;
48
- }
49
- visibleColumns() {
50
- return this.columns.filter(column => !column.isHidden);
51
- }
52
- columnsChange(data) {
53
- data.column.isHidden = !data.event;
54
- }
55
- ngAfterContentInit() {
56
- this.templates.forEach((item) => {
57
- switch (item.getType()) {
58
- case 'caption':
59
- this.captionTemplate = item.template;
60
- break;
61
- case 'header':
62
- this.headerTemplate = item.template;
63
- break;
64
- case 'body':
65
- this.bodyTemplate = item.template;
66
- break;
67
- case 'value':
68
- this.valueTemplate = item.template;
69
- break;
70
- case 'loadingbody':
71
- this.loadingBodyTemplate = item.template;
72
- break;
73
- case 'footer':
74
- this.footerTemplate = item.template;
75
- break;
76
- case 'summary':
77
- this.summaryTemplate = item.template;
78
- break;
79
- case 'colgroup':
80
- this.colGroupTemplate = item.template;
81
- break;
82
- case 'rowexpansion':
83
- this.expandedRowTemplate = item.template;
84
- break;
85
- case 'frozenrows':
86
- this.frozenRowsTemplate = item.template;
87
- break;
88
- case 'frozenheader':
89
- this.frozenHeaderTemplate = item.template;
90
- break;
91
- case 'frozenbody':
92
- this.frozenBodyTemplate = item.template;
93
- break;
94
- case 'frozenfooter':
95
- this.frozenFooterTemplate = item.template;
96
- break;
97
- case 'frozencolgroup':
98
- this.frozenColGroupTemplate = item.template;
99
- break;
100
- case 'emptymessage':
101
- this.emptyMessageTemplate = item.template;
102
- break;
103
- case 'paginatorleft':
104
- this.paginatorLeftTemplate = item.template;
105
- break;
106
- case 'paginatorright':
107
- this.paginatorRightTemplate = item.template;
108
- break;
109
- }
110
- });
111
- }
112
- collapse(event, dt) {
113
- this.values.forEach((node) => {
114
- this.toggleCollapse(node, this.isCollapse);
115
- });
116
- this.isCollapse = !this.isCollapse;
117
- dt.filterGlobal(this.searchText, 'contains');
118
- }
119
- toggleCollapse(node, isCollapsed) {
120
- if (node.children) {
121
- node.expanded = isCollapsed;
122
- for (const cn of node.children) {
123
- if (cn) {
124
- this.toggleCollapse(cn, isCollapsed);
125
- }
126
- }
127
- }
128
- }
129
- }
130
- TreeTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
131
- TreeTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TreeTableComponent, selector: "in-tree-table", inputs: { columns: "columns", values: "values", scrollHeight: "scrollHeight", scrollable: "scrollable", selectionMode: "selectionMode", label: "label", error: "error", class: "class", required: "required", style: "style", toolbar: "toolbar", checkboxSelection: "checkboxSelection", active: "active", sortField: "sortField", isAscending: "isAscending", dataKey: "dataKey", selection: "selection" }, outputs: { activeChange: "activeChange", selectionChange: "selectionChange", addAction: "addAction", csvAction: "csvAction", saveAction: "saveAction", collapseAction: "collapseAction", removeAction: "removeAction", unlinkAction: "unlinkAction", groupEditAction: "groupEditAction", groupAddAction: "groupAddAction" }, queries: [{ propertyName: "templates", predicate: InsparkTemplate }], ngImport: i0, template: "<p-treeTable #dt\r\n [(selection)]=\"selectionValue\"\r\n [class]=\"class\"\r\n [columns]=\"visibleColumns()\"\r\n [resizableColumns]=\"true\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [scrollable]=\"scrollable\"\r\n [selectionMode]=\"selectionMode\"\r\n [sortField]=\"sortField || 'id'\"\r\n [sortOrder]=\"isAscending ? 1 : -1\"\r\n [style]=\"style\"\r\n [value]=\"values\"\r\n columnResizeMode=\"expand\"\r\n>\r\n <ng-template let-columns pTemplate=\"colgroup\">\r\n <colgroup>\r\n <col *ngIf=\"checkboxSelection\" style=\"width:44px;\">\r\n <col *ngFor=\"let col of visibleColumns()\" [style.width]=\"col.width ? col.width : '10px'\">\r\n </colgroup>\r\n </ng-template>\r\n <ng-template let-columns pTemplate=\"header\">\r\n <tr>\r\n <th *ngIf=\"checkboxSelection\">\r\n <p-treeTableHeaderCheckbox></p-treeTableHeaderCheckbox>\r\n </th>\r\n <th *ngFor=\"let col of columns; let i = index\" [ttSortableColumn]=\"col.field\" class=\"u-position-relative\"\r\n ttResizableColumn>\r\n <div class=\"p-treetable-thead-title\" title=\"{{col.label | translate}}\">\r\n {{col.label | translate}}\r\n </div>\r\n <p-treeTableSortIcon [field]=\"col.field\" class=\"p-sortable-column-buttons\"></p-treeTableSortIcon>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template let-columns=\"columns\" let-rowData=\"rowData\" let-rowNode pTemplate=\"body\">\r\n <tr [ngClass]=\"{row_active: isRowActive(rowData)}\" [ttSelectableRow]=\"rowNode\" class=\"row\">\r\n <td *ngIf=\"checkboxSelection\">\r\n <p-treeTableCheckbox [value]=\"rowNode\"></p-treeTableCheckbox>\r\n </td>\r\n <td (click)=\"activeChange.emit(rowData)\" *ngFor=\"let col of columns; let i = index\"\r\n class=\"_u-overflow-visible\">\r\n <div class=\"\" style=\"display: flex; flex-wrap: nowrap;\">\r\n <ng-template [ngIf]=\"i == 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" style=\"align-self: center;\"></p-treeTableToggler>\r\n </ng-template>\r\n <div [ngClass]=\"{ 'p-treetable-tbody-content_has-toggler ': i == 0 }\"\r\n class=\"p-treetable-tbody-content cell-content_hover\"\r\n style=\"flex-grow: 1;\"\r\n title=\"{{rowData | propertyValue: col.field}}\">\r\n <ng-container *ngIf=\"!valueTemplate\">\r\n <i *ngIf=\"rowData.icon && i == 0\" [ngClass]=\"rowData.icon\" class=\"u-margin-right-tiny\"></i>\r\n {{rowData | propertyValue: col.field}}\r\n </ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTemplate; context: {$implicit: { data: rowData, col: col}}\"></ng-container>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"toolbar\" pTemplate=\"caption\">\r\n\r\n <div class=\"o-grid o-grid_no-gutter\">\r\n <div class=\"c-tree-table__toolbar-content u-display-inline-flex\">\r\n <div class=\"c-form c-form_inline u-display-inline-block\">\r\n <form class=\"c-label\">\r\n <div class=\"input-wrapper u-margin-right-tiny\">\r\n <input #searchTextInput\r\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\r\n [(ngModel)]=\"searchText\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n autofocus=\"\"\r\n class=\"search-box c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n placeholder=\"{{('SHARED.SEARCH' | translate) + ':'}}\"\r\n required\r\n style=\"padding-right: 28px\"\r\n tabindex=\"1\"\r\n type=\"search\"\r\n >\r\n <button (click)=\"dt.filterGlobal($event.target.value, 'contains')\" class=\"button-reset\" type=\"reset\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"in in-close\"></i>\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"c-btn c-btn_border-free c-btn_small\">\r\n <in-table-columns-multiselect (columnsChange)=\"columnsChange($event)\"\r\n [columns]=\"columns\"></in-table-columns-multiselect>\r\n </div>\r\n\r\n <button (click)=\"addAction.emit($event)\" *ngIf=\"toolbar.add\" [disabled]=\"toolbar.add.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-plus\" [title]=\"toolbar.add.title || '\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C'\"></i>\r\n </button>\r\n\r\n <button (click)=\"groupAddAction.emit($event)\" *ngIf=\"toolbar.groupAdd\" [disabled]=\"toolbar.groupAdd.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-folder-closed\" [title]=\"toolbar.groupAdd.title || '\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443'\"></i>\r\n </button>\r\n\r\n\r\n <button (click)=\"saveAction.emit($event)\" *ngIf=\"toolbar.save\"\r\n [disabled]=\"toolbar.save.disabled\"\r\n class=\"c-btn c-btn_primary c-btn_small\"\r\n title=\"{{'Save' | translate}}\"\r\n >\r\n {{'Save' | translate}}\r\n </button>\r\n <button (click)=\"groupEditAction.emit($event)\" *ngIf=\"toolbar.groupEdit && toolbar.groupEdit.active\"\r\n [disabled]=\"toolbar.groupEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'groupEdit' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"removeAction.emit($event)\" *ngIf=\"toolbar.remove && toolbar.remove.active\"\r\n [disabled]=\"toolbar.remove.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-trash\" [title]=\"toolbar.remove?.title || '\u0423\u0434\u0430\u043B\u0438\u0442\u044C'\"></i>\r\n </button>\r\n <button (click)=\"unlinkAction.emit($event)\" *ngIf=\"toolbar.unlink\" [disabled]=\"toolbar.unlink.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-link-off\" title=\"{{'Detach tag from selected items' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"csvAction.emit($event)\" *ngIf=\"toolbar.csv\" [disabled]=\"toolbar.csv.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n<!-- Todo: \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430 in-file-csv-->\r\n <i class=\"in in-file-excel-outline\" title=\"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u0430\u043A CSV\"></i>\r\n </button>\r\n <button *ngIf=\"toolbar.collapse\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n (click)=\"collapse($event, dt)\"\r\n title=\"{{(isCollapse ? 'Expand all' : 'Collapse all') | translate}}\">\r\n <svg *ngIf=\"isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path d=\"M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z\"/>\r\n </svg>\r\n <svg *ngIf=\"!isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fill-rule=\"evenodd\" d=\"M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-treeTable>\r\n", styles: ["@charset \"UTF-8\";.p-sortable-column{cursor:pointer;position:relative}.p-sortable-column-buttons{position:absolute;top:0;right:0;width:18px;height:100%;display:inline-flex;align-items:center;z-index:10000}.p-sortable-column-buttons>a{position:absolute;top:50%;right:0;left:0;transform:translateY(-50%)}.u-overflow-visible{overflow:visible!important}.button-reset{display:flex;align-items:center;position:absolute;right:6px;top:5px;padding:6px;font-size:15px;border:none;outline:0;cursor:pointer;color:var(--colorTextMuted);background-color:transparent}.button-reset:hover{color:var(--colorIcon)}.input-wrapper{position:relative;display:flex;align-items:baseline}.c-input:not(:valid)~.button-reset{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.TreeTable, selector: "p-treeTable", inputs: ["columns", "style", "styleClass", "tableStyle", "tableStyleClass", "autoLayout", "lazy", "lazyLoadOnInit", "paginator", "rows", "first", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "customSort", "selectionMode", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "compareSelectionBy", "rowHover", "loading", "loadingIcon", "showLoader", "scrollable", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "frozenColumns", "resizableColumns", "columnResizeMode", "reorderableColumns", "contextMenu", "rowTrackBy", "filters", "globalFilterFields", "filterDelay", "filterMode", "filterLocale", "virtualRowHeight", "value", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection"], outputs: ["selectionChange", "contextMenuSelectionChange", "onFilter", "onNodeExpand", "onNodeCollapse", "onPage", "onSort", "onLazyLoad", "sortFunction", "onColResize", "onColReorder", "onNodeSelect", "onNodeUnselect", "onContextMenuSelect", "onHeaderCheckboxToggle", "onEditInit", "onEditComplete", "onEditCancel"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i2.TreeTableToggler, selector: "p-treeTableToggler", inputs: ["rowNode"] }, { kind: "directive", type: i2.TTSortableColumn, selector: "[ttSortableColumn]", inputs: ["ttSortableColumn", "ttSortableColumnDisabled"] }, { kind: "component", type: i2.TTSortIcon, selector: "p-treeTableSortIcon", inputs: ["field", "ariaLabelDesc", "ariaLabelAsc"] }, { kind: "directive", type: i2.TTResizableColumn, selector: "[ttResizableColumn]", inputs: ["ttResizableColumnDisabled"] }, { kind: "directive", type: i2.TTSelectableRow, selector: "[ttSelectableRow]", inputs: ["ttSelectableRow", "ttSelectableRowDisabled"] }, { kind: "component", type: i2.TTCheckbox, selector: "p-treeTableCheckbox", inputs: ["disabled", "value"] }, { kind: "component", type: i2.TTHeaderCheckbox, selector: "p-treeTableHeaderCheckbox" }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.TableColumnsMultiselectComponent, selector: "in-table-columns-multiselect", inputs: ["columns", "disableActiveCheckboxes"], outputs: ["columnsChange"] }, { kind: "pipe", type: i6.PropertyValuePipe, name: "propertyValue" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponent, decorators: [{
133
- type: Component,
134
- args: [{ selector: 'in-tree-table', entryComponents: [], template: "<p-treeTable #dt\r\n [(selection)]=\"selectionValue\"\r\n [class]=\"class\"\r\n [columns]=\"visibleColumns()\"\r\n [resizableColumns]=\"true\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [scrollable]=\"scrollable\"\r\n [selectionMode]=\"selectionMode\"\r\n [sortField]=\"sortField || 'id'\"\r\n [sortOrder]=\"isAscending ? 1 : -1\"\r\n [style]=\"style\"\r\n [value]=\"values\"\r\n columnResizeMode=\"expand\"\r\n>\r\n <ng-template let-columns pTemplate=\"colgroup\">\r\n <colgroup>\r\n <col *ngIf=\"checkboxSelection\" style=\"width:44px;\">\r\n <col *ngFor=\"let col of visibleColumns()\" [style.width]=\"col.width ? col.width : '10px'\">\r\n </colgroup>\r\n </ng-template>\r\n <ng-template let-columns pTemplate=\"header\">\r\n <tr>\r\n <th *ngIf=\"checkboxSelection\">\r\n <p-treeTableHeaderCheckbox></p-treeTableHeaderCheckbox>\r\n </th>\r\n <th *ngFor=\"let col of columns; let i = index\" [ttSortableColumn]=\"col.field\" class=\"u-position-relative\"\r\n ttResizableColumn>\r\n <div class=\"p-treetable-thead-title\" title=\"{{col.label | translate}}\">\r\n {{col.label | translate}}\r\n </div>\r\n <p-treeTableSortIcon [field]=\"col.field\" class=\"p-sortable-column-buttons\"></p-treeTableSortIcon>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template let-columns=\"columns\" let-rowData=\"rowData\" let-rowNode pTemplate=\"body\">\r\n <tr [ngClass]=\"{row_active: isRowActive(rowData)}\" [ttSelectableRow]=\"rowNode\" class=\"row\">\r\n <td *ngIf=\"checkboxSelection\">\r\n <p-treeTableCheckbox [value]=\"rowNode\"></p-treeTableCheckbox>\r\n </td>\r\n <td (click)=\"activeChange.emit(rowData)\" *ngFor=\"let col of columns; let i = index\"\r\n class=\"_u-overflow-visible\">\r\n <div class=\"\" style=\"display: flex; flex-wrap: nowrap;\">\r\n <ng-template [ngIf]=\"i == 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" style=\"align-self: center;\"></p-treeTableToggler>\r\n </ng-template>\r\n <div [ngClass]=\"{ 'p-treetable-tbody-content_has-toggler ': i == 0 }\"\r\n class=\"p-treetable-tbody-content cell-content_hover\"\r\n style=\"flex-grow: 1;\"\r\n title=\"{{rowData | propertyValue: col.field}}\">\r\n <ng-container *ngIf=\"!valueTemplate\">\r\n <i *ngIf=\"rowData.icon && i == 0\" [ngClass]=\"rowData.icon\" class=\"u-margin-right-tiny\"></i>\r\n {{rowData | propertyValue: col.field}}\r\n </ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTemplate; context: {$implicit: { data: rowData, col: col}}\"></ng-container>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"toolbar\" pTemplate=\"caption\">\r\n\r\n <div class=\"o-grid o-grid_no-gutter\">\r\n <div class=\"c-tree-table__toolbar-content u-display-inline-flex\">\r\n <div class=\"c-form c-form_inline u-display-inline-block\">\r\n <form class=\"c-label\">\r\n <div class=\"input-wrapper u-margin-right-tiny\">\r\n <input #searchTextInput\r\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\r\n [(ngModel)]=\"searchText\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n autofocus=\"\"\r\n class=\"search-box c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n placeholder=\"{{('SHARED.SEARCH' | translate) + ':'}}\"\r\n required\r\n style=\"padding-right: 28px\"\r\n tabindex=\"1\"\r\n type=\"search\"\r\n >\r\n <button (click)=\"dt.filterGlobal($event.target.value, 'contains')\" class=\"button-reset\" type=\"reset\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"in in-close\"></i>\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"c-btn c-btn_border-free c-btn_small\">\r\n <in-table-columns-multiselect (columnsChange)=\"columnsChange($event)\"\r\n [columns]=\"columns\"></in-table-columns-multiselect>\r\n </div>\r\n\r\n <button (click)=\"addAction.emit($event)\" *ngIf=\"toolbar.add\" [disabled]=\"toolbar.add.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-plus\" [title]=\"toolbar.add.title || '\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C'\"></i>\r\n </button>\r\n\r\n <button (click)=\"groupAddAction.emit($event)\" *ngIf=\"toolbar.groupAdd\" [disabled]=\"toolbar.groupAdd.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-folder-closed\" [title]=\"toolbar.groupAdd.title || '\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443'\"></i>\r\n </button>\r\n\r\n\r\n <button (click)=\"saveAction.emit($event)\" *ngIf=\"toolbar.save\"\r\n [disabled]=\"toolbar.save.disabled\"\r\n class=\"c-btn c-btn_primary c-btn_small\"\r\n title=\"{{'Save' | translate}}\"\r\n >\r\n {{'Save' | translate}}\r\n </button>\r\n <button (click)=\"groupEditAction.emit($event)\" *ngIf=\"toolbar.groupEdit && toolbar.groupEdit.active\"\r\n [disabled]=\"toolbar.groupEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'groupEdit' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"removeAction.emit($event)\" *ngIf=\"toolbar.remove && toolbar.remove.active\"\r\n [disabled]=\"toolbar.remove.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-trash\" [title]=\"toolbar.remove?.title || '\u0423\u0434\u0430\u043B\u0438\u0442\u044C'\"></i>\r\n </button>\r\n <button (click)=\"unlinkAction.emit($event)\" *ngIf=\"toolbar.unlink\" [disabled]=\"toolbar.unlink.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-link-off\" title=\"{{'Detach tag from selected items' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"csvAction.emit($event)\" *ngIf=\"toolbar.csv\" [disabled]=\"toolbar.csv.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n<!-- Todo: \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430 in-file-csv-->\r\n <i class=\"in in-file-excel-outline\" title=\"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u0430\u043A CSV\"></i>\r\n </button>\r\n <button *ngIf=\"toolbar.collapse\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n (click)=\"collapse($event, dt)\"\r\n title=\"{{(isCollapse ? 'Expand all' : 'Collapse all') | translate}}\">\r\n <svg *ngIf=\"isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path d=\"M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z\"/>\r\n </svg>\r\n <svg *ngIf=\"!isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fill-rule=\"evenodd\" d=\"M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-treeTable>\r\n", styles: ["@charset \"UTF-8\";.p-sortable-column{cursor:pointer;position:relative}.p-sortable-column-buttons{position:absolute;top:0;right:0;width:18px;height:100%;display:inline-flex;align-items:center;z-index:10000}.p-sortable-column-buttons>a{position:absolute;top:50%;right:0;left:0;transform:translateY(-50%)}.u-overflow-visible{overflow:visible!important}.button-reset{display:flex;align-items:center;position:absolute;right:6px;top:5px;padding:6px;font-size:15px;border:none;outline:0;cursor:pointer;color:var(--colorTextMuted);background-color:transparent}.button-reset:hover{color:var(--colorIcon)}.input-wrapper{position:relative;display:flex;align-items:baseline}.c-input:not(:valid)~.button-reset{display:none}\n"] }]
135
- }], propDecorators: { columns: [{
136
- type: Input
137
- }], values: [{
138
- type: Input
139
- }], scrollHeight: [{
140
- type: Input
141
- }], scrollable: [{
142
- type: Input
143
- }], selectionMode: [{
144
- type: Input
145
- }], label: [{
146
- type: Input
147
- }], error: [{
148
- type: Input
149
- }], class: [{
150
- type: Input
151
- }], required: [{
152
- type: Input
153
- }], style: [{
154
- type: Input
155
- }], toolbar: [{
156
- type: Input
157
- }], checkboxSelection: [{
158
- type: Input
159
- }], active: [{
160
- type: Input
161
- }], sortField: [{
162
- type: Input
163
- }], isAscending: [{
164
- type: Input
165
- }], dataKey: [{
166
- type: Input
167
- }], activeChange: [{
168
- type: Output
169
- }], templates: [{
170
- type: ContentChildren,
171
- args: [InsparkTemplate]
172
- }], selectionChange: [{
173
- type: Output
174
- }], addAction: [{
175
- type: Output
176
- }], csvAction: [{
177
- type: Output
178
- }], saveAction: [{
179
- type: Output
180
- }], collapseAction: [{
181
- type: Output
182
- }], removeAction: [{
183
- type: Output
184
- }], unlinkAction: [{
185
- type: Output
186
- }], groupEditAction: [{
187
- type: Output
188
- }], groupAddAction: [{
189
- type: Output
190
- }], selection: [{
191
- type: Input
192
- }] } });
193
- export class TreeTableComponentModule {
194
- }
195
- TreeTableComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
196
- TreeTableComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponentModule, declarations: [TreeTableComponent], imports: [CommonModule, TreeTableModule, PipesModule, TranslateModule, FormsModule, TableComponentModule], exports: [TreeTableComponent] });
197
- TreeTableComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponentModule, imports: [CommonModule, TreeTableModule, PipesModule, TranslateModule, FormsModule, TableComponentModule] });
198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponentModule, decorators: [{
199
- type: NgModule,
200
- args: [{
201
- imports: [CommonModule, TreeTableModule, PipesModule, TranslateModule, FormsModule, TableComponentModule],
202
- exports: [TreeTableComponent],
203
- declarations: [TreeTableComponent]
204
- }]
205
- }] });
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnNwYXJrLWNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvdHJlZS10YWJsZS90cmVlLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy90cmVlLXRhYmxlL3RyZWUtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBR3JELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7O0FBVWxELE1BQU0sT0FBTyxrQkFBa0I7SUFOL0I7UUFRVyxZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQUM3QixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBVVosc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBTXhCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV2QyxvQkFBZSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hELGNBQVMs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QUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkF3Qk0sU0FBUztzQkFBckIsS0FBSzs7QUE2SFIsTUFBTSxPQUFPLHdCQUF3Qjs7cUhBQXhCLHdCQUF3QjtzSEFBeEIsd0JBQXdCLGlCQWxMeEIsa0JBQWtCLGFBOEtuQixZQUFZLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixhQTlLN0Ysa0JBQWtCO3NIQWtMbEIsd0JBQXdCLFlBSnpCLFlBQVksRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsb0JBQW9COzJGQUk3Rix3QkFBd0I7a0JBTHBDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQztvQkFDekcsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQzdCLFlBQVksRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkcmVuLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBOZ01vZHVsZSxcclxuICBPdXRwdXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFRlbXBsYXRlUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge0luc3BhcmtUZW1wbGF0ZX0gZnJvbSAnLi4vaW5zcGFyay5zaGFyZWQnO1xyXG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtUYWJsZUNvbXBvbmVudE1vZHVsZX0gZnJvbSAnLi4vdGFibGUvdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHtQaXBlc01vZHVsZX0gZnJvbSAnLi4vLi4vcGlwZXMvcGlwZXMubW9kdWxlJztcclxuaW1wb3J0IHtUYWJsZVJvd0RhdGF9IGZyb20gJy4uLy4uL3V0aWxzL2h5YnJpZC9wcmltZS10YWJsZS90YWJsZS1yb3ctZGF0YS5tb2RlbCc7XHJcbmltcG9ydCB7VGFibGVDb2x1bW5zfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1RyZWVUYWJsZU1vZHVsZX0gZnJvbSAncHJpbWVuZy90cmVldGFibGUnO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2luLXRyZWUtdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90cmVlLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90cmVlLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW50cnlDb21wb25lbnRzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyZWVUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xyXG5cclxuICBASW5wdXQoKSBjb2x1bW5zOiBUYWJsZUNvbHVtbnNbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHZhbHVlcyA9IFtdO1xyXG4gIEBJbnB1dCgpIHNjcm9sbEhlaWdodDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNjcm9sbGFibGU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2VsZWN0aW9uTW9kZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZXJyb3I6IHN0cmluZztcclxuICBASW5wdXQoKSBjbGFzczogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHN0eWxlOiBhbnk7XHJcbiAgQElucHV0KCkgdG9vbGJhcjogYW55O1xyXG4gIEBJbnB1dCgpIGNoZWNrYm94U2VsZWN0aW9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBhY3RpdmU7XHJcbiAgQElucHV0KCkgc29ydEZpZWxkO1xyXG4gIEBJbnB1dCgpIGlzQXNjZW5kaW5nO1xyXG4gIEBJbnB1dCgpIGRhdGFLZXk7XHJcblxyXG4gIEBPdXRwdXQoKSBhY3RpdmVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAQ29udGVudENoaWxkcmVuKEluc3BhcmtUZW1wbGF0ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8SW5zcGFya1RlbXBsYXRlPjtcclxuICBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgYWRkQWN0aW9uOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBjc3ZBY3Rpb246IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHNhdmVBY3Rpb246IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGNvbGxhcHNlQWN0aW9uOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSByZW1vdmVBY3Rpb246IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHVubGlua0FjdGlvbjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgZ3JvdXBFZGl0QWN0aW9uOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBncm91cEFkZEFjdGlvbjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgYm9keVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIGxvYWRpbmdCb2R5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgY2FwdGlvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIGZyb3plblJvd3NUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBzdW1tYXJ5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgY29sR3JvdXBUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBleHBhbmRlZFJvd1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIGZyb3plbkhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIGZyb3plbkJvZHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBmcm96ZW5Gb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBmcm96ZW5Db2xHcm91cFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIGVtcHR5TWVzc2FnZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIHBhZ2luYXRvckxlZnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBwYWdpbmF0b3JSaWdodFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIHZhbHVlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgc2VhcmNoVGV4dDogc3RyaW5nO1xyXG4gIHJvd0luZGV4ID0gMDtcclxuICBpc0NvbGxhcHNlID0gdHJ1ZTtcclxuICBfc2VsZWN0aW9uID0gbnVsbDtcclxuXHJcbiAgQElucHV0KCkgc2V0IHNlbGVjdGlvbih2YWwpIHtcclxuICAgIHRoaXMuX3NlbGVjdGlvbiA9IHZhbDtcclxuICB9XHJcblxyXG4gIGdldCBzZWxlY3Rpb25WYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb247XHJcbiAgfVxyXG5cclxuICBzZXQgc2VsZWN0aW9uVmFsdWUodmFsKSB7XHJcbiAgICB0aGlzLl9zZWxlY3Rpb24gPSB2YWw7XHJcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHZhbCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNSb3dBY3RpdmUocm93OiBUYWJsZVJvd0RhdGEpIHtcclxuICAgIHJldHVybiB0aGlzLmFjdGl2ZSAmJiB0aGlzLmFjdGl2ZS5pZCA9PT0gcm93LmlkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHZpc2libGVDb2x1bW5zKCk6IFRhYmxlQ29sdW1uc1tdIHtcclxuICAgIHJldHVybiB0aGlzLmNvbHVtbnMuZmlsdGVyKGNvbHVtbiA9PiAhY29sdW1uLmlzSGlkZGVuKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb2x1bW5zQ2hhbmdlKGRhdGEpIHtcclxuICAgIGRhdGEuY29sdW1uLmlzSGlkZGVuID0gIWRhdGEuZXZlbnQ7XHJcbiAgfVxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcclxuICAgIHRoaXMudGVtcGxhdGVzLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgc3dpdGNoIChpdGVtLmdldFR5cGUoKSkge1xyXG4gICAgICAgIGNhc2UgJ2NhcHRpb24nOlxyXG4gICAgICAgICAgdGhpcy5jYXB0aW9uVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgIGNhc2UgJ2hlYWRlcic6XHJcbiAgICAgICAgICB0aGlzLmhlYWRlclRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICBjYXNlICdib2R5JzpcclxuICAgICAgICAgIHRoaXMuYm9keVRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3ZhbHVlJzpcclxuICAgICAgICAgIHRoaXMudmFsdWVUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XHJcbiAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgY2FzZSAnbG9hZGluZ2JvZHknOlxyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nQm9keVRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICBjYXNlICdmb290ZXInOlxyXG4gICAgICAgICAgdGhpcy5mb290ZXJUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XHJcbiAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgY2FzZSAnc3VtbWFyeSc6XHJcbiAgICAgICAgICB0aGlzLnN1bW1hcnlUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XHJcbiAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgY2FzZSAnY29sZ3JvdXAnOlxyXG4gICAgICAgICAgdGhpcy5jb2xHcm91cFRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICBjYXNlICdyb3dleHBhbnNpb24nOlxyXG4gICAgICAgICAgdGhpcy5leHBhbmRlZFJvd1RlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICBjYXNlICdmcm96ZW5yb3dzJzpcclxuICAgICAgICAgIHRoaXMuZnJvemVuUm93c1RlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICBjYXNlICdmcm96ZW5oZWFkZXInOlxyXG4gICAgICAgICAgdGhpcy5mcm96ZW5IZWFkZXJUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XHJcbiAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgY2FzZSAnZnJvemVuYm9keSc6XHJcbiAgICAgICAgICB0aGlzLmZyb3plbkJvZHlUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XHJcbiAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgY2FzZSAnZnJvemVuZm9vdGVyJzpcclxuICAgICAgICAgIHRoaXMuZnJvemVuRm9vdGVyVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgIGNhc2UgJ2Zyb3plbmNvbGdyb3VwJzpcclxuICAgICAgICAgIHRoaXMuZnJvemVuQ29sR3JvdXBUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XHJcbiAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgY2FzZSAnZW1wdHltZXNzYWdlJzpcclxuICAgICAgICAgIHRoaXMuZW1wdHlNZXNzYWdlVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgIGNhc2UgJ3BhZ2luYXRvcmxlZnQnOlxyXG4gICAgICAgICAgdGhpcy5wYWdpbmF0b3JMZWZ0VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgIGNhc2UgJ3BhZ2luYXRvcnJpZ2h0JzpcclxuICAgICAgICAgIHRoaXMucGFnaW5hdG9yUmlnaHRUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjb2xsYXBzZShldmVudCwgZHQpIHtcclxuICAgIHRoaXMudmFsdWVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgdGhpcy50b2dnbGVDb2xsYXBzZShub2RlLCB0aGlzLmlzQ29sbGFwc2UpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmlzQ29sbGFwc2UgPSAhdGhpcy5pc0NvbGxhcHNlO1xyXG4gICAgZHQuZmlsdGVyR2xvYmFsKHRoaXMuc2VhcmNoVGV4dCwgJ2NvbnRhaW5zJyk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVDb2xsYXBzZShub2RlOiBhbnksIGlzQ29sbGFwc2VkOiBib29sZWFuKSB7XHJcblxyXG4gICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcclxuICAgICAgbm9kZS5leHBhbmRlZCA9IGlzQ29sbGFwc2VkO1xyXG4gICAgICBmb3IgKGNvbnN0IGNuIG9mIG5vZGUuY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAoY24pIHtcclxuICAgICAgICAgIHRoaXMudG9nZ2xlQ29sbGFwc2UoY24sIGlzQ29sbGFwc2VkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmVlVGFibGVNb2R1bGUsIFBpcGVzTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIEZvcm1zTW9kdWxlLCBUYWJsZUNvbXBvbmVudE1vZHVsZV0sXHJcbiAgZXhwb3J0czogW1RyZWVUYWJsZUNvbXBvbmVudF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbVHJlZVRhYmxlQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJlZVRhYmxlQ29tcG9uZW50TW9kdWxlIHtcclxufVxyXG4iLCI8cC10cmVlVGFibGUgI2R0XHJcbiAgICAgICAgICAgICBbKHNlbGVjdGlvbildPVwic2VsZWN0aW9uVmFsdWVcIlxyXG4gICAgICAgICAgICAgW2NsYXNzXT1cImNsYXNzXCJcclxuICAgICAgICAgICAgIFtjb2x1bW5zXT1cInZpc2libGVDb2x1bW5zKClcIlxyXG4gICAgICAgICAgICAgW3Jlc2l6YWJsZUNvbHVtbnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICBbc2Nyb2xsSGVpZ2h0XT1cInNjcm9sbEhlaWdodFwiXHJcbiAgICAgICAgICAgICBbc2Nyb2xsYWJsZV09XCJzY3JvbGxhYmxlXCJcclxuICAgICAgICAgICAgIFtzZWxlY3Rpb25Nb2RlXT1cInNlbGVjdGlvbk1vZGVcIlxyXG4gICAgICAgICAgICAgW3NvcnRGaWVsZF09XCJzb3J0RmllbGQgfHwgJ2lkJ1wiXHJcbiAgICAgICAgICAgICBbc29ydE9yZGVyXT1cImlzQXNjZW5kaW5nID8gMSA6IC0xXCJcclxuICAgICAgICAgICAgIFtzdHlsZV09XCJzdHlsZVwiXHJcbiAgICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVzXCJcclxuICAgICAgICAgICAgIGNvbHVtblJlc2l6ZU1vZGU9XCJleHBhbmRcIlxyXG4+XHJcbiAgPG5nLXRlbXBsYXRlIGxldC1jb2x1bW5zIHBUZW1wbGF0ZT1cImNvbGdyb3VwXCI+XHJcbiAgICA8Y29sZ3JvdXA+XHJcbiAgICAgIDxjb2wgKm5nSWY9XCJjaGVja2JveFNlbGVjdGlvblwiIHN0eWxlPVwid2lkdGg6NDRweDtcIj5cclxuICAgICAgPGNvbCAqbmdGb3I9XCJsZXQgY29sIG9mIHZpc2libGVDb2x1bW5zKClcIiBbc3R5bGUud2lkdGhdPVwiY29sLndpZHRoID8gY29sLndpZHRoIDogJzEwcHgnXCI+XHJcbiAgICA8L2NvbGdyb3VwPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPG5nLXRlbXBsYXRlIGxldC1jb2x1bW5zIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG4gICAgPHRyPlxyXG4gICAgICA8dGggKm5nSWY9XCJjaGVja2JveFNlbGVjdGlvblwiPlxyXG4gICAgICAgIDxwLXRyZWVUYWJsZUhlYWRlckNoZWNrYm94PjwvcC10cmVlVGFibGVIZWFkZXJDaGVja2JveD5cclxuICAgICAgPC90aD5cclxuICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uczsgbGV0IGkgPSBpbmRleFwiIFt0dFNvcnRhYmxlQ29sdW1uXT1cImNvbC5maWVsZFwiIGNsYXNzPVwidS1wb3NpdGlvbi1yZWxhdGl2ZVwiXHJcbiAgICAgICAgICB0dFJlc2l6YWJsZUNvbHVtbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicC10cmVldGFibGUtdGhlYWQtdGl0bGVcIiB0aXRsZT1cInt7Y29sLmxhYmVsIHwgdHJhbnNsYXRlfX1cIj5cclxuICAgICAgICAgIHt7Y29sLmxhYmVsIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8cC10cmVlVGFibGVTb3J0SWNvbiBbZmllbGRdPVwiY29sLmZpZWxkXCIgY2xhc3M9XCJwLXNvcnRhYmxlLWNvbHVtbi1idXR0b25zXCI+PC9wLXRyZWVUYWJsZVNvcnRJY29uPlxyXG4gICAgICA8L3RoPlxyXG4gICAgPC90cj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgbGV0LWNvbHVtbnM9XCJjb2x1bW5zXCIgbGV0LXJvd0RhdGE9XCJyb3dEYXRhXCIgbGV0LXJvd05vZGUgcFRlbXBsYXRlPVwiYm9keVwiPlxyXG4gICAgPHRyIFtuZ0NsYXNzXT1cIntyb3dfYWN0aXZlOiBpc1Jvd0FjdGl2ZShyb3dEYXRhKX1cIiBbdHRTZWxlY3RhYmxlUm93XT1cInJvd05vZGVcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8dGQgKm5nSWY9XCJjaGVja2JveFNlbGVjdGlvblwiPlxyXG4gICAgICAgIDxwLXRyZWVUYWJsZUNoZWNrYm94IFt2YWx1ZV09XCJyb3dOb2RlXCI+PC9wLXRyZWVUYWJsZUNoZWNrYm94PlxyXG4gICAgICA8L3RkPlxyXG4gICAgICA8dGQgKGNsaWNrKT1cImFjdGl2ZUNoYW5nZS5lbWl0KHJvd0RhdGEpXCIgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgIGNsYXNzPVwiX3Utb3ZlcmZsb3ctdmlzaWJsZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogbm93cmFwO1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImkgPT0gMFwiPlxyXG4gICAgICAgICAgICA8cC10cmVlVGFibGVUb2dnbGVyICBbcm93Tm9kZV09XCJyb3dOb2RlXCIgc3R5bGU9XCJhbGlnbi1zZWxmOiBjZW50ZXI7XCI+PC9wLXRyZWVUYWJsZVRvZ2dsZXI+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7ICdwLXRyZWV0YWJsZS10Ym9keS1jb250ZW50X2hhcy10b2dnbGVyICc6IGkgPT0gMCB9XCJcclxuICAgICAgICAgICAgICAgY2xhc3M9XCJwLXRyZWV0YWJsZS10Ym9keS1jb250ZW50IGNlbGwtY29udGVudF9ob3ZlclwiXHJcbiAgICAgICAgICAgICAgIHN0eWxlPVwiZmxleC1ncm93OiAxO1wiXHJcbiAgICAgICAgICAgICAgIHRpdGxlPVwie3tyb3dEYXRhIHwgcHJvcGVydHlWYWx1ZTogY29sLmZpZWxkfX1cIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF2YWx1ZVRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgPGkgKm5nSWY9XCJyb3dEYXRhLmljb24gJiYgaSA9PSAwXCIgW25nQ2xhc3NdPVwicm93RGF0YS5pY29uXCIgY2xhc3M9XCJ1LW1hcmdpbi1yaWdodC10aW55XCI+PC9pPlxyXG4gICAgICAgICAgICAgIHt7cm93RGF0YSB8IHByb3BlcnR5VmFsdWU6IGNvbC5maWVsZH19XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidmFsdWVUZW1wbGF0ZTsgY29udGV4dDogeyRpbXBsaWNpdDogeyBkYXRhOiByb3dEYXRhLCBjb2w6IGNvbH19XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC90ZD5cclxuICAgIDwvdHI+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICpuZ0lmPVwidG9vbGJhclwiIHBUZW1wbGF0ZT1cImNhcHRpb25cIj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiby1ncmlkIG8tZ3JpZF9uby1ndXR0ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImMtdHJlZS10YWJsZV9fdG9vbGJhci1jb250ZW50IHUtZGlzcGxheS1pbmxpbmUtZmxleFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjLWZvcm0gYy1mb3JtX2lubGluZSB1LWRpc3BsYXktaW5saW5lLWJsb2NrXCI+XHJcbiAgICAgICAgICA8Zm9ybSBjbGFzcz1cImMtbGFiZWxcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXIgdS1tYXJnaW4tcmlnaHQtdGlueVwiPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCAjc2VhcmNoVGV4dElucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJkdC5maWx0ZXJHbG9iYWwoJGV2ZW50LnRhcmdldC52YWx1ZSwgJ2NvbnRhaW5zJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcclxuICAgICAgICAgICAgICAgICAgICAgYXV0b2ZvY3VzPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2gtYm94IGMtaW5wdXQgYy1pbnB1dF9zbWFsbCBuZy1wcmlzdGluZSBuZy12YWxpZCBuZy1zY29wZSBuZy1lbXB0eSBuZy10b3VjaGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgcElucHV0VGV4dFxyXG4gICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7KCdTSEFSRUQuU0VBUkNIJyB8IHRyYW5zbGF0ZSkgKyAnOid9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwicGFkZGluZy1yaWdodDogMjhweFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzZWFyY2hcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJkdC5maWx0ZXJHbG9iYWwoJGV2ZW50LnRhcmdldC52YWx1ZSwgJ2NvbnRhaW5zJylcIiBjbGFzcz1cImJ1dHRvbi1yZXNldFwiIHR5cGU9XCJyZXNldFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci50aXRsZV09XCInUmVzZXQnIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImluIGluLWNsb3NlXCI+PC9pPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYy1idG4gYy1idG5fYm9yZGVyLWZyZWUgYy1idG5fc21hbGxcIj5cclxuICAgICAgICAgIDxpbi10YWJsZS1jb2x1bW5zLW11bHRpc2VsZWN0IChjb2x1bW5zQ2hhbmdlKT1cImNvbHVtbnNDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJjb2x1bW5zXCI+PC9pbi10YWJsZS1jb2x1bW5zLW11bHRpc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJhZGRBY3Rpb24uZW1pdCgkZXZlbnQpXCIgKm5nSWY9XCJ0b29sYmFyLmFkZFwiIFtkaXNhYmxlZF09XCJ0b29sYmFyLmFkZC5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImMtYnRuIGMtYnRuX2JvcmRlci1mcmVlIGMtYnRuX3NtYWxsXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImluIGluLXBsdXNcIiBbdGl0bGVdPVwidG9vbGJhci5hZGQudGl0bGUgfHwgJ9CU0L7QsdCw0LLQuNGC0YwnXCI+PC9pPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJncm91cEFkZEFjdGlvbi5lbWl0KCRldmVudClcIiAqbmdJZj1cInRvb2xiYXIuZ3JvdXBBZGRcIiBbZGlzYWJsZWRdPVwidG9vbGJhci5ncm91cEFkZC5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImMtYnRuIGMtYnRuX2JvcmRlci1mcmVlIGMtYnRuX3NtYWxsXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImluIGluLWZvbGRlci1jbG9zZWRcIiBbdGl0bGVdPVwidG9vbGJhci5ncm91cEFkZC50aXRsZSB8fCAn0JTQvtCx0LDQstC40YLRjCDQs9GA0YPQv9C/0YMnXCI+PC9pPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG5cclxuXHJcbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic2F2ZUFjdGlvbi5lbWl0KCRldmVudClcIiAqbmdJZj1cInRvb2xiYXIuc2F2ZVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidG9vbGJhci5zYXZlLmRpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYy1idG4gYy1idG5fcHJpbWFyeSBjLWJ0bl9zbWFsbFwiXHJcbiAgICAgICAgICAgICAgICB0aXRsZT1cInt7J1NhdmUnIHwgdHJhbnNsYXRlfX1cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7J1NhdmUnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJncm91cEVkaXRBY3Rpb24uZW1pdCgkZXZlbnQpXCIgKm5nSWY9XCJ0b29sYmFyLmdyb3VwRWRpdCAmJiB0b29sYmFyLmdyb3VwRWRpdC5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInRvb2xiYXIuZ3JvdXBFZGl0LmRpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYy1idG4gYy1idG5fYm9yZGVyLWZyZWUgYy1idG5fc21hbGxcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiaW4gaW4tcGVuY2lsXCIgdGl0bGU9XCJ7eydncm91cEVkaXQnIHwgdHJhbnNsYXRlfX1cIj48L2k+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicmVtb3ZlQWN0aW9uLmVtaXQoJGV2ZW50KVwiICpuZ0lmPVwidG9vbGJhci5yZW1vdmUgJiYgdG9vbGJhci5yZW1vdmUuYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0b29sYmFyLnJlbW92ZS5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImMtYnRuIGMtYnRuX2JvcmRlci1mcmVlIGMtYnRuX3NtYWxsXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImluIGluLXRyYXNoXCIgW3RpdGxlXT1cInRvb2xiYXIucmVtb3ZlPy50aXRsZSB8fCAn0KPQtNCw0LvQuNGC0YwnXCI+PC9pPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cInVubGlua0FjdGlvbi5lbWl0KCRldmVudClcIiAqbmdJZj1cInRvb2xiYXIudW5saW5rXCIgW2Rpc2FibGVkXT1cInRvb2xiYXIudW5saW5rLmRpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYy1idG4gYy1idG5fYm9yZGVyLWZyZWUgYy1idG5fc21hbGxcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiaW4gaW4tbGluay1vZmZcIiB0aXRsZT1cInt7J0RldGFjaCB0YWcgZnJvbSBzZWxlY3RlZCBpdGVtcycgfCB0cmFuc2xhdGV9fVwiPjwvaT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjc3ZBY3Rpb24uZW1pdCgkZXZlbnQpXCIgKm5nSWY9XCJ0b29sYmFyLmNzdlwiIFtkaXNhYmxlZF09XCJ0b29sYmFyLmNzdi5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImMtYnRuIGMtYnRuX2JvcmRlci1mcmVlIGMtYnRuX3NtYWxsXCJcclxuICAgICAgICA+XHJcbjwhLS0gICAgICAgICAgVG9kbzog0LfQsNC80LXQvdC40YLRjCDQvdCwIGluLWZpbGUtY3N2LS0+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImluIGluLWZpbGUtZXhjZWwtb3V0bGluZVwiIHRpdGxlPVwi0KHQvtGF0YDQsNC90LjRgtGMINC60LDQuiBDU1ZcIj48L2k+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiAgKm5nSWY9XCJ0b29sYmFyLmNvbGxhcHNlXCJcclxuICAgICAgICAgICAgICAgICBjbGFzcz1cImMtYnRuIGMtYnRuX3NtYWxsIGMtYnRuX3N2Zy0yNCBjLWljb24gYy1pY29uX3N2ZyBjLWljb25fc3ZnLTI0IGMtYnRuX2JvcmRlci1mcmVlXCJcclxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29sbGFwc2UoJGV2ZW50LCBkdClcIlxyXG4gICAgICAgICAgICAgICAgIHRpdGxlPVwie3soaXNDb2xsYXBzZSA/ICdFeHBhbmQgYWxsJyA6ICdDb2xsYXBzZSBhbGwnKSB8IHRyYW5zbGF0ZX19XCI+XHJcbiAgICAgICAgICA8c3ZnICpuZ0lmPVwiaXNDb2xsYXBzZVwiICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk0yMCAySDR2MmgxNlYyek00IDIwdjJoMTZ2LTJINHpNMTIgNWw1IDZIN2w1LTZ6TTE3IDEzbC01IDYtNS02aDEwelwiLz5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPHN2ZyAqbmdJZj1cIiFpc0NvbGxhcHNlXCIgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxyXG4gICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xNyAzbC01IDYtNS02aDEwek00IDEzdi0yaDE2djJINHptOCAybDUgNkg3bDUtNnpcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIvPlxyXG4gICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9wLXRyZWVUYWJsZT5cclxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGFyay1pbnNwYXJrLWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnNwYXJrLWNvbXBvbmVudHMvc3JjL2luc3BhcmstaW5zcGFyay1jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5zcGFyay1jb21wb25lbnRzL3NyYy9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TWVudUl0ZW19IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ2VsbERhdGEge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgc3RhdHVzOiAnc3VjY2VzcycgfCAnZXJyb3InIHwgJ3dhcm5pbmcnIHwgJ2NyaXRpY2FsJyB8ICdmYWxzZXZhbHVlJztcclxuICBpc0VkaXQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVDb2x1bW5zIHtcclxuXHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBmaWVsZDogc3RyaW5nO1xyXG4gIHNpemU6IHN0cmluZztcclxuICB3aWR0aD86IHN0cmluZztcclxuICBpc0hpZGRlbj86IGJvb2xlYW47XHJcbiAgaXNTZWNvbmRhcnk/OiBib29sZWFuO1xyXG4gIGlzUmVxdWlyZWQ/OiBib29sZWFuO1xyXG4gIGdyb3VwS2V5Pzogc3RyaW5nW107XHJcbiAgZ3JvdXBPcmRlcj86IChudW1iZXIgfCBzdHJpbmcpW107XHJcbiAgdHJhbnNsYXRhYmxlPzogYm9vbGVhbjtcclxuICBpc0ZpbHRlcmluZz86IGJvb2xlYW47XHJcbiAgY29sX2ludmlzaWJsZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW5zcGFya01lbnVJdGVtIGV4dGVuZHMgTWVudUl0ZW0ge1xyXG4gIHN2Zz86IHN0cmluZztcclxufVxyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENpcmNsZU1vZGUgPSAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZXJyb3InIHwgJ2ZhbHNldmFsdWUnIHwgJ21haW50ZW5hbmNlJyB8ICdwcmltYXJ5JyB8ICdub25lJyB8ICdjcml0aWNhbCcgfCAnaW52ZXJzZScgfCAnYmxhY2snO1xyXG5leHBvcnQgdHlwZSBDaXJjbGVTaXplID0gJ21pbmknIHwgJ3NtYWxsJyB8ICdub3JtYWwnIHwgJ2JpZyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRvb2xCYXIge1xyXG4gIGFkZD86IFRvb2xCYXJJdGVtO1xyXG4gIGNvbGxhcHNlPzogVG9vbEJhckl0ZW07XHJcbiAgY3N2PzogVG9vbEJhckl0ZW07XHJcbiAgZXhwYW5kQWxsPzogVG9vbEJhckl0ZW07XHJcbiAgZmlsdGVyPzogVG9vbEJhckZpbHRlckl0ZW07XHJcbiAgZ3JvdXBBZGQ/OiBUb29sQmFySXRlbTtcclxuICBncm91cEVkaXQ/OiBUb29sQmFySXRlbTtcclxuICBncm91cFNvcnQ/OiBUb29sQmFySXRlbTtcclxuICBsaW5rPzogVG9vbEJhckl0ZW07XHJcbiAgcGFyYW1zRWRpdD86IFRvb2xCYXJJdGVtO1xyXG4gIHJlbW92ZT86IFRvb2xCYXJJdGVtO1xyXG4gIHNlYXJjaD86IFRvb2xCYXJGaWx0ZXJJdGVtO1xyXG4gIHNhdmU/OiBUb29sQmFySXRlbTtcclxuICB0cmVlPzogVG9vbEJhckl0ZW07XHJcbiAgdW5saW5rPzogVG9vbEJhckl0ZW07XHJcblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRvb2xCYXJJdGVtIHtcclxuICBhY3RpdmU/OiBib29sZWFuO1xyXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBsYWJlbD86IFRvb2xCYXJHcm91cFNvcnRPcHRpb25bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUb29sQmFyRmlsdGVySXRlbSB7XHJcbiAgYWN0aXZlPzogYm9vbGVhbjtcclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgY29scz86IFRvb2xCYXJGaWx0ZXJDb2x1bW5bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUb29sQmFyRmlsdGVyQ29sdW1uIHtcclxuICBmaWVsZD86IHN0cmluZyxcclxuICB0eXBlPzogc3RyaW5nO1xyXG4gIG9wdGlvbnM/OiBUb29sQmFyRmlsdGVyQ29sdW1uT3B0aW9uW11cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFRvb2xCYXJGaWx0ZXJDb2x1bW5PcHRpb24ge1xyXG4gIGxhYmVsPzogc3RyaW5nO1xyXG4gIHZhbHVlPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRvb2xCYXJHcm91cFNvcnRPcHRpb24ge1xyXG4gIGxhYmVsPzogc3RyaW5nO1xyXG4gIHZhbHVlPzogYW55O1xyXG59XHJcbiJdfQ==
@@ -1,19 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { PropertyValuePipe } from './propertyValue.pipe';
3
- import { FormatNumToTime, InDate, NumToShortWeekdayPipe, ShortToFullWeekdayPipe } from './time.pipe';
4
- import { SafeUrlPipe } from './safeUrl.pipe';
5
- import { SortByPipe } from "./sort-by.pipe";
6
- import * as i0 from "@angular/core";
7
- export class PipesModule {
8
- }
9
- PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PipesModule, declarations: [PropertyValuePipe, NumToShortWeekdayPipe, FormatNumToTime, InDate, ShortToFullWeekdayPipe, SafeUrlPipe, SortByPipe], exports: [PropertyValuePipe, NumToShortWeekdayPipe, FormatNumToTime, InDate, ShortToFullWeekdayPipe, SafeUrlPipe, SortByPipe] });
11
- PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PipesModule });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PipesModule, decorators: [{
13
- type: NgModule,
14
- args: [{
15
- exports: [PropertyValuePipe, NumToShortWeekdayPipe, FormatNumToTime, InDate, ShortToFullWeekdayPipe, SafeUrlPipe, SortByPipe],
16
- declarations: [PropertyValuePipe, NumToShortWeekdayPipe, FormatNumToTime, InDate, ShortToFullWeekdayPipe, SafeUrlPipe, SortByPipe]
17
- }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5zcGFyay1jb21wb25lbnRzL3NyYy9waXBlcy9waXBlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUNuRyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQU0xQyxNQUFNLE9BQU8sV0FBVzs7d0dBQVgsV0FBVzt5R0FBWCxXQUFXLGlCQUZQLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLFVBQVUsYUFEdkgsaUJBQWlCLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsVUFBVTt5R0FHakgsV0FBVzsyRkFBWCxXQUFXO2tCQUp2QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQztvQkFDN0gsWUFBWSxFQUFFLENBQUMsaUJBQWlCLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDO2lCQUNuSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1Byb3BlcnR5VmFsdWVQaXBlfSBmcm9tICcuL3Byb3BlcnR5VmFsdWUucGlwZSc7XHJcbmltcG9ydCB7Rm9ybWF0TnVtVG9UaW1lLCBJbkRhdGUsIE51bVRvU2hvcnRXZWVrZGF5UGlwZSwgU2hvcnRUb0Z1bGxXZWVrZGF5UGlwZX0gZnJvbSAnLi90aW1lLnBpcGUnO1xyXG5pbXBvcnQge1NhZmVVcmxQaXBlfSBmcm9tICcuL3NhZmVVcmwucGlwZSc7XHJcbmltcG9ydCB7U29ydEJ5UGlwZX0gZnJvbSBcIi4vc29ydC1ieS5waXBlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGV4cG9ydHM6IFtQcm9wZXJ0eVZhbHVlUGlwZSwgTnVtVG9TaG9ydFdlZWtkYXlQaXBlLCBGb3JtYXROdW1Ub1RpbWUsIEluRGF0ZSwgU2hvcnRUb0Z1bGxXZWVrZGF5UGlwZSwgU2FmZVVybFBpcGUsIFNvcnRCeVBpcGVdLFxyXG4gIGRlY2xhcmF0aW9uczogW1Byb3BlcnR5VmFsdWVQaXBlLCBOdW1Ub1Nob3J0V2Vla2RheVBpcGUsIEZvcm1hdE51bVRvVGltZSwgSW5EYXRlLCBTaG9ydFRvRnVsbFdlZWtkYXlQaXBlLCBTYWZlVXJsUGlwZSwgU29ydEJ5UGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBpcGVzTW9kdWxlIHtcclxufVxyXG4iXX0=
@@ -1,25 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class PropertyValuePipe {
4
- transform(value, name) {
5
- if (Array.isArray(value) || !(value instanceof Object) || !name) {
6
- return value;
7
- }
8
- else if (name.indexOf('.') > -1) {
9
- const splitName = name.split(/\.(.+)/, 2);
10
- return this.transform(value[splitName[0]], splitName[1]);
11
- }
12
- else {
13
- return value[name];
14
- }
15
- }
16
- }
17
- PropertyValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PropertyValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
18
- PropertyValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PropertyValuePipe, name: "propertyValue" });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PropertyValuePipe, decorators: [{
20
- type: Pipe,
21
- args: [{
22
- name: 'propertyValue'
23
- }]
24
- }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHlWYWx1ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5zcGFyay1jb21wb25lbnRzL3NyYy9waXBlcy9wcm9wZXJ0eVZhbHVlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBS2xELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsU0FBUyxDQUFDLEtBQVUsRUFBRSxJQUFZO1FBQ2hDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxZQUFZLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQy9ELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7YUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDakMsTUFBTSxTQUFTLEdBQWEsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMxRDthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEI7SUFDSCxDQUFDOzs4R0FWVSxpQkFBaUI7NEdBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUg3QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxlQUFlO2lCQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3Byb3BlcnR5VmFsdWUnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVZhbHVlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBuYW1lOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpIHx8ICEodmFsdWUgaW5zdGFuY2VvZiBPYmplY3QpIHx8ICFuYW1lKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH0gZWxzZSBpZiAobmFtZS5pbmRleE9mKCcuJykgPiAtMSkge1xyXG4gICAgICBjb25zdCBzcGxpdE5hbWU6IHN0cmluZ1tdID0gbmFtZS5zcGxpdCgvXFwuKC4rKS8sIDIpO1xyXG4gICAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm0odmFsdWVbc3BsaXROYW1lWzBdXSwgc3BsaXROYW1lWzFdKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZVtuYW1lXTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -1,36 +0,0 @@
1
- // Angular
2
- import { Pipe } from '@angular/core';
3
- import { DomSanitizer } from '@angular/platform-browser';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/platform-browser";
6
- /**
7
- * Sanitize HTML
8
- */
9
- export class SafeUrlPipe {
10
- /**
11
- * Pipe Constructor
12
- *
13
- * @param _sanitizer: DomSanitezer
14
- */
15
- // tslint:disable-next-line
16
- constructor(_sanitizer) {
17
- this._sanitizer = _sanitizer;
18
- }
19
- /**
20
- * Transform
21
- *
22
- * @param value: string
23
- */
24
- transform(value) {
25
- return this._sanitizer.bypassSecurityTrustResourceUrl(value);
26
- }
27
- }
28
- SafeUrlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SafeUrlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
29
- SafeUrlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: SafeUrlPipe, name: "safeUrl" });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SafeUrlPipe, decorators: [{
31
- type: Pipe,
32
- args: [{
33
- name: 'safeUrl'
34
- }]
35
- }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZVVybC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5zcGFyay1jb21wb25lbnRzL3NyYy9waXBlcy9zYWZlVXJsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxZQUFZLEVBQWtCLE1BQU0sMkJBQTJCLENBQUM7OztBQUV4RTs7R0FFRztBQUlILE1BQU0sT0FBTyxXQUFXO0lBQ3RCOzs7O09BSUc7SUFDSCwyQkFBMkI7SUFDM0IsWUFBc0IsVUFBd0I7UUFBeEIsZUFBVSxHQUFWLFVBQVUsQ0FBYztJQUM5QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvRCxDQUFDOzt3R0FqQlUsV0FBVztzR0FBWCxXQUFXOzJGQUFYLFdBQVc7a0JBSHZCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFNBQVM7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbi8qKlxyXG4gKiBTYW5pdGl6ZSBIVE1MXHJcbiAqL1xyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3NhZmVVcmwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWZlVXJsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIC8qKlxyXG4gICAqIFBpcGUgQ29uc3RydWN0b3JcclxuICAgKlxyXG4gICAqIEBwYXJhbSBfc2FuaXRpemVyOiBEb21TYW5pdGV6ZXJcclxuICAgKi9cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3Nhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcmFuc2Zvcm1cclxuICAgKlxyXG4gICAqIEBwYXJhbSB2YWx1ZTogc3RyaW5nXHJcbiAgICovXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpOiBTYWZlUmVzb3VyY2VVcmwge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodmFsdWUpO1xyXG4gIH1cclxufVxyXG4iXX0=