@inspark/inspark-components 1.0.44 → 14.0.0

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 (252) hide show
  1. package/full/components/autocomplete/autocomplete.component.d.ts +12 -1
  2. package/full/components/breadcrumb/breadcrumb.component.d.ts +3 -0
  3. package/full/components/button/button.component.d.ts +5 -1
  4. package/full/components/checkbox/checkbox.component.d.ts +3 -0
  5. package/full/components/communication.service.d.ts +3 -0
  6. package/full/components/component-container/component-container.component.d.ts +3 -0
  7. package/full/components/content-toggle/content-toggle.component.d.ts +3 -0
  8. package/full/components/dropdown/dropdown.component.d.ts +65 -13
  9. package/full/components/empty/empty.component.d.ts +3 -0
  10. package/full/components/file/file.component.d.ts +3 -0
  11. package/full/components/header/header.component.d.ts +3 -0
  12. package/full/components/inline-message/inline-message.component.d.ts +3 -0
  13. package/full/components/input-group/input-group.component.d.ts +3 -0
  14. package/full/components/input-text/input-text.component.d.ts +3 -0
  15. package/full/components/inspark.module.d.ts +47 -0
  16. package/full/components/inspark.shared.d.ts +3 -0
  17. package/full/components/link/link.component.d.ts +5 -1
  18. package/full/components/modal-input-text/modal-input-text.component.d.ts +4 -1
  19. package/full/components/object-tree/object-tree.component.d.ts +3 -0
  20. package/full/components/panel/panel.component.d.ts +3 -0
  21. package/full/components/pie/pie.component.d.ts +3 -0
  22. package/full/components/pie/pie.service.d.ts +3 -0
  23. package/full/components/preloader/preloader.component.d.ts +3 -0
  24. package/full/components/primeng.module.d.ts +5 -0
  25. package/full/components/radiobutton/radiobutton.component.d.ts +3 -0
  26. package/full/components/select-button/select-button.component.d.ts +3 -0
  27. package/full/components/select-list/select-list.component.d.ts +4 -1
  28. package/full/components/status-circle/status-circle.component.d.ts +3 -0
  29. package/full/components/sticky/sticky.component.d.ts +3 -0
  30. package/full/components/svg/svg.component.d.ts +4 -1
  31. package/full/components/switcher/switcher.component.d.ts +3 -0
  32. package/full/components/table/table-click-outside.directive.d.ts +3 -0
  33. package/full/components/table/table-columns-multiselect/table-columns-multiselect.component.d.ts +3 -0
  34. package/full/components/table/table-menu-overlay/table-menu-overlay.component.d.ts +3 -0
  35. package/full/components/table/table.component.d.ts +18 -0
  36. package/full/components/textarea/textarea.component.d.ts +3 -0
  37. package/full/components/toolbar/toolbar.component.d.ts +3 -0
  38. package/full/components/tooltip/tooltip.component.d.ts +3 -0
  39. package/full/components/tree-table/tree-table.component.d.ts +12 -0
  40. package/full/esm2020/components/autocomplete/autocomplete.component.mjs +220 -0
  41. package/full/esm2020/components/breadcrumb/breadcrumb.component.mjs +20 -0
  42. package/full/esm2020/components/button/button.component.mjs +160 -0
  43. package/full/esm2020/components/checkbox/checkbox.component.mjs +89 -0
  44. package/full/esm2020/components/communication.service.mjs +25 -0
  45. package/full/esm2020/components/component-container/component-container.component.mjs +17 -0
  46. package/full/esm2020/components/content-toggle/content-toggle.component.mjs +49 -0
  47. package/full/esm2020/components/dropdown/dropdown.component.mjs +328 -0
  48. package/full/esm2020/components/empty/empty.component.mjs +12 -0
  49. package/full/esm2020/components/file/file.component.mjs +53 -0
  50. package/full/esm2020/components/header/header.component.mjs +23 -0
  51. package/full/esm2020/components/inline-message/inline-message.component.mjs +20 -0
  52. package/full/esm2020/components/input-group/input-group.component.mjs +163 -0
  53. package/full/esm2020/components/input-text/input-text.component.mjs +149 -0
  54. package/full/esm2020/components/inspark.module.mjs +239 -0
  55. package/full/esm2020/components/inspark.shared.mjs +25 -0
  56. package/full/esm2020/components/link/link.component.mjs +131 -0
  57. package/full/esm2020/components/modal-input-text/modal-input-text.component.mjs +88 -0
  58. package/full/esm2020/components/object-tree/object-tree.component.mjs +14 -0
  59. package/full/esm2020/components/panel/panel.component.mjs +11 -0
  60. package/full/esm2020/components/pie/pie.component.mjs +44 -0
  61. package/full/esm2020/components/pie/pie.service.mjs +55 -0
  62. package/full/esm2020/components/preloader/preloader.component.mjs +25 -0
  63. package/full/esm2020/components/primeng.module.mjs +22 -0
  64. package/full/esm2020/components/radiobutton/radiobutton.component.mjs +50 -0
  65. package/full/esm2020/components/select-button/select-button.component.mjs +147 -0
  66. package/full/esm2020/components/select-list/select-list.component.mjs +55 -0
  67. package/full/esm2020/components/status-circle/status-circle.component.mjs +36 -0
  68. package/full/esm2020/components/sticky/sticky.component.mjs +64 -0
  69. package/full/esm2020/components/svg/svg.component.mjs +28 -0
  70. package/full/esm2020/components/switcher/switcher.component.mjs +123 -0
  71. package/full/esm2020/components/table/table-click-outside.directive.mjs +31 -0
  72. package/full/esm2020/components/table/table-columns-multiselect/table-columns-multiselect.component.mjs +32 -0
  73. package/full/esm2020/components/table/table-menu-overlay/table-menu-overlay.component.mjs +26 -0
  74. package/full/esm2020/components/table/table.component.mjs +472 -0
  75. package/full/esm2020/components/textarea/textarea.component.mjs +87 -0
  76. package/full/esm2020/components/toolbar/toolbar.component.mjs +30 -0
  77. package/full/esm2020/components/tooltip/tooltip.component.mjs +14 -0
  78. package/full/esm2020/components/tree-table/tree-table.component.mjs +206 -0
  79. package/full/esm2020/inspark-inspark-components.mjs +5 -0
  80. package/full/esm2020/interface.mjs +2 -0
  81. package/full/esm2020/pipes/pipes.module.mjs +19 -0
  82. package/full/esm2020/pipes/propertyValue.pipe.mjs +25 -0
  83. package/full/esm2020/pipes/safeUrl.pipe.mjs +36 -0
  84. package/full/esm2020/pipes/sort-by.pipe.mjs +28 -0
  85. package/full/esm2020/pipes/time.pipe.mjs +206 -0
  86. package/full/esm2020/public_api.mjs +60 -0
  87. package/full/esm2020/services/inspark-dialog.service.mjs +52 -0
  88. package/full/esm2020/services/inspark-message.service.mjs +71 -0
  89. package/full/esm2020/utils/gettextMarker.function.mjs +5 -0
  90. package/full/esm2020/utils/hybrid/prime-table/row-state.enum.mjs +9 -0
  91. package/full/esm2020/utils/hybrid/prime-table/table-row-data.model.mjs +2 -0
  92. package/full/fesm2015/inspark-inspark-components.mjs +3574 -0
  93. package/full/fesm2015/inspark-inspark-components.mjs.map +1 -0
  94. package/full/fesm2020/inspark-inspark-components.mjs +3577 -0
  95. package/full/fesm2020/inspark-inspark-components.mjs.map +1 -0
  96. package/full/index.css +1265 -3352
  97. package/{interface/inspark-inspark-components.d.ts → full/index.d.ts} +1 -0
  98. package/full/index.js +1 -1
  99. package/full/interface.d.ts +1 -1
  100. package/full/package.json +26 -16
  101. package/full/pipes/pipes.module.d.ts +8 -0
  102. package/full/pipes/propertyValue.pipe.d.ts +3 -0
  103. package/full/pipes/safeUrl.pipe.d.ts +3 -0
  104. package/full/pipes/sort-by.pipe.d.ts +3 -0
  105. package/full/pipes/time.pipe.d.ts +9 -0
  106. package/full/public_api.d.ts +15 -1
  107. package/full/services/inspark-dialog.service.d.ts +4 -2
  108. package/full/services/inspark-message.service.d.ts +3 -0
  109. package/interface/esm2020/inspark-inspark-components.mjs +5 -0
  110. package/interface/esm2020/interface.mjs +2 -0
  111. package/interface/esm2020/public_api.mjs +5 -0
  112. package/interface/fesm2015/inspark-inspark-components.mjs +8 -0
  113. package/interface/fesm2015/inspark-inspark-components.mjs.map +1 -0
  114. package/interface/fesm2020/inspark-inspark-components.mjs +8 -0
  115. package/interface/fesm2020/inspark-inspark-components.mjs.map +1 -0
  116. package/interface/index.d.ts +5 -0
  117. package/interface/interface.d.ts +1 -1
  118. package/interface/package.json +26 -16
  119. package/package.json +1 -1
  120. package/full/bundles/inspark-inspark-components.umd.js +0 -4622
  121. package/full/bundles/inspark-inspark-components.umd.js.map +0 -1
  122. package/full/bundles/inspark-inspark-components.umd.min.js +0 -16
  123. package/full/bundles/inspark-inspark-components.umd.min.js.map +0 -1
  124. package/full/esm2015/components/autocomplete/autocomplete.component.js +0 -310
  125. package/full/esm2015/components/breadcrumb/breadcrumb.component.js +0 -23
  126. package/full/esm2015/components/button/button.component.js +0 -217
  127. package/full/esm2015/components/checkbox/checkbox.component.js +0 -104
  128. package/full/esm2015/components/communication.service.js +0 -24
  129. package/full/esm2015/components/component-container/component-container.component.js +0 -20
  130. package/full/esm2015/components/content-toggle/content-toggle.component.js +0 -66
  131. package/full/esm2015/components/dropdown/dropdown.component.js +0 -353
  132. package/full/esm2015/components/empty/empty.component.js +0 -13
  133. package/full/esm2015/components/file/file.component.js +0 -65
  134. package/full/esm2015/components/header/header.component.js +0 -30
  135. package/full/esm2015/components/inline-message/inline-message.component.js +0 -25
  136. package/full/esm2015/components/input-group/input-group.component.js +0 -197
  137. package/full/esm2015/components/input-text/input-text.component.js +0 -198
  138. package/full/esm2015/components/inspark.module.js +0 -137
  139. package/full/esm2015/components/inspark.shared.js +0 -30
  140. package/full/esm2015/components/link/link.component.js +0 -164
  141. package/full/esm2015/components/modal-input-text/modal-input-text.component.js +0 -94
  142. package/full/esm2015/components/object-tree/object-tree.component.js +0 -18
  143. package/full/esm2015/components/panel/panel.component.js +0 -13
  144. package/full/esm2015/components/pie/pie.component.js +0 -59
  145. package/full/esm2015/components/pie/pie.service.js +0 -54
  146. package/full/esm2015/components/preloader/preloader.component.js +0 -34
  147. package/full/esm2015/components/primeng.module.js +0 -19
  148. package/full/esm2015/components/radiobutton/radiobutton.component.js +0 -75
  149. package/full/esm2015/components/select-button/select-button.component.js +0 -176
  150. package/full/esm2015/components/select-list/select-list.component.js +0 -60
  151. package/full/esm2015/components/status-circle/status-circle.component.js +0 -51
  152. package/full/esm2015/components/sticky/sticky.component.js +0 -82
  153. package/full/esm2015/components/svg/svg.component.js +0 -36
  154. package/full/esm2015/components/switcher/switcher.component.js +0 -148
  155. package/full/esm2015/components/table/table-click-outside.directive.js +0 -38
  156. package/full/esm2015/components/table/table-columns-multiselect/table-columns-multiselect.component.js +0 -37
  157. package/full/esm2015/components/table/table-menu-overlay/table-menu-overlay.component.js +0 -35
  158. package/full/esm2015/components/table/table.component.js +0 -535
  159. package/full/esm2015/components/textarea/textarea.component.js +0 -101
  160. package/full/esm2015/components/toolbar/toolbar.component.js +0 -40
  161. package/full/esm2015/components/tooltip/tooltip.component.js +0 -18
  162. package/full/esm2015/components/tree-table/tree-table.component.js +0 -255
  163. package/full/esm2015/inspark-inspark-components.js +0 -20
  164. package/full/esm2015/interface.js +0 -1
  165. package/full/esm2015/pipes/pipes.module.js +0 -16
  166. package/full/esm2015/pipes/propertyValue.pipe.js +0 -23
  167. package/full/esm2015/pipes/safeUrl.pipe.js +0 -37
  168. package/full/esm2015/pipes/sort-by.pipe.js +0 -26
  169. package/full/esm2015/pipes/time.pipe.js +0 -201
  170. package/full/esm2015/public_api.js +0 -45
  171. package/full/esm2015/services/inspark-dialog.service.js +0 -59
  172. package/full/esm2015/services/inspark-message.service.js +0 -73
  173. package/full/esm2015/utils/gettextMarker.function.js +0 -5
  174. package/full/esm2015/utils/hybrid/prime-table/row-state.enum.js +0 -9
  175. package/full/esm2015/utils/hybrid/prime-table/table-row-data.model.js +0 -1
  176. package/full/esm5/components/autocomplete/autocomplete.component.js +0 -318
  177. package/full/esm5/components/breadcrumb/breadcrumb.component.js +0 -24
  178. package/full/esm5/components/button/button.component.js +0 -224
  179. package/full/esm5/components/checkbox/checkbox.component.js +0 -106
  180. package/full/esm5/components/communication.service.js +0 -25
  181. package/full/esm5/components/component-container/component-container.component.js +0 -21
  182. package/full/esm5/components/content-toggle/content-toggle.component.js +0 -67
  183. package/full/esm5/components/dropdown/dropdown.component.js +0 -357
  184. package/full/esm5/components/empty/empty.component.js +0 -16
  185. package/full/esm5/components/file/file.component.js +0 -66
  186. package/full/esm5/components/header/header.component.js +0 -31
  187. package/full/esm5/components/inline-message/inline-message.component.js +0 -26
  188. package/full/esm5/components/input-group/input-group.component.js +0 -199
  189. package/full/esm5/components/input-text/input-text.component.js +0 -200
  190. package/full/esm5/components/inspark.module.js +0 -140
  191. package/full/esm5/components/inspark.shared.js +0 -31
  192. package/full/esm5/components/link/link.component.js +0 -165
  193. package/full/esm5/components/modal-input-text/modal-input-text.component.js +0 -98
  194. package/full/esm5/components/object-tree/object-tree.component.js +0 -20
  195. package/full/esm5/components/panel/panel.component.js +0 -16
  196. package/full/esm5/components/pie/pie.component.js +0 -60
  197. package/full/esm5/components/pie/pie.service.js +0 -56
  198. package/full/esm5/components/preloader/preloader.component.js +0 -35
  199. package/full/esm5/components/primeng.module.js +0 -22
  200. package/full/esm5/components/radiobutton/radiobutton.component.js +0 -76
  201. package/full/esm5/components/select-button/select-button.component.js +0 -179
  202. package/full/esm5/components/select-list/select-list.component.js +0 -62
  203. package/full/esm5/components/status-circle/status-circle.component.js +0 -52
  204. package/full/esm5/components/sticky/sticky.component.js +0 -84
  205. package/full/esm5/components/svg/svg.component.js +0 -39
  206. package/full/esm5/components/switcher/switcher.component.js +0 -150
  207. package/full/esm5/components/table/table-click-outside.directive.js +0 -39
  208. package/full/esm5/components/table/table-columns-multiselect/table-columns-multiselect.component.js +0 -38
  209. package/full/esm5/components/table/table-menu-overlay/table-menu-overlay.component.js +0 -36
  210. package/full/esm5/components/table/table.component.js +0 -554
  211. package/full/esm5/components/textarea/textarea.component.js +0 -103
  212. package/full/esm5/components/toolbar/toolbar.component.js +0 -41
  213. package/full/esm5/components/tooltip/tooltip.component.js +0 -20
  214. package/full/esm5/components/tree-table/tree-table.component.js +0 -280
  215. package/full/esm5/inspark-inspark-components.js +0 -20
  216. package/full/esm5/interface.js +0 -1
  217. package/full/esm5/pipes/pipes.module.js +0 -19
  218. package/full/esm5/pipes/propertyValue.pipe.js +0 -26
  219. package/full/esm5/pipes/safeUrl.pipe.js +0 -38
  220. package/full/esm5/pipes/sort-by.pipe.js +0 -29
  221. package/full/esm5/pipes/time.pipe.js +0 -212
  222. package/full/esm5/public_api.js +0 -45
  223. package/full/esm5/services/inspark-dialog.service.js +0 -61
  224. package/full/esm5/services/inspark-message.service.js +0 -78
  225. package/full/esm5/utils/gettextMarker.function.js +0 -5
  226. package/full/esm5/utils/hybrid/prime-table/row-state.enum.js +0 -9
  227. package/full/esm5/utils/hybrid/prime-table/table-row-data.model.js +0 -1
  228. package/full/fesm2015/inspark-inspark-components.js +0 -4174
  229. package/full/fesm2015/inspark-inspark-components.js.map +0 -1
  230. package/full/fesm5/inspark-inspark-components.js +0 -4324
  231. package/full/fesm5/inspark-inspark-components.js.map +0 -1
  232. package/full/fonts/primeicons.eot +0 -0
  233. package/full/fonts/primeicons.svg +0 -163
  234. package/full/fonts/primeicons.ttf +0 -0
  235. package/full/fonts/primeicons.woff +0 -0
  236. package/full/inspark-inspark-components.d.ts +0 -19
  237. package/full/inspark-inspark-components.metadata.json +0 -1
  238. package/interface/bundles/inspark-inspark-components.umd.js +0 -11
  239. package/interface/bundles/inspark-inspark-components.umd.js.map +0 -1
  240. package/interface/bundles/inspark-inspark-components.umd.min.js +0 -2
  241. package/interface/bundles/inspark-inspark-components.umd.min.js.map +0 -1
  242. package/interface/esm2015/inspark-inspark-components.js +0 -4
  243. package/interface/esm2015/interface.js +0 -1
  244. package/interface/esm2015/public_api.js +0 -4
  245. package/interface/esm5/inspark-inspark-components.js +0 -4
  246. package/interface/esm5/interface.js +0 -1
  247. package/interface/esm5/public_api.js +0 -4
  248. package/interface/fesm2015/inspark-inspark-components.js +0 -4
  249. package/interface/fesm2015/inspark-inspark-components.js.map +0 -1
  250. package/interface/fesm5/inspark-inspark-components.js +0 -4
  251. package/interface/fesm5/inspark-inspark-components.js.map +0 -1
  252. package/interface/inspark-inspark-components.metadata.json +0 -1
@@ -0,0 +1,3577 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Pipe, NgModule, Injectable, Component, ViewEncapsulation, Input, EventEmitter, ChangeDetectionStrategy, ViewChild, HostBinding, Output, forwardRef, Directive, HostListener, ContentChildren, NO_ERRORS_SCHEMA } from '@angular/core';
3
+ import * as i1 from '@ngx-translate/core';
4
+ import { TranslateModule } from '@ngx-translate/core';
5
+ export { TranslateModule } from '@ngx-translate/core';
6
+ import * as i1$1 from '@angular/platform-browser';
7
+ import * as i2 from 'primeng/api';
8
+ import { SharedModule } from 'primeng/api';
9
+ export { SharedModule } from 'primeng/api';
10
+ import { _ } from '@biesbjerg/ngx-translate-extract/dist/utils/utils';
11
+ import * as i1$5 from 'primeng/dynamicdialog';
12
+ import { DynamicDialogConfig, DynamicDialogRef, DynamicDialogComponent, DynamicDialogInjector } from 'primeng/dynamicdialog';
13
+ import { Subject } from 'rxjs';
14
+ import * as i1$4 from '@angular/forms';
15
+ import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
16
+ import * as i1$2 from '@angular/common';
17
+ import { CommonModule } from '@angular/common';
18
+ import * as i4 from 'primeng/button';
19
+ import { Button, ButtonModule } from 'primeng/button';
20
+ import * as i2$4 from 'primeng/menu';
21
+ import { Menu, MenuModule } from 'primeng/menu';
22
+ export { MenuModule } from 'primeng/menu';
23
+ import * as i1$3 from '@angular/router';
24
+ import * as i7 from '@ng-bootstrap/ng-bootstrap';
25
+ import { NgbDropdownModule, NgbModule } from '@ng-bootstrap/ng-bootstrap';
26
+ export { NgbModule } from '@ng-bootstrap/ng-bootstrap';
27
+ import * as i2$1 from 'ng-inline-svg';
28
+ import { InlineSVGModule } from 'ng-inline-svg';
29
+ export { InlineSVGModule } from 'ng-inline-svg';
30
+ import * as i3 from 'primeng/overlay';
31
+ import { OverlayModule } from 'primeng/overlay';
32
+ import * as i5$1 from 'primeng/dropdown';
33
+ import { Dropdown, DropdownModule } from 'primeng/dropdown';
34
+ import * as i5 from 'primeng/tooltip';
35
+ import { TooltipModule } from 'primeng/tooltip';
36
+ import * as i6 from 'primeng/scroller';
37
+ import { ScrollerModule } from 'primeng/scroller';
38
+ import * as i2$2 from 'primeng/ripple';
39
+ import { RippleModule } from 'primeng/ripple';
40
+ import * as i7$1 from 'primeng/autofocus';
41
+ import { AutoFocusModule } from 'primeng/autofocus';
42
+ import * as i2$3 from 'primeng/table';
43
+ import { TableService, Table, TableModule } from 'primeng/table';
44
+ import * as i6$1 from 'primeng/multiselect';
45
+ import { MultiSelectModule } from 'primeng/multiselect';
46
+ import { CheckboxModule } from 'primeng/checkbox';
47
+ import { ObjectUtils } from 'primeng/utils';
48
+ import { DomHandler } from 'primeng/dom';
49
+ import { SliderModule } from 'primeng/slider';
50
+ export { SliderModule } from 'primeng/slider';
51
+ import * as i2$5 from 'primeng/treetable';
52
+ import { TreeTableModule } from 'primeng/treetable';
53
+ import * as i3$1 from 'primeng/radiobutton';
54
+ import { RadioButtonModule } from 'primeng/radiobutton';
55
+ export { RadioButtonModule } from 'primeng/radiobutton';
56
+ import { trigger, transition, style, animate } from '@angular/animations';
57
+ import { ScrollingModule } from '@angular/cdk/scrolling';
58
+ import { AutoComplete } from 'primeng/autocomplete';
59
+ import { BreadcrumbModule } from 'primeng/breadcrumb';
60
+ export { BreadcrumbModule } from 'primeng/breadcrumb';
61
+ import { TreeModule } from 'primeng/tree';
62
+ export { TreeModule } from 'primeng/tree';
63
+
64
+ class PropertyValuePipe {
65
+ transform(value, name) {
66
+ if (Array.isArray(value) || !(value instanceof Object) || !name) {
67
+ return value;
68
+ }
69
+ else if (name.indexOf('.') > -1) {
70
+ const splitName = name.split(/\.(.+)/, 2);
71
+ return this.transform(value[splitName[0]], splitName[1]);
72
+ }
73
+ else {
74
+ return value[name];
75
+ }
76
+ }
77
+ }
78
+ PropertyValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PropertyValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
79
+ PropertyValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PropertyValuePipe, name: "propertyValue" });
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PropertyValuePipe, decorators: [{
81
+ type: Pipe,
82
+ args: [{
83
+ name: 'propertyValue'
84
+ }]
85
+ }] });
86
+
87
+ function isTime(value) {
88
+ return /^[0-9]{1,2}\:[0-9]{1,2}$/.test(value.toString());
89
+ }
90
+ function addLeadZero(num, isNegative = false) {
91
+ return (isNegative ? '-' : '') + ('000' + Math.abs(num)).slice(-2);
92
+ }
93
+ function parseIntervalToMinutes(interval) {
94
+ if (!isTime(interval)) {
95
+ return 0;
96
+ }
97
+ const parts = interval.split(':');
98
+ const hours = parseInt(parts[0], 10);
99
+ const minutes = parseInt(parts[1], 10);
100
+ if (isNaN(hours) || isNaN(minutes)) {
101
+ throw new Error(interval + ' не может быть обработан как время HH:MM');
102
+ }
103
+ return 60 * hours + minutes;
104
+ }
105
+ function shortWeekdayToNum(dayKey) {
106
+ switch (dayKey) {
107
+ case 'sun':
108
+ return 0;
109
+ case 'mon':
110
+ return 1;
111
+ case 'tue':
112
+ return 2;
113
+ case 'wed':
114
+ return 3;
115
+ case 'thu':
116
+ return 4;
117
+ case 'fri':
118
+ return 5;
119
+ case 'sat':
120
+ return 6;
121
+ case 'd1':
122
+ return 7;
123
+ case 'd2':
124
+ return 8;
125
+ }
126
+ return -1;
127
+ }
128
+ function formatNumberToTime(num) {
129
+ if (isTime(num)) {
130
+ return num;
131
+ }
132
+ const value = parseInt(num, 10);
133
+ const isNegative = value < 0 ? true : false;
134
+ const absValue = Math.abs(value);
135
+ return addLeadZero(Math.floor(absValue / 60), isNegative) + ':' + addLeadZero(absValue % 60);
136
+ }
137
+ function numToShortWeekday(num) {
138
+ const days = [
139
+ 'sun',
140
+ 'mon',
141
+ 'tue',
142
+ 'wed',
143
+ 'thu',
144
+ 'fri',
145
+ 'sat',
146
+ 'd1',
147
+ 'd2'
148
+ ];
149
+ return days[parseInt(num, 10)] ? days[parseInt(num, 10)] : 'custom';
150
+ }
151
+ function shortToFullWeekday(day) {
152
+ const days = {
153
+ 'sun': 'sunday',
154
+ 'mon': 'monday',
155
+ 'tue': 'tuesday',
156
+ 'wed': 'wednesday',
157
+ 'thu': 'thursday',
158
+ 'fri': 'friday',
159
+ 'sat': 'saturday',
160
+ 'd1': 'day1',
161
+ 'd2': 'day2'
162
+ };
163
+ return days[day];
164
+ }
165
+ class ShortToFullWeekdayPipe {
166
+ transform(value, args) {
167
+ return shortToFullWeekday(value);
168
+ }
169
+ }
170
+ ShortToFullWeekdayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ShortToFullWeekdayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
171
+ ShortToFullWeekdayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ShortToFullWeekdayPipe, name: "shortToFullWeekday" });
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ShortToFullWeekdayPipe, decorators: [{
173
+ type: Pipe,
174
+ args: [{
175
+ name: 'shortToFullWeekday'
176
+ }]
177
+ }] });
178
+ /**
179
+ * Pipe используется для преобразования числа в день недели
180
+ * 0-6 - вс-сб, 7,8 - день1, день2
181
+ */
182
+ class NumToShortWeekdayPipe {
183
+ transform(value, args) {
184
+ return numToShortWeekday(value);
185
+ }
186
+ }
187
+ NumToShortWeekdayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NumToShortWeekdayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
188
+ NumToShortWeekdayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NumToShortWeekdayPipe, name: "numToShortWeekday" });
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NumToShortWeekdayPipe, decorators: [{
190
+ type: Pipe,
191
+ args: [{
192
+ name: 'numToShortWeekday'
193
+ }]
194
+ }] });
195
+ class FormatNumToTime {
196
+ transform(value, args) {
197
+ if (args) {
198
+ let isHour = false;
199
+ let isMin = false;
200
+ let isSec = false;
201
+ if (args.indexOf('HH') !== -1) {
202
+ isHour = true;
203
+ }
204
+ if (args.indexOf('mm') !== -1) {
205
+ isMin = true;
206
+ }
207
+ if (args.indexOf('SS') !== -1) {
208
+ isSec = true;
209
+ }
210
+ const absValue = Math.floor(Math.abs(value / 1000));
211
+ let hours = 0;
212
+ let hh = '00';
213
+ if (isHour) {
214
+ hours = Math.floor(absValue / (60 * 60));
215
+ hh = String(hours < 10 ? '0' + hours : hours);
216
+ }
217
+ let Mins = 0;
218
+ let MM = '00';
219
+ if (isMin) {
220
+ Mins = Math.ceil((absValue - hours * 60 * 60) / 60);
221
+ MM = String(Mins < 10 ? '0' + Mins : Mins);
222
+ }
223
+ let sec = 0;
224
+ let ss = '00';
225
+ if (isSec) {
226
+ sec = absValue - hours * 60 * 60 - Mins * 60;
227
+ ss = String(sec < 10 ? '0' + sec : sec);
228
+ }
229
+ if (isHour && isMin && isSec) {
230
+ return hh + ':' + MM + ':' + ss;
231
+ }
232
+ else if (isHour && isMin) {
233
+ return hh + ':' + MM;
234
+ }
235
+ else if (isMin && isSec) {
236
+ return MM + ':' + ss;
237
+ }
238
+ else if (isHour) {
239
+ return hh;
240
+ }
241
+ else if (isMin) {
242
+ return MM;
243
+ }
244
+ else if (isSec) {
245
+ return ss;
246
+ }
247
+ }
248
+ return formatNumberToTime(value);
249
+ }
250
+ }
251
+ FormatNumToTime.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FormatNumToTime, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
252
+ FormatNumToTime.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FormatNumToTime, name: "formatNumToTime" });
253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FormatNumToTime, decorators: [{
254
+ type: Pipe,
255
+ args: [{
256
+ name: 'formatNumToTime'
257
+ }]
258
+ }] });
259
+ class InDate {
260
+ constructor(translate) {
261
+ this.translate = translate;
262
+ }
263
+ transform(value, args) {
264
+ const isSec = args ? args.indexOf('ss') !== -1 : false;
265
+ const isHour = args ? args.indexOf('hh') !== -1 : true;
266
+ const isMin = args ? args.indexOf('MM') !== -1 : true;
267
+ const date = new Date(value);
268
+ const now = new Date();
269
+ const time = (isHour ? `${('0' + date.getHours()).slice(-2)}` : ``)
270
+ + (isMin ? `:${('0' + date.getMinutes()).slice(-2)}` : ``)
271
+ + (isSec ? `:${('0' + date.getSeconds()).slice(-2)} ` : ``);
272
+ if (date.getFullYear() === now.getFullYear() && date.getMonth() === now.getMonth() && date.getDate() === now.getDate()) {
273
+ return this.translate.instant('today at') + ' ' + time;
274
+ }
275
+ else {
276
+ return ('0' + date.getDate()).slice(-2) + '.' + ('0' + (date.getMonth() + 1)).slice(-2) + '.' + ('0' + date.getFullYear()).slice(-2) + ' ' + time;
277
+ }
278
+ }
279
+ }
280
+ InDate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InDate, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
281
+ InDate.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: InDate, name: "inDate" });
282
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InDate, decorators: [{
283
+ type: Pipe,
284
+ args: [{
285
+ name: 'inDate'
286
+ }]
287
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
288
+
289
+ // Angular
290
+ /**
291
+ * Sanitize HTML
292
+ */
293
+ class SafeUrlPipe {
294
+ /**
295
+ * Pipe Constructor
296
+ *
297
+ * @param _sanitizer: DomSanitezer
298
+ */
299
+ // tslint:disable-next-line
300
+ constructor(_sanitizer) {
301
+ this._sanitizer = _sanitizer;
302
+ }
303
+ /**
304
+ * Transform
305
+ *
306
+ * @param value: string
307
+ */
308
+ transform(value) {
309
+ return this._sanitizer.bypassSecurityTrustResourceUrl(value);
310
+ }
311
+ }
312
+ SafeUrlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SafeUrlPipe, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
313
+ SafeUrlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: SafeUrlPipe, name: "safeUrl" });
314
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SafeUrlPipe, decorators: [{
315
+ type: Pipe,
316
+ args: [{
317
+ name: 'safeUrl'
318
+ }]
319
+ }], ctorParameters: function () { return [{ type: i1$1.DomSanitizer }]; } });
320
+
321
+ class SortByPipe {
322
+ transform(arr, options) {
323
+ if (arr === undefined) {
324
+ return;
325
+ }
326
+ return arr.sort((a, b) => {
327
+ let cmp = 0;
328
+ for (let i = 0; i < options.length; i++) {
329
+ const x = a[options[i].sortField];
330
+ const y = b[options[i].sortField];
331
+ const asc = options[i].isAscending ? -1 : 1;
332
+ cmp = (((x === y) ? 0 : (x < y) ? -1 * asc : 1 * asc) + cmp) * 10;
333
+ }
334
+ return cmp;
335
+ });
336
+ }
337
+ }
338
+ SortByPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SortByPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
339
+ SortByPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: SortByPipe, name: "SortByPipe" });
340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SortByPipe, decorators: [{
341
+ type: Pipe,
342
+ args: [{
343
+ name: 'SortByPipe'
344
+ }]
345
+ }] });
346
+
347
+ class PipesModule {
348
+ }
349
+ PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
350
+ 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] });
351
+ PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PipesModule });
352
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PipesModule, decorators: [{
353
+ type: NgModule,
354
+ args: [{
355
+ exports: [PropertyValuePipe, NumToShortWeekdayPipe, FormatNumToTime, InDate, ShortToFullWeekdayPipe, SafeUrlPipe, SortByPipe],
356
+ declarations: [PropertyValuePipe, NumToShortWeekdayPipe, FormatNumToTime, InDate, ShortToFullWeekdayPipe, SafeUrlPipe, SortByPipe]
357
+ }]
358
+ }] });
359
+
360
+ function gettext(a) {
361
+ return _(a);
362
+ }
363
+
364
+ class InsparkMessageService {
365
+ constructor(translate, messageService, confirmationService) {
366
+ this.translate = translate;
367
+ this.messageService = messageService;
368
+ this.confirmationService = confirmationService;
369
+ }
370
+ /**
371
+ * @deprecated
372
+ * @param options
373
+ */
374
+ add(options) {
375
+ this.messageService.add(options);
376
+ }
377
+ confirm(message, options) {
378
+ this.translate.get(message).subscribe((res) => {
379
+ this.confirmationService.confirm({
380
+ ...options,
381
+ message: res
382
+ });
383
+ });
384
+ }
385
+ success(message) {
386
+ this.translate.get(gettext('Toast_Success_Caption')).subscribe((title) => {
387
+ this.translate.get(message).subscribe((res) => {
388
+ this.messageService.add({ severity: 'success', summary: title, detail: res });
389
+ });
390
+ });
391
+ }
392
+ message(message) {
393
+ this.translate.get(gettext('Toast_Message_Caption')).subscribe((title) => {
394
+ this.translate.get(message).subscribe((res) => {
395
+ this.messageService.add({ severity: 'info', summary: title, detail: res });
396
+ });
397
+ });
398
+ }
399
+ /*TODO: костыль перевода, - чтобы избежать переполнения стека изза рекурсии*/
400
+ error(message) {
401
+ const title = this.getToastErrorTitleLocalized();
402
+ // this.translate.get(gettext('Toast_Error_Caption')).subscribe((title: string) => {
403
+ this.translate.get(message).subscribe((res) => {
404
+ this.messageService.add({ severity: 'error', summary: title, detail: res });
405
+ });
406
+ // });
407
+ }
408
+ getToastErrorTitleLocalized() {
409
+ const ilocale = localStorage.getItem('ilocale_');
410
+ if (ilocale && ilocale.replace(/"/g, '') === 'en-US') {
411
+ return 'Error';
412
+ }
413
+ return 'Ошибка';
414
+ /*
415
+ if (ilocale && (this.localeService.locale$.getValue() === undefined || this.localeService.locale$.getValue().serverShort !== ilocale.replace(/"/g, ''))) {
416
+ this.localeService.setLocale(ilocale.replace(/"/g, ''));
417
+ this.translate.use(this.localeService.locale$.getValue().short);
418
+ }
419
+ */
420
+ }
421
+ }
422
+ InsparkMessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkMessageService, deps: [{ token: i1.TranslateService }, { token: i2.MessageService }, { token: i2.ConfirmationService }], target: i0.ɵɵFactoryTarget.Injectable });
423
+ InsparkMessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkMessageService });
424
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkMessageService, decorators: [{
425
+ type: Injectable
426
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.MessageService }, { type: i2.ConfirmationService }]; } });
427
+
428
+ class InsparkDialogService {
429
+ constructor(componentFactoryResolver, appRef, injector) {
430
+ this.componentFactoryResolver = componentFactoryResolver;
431
+ this.appRef = appRef;
432
+ this.injector = injector;
433
+ }
434
+ open(componentType, config) {
435
+ const dialogRef = this.appendDialogComponentToBody(config);
436
+ console.log('window.scrollY', window.scrollY);
437
+ document.body.style.top = `-${window.scrollY}px`;
438
+ document.body.style.position = 'fixed';
439
+ dialogRef.onClose.subscribe(() => {
440
+ console.log('custom subscrnve');
441
+ const scrollY = document.body.style.top;
442
+ document.body.style.position = '';
443
+ document.body.style.top = '';
444
+ window.scrollTo(0, parseInt(scrollY || '0') * -1);
445
+ });
446
+ this.dialogComponentRef.instance.childComponentType = componentType;
447
+ return dialogRef;
448
+ }
449
+ appendDialogComponentToBody(config) {
450
+ const map = new WeakMap();
451
+ map.set(DynamicDialogConfig, config);
452
+ const dialogRef = new DynamicDialogRef();
453
+ map.set(DynamicDialogRef, dialogRef);
454
+ const sub = dialogRef.onClose.subscribe(() => {
455
+ this.removeDialogComponentFromBody();
456
+ sub.unsubscribe();
457
+ });
458
+ const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DynamicDialogComponent);
459
+ const componentRef = componentFactory.create(new DynamicDialogInjector(this.injector, map));
460
+ this.appRef.attachView(componentRef.hostView);
461
+ const domElem = componentRef.hostView.rootNodes[0];
462
+ document.body.appendChild(domElem);
463
+ this.dialogComponentRef = componentRef;
464
+ return dialogRef;
465
+ }
466
+ removeDialogComponentFromBody() {
467
+ this.appRef.detachView(this.dialogComponentRef.hostView);
468
+ this.dialogComponentRef.destroy();
469
+ }
470
+ }
471
+ InsparkDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkDialogService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
472
+ InsparkDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkDialogService });
473
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkDialogService, decorators: [{
474
+ type: Injectable
475
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: i0.Injector }]; } });
476
+
477
+ class CommunicationService {
478
+ constructor() {
479
+ this.messageSource = {};
480
+ this.message$ = {};
481
+ }
482
+ create(id) {
483
+ if (!this.messageSource[id]) {
484
+ this.messageSource[id] = new Subject();
485
+ this.message$[id] = this.messageSource[id].asObservable();
486
+ }
487
+ }
488
+ next(widgetId, value) {
489
+ this.create(widgetId);
490
+ this.messageSource[widgetId].next(value);
491
+ }
492
+ }
493
+ CommunicationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CommunicationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
494
+ CommunicationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CommunicationService });
495
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CommunicationService, decorators: [{
496
+ type: Injectable
497
+ }] });
498
+
499
+ class PreloaderComponent {
500
+ constructor() {
501
+ this.inline = false;
502
+ this.overlay = false;
503
+ this.size = 'normal';
504
+ }
505
+ ngOnInit() {
506
+ }
507
+ }
508
+ PreloaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PreloaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
509
+ PreloaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PreloaderComponent, selector: "in-preloader", inputs: { inline: "inline", overlay: "overlay", size: "size" }, ngImport: i0, template: "<div [ngClass]=\"{float:!inline, small: size==='small'}\" class=\"preloader-container\">\n <div class=\"lds-spinner\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n </div>\n</div>\n<div *ngIf=\"overlay\" class=\"overlay\"></div>\n", styles: ["@charset \"UTF-8\";.preloader-container{display:inline-flex;width:100%;height:64px;position:relative;align-items:center;justify-content:center;z-index:101}.preloader-container.float{position:absolute;height:auto;width:auto;top:50%;left:50%;transform:translate(-50%,-50%)}.preloader-container.small{width:32px;height:32px}.preloader-container.small .lds-spinner{color:var(--ids-theme-btn-primary-background);width:32px;height:32px}.lds-spinner{color:var(--ids-theme-btn-primary-background);width:64px;height:64px}.lds-spinner div{transform-origin:32px 32px;animation:lds-spinner 1.2s linear infinite}.small .lds-spinner div{transform-origin:16px 16px}.lds-spinner div:after{content:\" \";display:block;position:absolute;top:3px;left:29px;width:5px;height:14px;border-radius:20%;background:var(--ids-theme-btn-primary-background, #78f4ff)}.small .lds-spinner div:after{width:3px;height:6px;left:15px}.lds-spinner div:nth-child(1){transform:rotate(0);animation-delay:-1.1s}.lds-spinner div:nth-child(2){transform:rotate(30deg);animation-delay:-1s}.lds-spinner div:nth-child(3){transform:rotate(60deg);animation-delay:-.9s}.lds-spinner div:nth-child(4){transform:rotate(90deg);animation-delay:-.8s}.lds-spinner div:nth-child(5){transform:rotate(120deg);animation-delay:-.7s}.lds-spinner div:nth-child(6){transform:rotate(150deg);animation-delay:-.6s}.lds-spinner div:nth-child(7){transform:rotate(180deg);animation-delay:-.5s}.lds-spinner div:nth-child(8){transform:rotate(210deg);animation-delay:-.4s}.lds-spinner div:nth-child(9){transform:rotate(240deg);animation-delay:-.3s}.lds-spinner div:nth-child(10){transform:rotate(270deg);animation-delay:-.2s}.lds-spinner div:nth-child(11){transform:rotate(300deg);animation-delay:-.1s}.lds-spinner div:nth-child(12){transform:rotate(330deg);animation-delay:0s}@keyframes lds-spinner{0%{opacity:1}to{opacity:0}}.overlay{position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.7);z-index:100}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
510
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PreloaderComponent, decorators: [{
511
+ type: Component,
512
+ args: [{ selector: 'in-preloader', encapsulation: ViewEncapsulation.Emulated, template: "<div [ngClass]=\"{float:!inline, small: size==='small'}\" class=\"preloader-container\">\n <div class=\"lds-spinner\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n </div>\n</div>\n<div *ngIf=\"overlay\" class=\"overlay\"></div>\n", styles: ["@charset \"UTF-8\";.preloader-container{display:inline-flex;width:100%;height:64px;position:relative;align-items:center;justify-content:center;z-index:101}.preloader-container.float{position:absolute;height:auto;width:auto;top:50%;left:50%;transform:translate(-50%,-50%)}.preloader-container.small{width:32px;height:32px}.preloader-container.small .lds-spinner{color:var(--ids-theme-btn-primary-background);width:32px;height:32px}.lds-spinner{color:var(--ids-theme-btn-primary-background);width:64px;height:64px}.lds-spinner div{transform-origin:32px 32px;animation:lds-spinner 1.2s linear infinite}.small .lds-spinner div{transform-origin:16px 16px}.lds-spinner div:after{content:\" \";display:block;position:absolute;top:3px;left:29px;width:5px;height:14px;border-radius:20%;background:var(--ids-theme-btn-primary-background, #78f4ff)}.small .lds-spinner div:after{width:3px;height:6px;left:15px}.lds-spinner div:nth-child(1){transform:rotate(0);animation-delay:-1.1s}.lds-spinner div:nth-child(2){transform:rotate(30deg);animation-delay:-1s}.lds-spinner div:nth-child(3){transform:rotate(60deg);animation-delay:-.9s}.lds-spinner div:nth-child(4){transform:rotate(90deg);animation-delay:-.8s}.lds-spinner div:nth-child(5){transform:rotate(120deg);animation-delay:-.7s}.lds-spinner div:nth-child(6){transform:rotate(150deg);animation-delay:-.6s}.lds-spinner div:nth-child(7){transform:rotate(180deg);animation-delay:-.5s}.lds-spinner div:nth-child(8){transform:rotate(210deg);animation-delay:-.4s}.lds-spinner div:nth-child(9){transform:rotate(240deg);animation-delay:-.3s}.lds-spinner div:nth-child(10){transform:rotate(270deg);animation-delay:-.2s}.lds-spinner div:nth-child(11){transform:rotate(300deg);animation-delay:-.1s}.lds-spinner div:nth-child(12){transform:rotate(330deg);animation-delay:0s}@keyframes lds-spinner{0%{opacity:1}to{opacity:0}}.overlay{position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.7);z-index:100}\n"] }]
513
+ }], ctorParameters: function () { return []; }, propDecorators: { inline: [{
514
+ type: Input
515
+ }], overlay: [{
516
+ type: Input
517
+ }], size: [{
518
+ type: Input
519
+ }] } });
520
+
521
+ class SvgComponent extends Button {
522
+ constructor() {
523
+ super(...arguments);
524
+ this.size = 'normal';
525
+ this.width = '100%';
526
+ this.height = '100%';
527
+ }
528
+ }
529
+ SvgComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SvgComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
530
+ SvgComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SvgComponent, selector: "in-svg", inputs: { size: "size", width: "width", height: "height", src: "src" }, usesInheritance: true, ngImport: i0, template: "<span [inlineSVG]=\"src\"\n [ngClass]=\"{svg: true, 'c-icon_svg-small': size === 'small', 'c-icon_svg-large': size === 'large'}\" [ngStyle]=\"{width: width, height: height}\"></span>\n\n", styles: [".svg{display:inline-flex;align-items:center;justify-content:center}.c-icon_svg-small{width:16px;height:16px}:host{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$1.InlineSVGDirective, selector: "[inlineSVG]", inputs: ["replaceContents", "prepend", "injectComponent", "cacheSVG", "forceEvalStyles", "evalScripts", "inlineSVG", "setSVGAttributes", "removeSVGAttributes", "fallbackImgUrl", "onSVGLoaded"], outputs: ["onSVGInserted", "onSVGFailed"] }] });
531
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SvgComponent, decorators: [{
532
+ type: Component,
533
+ args: [{ selector: 'in-svg', template: "<span [inlineSVG]=\"src\"\n [ngClass]=\"{svg: true, 'c-icon_svg-small': size === 'small', 'c-icon_svg-large': size === 'large'}\" [ngStyle]=\"{width: width, height: height}\"></span>\n\n", styles: [".svg{display:inline-flex;align-items:center;justify-content:center}.c-icon_svg-small{width:16px;height:16px}:host{display:inline-block}\n"] }]
534
+ }], propDecorators: { size: [{
535
+ type: Input
536
+ }], width: [{
537
+ type: Input
538
+ }], height: [{
539
+ type: Input
540
+ }], src: [{
541
+ type: Input
542
+ }] } });
543
+
544
+ class ButtonComponent extends Button {
545
+ constructor(cdr) {
546
+ super();
547
+ this.cdr = cdr;
548
+ this.size = 'normal';
549
+ this.color = 'normal';
550
+ this.type = 'button';
551
+ this.name = '';
552
+ this.testId = '';
553
+ this.label = '';
554
+ this.icon = '';
555
+ this.className = '';
556
+ this.notify = null;
557
+ this.svg = '';
558
+ this.width = 'auto';
559
+ this.link = '';
560
+ this.isLoading = false;
561
+ this.shadow = false;
562
+ this.isIconOnly = false;
563
+ /**
564
+ * external - ссылка на внешний источник
565
+ * internal - ссылка внутри приложения
566
+ * auto - определяется автоматически исходя из link
567
+ */
568
+ this.linkType = 'auto';
569
+ /**
570
+ * self - открывается в этом же окне
571
+ * blank - открывается в новом окне
572
+ * auto - определяется автоматически исходя из linkType
573
+ */
574
+ this.linkTarget = 'auto';
575
+ // Отображает кнопку нажатой
576
+ this.pressed = false;
577
+ this.disabled = false;
578
+ this.iconPos = 'left';
579
+ this.selectedItem = null;
580
+ this.menuPlacement = 'bottom-left';
581
+ this.menuItems = [];
582
+ this.focus = new EventEmitter();
583
+ this.blur = new EventEmitter();
584
+ this.click = new EventEmitter();
585
+ this._target = '_self';
586
+ this._linkType = 'auto';
587
+ this.isMaterialIcon = false;
588
+ }
589
+ get pointerEvents() {
590
+ return this.disabled ? 'none' : 'auto';
591
+ }
592
+ ngOnInit() {
593
+ this.updateData();
594
+ }
595
+ ngOnChanges(changes) {
596
+ this.updateData();
597
+ }
598
+ updateData() {
599
+ this._linkType = this.linkType;
600
+ if (this._linkType === 'auto') {
601
+ if ((this.link.indexOf('://') !== -1 || this.link.indexOf('//') === 0)) {
602
+ this._linkType = 'external';
603
+ }
604
+ else {
605
+ this._linkType = 'internal';
606
+ }
607
+ }
608
+ if (this.linkTarget === 'auto') {
609
+ if (this._linkType === 'external') {
610
+ this._target = '_blank';
611
+ }
612
+ else {
613
+ this._target = '_self';
614
+ }
615
+ }
616
+ else {
617
+ this._target = this.linkTarget === 'self' ? '_self' : 'blank';
618
+ }
619
+ if (this.icon && this.icon.indexOf('fa-') === -1) {
620
+ this.isMaterialIcon = true;
621
+ }
622
+ else {
623
+ this.isMaterialIcon = false;
624
+ }
625
+ }
626
+ _onClick($event) {
627
+ this.cdr.detectChanges();
628
+ }
629
+ }
630
+ ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
631
+ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ButtonComponent, selector: "in-button", inputs: { size: "size", color: "color", type: "type", name: "name", testId: "testId", label: "label", icon: "icon", className: "className", notify: "notify", svg: "svg", width: "width", link: "link", isLoading: "isLoading", shadow: "shadow", isIconOnly: "isIconOnly", linkType: "linkType", linkTarget: "linkTarget", pressed: "pressed", disabled: "disabled", iconPos: "iconPos", selectedItem: "selectedItem", menuPlacement: "menuPlacement", menuItems: "menuItems" }, outputs: { focus: "focus", blur: "blur", click: "click" }, host: { properties: { "style.pointer-events": "this.pointerEvents" } }, viewQueries: [{ propertyName: "_menu", first: true, predicate: Menu, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<a (blur)=\"blur.emit($event)\"\n (click)=\"_onClick($event)\"\n (focus)=\"focus.emit($event)\"\n *ngIf=\"link && _linkType ==='external'\"\n [attr.type]=\"type\"\n [class]=\"className + ' ' + testId + ' field_' + name\"\n [href]=\"link\"\n [ngClass]=\"{'ui-button ui-widget ui-state-default ui-corner-all':true,\n 'ui-button-icon-only': ((icon || svg) && !label),\n 'ui-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\n 'ui-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\n 'ui-button-text-only': (!(icon || svg) && label),\n 'ui-button-text-empty': (!(icon || svg) && !label),\n 'ui-button-svg': svg,\n 'ui-button-material': isMaterialIcon,\n 'ui-state-disabled': disabled,\n 'ui-button-tiny': size === 'tiny',\n 'ui-button-small': size === 'small',\n 'ui-button-large': size === 'large',\n 'ui-button-primary': color === 'primary',\n 'ui-button-secondary': color === 'secondary',\n 'ui-button-danger': color === 'danger',\n 'ui-button-transparency': color === 'transparent',\n 'ui-button-pressed' : pressed}\"\n [ngStyle]=\"{width:width}\"\n [style]=\"style\"\n [target]=\"_target\" class=\"button-container\">\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\n</a>\n<a (blur)=\"blur.emit($event)\"\n (click)=\"_onClick($event)\"\n (focus)=\"focus.emit($event)\"\n *ngIf=\"link && _linkType ==='internal'\"\n [attr.type]=\"type\"\n [class]=\"className + ' ' + testId + ' field_' + name\"\n [ngClass]=\"{'ui-button ui-widget ui-state-default ui-corner-all':true,\n 'ui-button-icon-only': ((icon || svg) && !label),\n 'ui-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\n 'ui-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\n 'ui-button-text-only': (!(icon || svg) && label),\n 'ui-button-text-empty': (!(icon || svg) && !label),\n 'ui-button-svg': svg,\n 'ui-button-material': isMaterialIcon,\n 'ui-state-disabled': disabled,\n 'ui-button-tiny': size === 'tiny',\n 'ui-button-small': size === 'small',\n 'ui-button-large': size === 'large',\n 'ui-button-primary': color === 'primary',\n 'ui-button-secondary': color === 'secondary',\n 'ui-button-danger': color === 'danger',\n 'ui-button-transparency': color === 'transparent',\n 'ui-button-pressed' : pressed}\"\n [ngStyle]=\"{width:width}\"\n [routerLink]=\"link\"\n [style]=\"style\"\n [target]=\"_target\" class=\"button-container\">\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\n</a>\n<span #dropdown=\"ngbDropdown\" *ngIf=\"!link && menuItems.length\" [ngStyle]=\"{width:width}\" class=\"button-container\" container=\"body\"\n ngbDropdown>\n <button\n (blur)=\"blur.emit($event)\"\n (click)=\"_onClick($event)\"\n (focus)=\"focus.emit($event)\"\n [attr.type]=\"type\"\n [class]=\"className + ' ' + testId + ' field_' + name\"\n [disabled]=\"disabled\"\n [ngClass]=\" {'ui-button ui-widget ui-state-default ui-corner-all':true,\n 'ui-button-icon-only': ((icon || svg) && !label),\n 'ui-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\n 'ui-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\n 'ui-button-text-only': (!(icon || svg) && label),\n 'ui-button-text-empty': (!(icon || svg) && !label),\n 'ui-button-svg': svg,\n 'ui-button-material': isMaterialIcon,\n 'ui-state-disabled': disabled,\n 'ui-button-tiny': size === 'tiny',\n 'ui-button-small': size === 'small',\n 'ui-button-large': size === 'large',\n 'ui-button-primary': color === 'primary',\n 'ui-button-secondary': color === 'secondary',\n 'ui-button-danger': color === 'danger',\n 'ui-button-transparency': color === 'transparent',\n 'ui-button-shadowed': shadow === true,\n 'ui-button-pressed' : pressed}\"\n [style]=\"style\" ngbDropdownToggle>\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\n </button>\n <div *ngIf=\"menuItems.length\" aria-labelledby=\"menu\"\n class=\"in-dropdown-menu\"\n ngbDropdownMenu>\n <div *ngFor=\"let item of menuItems\" class=\"in-dropdown-menu-item\" role=\"menuitem\">\n <in-button (click)=\"dropdown.close(); item.command();\"\n [color]=\"selectedItem && selectedItem == item.id?'primary':'transparent'\"\n [icon]=\"item.icon\"\n [label]=\"item.label\"\n [svg]=\"item.svg\"\n size=\"large\"\n width=\"100%\"></in-button>\n </div>\n </div>\n\n <div *ngIf=\"notify\" [ngClass]=\"notify\" class=\"notify\"></div>\n</span>\n<span *ngIf=\"!link && !menuItems.length\" [ngStyle]=\"{width:width}\" class=\"button-container\">\n <button\n (blur)=\"blur.emit($event)\"\n (click)=\"_onClick($event)\"\n (focus)=\"focus.emit($event)\"\n [attr.type]=\"type\"\n [class]=\"className + ' ' + testId + ' field_' + name\"\n [disabled]=\"disabled\"\n [ngClass]=\" {'ui-button ui-widget ui-state-default ui-corner-all':true,\n 'ui-button-icon-only': ((icon || svg) && !label) || isIconOnly,\n 'ui-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\n 'ui-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\n 'ui-button-text-only': (!(icon || svg) && label),\n 'ui-button-text-empty': (!(icon || svg) && !label),\n 'ui-button-svg': svg,\n 'ui-button-material': isMaterialIcon,\n 'ui-state-disabled': disabled,\n 'ui-button-tiny': size === 'tiny',\n 'ui-button-small': size === 'small',\n 'ui-button-large': size === 'large',\n 'ui-button-primary': color === 'primary',\n 'ui-button-secondary': color === 'secondary',\n 'ui-button-danger': color === 'danger',\n 'ui-button-transparency': color === 'transparent',\n 'ui-button-shadowed': shadow === true,\n 'ui-button-pressed' : pressed}\" [style]=\"style\">\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\n </button>\n <div *ngIf=\"notify\" [ngClass]=\"notify\" class=\"notify\"></div>\n</span>\n\n<ng-template #content>\n <span *ngIf=\"!isMaterialIcon && icon && !isLoading\" [class]=\"icon\"\n [ngClass]=\"{'ui-clickable': true,\n 'ui-button-icon-left': (iconPos === 'left'),\n 'ui-button-icon-right': (iconPos === 'right')}\"></span>\n <span *ngIf=\"isMaterialIcon && icon && !isLoading\" [ngClass]=\"{'ui-clickable': true,\n 'ui-button-icon-left': (iconPos === 'left'),\n 'ui-button-icon-right': (iconPos === 'right')}\"\n ><i class=\"material-icons\">{{icon}}</i></span>\n <in-preloader *ngIf=\"isLoading\" size=\"small\"></in-preloader>\n <span class=\"ui-button-text ui-clickable\">{{label}}</span>\n <span *ngIf=\"svg && !isLoading\" [ngClass]=\"{'ui-clickable': true,\n 'ui-button-icon-left': (iconPos === 'left'),\n 'ui-button-icon-right': (iconPos === 'right')}\">\n <in-svg *ngIf=\"size === 'normal'\" [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\n <in-svg *ngIf=\"size === 'large'\" [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\n <in-svg *ngIf=\"size === 'small'\" [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\n <in-svg *ngIf=\"size === 'tiny'\" [src]=\"svg\" height=\"10px\" width=\"10px\"></in-svg>\n </span>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.container{display:inline-block}.button-container{position:relative;display:inline-block}button{outline:none;width:100%}.ui-button-icon-only .ui-button-icon-left{margin-top:-9px}.ui-button-text{vertical-align:middle}.notify{width:8px;height:8px;border-radius:100%;position:absolute;right:8px;top:8px}.notify.warning{background:var(--colorWarning)}.notify.success{background:var(--colorSuccess)}.notify.error{background:var(--colorError)}.notify.critical{background:var(--colorCritical)}.ui-button{margin-right:0;height:36px;display:inline-flex;align-items:center;justify-content:center}.ui-button.ui-button-pressed{background-color:var(--colorBgLevel4)}.ui-button.ui-button-large{height:48px}.ui-button.ui-button-large .ui-button-icon-left{font-size:18px;margin-top:-8px}.ui-button.ui-button-large .ui-button-text{padding:0 1em 0 48px;margin-top:6px}.ui-button-text-icon-left .ui-button-text{padding:0 1em 0 2.4em}.ui-button-icon-only{font-size:18px;display:inline-flex;align-items:center;justify-content:center}.ui-button-icon-only.ui-button-large{width:48px;height:48px}.ui-button-icon-only.ui-button-large .svg,.ui-button-icon-only .svg{display:inline-block;line-height:0}.ui-button-transparency{background:none;color:currentColor}.ui-button-transparency:hover{color:currentColor}.ui-button-shadowed{box-shadow:0 2px 6px #0003}.ui-button.ui-button-svg.ui-button-small .ui-button-icon-left{margin-top:-4px}.ui-button.ui-button-svg.ui-button-small.ui-button-icon-only .ui-button-icon-left{margin-top:-2px}.ui-button.ui-button-svg .ui-button-icon-left{left:6px;transform:translateY(-50%);margin-top:-4px}.ui-button.ui-button-svg.ui-button-icon-only .ui-button-icon-left{left:50%;width:auto;transform:translate(-50%,-50%);margin-left:0;margin-top:0}.ui-button.ui-button-svg.ui-button-large.ui-button-icon-only .ui-button-icon-left{margin-top:0}.ui-button-material.ui-button-icon-only .material-icons{font-size:20px}.ui-button-material.ui-button-icon-only .ui-button-icon-left{margin-top:-10px;margin-left:-12px}.ui-button-material .material-icons{font-size:16px}.ui-button-material .ui-button-icon-left{margin-top:-8px;margin-left:-2px}.ui-button-material.ui-button-small .ui-button-icon-left{margin-top:-7px}.ui-button-material.ui-button-small .material-icons{font-size:14px}.ui-button-material.ui-button-small.ui-button-icon-only .ui-button-icon-left{margin-top:-12px;margin-left:-10px}.ui-button-material.ui-button-small.ui-button-icon-only .ui-button-icon-left .material-icons{font-size:18px}.ui-button-material.ui-button-large .material-icons{font-size:24px}.ui-button-material.ui-button-large .ui-button-icon-left{margin-top:-11px}.ui-button-material.ui-button-large.ui-button-icon-only .ui-button-icon-left{margin-top:-11px;margin-left:-13px}:host .ui-menu .ui-menuitem-link{font-size:16px}.dropdown-menu{display:none;background:var(--colorBgLevel3);padding:4px}.dropdown-menu li{padding:4px;font-size:14px}.dropdown-menu.show{display:block}.in-dropdown-menu{background:var(--colorBgLevel2);padding:0;position:absolute;display:none;margin-left:0;box-shadow:0 0 3px 1px #0003}.in-dropdown-menu.show{display:block}.in-dropdown-menu .in-dropdown-menu-item{list-style-type:none;min-width:250px;display:flex;align-items:center;justify-content:flex-start;min-height:48px}.in-dropdown-menu .in-dropdown-menu-item in-button,.in-dropdown-menu .in-dropdown-menu-item in-button ::ng-deep button{width:100%;border-radius:0}.in-dropdown-menu .in-dropdown-menu-item in-button .ui-button,.in-dropdown-menu .in-dropdown-menu-item in-button ::ng-deep button .ui-button{justify-content:flex-start}.in-dropdown-menu .in-dropdown-menu-item .switcher{flex:1;display:flex;justify-content:flex-end;padding-right:4px}.in-dropdown-menu .in-dropdown-menu-item+.in-dropdown-menu-item{border-top:1px solid var(--colorBgLevel4)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i7.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i7.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i7.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "component", type: ButtonComponent, selector: "in-button", inputs: ["size", "color", "type", "name", "testId", "label", "icon", "className", "notify", "svg", "width", "link", "isLoading", "shadow", "isIconOnly", "linkType", "linkTarget", "pressed", "disabled", "iconPos", "selectedItem", "menuPlacement", "menuItems"], outputs: ["focus", "blur", "click"] }, { kind: "component", type: PreloaderComponent, selector: "in-preloader", inputs: ["inline", "overlay", "size"] }, { kind: "component", type: SvgComponent, selector: "in-svg", inputs: ["size", "width", "height", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
632
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonComponent, decorators: [{
633
+ type: Component,
634
+ args: [{ selector: 'in-button', encapsulation: ViewEncapsulation.Emulated, changeDetection: ChangeDetectionStrategy.OnPush, template: "<a (blur)=\"blur.emit($event)\"\n (click)=\"_onClick($event)\"\n (focus)=\"focus.emit($event)\"\n *ngIf=\"link && _linkType ==='external'\"\n [attr.type]=\"type\"\n [class]=\"className + ' ' + testId + ' field_' + name\"\n [href]=\"link\"\n [ngClass]=\"{'ui-button ui-widget ui-state-default ui-corner-all':true,\n 'ui-button-icon-only': ((icon || svg) && !label),\n 'ui-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\n 'ui-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\n 'ui-button-text-only': (!(icon || svg) && label),\n 'ui-button-text-empty': (!(icon || svg) && !label),\n 'ui-button-svg': svg,\n 'ui-button-material': isMaterialIcon,\n 'ui-state-disabled': disabled,\n 'ui-button-tiny': size === 'tiny',\n 'ui-button-small': size === 'small',\n 'ui-button-large': size === 'large',\n 'ui-button-primary': color === 'primary',\n 'ui-button-secondary': color === 'secondary',\n 'ui-button-danger': color === 'danger',\n 'ui-button-transparency': color === 'transparent',\n 'ui-button-pressed' : pressed}\"\n [ngStyle]=\"{width:width}\"\n [style]=\"style\"\n [target]=\"_target\" class=\"button-container\">\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\n</a>\n<a (blur)=\"blur.emit($event)\"\n (click)=\"_onClick($event)\"\n (focus)=\"focus.emit($event)\"\n *ngIf=\"link && _linkType ==='internal'\"\n [attr.type]=\"type\"\n [class]=\"className + ' ' + testId + ' field_' + name\"\n [ngClass]=\"{'ui-button ui-widget ui-state-default ui-corner-all':true,\n 'ui-button-icon-only': ((icon || svg) && !label),\n 'ui-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\n 'ui-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\n 'ui-button-text-only': (!(icon || svg) && label),\n 'ui-button-text-empty': (!(icon || svg) && !label),\n 'ui-button-svg': svg,\n 'ui-button-material': isMaterialIcon,\n 'ui-state-disabled': disabled,\n 'ui-button-tiny': size === 'tiny',\n 'ui-button-small': size === 'small',\n 'ui-button-large': size === 'large',\n 'ui-button-primary': color === 'primary',\n 'ui-button-secondary': color === 'secondary',\n 'ui-button-danger': color === 'danger',\n 'ui-button-transparency': color === 'transparent',\n 'ui-button-pressed' : pressed}\"\n [ngStyle]=\"{width:width}\"\n [routerLink]=\"link\"\n [style]=\"style\"\n [target]=\"_target\" class=\"button-container\">\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\n</a>\n<span #dropdown=\"ngbDropdown\" *ngIf=\"!link && menuItems.length\" [ngStyle]=\"{width:width}\" class=\"button-container\" container=\"body\"\n ngbDropdown>\n <button\n (blur)=\"blur.emit($event)\"\n (click)=\"_onClick($event)\"\n (focus)=\"focus.emit($event)\"\n [attr.type]=\"type\"\n [class]=\"className + ' ' + testId + ' field_' + name\"\n [disabled]=\"disabled\"\n [ngClass]=\" {'ui-button ui-widget ui-state-default ui-corner-all':true,\n 'ui-button-icon-only': ((icon || svg) && !label),\n 'ui-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\n 'ui-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\n 'ui-button-text-only': (!(icon || svg) && label),\n 'ui-button-text-empty': (!(icon || svg) && !label),\n 'ui-button-svg': svg,\n 'ui-button-material': isMaterialIcon,\n 'ui-state-disabled': disabled,\n 'ui-button-tiny': size === 'tiny',\n 'ui-button-small': size === 'small',\n 'ui-button-large': size === 'large',\n 'ui-button-primary': color === 'primary',\n 'ui-button-secondary': color === 'secondary',\n 'ui-button-danger': color === 'danger',\n 'ui-button-transparency': color === 'transparent',\n 'ui-button-shadowed': shadow === true,\n 'ui-button-pressed' : pressed}\"\n [style]=\"style\" ngbDropdownToggle>\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\n </button>\n <div *ngIf=\"menuItems.length\" aria-labelledby=\"menu\"\n class=\"in-dropdown-menu\"\n ngbDropdownMenu>\n <div *ngFor=\"let item of menuItems\" class=\"in-dropdown-menu-item\" role=\"menuitem\">\n <in-button (click)=\"dropdown.close(); item.command();\"\n [color]=\"selectedItem && selectedItem == item.id?'primary':'transparent'\"\n [icon]=\"item.icon\"\n [label]=\"item.label\"\n [svg]=\"item.svg\"\n size=\"large\"\n width=\"100%\"></in-button>\n </div>\n </div>\n\n <div *ngIf=\"notify\" [ngClass]=\"notify\" class=\"notify\"></div>\n</span>\n<span *ngIf=\"!link && !menuItems.length\" [ngStyle]=\"{width:width}\" class=\"button-container\">\n <button\n (blur)=\"blur.emit($event)\"\n (click)=\"_onClick($event)\"\n (focus)=\"focus.emit($event)\"\n [attr.type]=\"type\"\n [class]=\"className + ' ' + testId + ' field_' + name\"\n [disabled]=\"disabled\"\n [ngClass]=\" {'ui-button ui-widget ui-state-default ui-corner-all':true,\n 'ui-button-icon-only': ((icon || svg) && !label) || isIconOnly,\n 'ui-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\n 'ui-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\n 'ui-button-text-only': (!(icon || svg) && label),\n 'ui-button-text-empty': (!(icon || svg) && !label),\n 'ui-button-svg': svg,\n 'ui-button-material': isMaterialIcon,\n 'ui-state-disabled': disabled,\n 'ui-button-tiny': size === 'tiny',\n 'ui-button-small': size === 'small',\n 'ui-button-large': size === 'large',\n 'ui-button-primary': color === 'primary',\n 'ui-button-secondary': color === 'secondary',\n 'ui-button-danger': color === 'danger',\n 'ui-button-transparency': color === 'transparent',\n 'ui-button-shadowed': shadow === true,\n 'ui-button-pressed' : pressed}\" [style]=\"style\">\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\n </button>\n <div *ngIf=\"notify\" [ngClass]=\"notify\" class=\"notify\"></div>\n</span>\n\n<ng-template #content>\n <span *ngIf=\"!isMaterialIcon && icon && !isLoading\" [class]=\"icon\"\n [ngClass]=\"{'ui-clickable': true,\n 'ui-button-icon-left': (iconPos === 'left'),\n 'ui-button-icon-right': (iconPos === 'right')}\"></span>\n <span *ngIf=\"isMaterialIcon && icon && !isLoading\" [ngClass]=\"{'ui-clickable': true,\n 'ui-button-icon-left': (iconPos === 'left'),\n 'ui-button-icon-right': (iconPos === 'right')}\"\n ><i class=\"material-icons\">{{icon}}</i></span>\n <in-preloader *ngIf=\"isLoading\" size=\"small\"></in-preloader>\n <span class=\"ui-button-text ui-clickable\">{{label}}</span>\n <span *ngIf=\"svg && !isLoading\" [ngClass]=\"{'ui-clickable': true,\n 'ui-button-icon-left': (iconPos === 'left'),\n 'ui-button-icon-right': (iconPos === 'right')}\">\n <in-svg *ngIf=\"size === 'normal'\" [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\n <in-svg *ngIf=\"size === 'large'\" [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\n <in-svg *ngIf=\"size === 'small'\" [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\n <in-svg *ngIf=\"size === 'tiny'\" [src]=\"svg\" height=\"10px\" width=\"10px\"></in-svg>\n </span>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.container{display:inline-block}.button-container{position:relative;display:inline-block}button{outline:none;width:100%}.ui-button-icon-only .ui-button-icon-left{margin-top:-9px}.ui-button-text{vertical-align:middle}.notify{width:8px;height:8px;border-radius:100%;position:absolute;right:8px;top:8px}.notify.warning{background:var(--colorWarning)}.notify.success{background:var(--colorSuccess)}.notify.error{background:var(--colorError)}.notify.critical{background:var(--colorCritical)}.ui-button{margin-right:0;height:36px;display:inline-flex;align-items:center;justify-content:center}.ui-button.ui-button-pressed{background-color:var(--colorBgLevel4)}.ui-button.ui-button-large{height:48px}.ui-button.ui-button-large .ui-button-icon-left{font-size:18px;margin-top:-8px}.ui-button.ui-button-large .ui-button-text{padding:0 1em 0 48px;margin-top:6px}.ui-button-text-icon-left .ui-button-text{padding:0 1em 0 2.4em}.ui-button-icon-only{font-size:18px;display:inline-flex;align-items:center;justify-content:center}.ui-button-icon-only.ui-button-large{width:48px;height:48px}.ui-button-icon-only.ui-button-large .svg,.ui-button-icon-only .svg{display:inline-block;line-height:0}.ui-button-transparency{background:none;color:currentColor}.ui-button-transparency:hover{color:currentColor}.ui-button-shadowed{box-shadow:0 2px 6px #0003}.ui-button.ui-button-svg.ui-button-small .ui-button-icon-left{margin-top:-4px}.ui-button.ui-button-svg.ui-button-small.ui-button-icon-only .ui-button-icon-left{margin-top:-2px}.ui-button.ui-button-svg .ui-button-icon-left{left:6px;transform:translateY(-50%);margin-top:-4px}.ui-button.ui-button-svg.ui-button-icon-only .ui-button-icon-left{left:50%;width:auto;transform:translate(-50%,-50%);margin-left:0;margin-top:0}.ui-button.ui-button-svg.ui-button-large.ui-button-icon-only .ui-button-icon-left{margin-top:0}.ui-button-material.ui-button-icon-only .material-icons{font-size:20px}.ui-button-material.ui-button-icon-only .ui-button-icon-left{margin-top:-10px;margin-left:-12px}.ui-button-material .material-icons{font-size:16px}.ui-button-material .ui-button-icon-left{margin-top:-8px;margin-left:-2px}.ui-button-material.ui-button-small .ui-button-icon-left{margin-top:-7px}.ui-button-material.ui-button-small .material-icons{font-size:14px}.ui-button-material.ui-button-small.ui-button-icon-only .ui-button-icon-left{margin-top:-12px;margin-left:-10px}.ui-button-material.ui-button-small.ui-button-icon-only .ui-button-icon-left .material-icons{font-size:18px}.ui-button-material.ui-button-large .material-icons{font-size:24px}.ui-button-material.ui-button-large .ui-button-icon-left{margin-top:-11px}.ui-button-material.ui-button-large.ui-button-icon-only .ui-button-icon-left{margin-top:-11px;margin-left:-13px}:host .ui-menu .ui-menuitem-link{font-size:16px}.dropdown-menu{display:none;background:var(--colorBgLevel3);padding:4px}.dropdown-menu li{padding:4px;font-size:14px}.dropdown-menu.show{display:block}.in-dropdown-menu{background:var(--colorBgLevel2);padding:0;position:absolute;display:none;margin-left:0;box-shadow:0 0 3px 1px #0003}.in-dropdown-menu.show{display:block}.in-dropdown-menu .in-dropdown-menu-item{list-style-type:none;min-width:250px;display:flex;align-items:center;justify-content:flex-start;min-height:48px}.in-dropdown-menu .in-dropdown-menu-item in-button,.in-dropdown-menu .in-dropdown-menu-item in-button ::ng-deep button{width:100%;border-radius:0}.in-dropdown-menu .in-dropdown-menu-item in-button .ui-button,.in-dropdown-menu .in-dropdown-menu-item in-button ::ng-deep button .ui-button{justify-content:flex-start}.in-dropdown-menu .in-dropdown-menu-item .switcher{flex:1;display:flex;justify-content:flex-end;padding-right:4px}.in-dropdown-menu .in-dropdown-menu-item+.in-dropdown-menu-item{border-top:1px solid var(--colorBgLevel4)}\n"] }]
635
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { size: [{
636
+ type: Input
637
+ }], color: [{
638
+ type: Input
639
+ }], type: [{
640
+ type: Input
641
+ }], name: [{
642
+ type: Input
643
+ }], testId: [{
644
+ type: Input
645
+ }], label: [{
646
+ type: Input
647
+ }], icon: [{
648
+ type: Input
649
+ }], className: [{
650
+ type: Input
651
+ }], notify: [{
652
+ type: Input
653
+ }], svg: [{
654
+ type: Input
655
+ }], width: [{
656
+ type: Input
657
+ }], link: [{
658
+ type: Input
659
+ }], isLoading: [{
660
+ type: Input
661
+ }], shadow: [{
662
+ type: Input
663
+ }], isIconOnly: [{
664
+ type: Input
665
+ }], linkType: [{
666
+ type: Input
667
+ }], linkTarget: [{
668
+ type: Input
669
+ }], pressed: [{
670
+ type: Input
671
+ }], disabled: [{
672
+ type: Input
673
+ }], iconPos: [{
674
+ type: Input
675
+ }], selectedItem: [{
676
+ type: Input
677
+ }], menuPlacement: [{
678
+ type: Input
679
+ }], menuItems: [{
680
+ type: Input
681
+ }], _menu: [{
682
+ type: ViewChild,
683
+ args: [Menu, { static: false }]
684
+ }], pointerEvents: [{
685
+ type: HostBinding,
686
+ args: ['style.pointer-events']
687
+ }], focus: [{
688
+ type: Output
689
+ }], blur: [{
690
+ type: Output
691
+ }], click: [{
692
+ type: Output
693
+ }] } });
694
+
695
+ class InputTextComponent {
696
+ constructor() {
697
+ this.name = null;
698
+ this.autocomplete = true;
699
+ this.label = null;
700
+ this.required = false;
701
+ this.error = null;
702
+ this.size = 100000;
703
+ this.maxlength = 100000;
704
+ this.width = '';
705
+ this.display = true;
706
+ this.large = true;
707
+ this.small = false;
708
+ this.widget = false;
709
+ this.forms = false;
710
+ this.placeholder = '';
711
+ this.id = null;
712
+ this.testId = null;
713
+ this.opacity = true;
714
+ this.shadow = false;
715
+ this.right = false;
716
+ this.type = 'text';
717
+ this.focus = new EventEmitter();
718
+ this.blur = new EventEmitter();
719
+ this.onClick = new EventEmitter();
720
+ this.propagateChange = (_) => {
721
+ };
722
+ }
723
+ /**
724
+ * Write form value to the DOM element (model => view)
725
+ */
726
+ writeValue(value) {
727
+ this.value = value;
728
+ }
729
+ /**
730
+ * Write form disabled state to the DOM element (model => view)
731
+ */
732
+ setDisabledState(isDisabled) {
733
+ this.disabled = isDisabled;
734
+ }
735
+ /**
736
+ * Update form when DOM element value changes (view => model)
737
+ */
738
+ registerOnChange(fn) {
739
+ // Store the provided function as an internal method.
740
+ this.propagateChange = fn;
741
+ }
742
+ /**
743
+ * Update form when DOM element is blurred (view => model)
744
+ */
745
+ registerOnTouched(fn) {
746
+ // Store the provided function as an internal method.
747
+ this.onTouched = fn;
748
+ }
749
+ clear() {
750
+ this.value = '';
751
+ this.propagateChange('');
752
+ this.onClick.emit('');
753
+ }
754
+ onChange(_) {
755
+ if (this.type === 'number') {
756
+ this.propagateChange(+this.value);
757
+ }
758
+ else {
759
+ this.propagateChange(this.value);
760
+ }
761
+ }
762
+ onTouched() {
763
+ }
764
+ }
765
+ InputTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InputTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
766
+ InputTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: InputTextComponent, selector: "in-input-text", inputs: { name: "name", autocomplete: "autocomplete", label: "label", required: "required", error: "error", size: "size", maxlength: "maxlength", width: "width", display: "display", large: "large", small: "small", widget: "widget", forms: "forms", placeholder: "placeholder", id: "id", testId: "testId", disabled: "disabled", opacity: "opacity", shadow: "shadow", right: "right", type: "type", step: "step", min: "min", max: "max" }, outputs: { focus: "focus", blur: "blur", onClick: "onClick" }, providers: [
767
+ {
768
+ provide: NG_VALUE_ACCESSOR,
769
+ useExisting: forwardRef(() => InputTextComponent),
770
+ multi: true,
771
+ }
772
+ ], ngImport: i0, template: "<label [ngStyle]=\"{width: width}\" class=\"label type_varchars\">\n <span *ngIf=\"label\" class=\"c-label__content\">\n {{label}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n <span\n *ngIf=\"maxlength && value && value.length && value.length >= maxlength\"\n class=\"constraints-message__warning u-text_uppercase\">\n {{'maxlength: ' | translate}} {{maxlength}}</span>\n </span>\n <div class=\"input-wrapper u-margin-right-tiny\" [ngClass]=\"{'u-margin-right-tiny': right}\">\n <input (blur)=\"this.blur.emit($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"this.focus.emit($event)\"\n (input)=\"onChange($event)\"\n [(ngModel)]=\"value\"\n [autocomplete]=\"autocomplete? 'on':'off'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [maxlength]=\"maxlength\"\n [name]=\"name\"\n [ngClass]=\"{'c-input_opaque' : opacity === false,\n 'c-input_shadowed' : shadow,\n 'c-input_large' : large,\n 'c-input_small' : small,\n 'c-input_margin_padding': widget,\n 'c-input_padding_right': forms}\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [size]=\"size\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n class=\"search-box c-input field_{{id}}\"\n [type]=\"type\">\n <button (click)=\"clear()\"\n class=\"button-reset empty\"\n [ngClass]=\"{empty: display}\"\n type=\"submit\"\n [attr.title]=\"'Reset' | translate\">\n <i class=\"fa fa-close\"></i>\n </button>\n </div>\n</label>\n", styles: ["@charset \"UTF-8\";.label{display:inline-block;margin-bottom:0}.c-input{height:36px;width:100%}.c-input_opaque{background:var(--colorBgLevel3)}.c-input_shadowed{box-shadow:0 2px 6px #0003}.constraints-message__warning{color:red}.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(--ids-theme-btn-default-color, #FFFFFF)}.empty{display:none}.input-wrapper{position:relative;display:flex;align-items:baseline}.c-input:not(:valid)~.button-reset{display:none}.c-input_margin_padding{margin-left:56px;padding-right:10px;max-width:1200px}.c-input_padding_right{padding-right:28px}\n"], dependencies: [{ kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
773
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InputTextComponent, decorators: [{
774
+ type: Component,
775
+ args: [{ selector: 'in-input-text', providers: [
776
+ {
777
+ provide: NG_VALUE_ACCESSOR,
778
+ useExisting: forwardRef(() => InputTextComponent),
779
+ multi: true,
780
+ }
781
+ ], template: "<label [ngStyle]=\"{width: width}\" class=\"label type_varchars\">\n <span *ngIf=\"label\" class=\"c-label__content\">\n {{label}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n <span\n *ngIf=\"maxlength && value && value.length && value.length >= maxlength\"\n class=\"constraints-message__warning u-text_uppercase\">\n {{'maxlength: ' | translate}} {{maxlength}}</span>\n </span>\n <div class=\"input-wrapper u-margin-right-tiny\" [ngClass]=\"{'u-margin-right-tiny': right}\">\n <input (blur)=\"this.blur.emit($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"this.focus.emit($event)\"\n (input)=\"onChange($event)\"\n [(ngModel)]=\"value\"\n [autocomplete]=\"autocomplete? 'on':'off'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [maxlength]=\"maxlength\"\n [name]=\"name\"\n [ngClass]=\"{'c-input_opaque' : opacity === false,\n 'c-input_shadowed' : shadow,\n 'c-input_large' : large,\n 'c-input_small' : small,\n 'c-input_margin_padding': widget,\n 'c-input_padding_right': forms}\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [size]=\"size\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n class=\"search-box c-input field_{{id}}\"\n [type]=\"type\">\n <button (click)=\"clear()\"\n class=\"button-reset empty\"\n [ngClass]=\"{empty: display}\"\n type=\"submit\"\n [attr.title]=\"'Reset' | translate\">\n <i class=\"fa fa-close\"></i>\n </button>\n </div>\n</label>\n", styles: ["@charset \"UTF-8\";.label{display:inline-block;margin-bottom:0}.c-input{height:36px;width:100%}.c-input_opaque{background:var(--colorBgLevel3)}.c-input_shadowed{box-shadow:0 2px 6px #0003}.constraints-message__warning{color:red}.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(--ids-theme-btn-default-color, #FFFFFF)}.empty{display:none}.input-wrapper{position:relative;display:flex;align-items:baseline}.c-input:not(:valid)~.button-reset{display:none}.c-input_margin_padding{margin-left:56px;padding-right:10px;max-width:1200px}.c-input_padding_right{padding-right:28px}\n"] }]
782
+ }], propDecorators: { name: [{
783
+ type: Input
784
+ }], autocomplete: [{
785
+ type: Input
786
+ }], label: [{
787
+ type: Input
788
+ }], required: [{
789
+ type: Input
790
+ }], error: [{
791
+ type: Input
792
+ }], size: [{
793
+ type: Input
794
+ }], maxlength: [{
795
+ type: Input
796
+ }], width: [{
797
+ type: Input
798
+ }], display: [{
799
+ type: Input
800
+ }], large: [{
801
+ type: Input
802
+ }], small: [{
803
+ type: Input
804
+ }], widget: [{
805
+ type: Input
806
+ }], forms: [{
807
+ type: Input
808
+ }], placeholder: [{
809
+ type: Input
810
+ }], id: [{
811
+ type: Input
812
+ }], testId: [{
813
+ type: Input
814
+ }], disabled: [{
815
+ type: Input
816
+ }], opacity: [{
817
+ type: Input
818
+ }], shadow: [{
819
+ type: Input
820
+ }], right: [{
821
+ type: Input
822
+ }], type: [{
823
+ type: Input
824
+ }], step: [{
825
+ type: Input
826
+ }], min: [{
827
+ type: Input
828
+ }], max: [{
829
+ type: Input
830
+ }], focus: [{
831
+ type: Output
832
+ }], blur: [{
833
+ type: Output
834
+ }], onClick: [{
835
+ type: Output
836
+ }] } });
837
+
838
+ class TextareaComponent {
839
+ constructor() {
840
+ this.name = null;
841
+ this.label = null;
842
+ this.required = false;
843
+ this.error = null;
844
+ this.placeholder = '';
845
+ this.id = null;
846
+ this.minHeight = 30;
847
+ this.maxlength = 100000;
848
+ this.propagateChange = (_) => {
849
+ };
850
+ }
851
+ /**
852
+ * Write form value to the DOM element (model => view)
853
+ */
854
+ writeValue(value) {
855
+ this.value = value;
856
+ }
857
+ /**
858
+ * Write form disabled state to the DOM element (model => view)
859
+ */
860
+ setDisabledState(isDisabled) {
861
+ this.disabled = isDisabled;
862
+ }
863
+ /**
864
+ * Update form when DOM element value changes (view => model)
865
+ */
866
+ registerOnChange(fn) {
867
+ // Store the provided function as an internal method.
868
+ this.propagateChange = fn;
869
+ }
870
+ /**
871
+ * Update form when DOM element is blurred (view => model)
872
+ */
873
+ registerOnTouched(fn) {
874
+ // Store the provided function as an internal method.
875
+ this.onTouched = fn;
876
+ }
877
+ onChange(_) {
878
+ this.propagateChange(this.value);
879
+ }
880
+ onTouched() {
881
+ }
882
+ }
883
+ TextareaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
884
+ 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: [
885
+ {
886
+ provide: NG_VALUE_ACCESSOR,
887
+ useExisting: forwardRef(() => TextareaComponent),
888
+ multi: true,
889
+ }
890
+ ], ngImport: i0, template: "<label class=\"c-label\">\n <span *ngIf=\"label\" class=\"c-label__content\">\n {{label}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n </span>\n <textarea (change)=\"onChange($event)\"\n (input)=\"onChange($event)\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [name]=\"name\"\n [ngStyle]=\"{ 'min-height': minHeight+'px' }\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n class=\"c-textarea field_{{id}}\"\n type=\"text\"\n ></textarea>\n</label>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
891
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextareaComponent, decorators: [{
892
+ type: Component,
893
+ args: [{ selector: 'in-textarea', providers: [
894
+ {
895
+ provide: NG_VALUE_ACCESSOR,
896
+ useExisting: forwardRef(() => TextareaComponent),
897
+ multi: true,
898
+ }
899
+ ], template: "<label class=\"c-label\">\n <span *ngIf=\"label\" class=\"c-label__content\">\n {{label}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n </span>\n <textarea (change)=\"onChange($event)\"\n (input)=\"onChange($event)\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [name]=\"name\"\n [ngStyle]=\"{ 'min-height': minHeight+'px' }\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n class=\"c-textarea field_{{id}}\"\n type=\"text\"\n ></textarea>\n</label>\n" }]
900
+ }], propDecorators: { name: [{
901
+ type: Input
902
+ }], label: [{
903
+ type: Input
904
+ }], required: [{
905
+ type: Input
906
+ }], error: [{
907
+ type: Input
908
+ }], placeholder: [{
909
+ type: Input
910
+ }], id: [{
911
+ type: Input
912
+ }], disabled: [{
913
+ type: Input
914
+ }], minHeight: [{
915
+ type: Input
916
+ }], maxlength: [{
917
+ type: Input
918
+ }] } });
919
+
920
+ class PanelComponent {
921
+ }
922
+ PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
923
+ PanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PanelComponent, selector: "in-panel", ngImport: i0, template: "<div class=\"c-panel inspark-panel\">\n <ng-content></ng-content>\n</div>\n", styles: [".inspark-panel{padding:8px}\n"] });
924
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PanelComponent, decorators: [{
925
+ type: Component,
926
+ args: [{ selector: 'in-panel', template: "<div class=\"c-panel inspark-panel\">\n <ng-content></ng-content>\n</div>\n", styles: [".inspark-panel{padding:8px}\n"] }]
927
+ }] });
928
+
929
+ class ComponentContainerComponent {
930
+ constructor() {
931
+ this.align = 'left';
932
+ }
933
+ }
934
+ ComponentContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ComponentContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
935
+ ComponentContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ComponentContainerComponent, selector: "in-component-container", inputs: { align: "align" }, ngImport: i0, template: "<div [ngClass]=\"align\" class=\"inspark-component-container\">\n <ng-content></ng-content>\n</div>\n", styles: ["@charset \"UTF-8\";.inspark-component-container{display:flex}@media screen and (min-width: 480px){.inspark-component-container{padding-bottom:0}}:host ::ng-deep in-button{margin-right:8px}:host ::ng-deep in-button:last-child{margin-right:0}:host ::ng-deep in-link{margin-right:8px}:host ::ng-deep in-link:last-child{margin-right:0}.right{justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
936
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ComponentContainerComponent, decorators: [{
937
+ type: Component,
938
+ args: [{ selector: 'in-component-container', template: "<div [ngClass]=\"align\" class=\"inspark-component-container\">\n <ng-content></ng-content>\n</div>\n", styles: ["@charset \"UTF-8\";.inspark-component-container{display:flex}@media screen and (min-width: 480px){.inspark-component-container{padding-bottom:0}}:host ::ng-deep in-button{margin-right:8px}:host ::ng-deep in-button:last-child{margin-right:0}:host ::ng-deep in-link{margin-right:8px}:host ::ng-deep in-link:last-child{margin-right:0}.right{justify-content:flex-end}\n"] }]
939
+ }], propDecorators: { align: [{
940
+ type: Input
941
+ }] } });
942
+
943
+ class CheckboxComponent {
944
+ constructor(element, cdRef, router) {
945
+ this.element = element;
946
+ this.cdRef = cdRef;
947
+ this.router = router;
948
+ this.name = null;
949
+ this.label = null;
950
+ this.required = false;
951
+ this.error = null;
952
+ this.placeholder = '';
953
+ this.id = null;
954
+ this.propagateChange = (_) => {
955
+ };
956
+ }
957
+ /**
958
+ * Write form value to the DOM element (model => view)
959
+ */
960
+ writeValue(value) {
961
+ this.value = value;
962
+ if (!this.cdRef['destroyed']) {
963
+ this.cdRef.detectChanges();
964
+ }
965
+ }
966
+ /**
967
+ * Write form disabled state to the DOM element (model => view)
968
+ */
969
+ setDisabledState(isDisabled) {
970
+ this.disabled = isDisabled;
971
+ }
972
+ /**
973
+ * Update form when DOM element value changes (view => model)
974
+ */
975
+ registerOnChange(fn) {
976
+ // Store the provided function as an internal method.
977
+ this.propagateChange = fn;
978
+ }
979
+ /**
980
+ * Update form when DOM element is blurred (view => model)
981
+ */
982
+ registerOnTouched(fn) {
983
+ // Store the provided function as an internal method.
984
+ this.onTouched = fn;
985
+ }
986
+ onChange(_) {
987
+ this.propagateChange(this.value);
988
+ }
989
+ onTouched() {
990
+ }
991
+ }
992
+ CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CheckboxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$3.Router }], target: i0.ɵɵFactoryTarget.Component });
993
+ CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CheckboxComponent, selector: "in-checkbox", inputs: { name: "name", label: "label", required: "required", error: "error", placeholder: "placeholder", id: "id", disabled: "disabled" }, providers: [
994
+ {
995
+ provide: NG_VALUE_ACCESSOR,
996
+ useExisting: forwardRef(() => CheckboxComponent),
997
+ multi: true,
998
+ }
999
+ ], ngImport: i0, template: "<label class=\"c-checkbox\">\n <input (change)=\"onChange($event)\" (input)=\"onChange($event)\"\n (ngModelChange)=\"onChange(value)\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n class=\"c-checkbox__input field_{{id}}\"\n name=\"element_name\"\n type=\"checkbox\"/>\n <i class=\"c-checkbox__icon\"></i>\n <span *ngIf=\"label\" class=\"label\">{{ label }}</span>\n <span class=\"label\"><ng-content></ng-content></span>\n</label>\n", styles: [":host{width:100%}.c-checkbox{margin:0;display:flex;min-width:100%;align-items:center;padding:8px}.c-checkbox .c-checkbox__input+.c-checkbox__icon{padding-left:20px;top:0}.c-checkbox .label{display:flex;align-items:center}.c-checkbox .label:not(:empty){display:inline-flex;padding-left:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i1$4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1000
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CheckboxComponent, decorators: [{
1001
+ type: Component,
1002
+ args: [{ selector: 'in-checkbox', providers: [
1003
+ {
1004
+ provide: NG_VALUE_ACCESSOR,
1005
+ useExisting: forwardRef(() => CheckboxComponent),
1006
+ multi: true,
1007
+ }
1008
+ ], template: "<label class=\"c-checkbox\">\n <input (change)=\"onChange($event)\" (input)=\"onChange($event)\"\n (ngModelChange)=\"onChange(value)\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n class=\"c-checkbox__input field_{{id}}\"\n name=\"element_name\"\n type=\"checkbox\"/>\n <i class=\"c-checkbox__icon\"></i>\n <span *ngIf=\"label\" class=\"label\">{{ label }}</span>\n <span class=\"label\"><ng-content></ng-content></span>\n</label>\n", styles: [":host{width:100%}.c-checkbox{margin:0;display:flex;min-width:100%;align-items:center;padding:8px}.c-checkbox .c-checkbox__input+.c-checkbox__icon{padding-left:20px;top:0}.c-checkbox .label{display:flex;align-items:center}.c-checkbox .label:not(:empty){display:inline-flex;padding-left:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
1009
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$3.Router }]; }, propDecorators: { name: [{
1010
+ type: Input
1011
+ }], label: [{
1012
+ type: Input
1013
+ }], required: [{
1014
+ type: Input
1015
+ }], error: [{
1016
+ type: Input
1017
+ }], placeholder: [{
1018
+ type: Input
1019
+ }], id: [{
1020
+ type: Input
1021
+ }], disabled: [{
1022
+ type: Input
1023
+ }] } });
1024
+
1025
+ const DROPDOWN_VALUE_ACCESSOR = {
1026
+ provide: NG_VALUE_ACCESSOR,
1027
+ useExisting: forwardRef(() => Dropdown),
1028
+ multi: true
1029
+ };
1030
+ class DropdownItem {
1031
+ constructor() {
1032
+ this.onClick = new EventEmitter();
1033
+ }
1034
+ onOptionClick(event) {
1035
+ this.onClick.emit({
1036
+ originalEvent: event,
1037
+ option: this.option
1038
+ });
1039
+ }
1040
+ }
1041
+ DropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
1042
+ DropdownItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DropdownItem, selector: "p-dropdownItem", inputs: { option: "option", selected: "selected", label: "label", disabled: "disabled", visible: "visible", itemSize: "itemSize", template: "template" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
1043
+ <li
1044
+ (click)="onOptionClick($event)"
1045
+ role="option"
1046
+ pRipple
1047
+ [attr.aria-label]="label"
1048
+ [attr.aria-selected]="selected"
1049
+ [ngStyle]="{ height: itemSize + 'px' }"
1050
+ [id]="selected ? 'p-highlighted-option' : ''"
1051
+ [ngClass]="{ 'p-dropdown-item': true, 'p-highlight': selected, 'p-disabled': disabled }"
1052
+ >
1053
+ <span *ngIf="!template">{{ label || 'empty' }}</span>
1054
+ <ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
1055
+ </li>
1056
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$2.Ripple, selector: "[pRipple]" }] });
1057
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownItem, decorators: [{
1058
+ type: Component,
1059
+ args: [{
1060
+ selector: 'p-dropdownItem',
1061
+ template: `
1062
+ <li
1063
+ (click)="onOptionClick($event)"
1064
+ role="option"
1065
+ pRipple
1066
+ [attr.aria-label]="label"
1067
+ [attr.aria-selected]="selected"
1068
+ [ngStyle]="{ height: itemSize + 'px' }"
1069
+ [id]="selected ? 'p-highlighted-option' : ''"
1070
+ [ngClass]="{ 'p-dropdown-item': true, 'p-highlight': selected, 'p-disabled': disabled }"
1071
+ >
1072
+ <span *ngIf="!template">{{ label || 'empty' }}</span>
1073
+ <ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
1074
+ </li>
1075
+ `
1076
+ }]
1077
+ }], propDecorators: { option: [{
1078
+ type: Input
1079
+ }], selected: [{
1080
+ type: Input
1081
+ }], label: [{
1082
+ type: Input
1083
+ }], disabled: [{
1084
+ type: Input
1085
+ }], visible: [{
1086
+ type: Input
1087
+ }], itemSize: [{
1088
+ type: Input
1089
+ }], template: [{
1090
+ type: Input
1091
+ }], onClick: [{
1092
+ type: Output
1093
+ }] } });
1094
+ class DropdownComponent extends Dropdown {
1095
+ constructor() {
1096
+ super(...arguments);
1097
+ /**
1098
+ * Наш код
1099
+ */
1100
+ this._label = '';
1101
+ this.error = null;
1102
+ /**
1103
+ * код PrimeNG
1104
+ */
1105
+ this.scrollHeight = '200px';
1106
+ this.resetFilterOnHide = false;
1107
+ this.dropdownIcon = 'pi pi-chevron-down';
1108
+ this.optionGroupChildren = 'items';
1109
+ this.autoDisplayFirst = true;
1110
+ this.emptyFilterMessage = '';
1111
+ this.emptyMessage = '';
1112
+ this.lazy = false;
1113
+ this.filterMatchMode = 'contains';
1114
+ this.tooltip = '';
1115
+ this.tooltipPosition = 'right';
1116
+ this.tooltipPositionStyle = 'absolute';
1117
+ this.autofocusFilter = true;
1118
+ this.overlayDirection = 'end';
1119
+ this.onChange = new EventEmitter();
1120
+ this.onFilter = new EventEmitter();
1121
+ this.onFocus = new EventEmitter();
1122
+ this.onBlur = new EventEmitter();
1123
+ this.onClick = new EventEmitter();
1124
+ this.onShow = new EventEmitter();
1125
+ this.onHide = new EventEmitter();
1126
+ this.onClear = new EventEmitter();
1127
+ this.onLazyLoad = new EventEmitter();
1128
+ }
1129
+ get label() {
1130
+ return this._label;
1131
+ }
1132
+ set label(val) {
1133
+ this._label = val;
1134
+ }
1135
+ get labelText() {
1136
+ return (this.selectedOption ? this.selectedOption.label : null);
1137
+ }
1138
+ get itemSize() {
1139
+ return this._itemSize;
1140
+ }
1141
+ set itemSize(val) {
1142
+ this._itemSize = val;
1143
+ console.warn('The itemSize property is deprecated, use virtualScrollItemSize property instead.');
1144
+ }
1145
+ get autoZIndex() {
1146
+ return this._autoZIndex;
1147
+ }
1148
+ set autoZIndex(val) {
1149
+ this._autoZIndex = val;
1150
+ console.warn('The autoZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');
1151
+ }
1152
+ get baseZIndex() {
1153
+ return this._baseZIndex;
1154
+ }
1155
+ set baseZIndex(val) {
1156
+ this._baseZIndex = val;
1157
+ console.warn('The baseZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');
1158
+ }
1159
+ get showTransitionOptions() {
1160
+ return this._showTransitionOptions;
1161
+ }
1162
+ set showTransitionOptions(val) {
1163
+ this._showTransitionOptions = val;
1164
+ console.warn('The showTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');
1165
+ }
1166
+ get hideTransitionOptions() {
1167
+ return this._hideTransitionOptions;
1168
+ }
1169
+ set hideTransitionOptions(val) {
1170
+ this._hideTransitionOptions = val;
1171
+ console.warn('The hideTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');
1172
+ }
1173
+ }
1174
+ DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1175
+ DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DropdownComponent, selector: "in-dropdown", inputs: { label: "label", error: "error", scrollHeight: "scrollHeight", filter: "filter", name: "name", style: "style", panelStyle: "panelStyle", styleClass: "styleClass", panelStyleClass: "panelStyleClass", readonly: "readonly", required: "required", editable: "editable", appendTo: "appendTo", tabindex: "tabindex", placeholder: "placeholder", filterPlaceholder: "filterPlaceholder", filterLocale: "filterLocale", inputId: "inputId", selectId: "selectId", dataKey: "dataKey", filterBy: "filterBy", autofocus: "autofocus", resetFilterOnHide: "resetFilterOnHide", dropdownIcon: "dropdownIcon", optionLabel: "optionLabel", optionValue: "optionValue", optionDisabled: "optionDisabled", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", autoDisplayFirst: "autoDisplayFirst", group: "group", showClear: "showClear", emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", lazy: "lazy", virtualScroll: "virtualScroll", virtualScrollItemSize: "virtualScrollItemSize", virtualScrollOptions: "virtualScrollOptions", overlayOptions: "overlayOptions", ariaFilterLabel: "ariaFilterLabel", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", filterMatchMode: "filterMatchMode", maxlength: "maxlength", tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", autofocusFilter: "autofocusFilter", overlayDirection: "overlayDirection", itemSize: "itemSize", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onShow: "onShow", onHide: "onHide", onClear: "onClear", onLazyLoad: "onLazyLoad" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focused || overlayVisible" }, classAttribute: "p-element p-inputwrapper" }, providers: [DROPDOWN_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "<span *ngIf=\"label\" class=\"c-label__content\">\n {{label}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n </span>\n<div\n #container\n [ngClass]=\"{ 'p-dropdown p-component': true, 'p-disabled': disabled, 'p-dropdown-open': overlayVisible, 'p-focus': focused, 'p-dropdown-clearable': showClear && !disabled }\"\n (click)=\"onMouseclick($event)\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n>\n <div class=\"p-hidden-accessible\">\n <input\n #in\n [attr.id]=\"inputId\"\n type=\"text\"\n readonly\n (focus)=\"onInputFocus($event)\"\n aria-haspopup=\"listbox\"\n [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-expanded]=\"false\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeydown($event, true)\"\n [disabled]=\"disabled\"\n [attr.tabindex]=\"tabindex\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n [attr.aria-activedescendant]=\"overlayVisible ? labelId : null\"\n role=\"combobox\"\n />\n </div>\n <span\n [attr.id]=\"labelId\"\n [ngClass]=\"{ 'p-dropdown-label p-inputtext': true, 'p-dropdown-label-empty': label == null || label.length === 0 }\"\n *ngIf=\"!editable && label != null\"\n [pTooltip]=\"tooltip\"\n [tooltipPosition]=\"tooltipPosition\"\n [positionStyle]=\"tooltipPositionStyle\"\n [tooltipStyleClass]=\"tooltipStyleClass\"\n >\n <ng-container *ngIf=\"!selectedItemTemplate\">{{ label || 'empty' }}</ng-container>\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: selectedOption }\"></ng-container>\n </span>\n <span [ngClass]=\"{ 'p-dropdown-label p-inputtext p-placeholder': true, 'p-dropdown-label-empty': placeholder == null || placeholder.length === 0 }\" *ngIf=\"!editable && label == null\">{{ placeholder || 'empty' }}</span>\n <input\n #editableInput\n type=\"text\"\n [attr.maxlength]=\"maxlength\"\n class=\"p-dropdown-label p-inputtext\"\n *ngIf=\"editable\"\n [disabled]=\"disabled\"\n [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\"\n [attr.aria-expanded]=\"overlayVisible\"\n (input)=\"onEditableInputChange($event)\"\n (focus)=\"onEditableInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n />\n <i class=\"p-dropdown-clear-icon pi pi-times\" (click)=\"clear($event)\" *ngIf=\"isVisibleClearIcon\"></i>\n <div class=\"p-dropdown-trigger\" role=\"button\" aria-label=\"dropdown trigger\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\">\n <span class=\"p-dropdown-trigger-icon\" [ngClass]=\"dropdownIcon\"></span>\n </div>\n <p-overlay\n #overlay\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions\"\n [target]=\"'@parent'\"\n [appendTo]=\"appendTo\"\n [autoZIndex]=\"autoZIndex\"\n [baseZIndex]=\"baseZIndex\"\n [showTransitionOptions]=\"showTransitionOptions\"\n [hideTransitionOptions]=\"hideTransitionOptions\"\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\n (onHide)=\"hide()\"\n >\n <ng-template pTemplate=\"content\">\n <div [ngClass]=\"'p-dropdown-panel p-component'\" [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <div class=\"p-dropdown-header\" *ngIf=\"filter\" (click)=\"$event.stopPropagation()\">\n <ng-container *ngIf=\"filterTemplate; else builtInFilterElement\">\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: { options: filterOptions }\"></ng-container>\n </ng-container>\n <ng-template #builtInFilterElement>\n <div class=\"p-dropdown-filter-container\">\n <input\n #filter\n type=\"text\"\n autocomplete=\"off\"\n [value]=\"filterValue || ''\"\n class=\"p-dropdown-filter p-inputtext p-component\"\n [attr.placeholder]=\"filterPlaceholder\"\n (keydown.enter)=\"$event.preventDefault()\"\n (keydown)=\"onKeydown($event, false)\"\n (input)=\"onFilterInputChange($event)\"\n [attr.aria-label]=\"ariaFilterLabel\"\n [attr.aria-activedescendant]=\"overlayVisible ? 'p-highlighted-option' : labelId\"\n />\n <span class=\"p-dropdown-filter-icon pi pi-search\"></span>\n </div>\n </ng-template>\n </div>\n <div class=\"p-dropdown-items-wrapper\" [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight || 'auto'\">\n <p-scroller\n *ngIf=\"virtualScroll\"\n #scroller\n [items]=\"optionsToDisplay\"\n [style]=\"{ height: scrollHeight }\"\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\n [autoSize]=\"true\"\n [lazy]=\"lazy\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions\"\n >\n <ng-template pTemplate=\"content\" let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n <ng-container *ngIf=\"loaderTemplate\">\n <ng-template pTemplate=\"loader\" let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n </ng-container>\n </p-scroller>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: optionsToDisplay, options: {} }\"></ng-container>\n </ng-container>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [attr.id]=\"listId\" class=\"p-dropdown-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"items\">\n <li class=\"p-dropdown-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || 'empty' }}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: items, selectedOption: selectedOption }\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-options let-selectedOption=\"selectedOption\">\n <ng-template ngFor let-option let-i=\"index\" [ngForOf]=\"options\">\n <p-dropdownItem\n [option]=\"option\"\n [selected]=\"selectedOption == option\"\n [label]=\"getOptionLabel(option)\"\n [disabled]=\"isOptionDisabled(option)\"\n (onClick)=\"onItemClick($event)\"\n [template]=\"itemTemplate\"\n ></p-dropdownItem>\n </ng-template>\n </ng-template>\n <li *ngIf=\"filterValue && isEmpty()\" class=\"p-dropdown-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate\">\n {{ emptyFilterMessageLabel }}\n </ng-container>\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\n </li>\n <li *ngIf=\"!filterValue && isEmpty()\" class=\"p-dropdown-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <ng-container *ngIf=\"!emptyTemplate\">\n {{ emptyMessageLabel }}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </li>\n </ul>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </ng-template>\n </p-overlay>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.Overlay, selector: "p-overlay", inputs: ["visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "listener", "responsive", "options"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i6.Scroller, selector: "p-scroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "directive", type: i7$1.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "component", type: DropdownItem, selector: "p-dropdownItem", inputs: ["option", "selected", "label", "disabled", "visible", "itemSize", "template"], outputs: ["onClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponent, decorators: [{
1177
+ type: Component,
1178
+ args: [{ selector: 'in-dropdown', host: {
1179
+ class: 'p-element p-inputwrapper',
1180
+ '[class.p-inputwrapper-filled]': 'filled',
1181
+ '[class.p-inputwrapper-focus]': 'focused || overlayVisible'
1182
+ }, providers: [DROPDOWN_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<span *ngIf=\"label\" class=\"c-label__content\">\n {{label}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n </span>\n<div\n #container\n [ngClass]=\"{ 'p-dropdown p-component': true, 'p-disabled': disabled, 'p-dropdown-open': overlayVisible, 'p-focus': focused, 'p-dropdown-clearable': showClear && !disabled }\"\n (click)=\"onMouseclick($event)\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n>\n <div class=\"p-hidden-accessible\">\n <input\n #in\n [attr.id]=\"inputId\"\n type=\"text\"\n readonly\n (focus)=\"onInputFocus($event)\"\n aria-haspopup=\"listbox\"\n [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-expanded]=\"false\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeydown($event, true)\"\n [disabled]=\"disabled\"\n [attr.tabindex]=\"tabindex\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n [attr.aria-activedescendant]=\"overlayVisible ? labelId : null\"\n role=\"combobox\"\n />\n </div>\n <span\n [attr.id]=\"labelId\"\n [ngClass]=\"{ 'p-dropdown-label p-inputtext': true, 'p-dropdown-label-empty': label == null || label.length === 0 }\"\n *ngIf=\"!editable && label != null\"\n [pTooltip]=\"tooltip\"\n [tooltipPosition]=\"tooltipPosition\"\n [positionStyle]=\"tooltipPositionStyle\"\n [tooltipStyleClass]=\"tooltipStyleClass\"\n >\n <ng-container *ngIf=\"!selectedItemTemplate\">{{ label || 'empty' }}</ng-container>\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: selectedOption }\"></ng-container>\n </span>\n <span [ngClass]=\"{ 'p-dropdown-label p-inputtext p-placeholder': true, 'p-dropdown-label-empty': placeholder == null || placeholder.length === 0 }\" *ngIf=\"!editable && label == null\">{{ placeholder || 'empty' }}</span>\n <input\n #editableInput\n type=\"text\"\n [attr.maxlength]=\"maxlength\"\n class=\"p-dropdown-label p-inputtext\"\n *ngIf=\"editable\"\n [disabled]=\"disabled\"\n [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\"\n [attr.aria-expanded]=\"overlayVisible\"\n (input)=\"onEditableInputChange($event)\"\n (focus)=\"onEditableInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n />\n <i class=\"p-dropdown-clear-icon pi pi-times\" (click)=\"clear($event)\" *ngIf=\"isVisibleClearIcon\"></i>\n <div class=\"p-dropdown-trigger\" role=\"button\" aria-label=\"dropdown trigger\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\">\n <span class=\"p-dropdown-trigger-icon\" [ngClass]=\"dropdownIcon\"></span>\n </div>\n <p-overlay\n #overlay\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions\"\n [target]=\"'@parent'\"\n [appendTo]=\"appendTo\"\n [autoZIndex]=\"autoZIndex\"\n [baseZIndex]=\"baseZIndex\"\n [showTransitionOptions]=\"showTransitionOptions\"\n [hideTransitionOptions]=\"hideTransitionOptions\"\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\n (onHide)=\"hide()\"\n >\n <ng-template pTemplate=\"content\">\n <div [ngClass]=\"'p-dropdown-panel p-component'\" [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <div class=\"p-dropdown-header\" *ngIf=\"filter\" (click)=\"$event.stopPropagation()\">\n <ng-container *ngIf=\"filterTemplate; else builtInFilterElement\">\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: { options: filterOptions }\"></ng-container>\n </ng-container>\n <ng-template #builtInFilterElement>\n <div class=\"p-dropdown-filter-container\">\n <input\n #filter\n type=\"text\"\n autocomplete=\"off\"\n [value]=\"filterValue || ''\"\n class=\"p-dropdown-filter p-inputtext p-component\"\n [attr.placeholder]=\"filterPlaceholder\"\n (keydown.enter)=\"$event.preventDefault()\"\n (keydown)=\"onKeydown($event, false)\"\n (input)=\"onFilterInputChange($event)\"\n [attr.aria-label]=\"ariaFilterLabel\"\n [attr.aria-activedescendant]=\"overlayVisible ? 'p-highlighted-option' : labelId\"\n />\n <span class=\"p-dropdown-filter-icon pi pi-search\"></span>\n </div>\n </ng-template>\n </div>\n <div class=\"p-dropdown-items-wrapper\" [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight || 'auto'\">\n <p-scroller\n *ngIf=\"virtualScroll\"\n #scroller\n [items]=\"optionsToDisplay\"\n [style]=\"{ height: scrollHeight }\"\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\n [autoSize]=\"true\"\n [lazy]=\"lazy\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions\"\n >\n <ng-template pTemplate=\"content\" let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n <ng-container *ngIf=\"loaderTemplate\">\n <ng-template pTemplate=\"loader\" let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n </ng-container>\n </p-scroller>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: optionsToDisplay, options: {} }\"></ng-container>\n </ng-container>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [attr.id]=\"listId\" class=\"p-dropdown-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"items\">\n <li class=\"p-dropdown-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || 'empty' }}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: items, selectedOption: selectedOption }\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-options let-selectedOption=\"selectedOption\">\n <ng-template ngFor let-option let-i=\"index\" [ngForOf]=\"options\">\n <p-dropdownItem\n [option]=\"option\"\n [selected]=\"selectedOption == option\"\n [label]=\"getOptionLabel(option)\"\n [disabled]=\"isOptionDisabled(option)\"\n (onClick)=\"onItemClick($event)\"\n [template]=\"itemTemplate\"\n ></p-dropdownItem>\n </ng-template>\n </ng-template>\n <li *ngIf=\"filterValue && isEmpty()\" class=\"p-dropdown-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate\">\n {{ emptyFilterMessageLabel }}\n </ng-container>\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\n </li>\n <li *ngIf=\"!filterValue && isEmpty()\" class=\"p-dropdown-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <ng-container *ngIf=\"!emptyTemplate\">\n {{ emptyMessageLabel }}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </li>\n </ul>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </ng-template>\n </p-overlay>\n</div>\n" }]
1183
+ }], propDecorators: { label: [{
1184
+ type: Input
1185
+ }], error: [{
1186
+ type: Input
1187
+ }], scrollHeight: [{
1188
+ type: Input
1189
+ }], filter: [{
1190
+ type: Input
1191
+ }], name: [{
1192
+ type: Input
1193
+ }], style: [{
1194
+ type: Input
1195
+ }], panelStyle: [{
1196
+ type: Input
1197
+ }], styleClass: [{
1198
+ type: Input
1199
+ }], panelStyleClass: [{
1200
+ type: Input
1201
+ }], readonly: [{
1202
+ type: Input
1203
+ }], required: [{
1204
+ type: Input
1205
+ }], editable: [{
1206
+ type: Input
1207
+ }], appendTo: [{
1208
+ type: Input
1209
+ }], tabindex: [{
1210
+ type: Input
1211
+ }], placeholder: [{
1212
+ type: Input
1213
+ }], filterPlaceholder: [{
1214
+ type: Input
1215
+ }], filterLocale: [{
1216
+ type: Input
1217
+ }], inputId: [{
1218
+ type: Input
1219
+ }], selectId: [{
1220
+ type: Input
1221
+ }], dataKey: [{
1222
+ type: Input
1223
+ }], filterBy: [{
1224
+ type: Input
1225
+ }], autofocus: [{
1226
+ type: Input
1227
+ }], resetFilterOnHide: [{
1228
+ type: Input
1229
+ }], dropdownIcon: [{
1230
+ type: Input
1231
+ }], optionLabel: [{
1232
+ type: Input
1233
+ }], optionValue: [{
1234
+ type: Input
1235
+ }], optionDisabled: [{
1236
+ type: Input
1237
+ }], optionGroupLabel: [{
1238
+ type: Input
1239
+ }], optionGroupChildren: [{
1240
+ type: Input
1241
+ }], autoDisplayFirst: [{
1242
+ type: Input
1243
+ }], group: [{
1244
+ type: Input
1245
+ }], showClear: [{
1246
+ type: Input
1247
+ }], emptyFilterMessage: [{
1248
+ type: Input
1249
+ }], emptyMessage: [{
1250
+ type: Input
1251
+ }], lazy: [{
1252
+ type: Input
1253
+ }], virtualScroll: [{
1254
+ type: Input
1255
+ }], virtualScrollItemSize: [{
1256
+ type: Input
1257
+ }], virtualScrollOptions: [{
1258
+ type: Input
1259
+ }], overlayOptions: [{
1260
+ type: Input
1261
+ }], ariaFilterLabel: [{
1262
+ type: Input
1263
+ }], ariaLabel: [{
1264
+ type: Input
1265
+ }], ariaLabelledBy: [{
1266
+ type: Input
1267
+ }], filterMatchMode: [{
1268
+ type: Input
1269
+ }], maxlength: [{
1270
+ type: Input
1271
+ }], tooltip: [{
1272
+ type: Input
1273
+ }], tooltipPosition: [{
1274
+ type: Input
1275
+ }], tooltipPositionStyle: [{
1276
+ type: Input
1277
+ }], tooltipStyleClass: [{
1278
+ type: Input
1279
+ }], autofocusFilter: [{
1280
+ type: Input
1281
+ }], overlayDirection: [{
1282
+ type: Input
1283
+ }], onChange: [{
1284
+ type: Output
1285
+ }], onFilter: [{
1286
+ type: Output
1287
+ }], onFocus: [{
1288
+ type: Output
1289
+ }], onBlur: [{
1290
+ type: Output
1291
+ }], onClick: [{
1292
+ type: Output
1293
+ }], onShow: [{
1294
+ type: Output
1295
+ }], onHide: [{
1296
+ type: Output
1297
+ }], onClear: [{
1298
+ type: Output
1299
+ }], onLazyLoad: [{
1300
+ type: Output
1301
+ }], itemSize: [{
1302
+ type: Input
1303
+ }], autoZIndex: [{
1304
+ type: Input
1305
+ }], baseZIndex: [{
1306
+ type: Input
1307
+ }], showTransitionOptions: [{
1308
+ type: Input
1309
+ }], hideTransitionOptions: [{
1310
+ type: Input
1311
+ }] } });
1312
+ class DropdownComponentModule {
1313
+ }
1314
+ DropdownComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1315
+ DropdownComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponentModule, declarations: [DropdownComponent, DropdownItem], imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TranslateModule], exports: [DropdownComponent, OverlayModule, SharedModule, ScrollerModule] });
1316
+ DropdownComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponentModule, imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TranslateModule, OverlayModule, SharedModule, ScrollerModule] });
1317
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponentModule, decorators: [{
1318
+ type: NgModule,
1319
+ args: [{
1320
+ declarations: [
1321
+ DropdownComponent,
1322
+ DropdownItem,
1323
+ ],
1324
+ imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TranslateModule],
1325
+ exports: [
1326
+ DropdownComponent, OverlayModule, SharedModule, ScrollerModule
1327
+ ],
1328
+ entryComponents: [
1329
+ DropdownComponent,
1330
+ ]
1331
+ }]
1332
+ }] });
1333
+
1334
+ class InsparkTemplate {
1335
+ constructor(template) {
1336
+ this.template = template;
1337
+ }
1338
+ getType() {
1339
+ return this.name;
1340
+ }
1341
+ }
1342
+ InsparkTemplate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkTemplate, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
1343
+ InsparkTemplate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: InsparkTemplate, selector: "[inTemplate]", inputs: { type: "type", name: ["inTemplate", "name"] }, ngImport: i0 });
1344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkTemplate, decorators: [{
1345
+ type: Directive,
1346
+ args: [{
1347
+ selector: '[inTemplate]',
1348
+ host: {}
1349
+ }]
1350
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { type: [{
1351
+ type: Input
1352
+ }], name: [{
1353
+ type: Input,
1354
+ args: ['inTemplate']
1355
+ }] } });
1356
+
1357
+ class TableClickOutsideDirective {
1358
+ constructor(element) {
1359
+ this.element = element;
1360
+ this.clickedOutside = new EventEmitter();
1361
+ }
1362
+ click(event) {
1363
+ if (!this.element.nativeElement.contains(event.target)) {
1364
+ // console.log('clicked outside');
1365
+ this.clickedOutside.emit(event);
1366
+ }
1367
+ else {
1368
+ // console.log('clicked inside');
1369
+ }
1370
+ }
1371
+ }
1372
+ TableClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1373
+ TableClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: TableClickOutsideDirective, selector: "[inClickOutside]", outputs: { clickedOutside: "clickedOutside" }, host: { listeners: { "document:click": "click($event)" } }, ngImport: i0 });
1374
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableClickOutsideDirective, decorators: [{
1375
+ type: Directive,
1376
+ args: [{
1377
+ selector: '[inClickOutside]'
1378
+ }]
1379
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { clickedOutside: [{
1380
+ type: Output
1381
+ }], click: [{
1382
+ type: HostListener,
1383
+ args: ['document:click', ['$event']]
1384
+ }] } });
1385
+
1386
+ class TableMenuOverlayComponent {
1387
+ constructor(element) {
1388
+ this.element = element;
1389
+ this.isExpanded = false;
1390
+ }
1391
+ isClickedOutsideOverlay(event) {
1392
+ if (!this.element.nativeElement.contains(event.target)) {
1393
+ this.isExpanded = false;
1394
+ }
1395
+ }
1396
+ }
1397
+ TableMenuOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableMenuOverlayComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
1398
+ TableMenuOverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TableMenuOverlayComponent, selector: "in-table-menu-overlay", inputs: { isExpanded: "isExpanded", positionClass: "positionClass" }, ngImport: i0, template: "<div class=\"c-overlay is-dropdown_open\">\n <div (click)=\"isExpanded = !isExpanded;\"\n class=\"c-overlay__toggle\">\n <ng-content select=\"host\"></ng-content>\n </div>\n <ng-container *ngIf=\"isExpanded\">\n <div (clickedOutside)=\"isClickedOutsideOverlay($event)\" class=\"c-overlay__body\"\n inClickOutside>\n <!--{{positionClass}}-->\n <ng-content select=\"body\"></ng-content>\n </div>\n </ng-container>\n</div>\n", styles: ["@charset \"UTF-8\";.c-overlay{position:relative;display:inline-block}.c-overlay__toggle{display:inline-block}.c-overlay__body{text-align:left;position:absolute;top:100%;padding:6px 12px;z-index:1050;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;max-height:500px;overflow:auto}:host-context(.theme-dark) .c-overlay__body{background-color:#53555c;background-color:var(--ids-theme-color-gray-35, #53555C)}\n", "@charset \"UTF-8\";:host-context(.theme-contrast) .c-overlay__body{background-color:#ebebeb;background-color:var(--ids-theme-color-gray-5, #EBEBEB)}\n", "@charset \"UTF-8\";:host-context(.theme-light) .c-overlay__body{background-color:#ebebeb;background-color:var(--ids-theme-color-gray-5, #EBEBEB)}\n", "@charset \"UTF-8\";:host-context(.theme-green) .c-overlay__body{background-color:#ebebeb;background-color:var(--ids-theme-color-gray-5, #EBEBEB)}\n", "@charset \"UTF-8\";:host-context(.theme-blue) .c-overlay__body{background-color:#202127;background-color:var(--colorBgLevel1, #202127)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TableClickOutsideDirective, selector: "[inClickOutside]", outputs: ["clickedOutside"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableMenuOverlayComponent, decorators: [{
1400
+ type: Component,
1401
+ args: [{ selector: 'in-table-menu-overlay', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"c-overlay is-dropdown_open\">\n <div (click)=\"isExpanded = !isExpanded;\"\n class=\"c-overlay__toggle\">\n <ng-content select=\"host\"></ng-content>\n </div>\n <ng-container *ngIf=\"isExpanded\">\n <div (clickedOutside)=\"isClickedOutsideOverlay($event)\" class=\"c-overlay__body\"\n inClickOutside>\n <!--{{positionClass}}-->\n <ng-content select=\"body\"></ng-content>\n </div>\n </ng-container>\n</div>\n", styles: ["@charset \"UTF-8\";.c-overlay{position:relative;display:inline-block}.c-overlay__toggle{display:inline-block}.c-overlay__body{text-align:left;position:absolute;top:100%;padding:6px 12px;z-index:1050;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;max-height:500px;overflow:auto}:host-context(.theme-dark) .c-overlay__body{background-color:#53555c;background-color:var(--ids-theme-color-gray-35, #53555C)}\n", "@charset \"UTF-8\";:host-context(.theme-contrast) .c-overlay__body{background-color:#ebebeb;background-color:var(--ids-theme-color-gray-5, #EBEBEB)}\n", "@charset \"UTF-8\";:host-context(.theme-light) .c-overlay__body{background-color:#ebebeb;background-color:var(--ids-theme-color-gray-5, #EBEBEB)}\n", "@charset \"UTF-8\";:host-context(.theme-green) .c-overlay__body{background-color:#ebebeb;background-color:var(--ids-theme-color-gray-5, #EBEBEB)}\n", "@charset \"UTF-8\";:host-context(.theme-blue) .c-overlay__body{background-color:#202127;background-color:var(--colorBgLevel1, #202127)}\n"] }]
1402
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { isExpanded: [{
1403
+ type: Input
1404
+ }], positionClass: [{
1405
+ type: Input
1406
+ }] } });
1407
+
1408
+ class TableColumnsMultiselectComponent {
1409
+ constructor() {
1410
+ this.isExpanded = false;
1411
+ /**
1412
+ * true - все активные чекбоксы становятся неактивными
1413
+ * false - не влияет на чекбоксы
1414
+ */
1415
+ this.disableActiveCheckboxes = false;
1416
+ this.columnsChange = new EventEmitter();
1417
+ }
1418
+ ngOnInit() {
1419
+ }
1420
+ }
1421
+ TableColumnsMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableColumnsMultiselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1422
+ TableColumnsMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TableColumnsMultiselectComponent, selector: "in-table-columns-multiselect", inputs: { columns: "columns", disableActiveCheckboxes: "disableActiveCheckboxes" }, outputs: { columnsChange: "columnsChange" }, ngImport: i0, template: "<in-table-menu-overlay [isExpanded]=\"isExpanded\">\n <ng-container ngProjectAs=\"host\">\n <button class=\"c-btn c-btn_border-free c-btn_small\">\n <i [title]=\"('column switch' | translate)\" class=\"fa fa-cog\"></i><i class=\"c-caret\"></i>\n </button>\n\n </ng-container>\n <ng-container ngProjectAs=\"body\">\n <ul class=\"o-list\">\n <li *ngFor=\"let column of columns\" class=\"c-dropdown-menu__listitem\" role=\"menuitem\">\n <div class=\"c-dropdown-menu__content\">\n <label class=\"c-checkbox c-checkbox_switch c-checkbox_compact\">\n <input (ngModelChange)=\"columnsChange.emit({event: $event, column: column})\"\n [disabled]=\"(!column.isHidden && disableActiveCheckboxes) || column.isRequired\"\n [ngModel]=\"!column.isHidden \"\n class=\"c-checkbox__input\"\n type=\"checkbox\">\n <i class=\"c-checkbox__icon\"></i>\n <span class=\"c-checkbox__label dropdown-label\">{{column.label | translate}}</span>\n </label>\n </div>\n </li>\n </ul>\n\n </ng-container>\n</in-table-menu-overlay>\n", styles: [".dropdown-label{color:var(--text-color)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TableMenuOverlayComponent, selector: "in-table-menu-overlay", inputs: ["isExpanded", "positionClass"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
1423
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableColumnsMultiselectComponent, decorators: [{
1424
+ type: Component,
1425
+ args: [{ selector: 'in-table-columns-multiselect', template: "<in-table-menu-overlay [isExpanded]=\"isExpanded\">\n <ng-container ngProjectAs=\"host\">\n <button class=\"c-btn c-btn_border-free c-btn_small\">\n <i [title]=\"('column switch' | translate)\" class=\"fa fa-cog\"></i><i class=\"c-caret\"></i>\n </button>\n\n </ng-container>\n <ng-container ngProjectAs=\"body\">\n <ul class=\"o-list\">\n <li *ngFor=\"let column of columns\" class=\"c-dropdown-menu__listitem\" role=\"menuitem\">\n <div class=\"c-dropdown-menu__content\">\n <label class=\"c-checkbox c-checkbox_switch c-checkbox_compact\">\n <input (ngModelChange)=\"columnsChange.emit({event: $event, column: column})\"\n [disabled]=\"(!column.isHidden && disableActiveCheckboxes) || column.isRequired\"\n [ngModel]=\"!column.isHidden \"\n class=\"c-checkbox__input\"\n type=\"checkbox\">\n <i class=\"c-checkbox__icon\"></i>\n <span class=\"c-checkbox__label dropdown-label\">{{column.label | translate}}</span>\n </label>\n </div>\n </li>\n </ul>\n\n </ng-container>\n</in-table-menu-overlay>\n", styles: [".dropdown-label{color:var(--text-color)}\n"] }]
1426
+ }], ctorParameters: function () { return []; }, propDecorators: { columns: [{
1427
+ type: Input
1428
+ }], disableActiveCheckboxes: [{
1429
+ type: Input
1430
+ }], columnsChange: [{
1431
+ type: Output
1432
+ }] } });
1433
+
1434
+ // NEW Factory Function
1435
+ function tableFactory(wrapper) {
1436
+ return wrapper.dt;
1437
+ }
1438
+ class TableComponent {
1439
+ constructor() {
1440
+ this.columns = [];
1441
+ this.filteredColumns = [];
1442
+ this.globalFilteredColumns = [];
1443
+ this.primaryColumns = [];
1444
+ this.values = [];
1445
+ this.checkboxSelection = true;
1446
+ this.showHeader = true;
1447
+ this.isMobileView = false;
1448
+ this.resizableColumns = true;
1449
+ this.isTextSearch = true;
1450
+ this.isSortIcon = true;
1451
+ this.activeChange = new EventEmitter();
1452
+ this.selectionChange = new EventEmitter();
1453
+ this.addAction = new EventEmitter();
1454
+ this.csvAction = new EventEmitter();
1455
+ this.saveAction = new EventEmitter();
1456
+ this.removeAction = new EventEmitter();
1457
+ this.unlinkAction = new EventEmitter();
1458
+ this.linkAction = new EventEmitter();
1459
+ this.groupEditAction = new EventEmitter();
1460
+ this.paramsEditAction = new EventEmitter();
1461
+ this.sortFunction = new EventEmitter();
1462
+ this.filterFunction = new EventEmitter();
1463
+ this.groupMode = 0;
1464
+ this.groupInfo = {};
1465
+ this.groupIndex = {};
1466
+ this._selection = null;
1467
+ }
1468
+ set selection(val) {
1469
+ this._selection = val;
1470
+ }
1471
+ get selectionValue() {
1472
+ return this._selection;
1473
+ }
1474
+ set selectionValue(val) {
1475
+ this._selection = val;
1476
+ this.selectionChange.emit(val);
1477
+ }
1478
+ isRowActive(row) {
1479
+ return this.active && this.active.id === row.id;
1480
+ }
1481
+ ngOnInit() {
1482
+ this.updateData();
1483
+ }
1484
+ ngAfterViewInit() {
1485
+ Object.entries(this.dt.filters).forEach(([key, value]) => {
1486
+ this.dt.filter('', `${key}`, 'contains');
1487
+ });
1488
+ this.dt.filterGlobal(this.searchText, 'contains');
1489
+ }
1490
+ ngOnChanges(changes) {
1491
+ this.resetColumnWidth();
1492
+ this.visibleColumns();
1493
+ }
1494
+ updateData() {
1495
+ this.primaryColumns = this.columns.filter(column => !column.isSecondary);
1496
+ this.globalFilteredColumns = this.columns.filter(column => column.isFiltering !== false).map(val => val.field);
1497
+ }
1498
+ ngAfterContentInit() {
1499
+ this.visibleColumns();
1500
+ this.restoreSearchText();
1501
+ this.templates.forEach((item) => {
1502
+ switch (item.getType()) {
1503
+ case 'caption':
1504
+ this.captionTemplate = item.template;
1505
+ break;
1506
+ case 'header':
1507
+ this.headerTemplate = item.template;
1508
+ break;
1509
+ case 'body':
1510
+ this.bodyTemplate = item.template;
1511
+ break;
1512
+ case 'value':
1513
+ this.valueTemplate = item.template;
1514
+ break;
1515
+ case 'loadingbody':
1516
+ this.loadingBodyTemplate = item.template;
1517
+ break;
1518
+ case 'footer':
1519
+ this.footerTemplate = item.template;
1520
+ break;
1521
+ case 'summary':
1522
+ this.summaryTemplate = item.template;
1523
+ break;
1524
+ case 'colgroup':
1525
+ this.colGroupTemplate = item.template;
1526
+ break;
1527
+ case 'rowexpansion':
1528
+ this.expandedRowTemplate = item.template;
1529
+ break;
1530
+ case 'frozenrows':
1531
+ this.frozenRowsTemplate = item.template;
1532
+ break;
1533
+ case 'frozenheader':
1534
+ this.frozenHeaderTemplate = item.template;
1535
+ break;
1536
+ case 'frozenbody':
1537
+ this.frozenBodyTemplate = item.template;
1538
+ break;
1539
+ case 'frozenfooter':
1540
+ this.frozenFooterTemplate = item.template;
1541
+ break;
1542
+ case 'frozencolgroup':
1543
+ this.frozenColGroupTemplate = item.template;
1544
+ break;
1545
+ case 'emptymessage':
1546
+ this.emptyMessageTemplate = item.template;
1547
+ break;
1548
+ case 'paginatorleft':
1549
+ this.paginatorLeftTemplate = item.template;
1550
+ break;
1551
+ case 'paginatorright':
1552
+ this.paginatorRightTemplate = item.template;
1553
+ break;
1554
+ }
1555
+ });
1556
+ }
1557
+ visibleColumns() {
1558
+ this.restoreHiddenColumns();
1559
+ this.filteredColumns = this.columns.filter(column => !column.isHidden);
1560
+ return this.filteredColumns;
1561
+ }
1562
+ columnsChange(data) {
1563
+ data.column.isHidden = !data.event;
1564
+ this.resetColumnWidth();
1565
+ this.saveHiddenColumns();
1566
+ this.visibleColumns();
1567
+ }
1568
+ showTooltip(event) {
1569
+ const target = event.target;
1570
+ if (target.title === undefined || !target.textContent) {
1571
+ return;
1572
+ }
1573
+ target.title = target.scrollWidth > target.clientWidth ? target.textContent : '';
1574
+ }
1575
+ colFilter(field) {
1576
+ const found = this.toolbar.filter.cols.filter(item => item.field === field);
1577
+ return found.length === 1 ? found[0] : '';
1578
+ }
1579
+ onFilterToolbar(event) {
1580
+ if (this.toolbar && this.toolbar.filter) {
1581
+ this.toolbar.filter.active = !this.toolbar.filter.active;
1582
+ }
1583
+ }
1584
+ onFilter(event) {
1585
+ this.filterFunction.emit(event.filteredValue);
1586
+ }
1587
+ stateSave(state) {
1588
+ }
1589
+ saveToLocalStorage(state, key) {
1590
+ if (key) {
1591
+ window.localStorage.setItem(key, JSON.stringify(state));
1592
+ }
1593
+ }
1594
+ isHiddenFieldsChanged() {
1595
+ const hiddenFieldsSaved = this.getHiddenHiddenFieldsFromStorage();
1596
+ const hiddenFieldsColumns = (this.columns || []).filter(_col => _col.isHidden).map(_col => _col.field);
1597
+ if (hiddenFieldsSaved.length === hiddenFieldsColumns.length) {
1598
+ const diff = hiddenFieldsSaved.filter(field => !hiddenFieldsColumns.includes(field));
1599
+ diff.length !== 0;
1600
+ }
1601
+ return true;
1602
+ }
1603
+ saveHiddenColumns() {
1604
+ if (this.stateKey) {
1605
+ if (!this.isHiddenFieldsChanged()) {
1606
+ return;
1607
+ }
1608
+ const hiddenFields = (this.columns || []).filter(_col => _col.isHidden).map(_col => _col.field).join(',');
1609
+ this.saveToLocalStorage(hiddenFields, this.stateKey + 'HiddenFields');
1610
+ window.localStorage.removeItem(this.stateKey);
1611
+ if (this.searchText) {
1612
+ window.localStorage.setItem(this.stateKey, JSON.stringify({
1613
+ filters: { global: { value: this.searchText, matchMode: 'contains' } }
1614
+ }));
1615
+ }
1616
+ if (this.dt) {
1617
+ this.dt.restoreState();
1618
+ }
1619
+ }
1620
+ }
1621
+ countVisibleColumns() {
1622
+ return (this.columns || []).filter(_col => !_col.isHidden).length;
1623
+ }
1624
+ restoreSearchText() {
1625
+ const state = window.localStorage.getItem(this.stateKey);
1626
+ if (state) {
1627
+ const parsedState = JSON.parse(state);
1628
+ this.searchText = (parsedState.filters || { global: { value: '' } }).global ? (parsedState.filters || { global: { value: '' } }).global.value : '';
1629
+ this.sortField = parsedState.sortField || this.sortField;
1630
+ }
1631
+ else {
1632
+ this.resetColumnWidth();
1633
+ }
1634
+ }
1635
+ resetColumnWidthIfToWide() {
1636
+ const visibleColumns = this.columns.filter(_column => !_column.isHidden);
1637
+ const totalWidthInPercent = visibleColumns.reduce((s, column) => {
1638
+ const percent = column.width.indexOf('%') > 0 ? parseInt(column.width, 10) : 0;
1639
+ return s + percent;
1640
+ }, 0);
1641
+ if (totalWidthInPercent > 100) {
1642
+ console.error(`Масимальная суммарная ширина столбцов таблицы 100%, текущая суммарная ширина ${totalWidthInPercent}%.`
1643
+ + `Выполняется принудительный перерасчет ширины для таблицы ${this.stateKey}`);
1644
+ this.resetColumnWidth();
1645
+ }
1646
+ if (totalWidthInPercent < 100 && this.columns.length > 0) {
1647
+ // расширяем первый столбец, чтобы не тянулся столбец с чекбоксом
1648
+ const percent = this.columns[0].width.indexOf('%') > 0 ? parseInt(this.columns[0].width, 10) : 0;
1649
+ this.columns[0].width = 100 - totalWidthInPercent + percent + '%';
1650
+ }
1651
+ }
1652
+ resetColumnWidth() {
1653
+ const cvc = this.countVisibleColumns();
1654
+ let percent = Math.floor(100 / cvc);
1655
+ let firstColumnPercent = percent;
1656
+ if (cvc > 10) {
1657
+ percent = Math.floor(90 / (cvc - 1));
1658
+ firstColumnPercent = Math.floor(100 - (percent * (cvc - 1)));
1659
+ }
1660
+ this.columns.forEach((column, index) => column.width = index === 0 ? firstColumnPercent + '%' : `${percent}%`);
1661
+ }
1662
+ getHiddenHiddenFieldsFromStorage() {
1663
+ if (this.stateKey) {
1664
+ const hiddenFields = window.localStorage.getItem(this.stateKey + 'HiddenFields');
1665
+ if (hiddenFields) {
1666
+ return JSON.parse(hiddenFields).split(',');
1667
+ }
1668
+ }
1669
+ return [];
1670
+ }
1671
+ restoreHiddenColumns() {
1672
+ if (this.stateKey && window.localStorage.getItem(this.stateKey + 'HiddenFields')) {
1673
+ const hiddenFieldsArray = this.getHiddenHiddenFieldsFromStorage();
1674
+ this.columns.forEach(_col => _col.isHidden = hiddenFieldsArray.includes(_col.field) || _col.col_invisible);
1675
+ }
1676
+ }
1677
+ calcWidth(idx, label, width) {
1678
+ return width && idx >= 0 ? width : 'auto';
1679
+ }
1680
+ onSort() {
1681
+ if (this.isGrouped) {
1682
+ Object.entries(this.groupInfo).forEach(([key, value]) => {
1683
+ const cacheFlag = (this.groupInfo[key] || {}).isExpanded;
1684
+ this.groupInfo[key] = { isExpanded: cacheFlag === undefined ? true : cacheFlag };
1685
+ });
1686
+ this.sortByGroup();
1687
+ if (this.dt && this.dt.filteredValue) {
1688
+ this.sortByGroup(this.dt.filteredValue, this.dt._sortOrder);
1689
+ }
1690
+ else if (this.dt && this.dt._value && this.dt._sortOrder) {
1691
+ this.sortByGroup(this.dt._value, this.dt._sortOrder);
1692
+ }
1693
+ }
1694
+ }
1695
+ isShowGroup(key, rowIndex) {
1696
+ if (rowIndex === 0) {
1697
+ this.groupIndex = {};
1698
+ }
1699
+ if (!this.groupInfo[key]) {
1700
+ this.groupInfo[key] = { isExpanded: this.isGroupedExpanded !== undefined ? this.isGroupedExpanded : true };
1701
+ }
1702
+ if (!this.groupIndex[key]) {
1703
+ this.groupIndex[key] = { rowIndex };
1704
+ }
1705
+ return this.groupIndex[key].rowIndex === rowIndex;
1706
+ }
1707
+ toggleGroup(rowIndex, key) {
1708
+ this.groupInfo[key].isExpanded = !this.groupInfo[key].isExpanded;
1709
+ }
1710
+ clear() {
1711
+ this.dt.filterGlobal('', 'contains');
1712
+ }
1713
+ localSearch(dt, searchText) {
1714
+ dt.filterGlobal(searchText, 'contains');
1715
+ }
1716
+ sortByGroup(values, sortOrder) {
1717
+ const g = this.groupMode;
1718
+ if (values) {
1719
+ return values.sort((row1, row2) => {
1720
+ if (typeof (row1.groupOrder[g]) === 'number') {
1721
+ return sortOrder * (row1.groupOrder[g] - row2.groupOrder[g]);
1722
+ }
1723
+ else {
1724
+ return sortOrder * row1.groupOrder[g].localeCompare(row2.groupOrder[g], undefined, { numeric: true, sensitivity: 'base' });
1725
+ }
1726
+ });
1727
+ }
1728
+ this.values.sort((row1, row2) => {
1729
+ if (typeof (row1.groupOrder[g]) === 'number') {
1730
+ return row1.groupOrder[g] - row2.groupOrder[g];
1731
+ }
1732
+ else {
1733
+ return row1.groupOrder[g].localeCompare(row2.groupOrder[g], undefined, { numeric: true, sensitivity: 'base' });
1734
+ }
1735
+ });
1736
+ }
1737
+ countGroup(groupKey, g) {
1738
+ return this.values.filter(_value => _value.groupKey[g] === groupKey).length;
1739
+ }
1740
+ toggleNodes(isExpanded) {
1741
+ const g = this.groupMode;
1742
+ this.values.forEach(v => {
1743
+ if (this.groupInfo[v.groupKey[g]]) {
1744
+ this.groupInfo[v.groupKey[g]].isExpanded = isExpanded;
1745
+ }
1746
+ });
1747
+ }
1748
+ toggleMode(item) {
1749
+ this.groupMode = item;
1750
+ this.groupInfo = {};
1751
+ for (let i = 0; i < this.values.length; i++) {
1752
+ this.isShowGroup(this.values[i].groupKey[this.groupMode], i);
1753
+ }
1754
+ if (this.searchText) {
1755
+ this.dt.filterGlobal(this.searchText, 'contains');
1756
+ }
1757
+ this.sortByGroup();
1758
+ }
1759
+ }
1760
+ TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1761
+ TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TableComponent, selector: "in-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", stateKey: "stateKey", isGrouped: "isGrouped", customSort: "customSort", isGroupedExpanded: "isGroupedExpanded", showHeader: "showHeader", isMobileView: "isMobileView", resizableColumns: "resizableColumns", isTextSearch: "isTextSearch", isSortIcon: "isSortIcon", selection: "selection" }, outputs: { activeChange: "activeChange", selectionChange: "selectionChange", addAction: "addAction", csvAction: "csvAction", saveAction: "saveAction", removeAction: "removeAction", unlinkAction: "unlinkAction", linkAction: "linkAction", groupEditAction: "groupEditAction", paramsEditAction: "paramsEditAction", sortFunction: "sortFunction", filterFunction: "filterFunction" }, providers: [
1762
+ DomHandler,
1763
+ ObjectUtils,
1764
+ TableService,
1765
+ {
1766
+ provide: Table,
1767
+ useFactory: tableFactory,
1768
+ deps: [TableComponent], // new function depends on your wrapper
1769
+ },
1770
+ ], queries: [{ propertyName: "templates", predicate: InsparkTemplate }], viewQueries: [{ propertyName: "dt", first: true, predicate: ["dt"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<span *ngIf=\"label\" class=\"c-label\">\n {{label}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n</span>\n<p-table #dt\n (onFilter) = onFilter($event)\n (onSort)=\"onSort()\"\n (onStateRestore)=\"restoreSearchText()\"\n (onStateSave)=\"stateSave($event)\"\n (sortFunction)=\"sortFunction? sortFunction.emit($event): null\"\n [(selection)]=\"selectionValue\"\n [class]=\"class\"\n [columns]=\"filteredColumns\"\n [customSort]=\"customSort\"\n [dataKey]=\"dataKey || 'id'\"\n [globalFilterFields]=\"globalFilteredColumns\"\n [resizableColumns]=\"resizableColumns\"\n [scrollHeight]=\"scrollHeight\"\n [scrollable]=\"scrollable\"\n [selectionMode]=\"selectionMode\"\n [sortField]=\"sortField || 'id'\"\n [sortOrder]=\"isAscending ? 1 : -1\"\n [stateKey]=\"stateKey\"\n [stateStorage]=\"'local'\"\n [style]=\"style\"\n [value]=\"values\"\n columnResizeMode=\"expand\"\n\n>\n\n <ng-template *ngIf=\"colGroupTemplate\" let-columns pTemplate=\"body\">\n <ng-container\n *ngTemplateOutlet=\"colGroupTemplate; context: {$implicit: { columns: columns}}\"></ng-container>\n </ng-template>\n\n <ng-template *ngIf=\"!colGroupTemplate\" let-columns pTemplate=\"colgroup\">\n <colgroup *ngIf=\"!isMobileView\">\n <col *ngIf=\"checkboxSelection\" style=\"width: 44px;\">\n <col *ngFor=\"let col of filteredColumns; let idx = index\" [style.width]=\"calcWidth(idx, col.field, col.width)\">\n </colgroup>\n </ng-template>\n\n <ng-template let-columns pTemplate=\"header\">\n <ng-container *ngIf=\"showHeader\">\n <tr>\n <th *ngIf=\"checkboxSelection\" class=\"u-position-relative u-text_center\" pResizableColumn style=\"width: 44px;\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of filteredColumns\" [pSortableColumn]=\"col.field\" class=\"u-position-relative\"\n pResizableColumn>\n <div class=\"ui-table-thead-title\"\n title=\"{{col.label | translate}}\">\n {{col.label | translate}}\n </div>\n <p-sortIcon *ngIf=\"isSortIcon\" [field]=\"col.field\"\n class=\"u-position-absolute u-position-absolute-right c-sorticon\"\n style=\"display: flex; width: 18px; top: 0; height: 100%;\"></p-sortIcon>\n </th>\n </tr>\n <tr *ngIf=\"toolbar && toolbar.filter && toolbar.filter.active\">\n <th *ngIf=\"checkboxSelection\" class=\"u-position-relative u-text_center\" pResizableColumn\n style=\"width: 44px;\"></th>\n <th *ngFor=\"let col of columns\" [ngSwitch]=\"col.field\">\n <input\n (input)=\"dt.filter($event.target.value, col.field, 'contains')\"\n *ngSwitchCase=\"colFilter(col.field).type === 'text' ? col.field : ''\"\n autofocus=\"\"\n class=\"c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\n pInputText\n type=\"text\">\n\n <p-dropdown (onChange)=\"dt.filter($event.value, col.field, 'equals')\"\n *ngSwitchCase=\"colFilter(col.field).type === 'dropdown' ? col.field : ''\"\n [options]=\"colFilter(col.field).options\"\n [style]=\"{ width: '100%', overflow: 'visible' }\"\n appendTo=\"body\"></p-dropdown>\n\n <p-multiSelect (onChange)=\"dt.filter($event.value, col.field, 'in')\"\n *ngSwitchCase=\"colFilter(col.field).type === 'multiselect' ? col.field : ''\"\n [options]=\"colFilter(col.field).options\"\n [style]=\"{ width: '100%', overflow: 'visible' }\" appendTo=\"body\"\n defaultLabel=\"{{'All' | translate}}\"></p-multiSelect>\n <input\n (input)=\"dt.filter($event.target.value, col.field + '2filter', 'contains')\"\n *ngSwitchCase=\"colFilter(col.field).type === 'datetext' ? col.field : ''\"\n autofocus=\"\"\n class=\"c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\n pInputText\n type=\"text\">\n </th>\n </tr>\n </ng-container>\n </ng-template>\n\n <ng-template *ngIf=\"bodyTemplate\" let-columns=\"columns\" let-rowData let-rowIndex=\"rowIndex\" pTemplate=\"body\">\n <ng-container\n *ngTemplateOutlet=\"bodyTemplate; context: {$implicit: { rowIndex: rowIndex, rowData: rowData, columns: columns}}\"></ng-container>\n </ng-template>\n\n <ng-template *ngIf=\"!bodyTemplate\" let-columns=\"columns\" let-index=\"rowIndex\" let-rowData pTemplate=\"body\">\n <tr\n (click)=\"toggleGroup(index, rowData.groupKey[groupMode])\"\n *ngIf=\"isGrouped && isShowGroup(rowData.groupKey[groupMode], index)\"\n class=\"row_hover_highlight\">\n <td [colSpan]=\"countVisibleColumns() + 1\">\n <span>\n <i\n [ngClass]=\"groupInfo[rowData.groupKey[groupMode]].isExpanded ? 'fa fa-fw fa-angle-down' : 'fa fa-fw fa-angle-right'\"></i>\n <span>{{rowData.groupKey[groupMode] | translate }} ({{countGroup(rowData.groupKey[groupMode], groupMode)}}\n )</span>\n </span>\n </td>\n </tr>\n <tr *ngIf=\"!isGrouped || groupInfo[(rowData.groupKey[groupMode])].isExpanded\"\n [ngClass]=\"{row_active: isRowActive(rowData)}\"\n [pSelectableRow]=\"rowData\"\n class=\"row\">\n <td *ngIf=\"checkboxSelection\" [ngClass]=\"{\n 'row_status_success': rowData.sdirparamstatecolor === 'success',\n 'row_status_error': rowData.sdirparamstatecolor === 'error',\n 'row_status_warning': rowData.sdirparamstatecolor === 'warning',\n 'row_status_critical': rowData.sdirparamstatecolor === 'critical',\n 'row_status_falsevalue': rowData.sdirparamstatecolor === 'falsevalue'\n }\" class=\"u-text_center\"\n style=\"width: 44px\"\n >\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\n </td>\n <td (click)=\"activeChange.emit(rowData)\"\n *ngFor=\"let col of filteredColumns\"\n class=\"u-overflow-visible\">\n <div (mouseover)=\"showTooltip($event)\" *ngIf=\"!valueTemplate\" class=\"ui-table-tbody-content\" title>\n {{col.translatable ? (rowData | propertyValue: col.field | translate) : (rowData | propertyValue: col.field)}}\n </div>\n <ng-container\n *ngTemplateOutlet=\"valueTemplate; context: {$implicit: { data: rowData, col: col}}\"></ng-container>\n </td>\n </tr>\n </ng-template>\n\n <ng-template *ngIf=\"toolbar\" pTemplate=\"caption\">\n\n <div class=\"o-grid o-grid_no-gutter\">\n <div class=\"c-tree-table__toolbar-content u-display-inline-flex\">\n <div *ngIf=\"isTextSearch\" class=\"c-form c-form_inline u-display-inline-block\">\n <form class=\"c-label\">\n <div class=\"input-wrapper u-margin-right-tiny\">\n <input #searchTextInput\n (input)=\"localSearch(dt, searchText)\"\n [(ngModel)]=\"searchText\"\n [ngModelOptions]=\"{standalone: true}\"\n autofocus=\"\"\n class=\"search-box c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\n pInputText\n placeholder=\"{{('SHARED.SEARCH' | translate) + ':'}}\"\n required\n style=\"padding-right: 28px\"\n tabindex=\"1\"\n type=\"search\"\n >\n <button (click)=\"clear()\" class=\"button-reset\" type=\"reset\"\n [attr.title]=\"'Reset' | translate\">\n <i class=\"fa fa-close\"></i>\n </button>\n </div>\n </form>\n </div>\n <div class=\"c-btn c-btn_border-free c-btn_small\">\n <in-table-columns-multiselect (columnsChange)=\"columnsChange($event)\"\n [columns]=\"primaryColumns\"\n [disableActiveCheckboxes]=\"countVisibleColumns() === 1\"></in-table-columns-multiselect>\n </div>\n\n <button (click)=\"onFilterToolbar($event)\" *ngIf=\"toolbar.filter\"\n class=\"c-btn c-btn_border-free c-btn_small\"\n >\n <i class=\"fa fa-filter\" title=\"{{'Service filter' | translate}}\"></i>\n </button>\n\n <button (click)=\"addAction.emit($event)\" *ngIf=\"toolbar.add\" [disabled]=\"toolbar.add.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\"\n >\n <i class=\"fa fa-plus\" title=\"{{'Add' | translate}}\"></i>\n </button>\n\n <button (click)=\"linkAction.emit($event)\" *ngIf=\"toolbar.link\" [disabled]=\"toolbar.link.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\"\n >\n <i class=\"fa fa-link\" title=\"{{'Link' | translate}}\"></i>\n </button>\n <button (click)=\"csvAction.emit($event)\" *ngIf=\"toolbar.csv\" [disabled]=\"toolbar.csv.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\"\n >\n <i class=\"fa fa-file-csv\" title=\"{{'LOGS.SAVE_TO_SCV' | translate}}\"></i>\n </button>\n <button (click)=\"saveAction.emit($event)\" *ngIf=\"toolbar.save\"\n [disabled]=\"toolbar.save.disabled\"\n class=\"c-btn c-btn_primary c-btn_small\"\n title=\"{{'Save' | translate}}\"\n >\n {{'Save' | translate}}\n </button>\n <button (click)=\"groupEditAction.emit($event)\" *ngIf=\"toolbar.groupEdit && toolbar.groupEdit.active\"\n [disabled]=\"toolbar.groupEdit.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\">\n <i class=\"fa fa-pencil-square-o\" title=\"{{'groupEdit' | translate}}\"></i>\n </button>\n <ng-content select=\"[buttons]\"></ng-content>\n <button (click)=\"paramsEditAction.emit($event)\" *ngIf=\"toolbar.paramsEdit && toolbar.paramsEdit.active\"\n [disabled]=\"toolbar.paramsEdit.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\">\n <i class=\"fa fa-share-square-o\" title=\"{{'paramsEdit' | translate}}\"></i>\n </button>\n\n\n <button (click)=\"removeAction.emit($event)\" *ngIf=\"toolbar.remove && toolbar.remove.active\"\n [disabled]=\"toolbar.remove.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\">\n <i class=\"fa fa-trash\" title=\"{{'Delete' | translate}}\"></i>\n </button>\n <button (click)=\"unlinkAction.emit($event)\" *ngIf=\"toolbar.unlink\" [disabled]=\"toolbar.unlink.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\">\n <i class=\"fa fa-unlink\" title=\"{{'Detach tag from selected items' | translate}}\"></i>\n </button>\n <button (click)=\"toggleNodes(true)\"\n *ngIf=\"toolbar.expandAll\"\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\n title=\"{{'Expand all' | translate}}\">\n <svg fill=\"currentColor\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z\"/>\n </svg>\n </button>\n <button (click)=\"toggleNodes(false)\"\n *ngIf=\"toolbar.expandAll\"\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\n title=\"{{'Collapse all' | translate}}\">\n <svg fill=\"currentColor\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path clip-rule=\"evenodd\" d=\"M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z\" fill-rule=\"evenodd\"/>\n </svg>\n </button>\n\n <div *ngIf=\"toolbar.groupSort\"\n class=\"c-btn-group\"\n container=\"body\"\n ngbDropdown>\n\n <button class=\"c-btn c-btn_border-free c-btn_small\"\n id=\"dropdownGroupType\"\n ngbDropdownToggle\n title=\"{{'Change the way parameters are grouped' | translate}}\">\n <i aria-hidden=\"true\" class=\"fa fa-object-group\"></i>\n <i aria-hidden=\"true\" class=\"c-caret\"></i>\n </button>\n\n <ul aria-labelledby=\"dropdownGroupType\"\n class=\"c-dropdown-menu c-dropdown-menu_right ng-star-inserted\"\n ngbDropdownMenu\n role=\"menu\">\n <li *ngFor=\"let item of toolbar.groupSort.label\"\n [ngClass]=\"{'is-dropdown-menu__listitem_active': item.value === groupMode}\"\n class=\"c-dropdown-menu__listitem is-dropdown-menu__listitem_active\"\n ngbDropdownItem\n role=\"menuitem\">\n <a (click)=\"toggleMode(item.value)\" class=\"c-dropdown-menu__content\">\n {{item.label}}\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </ng-template>\n</p-table>\n", styles: ["@charset \"UTF-8\";.u-overflow-visible{overflow:visible!important}.row_status_success{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-success, #31AC51)}.row_status_error{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-error, #F95C5D)}.row_status_warning{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-warning, #EE9946)}.row_status_critical{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-critical, #F95C5D)}.row_status_falsevalue{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-falsevalue, #85B3CB)}.row_status_disabled{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-disabled)}.row_status_none{padding-left:9px!important;border-left:4px solid transparent}.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(--ids-theme-btn-default-color, #FFFFFF)}.input-wrapper{position:relative;display:flex;align-items:baseline}.c-input:not(:valid)~.button-reset{display:none}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1$2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i1$2.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1$2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1$2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i1$2.NgSwitch; }), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(function () { return i1$2.NgSwitchCase; }), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i0.forwardRef(function () { return i2$3.Table; }), selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.PrimeTemplate; }), selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i2$3.SortableColumn; }), selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i0.forwardRef(function () { return i2$3.SelectableRow; }), selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "directive", type: i0.forwardRef(function () { return i2$3.ResizableColumn; }), selector: "[pResizableColumn]", inputs: ["pResizableColumnDisabled"] }, { kind: "component", type: i0.forwardRef(function () { return i2$3.SortIcon; }), selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i0.forwardRef(function () { return i2$3.TableCheckbox; }), selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i0.forwardRef(function () { return i2$3.TableHeaderCheckbox; }), selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "directive", type: i0.forwardRef(function () { return i1$4.ɵNgNoValidate; }), selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i0.forwardRef(function () { return i1$4.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: i0.forwardRef(function () { return i1$4.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(function () { return i1$4.NgControlStatusGroup; }), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(function () { return i1$4.RequiredValidator; }), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(function () { return i1$4.NgModel; }), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i0.forwardRef(function () { return i1$4.NgForm; }), selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i0.forwardRef(function () { return i5$1.Dropdown; }), selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "overlayDirection", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i0.forwardRef(function () { return i6$1.MultiSelect; }), selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "label", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad"] }, { kind: "directive", type: i0.forwardRef(function () { return i7.NgbDropdown; }), selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i0.forwardRef(function () { return i7.NgbDropdownToggle; }), selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i0.forwardRef(function () { return i7.NgbDropdownMenu; }), selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i0.forwardRef(function () { return i7.NgbDropdownItem; }), selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i0.forwardRef(function () { return TableColumnsMultiselectComponent; }), selector: "in-table-columns-multiselect", inputs: ["columns", "disableActiveCheckboxes"], outputs: ["columnsChange"] }, { kind: "pipe", type: i0.forwardRef(function () { return PropertyValuePipe; }), name: "propertyValue" }, { kind: "pipe", type: i0.forwardRef(function () { return i1.TranslatePipe; }), name: "translate" }] });
1771
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableComponent, decorators: [{
1772
+ type: Component,
1773
+ args: [{ selector: 'in-table', entryComponents: [], providers: [
1774
+ DomHandler,
1775
+ ObjectUtils,
1776
+ TableService,
1777
+ {
1778
+ provide: Table,
1779
+ useFactory: tableFactory,
1780
+ deps: [TableComponent], // new function depends on your wrapper
1781
+ },
1782
+ ], template: "<span *ngIf=\"label\" class=\"c-label\">\n {{label}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n</span>\n<p-table #dt\n (onFilter) = onFilter($event)\n (onSort)=\"onSort()\"\n (onStateRestore)=\"restoreSearchText()\"\n (onStateSave)=\"stateSave($event)\"\n (sortFunction)=\"sortFunction? sortFunction.emit($event): null\"\n [(selection)]=\"selectionValue\"\n [class]=\"class\"\n [columns]=\"filteredColumns\"\n [customSort]=\"customSort\"\n [dataKey]=\"dataKey || 'id'\"\n [globalFilterFields]=\"globalFilteredColumns\"\n [resizableColumns]=\"resizableColumns\"\n [scrollHeight]=\"scrollHeight\"\n [scrollable]=\"scrollable\"\n [selectionMode]=\"selectionMode\"\n [sortField]=\"sortField || 'id'\"\n [sortOrder]=\"isAscending ? 1 : -1\"\n [stateKey]=\"stateKey\"\n [stateStorage]=\"'local'\"\n [style]=\"style\"\n [value]=\"values\"\n columnResizeMode=\"expand\"\n\n>\n\n <ng-template *ngIf=\"colGroupTemplate\" let-columns pTemplate=\"body\">\n <ng-container\n *ngTemplateOutlet=\"colGroupTemplate; context: {$implicit: { columns: columns}}\"></ng-container>\n </ng-template>\n\n <ng-template *ngIf=\"!colGroupTemplate\" let-columns pTemplate=\"colgroup\">\n <colgroup *ngIf=\"!isMobileView\">\n <col *ngIf=\"checkboxSelection\" style=\"width: 44px;\">\n <col *ngFor=\"let col of filteredColumns; let idx = index\" [style.width]=\"calcWidth(idx, col.field, col.width)\">\n </colgroup>\n </ng-template>\n\n <ng-template let-columns pTemplate=\"header\">\n <ng-container *ngIf=\"showHeader\">\n <tr>\n <th *ngIf=\"checkboxSelection\" class=\"u-position-relative u-text_center\" pResizableColumn style=\"width: 44px;\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of filteredColumns\" [pSortableColumn]=\"col.field\" class=\"u-position-relative\"\n pResizableColumn>\n <div class=\"ui-table-thead-title\"\n title=\"{{col.label | translate}}\">\n {{col.label | translate}}\n </div>\n <p-sortIcon *ngIf=\"isSortIcon\" [field]=\"col.field\"\n class=\"u-position-absolute u-position-absolute-right c-sorticon\"\n style=\"display: flex; width: 18px; top: 0; height: 100%;\"></p-sortIcon>\n </th>\n </tr>\n <tr *ngIf=\"toolbar && toolbar.filter && toolbar.filter.active\">\n <th *ngIf=\"checkboxSelection\" class=\"u-position-relative u-text_center\" pResizableColumn\n style=\"width: 44px;\"></th>\n <th *ngFor=\"let col of columns\" [ngSwitch]=\"col.field\">\n <input\n (input)=\"dt.filter($event.target.value, col.field, 'contains')\"\n *ngSwitchCase=\"colFilter(col.field).type === 'text' ? col.field : ''\"\n autofocus=\"\"\n class=\"c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\n pInputText\n type=\"text\">\n\n <p-dropdown (onChange)=\"dt.filter($event.value, col.field, 'equals')\"\n *ngSwitchCase=\"colFilter(col.field).type === 'dropdown' ? col.field : ''\"\n [options]=\"colFilter(col.field).options\"\n [style]=\"{ width: '100%', overflow: 'visible' }\"\n appendTo=\"body\"></p-dropdown>\n\n <p-multiSelect (onChange)=\"dt.filter($event.value, col.field, 'in')\"\n *ngSwitchCase=\"colFilter(col.field).type === 'multiselect' ? col.field : ''\"\n [options]=\"colFilter(col.field).options\"\n [style]=\"{ width: '100%', overflow: 'visible' }\" appendTo=\"body\"\n defaultLabel=\"{{'All' | translate}}\"></p-multiSelect>\n <input\n (input)=\"dt.filter($event.target.value, col.field + '2filter', 'contains')\"\n *ngSwitchCase=\"colFilter(col.field).type === 'datetext' ? col.field : ''\"\n autofocus=\"\"\n class=\"c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\n pInputText\n type=\"text\">\n </th>\n </tr>\n </ng-container>\n </ng-template>\n\n <ng-template *ngIf=\"bodyTemplate\" let-columns=\"columns\" let-rowData let-rowIndex=\"rowIndex\" pTemplate=\"body\">\n <ng-container\n *ngTemplateOutlet=\"bodyTemplate; context: {$implicit: { rowIndex: rowIndex, rowData: rowData, columns: columns}}\"></ng-container>\n </ng-template>\n\n <ng-template *ngIf=\"!bodyTemplate\" let-columns=\"columns\" let-index=\"rowIndex\" let-rowData pTemplate=\"body\">\n <tr\n (click)=\"toggleGroup(index, rowData.groupKey[groupMode])\"\n *ngIf=\"isGrouped && isShowGroup(rowData.groupKey[groupMode], index)\"\n class=\"row_hover_highlight\">\n <td [colSpan]=\"countVisibleColumns() + 1\">\n <span>\n <i\n [ngClass]=\"groupInfo[rowData.groupKey[groupMode]].isExpanded ? 'fa fa-fw fa-angle-down' : 'fa fa-fw fa-angle-right'\"></i>\n <span>{{rowData.groupKey[groupMode] | translate }} ({{countGroup(rowData.groupKey[groupMode], groupMode)}}\n )</span>\n </span>\n </td>\n </tr>\n <tr *ngIf=\"!isGrouped || groupInfo[(rowData.groupKey[groupMode])].isExpanded\"\n [ngClass]=\"{row_active: isRowActive(rowData)}\"\n [pSelectableRow]=\"rowData\"\n class=\"row\">\n <td *ngIf=\"checkboxSelection\" [ngClass]=\"{\n 'row_status_success': rowData.sdirparamstatecolor === 'success',\n 'row_status_error': rowData.sdirparamstatecolor === 'error',\n 'row_status_warning': rowData.sdirparamstatecolor === 'warning',\n 'row_status_critical': rowData.sdirparamstatecolor === 'critical',\n 'row_status_falsevalue': rowData.sdirparamstatecolor === 'falsevalue'\n }\" class=\"u-text_center\"\n style=\"width: 44px\"\n >\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\n </td>\n <td (click)=\"activeChange.emit(rowData)\"\n *ngFor=\"let col of filteredColumns\"\n class=\"u-overflow-visible\">\n <div (mouseover)=\"showTooltip($event)\" *ngIf=\"!valueTemplate\" class=\"ui-table-tbody-content\" title>\n {{col.translatable ? (rowData | propertyValue: col.field | translate) : (rowData | propertyValue: col.field)}}\n </div>\n <ng-container\n *ngTemplateOutlet=\"valueTemplate; context: {$implicit: { data: rowData, col: col}}\"></ng-container>\n </td>\n </tr>\n </ng-template>\n\n <ng-template *ngIf=\"toolbar\" pTemplate=\"caption\">\n\n <div class=\"o-grid o-grid_no-gutter\">\n <div class=\"c-tree-table__toolbar-content u-display-inline-flex\">\n <div *ngIf=\"isTextSearch\" class=\"c-form c-form_inline u-display-inline-block\">\n <form class=\"c-label\">\n <div class=\"input-wrapper u-margin-right-tiny\">\n <input #searchTextInput\n (input)=\"localSearch(dt, searchText)\"\n [(ngModel)]=\"searchText\"\n [ngModelOptions]=\"{standalone: true}\"\n autofocus=\"\"\n class=\"search-box c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\n pInputText\n placeholder=\"{{('SHARED.SEARCH' | translate) + ':'}}\"\n required\n style=\"padding-right: 28px\"\n tabindex=\"1\"\n type=\"search\"\n >\n <button (click)=\"clear()\" class=\"button-reset\" type=\"reset\"\n [attr.title]=\"'Reset' | translate\">\n <i class=\"fa fa-close\"></i>\n </button>\n </div>\n </form>\n </div>\n <div class=\"c-btn c-btn_border-free c-btn_small\">\n <in-table-columns-multiselect (columnsChange)=\"columnsChange($event)\"\n [columns]=\"primaryColumns\"\n [disableActiveCheckboxes]=\"countVisibleColumns() === 1\"></in-table-columns-multiselect>\n </div>\n\n <button (click)=\"onFilterToolbar($event)\" *ngIf=\"toolbar.filter\"\n class=\"c-btn c-btn_border-free c-btn_small\"\n >\n <i class=\"fa fa-filter\" title=\"{{'Service filter' | translate}}\"></i>\n </button>\n\n <button (click)=\"addAction.emit($event)\" *ngIf=\"toolbar.add\" [disabled]=\"toolbar.add.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\"\n >\n <i class=\"fa fa-plus\" title=\"{{'Add' | translate}}\"></i>\n </button>\n\n <button (click)=\"linkAction.emit($event)\" *ngIf=\"toolbar.link\" [disabled]=\"toolbar.link.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\"\n >\n <i class=\"fa fa-link\" title=\"{{'Link' | translate}}\"></i>\n </button>\n <button (click)=\"csvAction.emit($event)\" *ngIf=\"toolbar.csv\" [disabled]=\"toolbar.csv.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\"\n >\n <i class=\"fa fa-file-csv\" title=\"{{'LOGS.SAVE_TO_SCV' | translate}}\"></i>\n </button>\n <button (click)=\"saveAction.emit($event)\" *ngIf=\"toolbar.save\"\n [disabled]=\"toolbar.save.disabled\"\n class=\"c-btn c-btn_primary c-btn_small\"\n title=\"{{'Save' | translate}}\"\n >\n {{'Save' | translate}}\n </button>\n <button (click)=\"groupEditAction.emit($event)\" *ngIf=\"toolbar.groupEdit && toolbar.groupEdit.active\"\n [disabled]=\"toolbar.groupEdit.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\">\n <i class=\"fa fa-pencil-square-o\" title=\"{{'groupEdit' | translate}}\"></i>\n </button>\n <ng-content select=\"[buttons]\"></ng-content>\n <button (click)=\"paramsEditAction.emit($event)\" *ngIf=\"toolbar.paramsEdit && toolbar.paramsEdit.active\"\n [disabled]=\"toolbar.paramsEdit.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\">\n <i class=\"fa fa-share-square-o\" title=\"{{'paramsEdit' | translate}}\"></i>\n </button>\n\n\n <button (click)=\"removeAction.emit($event)\" *ngIf=\"toolbar.remove && toolbar.remove.active\"\n [disabled]=\"toolbar.remove.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\">\n <i class=\"fa fa-trash\" title=\"{{'Delete' | translate}}\"></i>\n </button>\n <button (click)=\"unlinkAction.emit($event)\" *ngIf=\"toolbar.unlink\" [disabled]=\"toolbar.unlink.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\">\n <i class=\"fa fa-unlink\" title=\"{{'Detach tag from selected items' | translate}}\"></i>\n </button>\n <button (click)=\"toggleNodes(true)\"\n *ngIf=\"toolbar.expandAll\"\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\n title=\"{{'Expand all' | translate}}\">\n <svg fill=\"currentColor\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z\"/>\n </svg>\n </button>\n <button (click)=\"toggleNodes(false)\"\n *ngIf=\"toolbar.expandAll\"\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\n title=\"{{'Collapse all' | translate}}\">\n <svg fill=\"currentColor\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path clip-rule=\"evenodd\" d=\"M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z\" fill-rule=\"evenodd\"/>\n </svg>\n </button>\n\n <div *ngIf=\"toolbar.groupSort\"\n class=\"c-btn-group\"\n container=\"body\"\n ngbDropdown>\n\n <button class=\"c-btn c-btn_border-free c-btn_small\"\n id=\"dropdownGroupType\"\n ngbDropdownToggle\n title=\"{{'Change the way parameters are grouped' | translate}}\">\n <i aria-hidden=\"true\" class=\"fa fa-object-group\"></i>\n <i aria-hidden=\"true\" class=\"c-caret\"></i>\n </button>\n\n <ul aria-labelledby=\"dropdownGroupType\"\n class=\"c-dropdown-menu c-dropdown-menu_right ng-star-inserted\"\n ngbDropdownMenu\n role=\"menu\">\n <li *ngFor=\"let item of toolbar.groupSort.label\"\n [ngClass]=\"{'is-dropdown-menu__listitem_active': item.value === groupMode}\"\n class=\"c-dropdown-menu__listitem is-dropdown-menu__listitem_active\"\n ngbDropdownItem\n role=\"menuitem\">\n <a (click)=\"toggleMode(item.value)\" class=\"c-dropdown-menu__content\">\n {{item.label}}\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </ng-template>\n</p-table>\n", styles: ["@charset \"UTF-8\";.u-overflow-visible{overflow:visible!important}.row_status_success{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-success, #31AC51)}.row_status_error{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-error, #F95C5D)}.row_status_warning{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-warning, #EE9946)}.row_status_critical{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-critical, #F95C5D)}.row_status_falsevalue{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-falsevalue, #85B3CB)}.row_status_disabled{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-disabled)}.row_status_none{padding-left:9px!important;border-left:4px solid transparent}.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(--ids-theme-btn-default-color, #FFFFFF)}.input-wrapper{position:relative;display:flex;align-items:baseline}.c-input:not(:valid)~.button-reset{display:none}\n"] }]
1783
+ }], propDecorators: { columns: [{
1784
+ type: Input
1785
+ }], values: [{
1786
+ type: Input
1787
+ }], scrollHeight: [{
1788
+ type: Input
1789
+ }], scrollable: [{
1790
+ type: Input
1791
+ }], selectionMode: [{
1792
+ type: Input
1793
+ }], label: [{
1794
+ type: Input
1795
+ }], error: [{
1796
+ type: Input
1797
+ }], class: [{
1798
+ type: Input
1799
+ }], required: [{
1800
+ type: Input
1801
+ }], style: [{
1802
+ type: Input
1803
+ }], toolbar: [{
1804
+ type: Input
1805
+ }], checkboxSelection: [{
1806
+ type: Input
1807
+ }], active: [{
1808
+ type: Input
1809
+ }], sortField: [{
1810
+ type: Input
1811
+ }], isAscending: [{
1812
+ type: Input
1813
+ }], dataKey: [{
1814
+ type: Input
1815
+ }], stateKey: [{
1816
+ type: Input
1817
+ }], isGrouped: [{
1818
+ type: Input
1819
+ }], customSort: [{
1820
+ type: Input
1821
+ }], isGroupedExpanded: [{
1822
+ type: Input
1823
+ }], showHeader: [{
1824
+ type: Input
1825
+ }], isMobileView: [{
1826
+ type: Input
1827
+ }], resizableColumns: [{
1828
+ type: Input
1829
+ }], isTextSearch: [{
1830
+ type: Input
1831
+ }], isSortIcon: [{
1832
+ type: Input
1833
+ }], activeChange: [{
1834
+ type: Output
1835
+ }], templates: [{
1836
+ type: ContentChildren,
1837
+ args: [InsparkTemplate]
1838
+ }], selectionChange: [{
1839
+ type: Output
1840
+ }], addAction: [{
1841
+ type: Output
1842
+ }], csvAction: [{
1843
+ type: Output
1844
+ }], saveAction: [{
1845
+ type: Output
1846
+ }], removeAction: [{
1847
+ type: Output
1848
+ }], unlinkAction: [{
1849
+ type: Output
1850
+ }], linkAction: [{
1851
+ type: Output
1852
+ }], groupEditAction: [{
1853
+ type: Output
1854
+ }], paramsEditAction: [{
1855
+ type: Output
1856
+ }], sortFunction: [{
1857
+ type: Output
1858
+ }], filterFunction: [{
1859
+ type: Output
1860
+ }], dt: [{
1861
+ type: ViewChild,
1862
+ args: ['dt', { static: false }]
1863
+ }], selection: [{
1864
+ type: Input
1865
+ }] } });
1866
+ class TableComponentModule {
1867
+ }
1868
+ TableComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1869
+ TableComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: TableComponentModule, declarations: [TableComponent, TableColumnsMultiselectComponent, TableMenuOverlayComponent, TableClickOutsideDirective], imports: [CommonModule, TableModule, PipesModule, TranslateModule, FormsModule, DropdownModule, MultiSelectModule, NgbDropdownModule, CheckboxModule], exports: [TableComponent, TableColumnsMultiselectComponent] });
1870
+ TableComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableComponentModule, imports: [CommonModule, TableModule, PipesModule, TranslateModule, FormsModule, DropdownModule, MultiSelectModule, NgbDropdownModule, CheckboxModule] });
1871
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableComponentModule, decorators: [{
1872
+ type: NgModule,
1873
+ args: [{
1874
+ imports: [CommonModule, TableModule, PipesModule, TranslateModule, FormsModule, DropdownModule, MultiSelectModule, NgbDropdownModule, CheckboxModule],
1875
+ exports: [TableComponent, TableColumnsMultiselectComponent],
1876
+ declarations: [TableComponent, TableColumnsMultiselectComponent, TableMenuOverlayComponent, TableClickOutsideDirective]
1877
+ }]
1878
+ }] });
1879
+
1880
+ class EmptyComponent {
1881
+ }
1882
+ EmptyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EmptyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1883
+ EmptyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: EmptyComponent, selector: "in-empty", ngImport: i0, template: "<div class=\"status-text\">\n {{'no_records' | translate}}\n</div>\n", styles: [".status-text{font-size:16px;opacity:.8}\n"], dependencies: [{ kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
1884
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EmptyComponent, decorators: [{
1885
+ type: Component,
1886
+ args: [{ selector: 'in-empty', template: "<div class=\"status-text\">\n {{'no_records' | translate}}\n</div>\n", styles: [".status-text{font-size:16px;opacity:.8}\n"] }]
1887
+ }] });
1888
+
1889
+ class InsparkStickyComponent {
1890
+ constructor(cdr) {
1891
+ this.cdr = cdr;
1892
+ this.top = 100;
1893
+ this.isInline = false;
1894
+ this.isFloated = true;
1895
+ this.zIndex = 10;
1896
+ this.class = '';
1897
+ this.isSticky = false;
1898
+ this.height = 0;
1899
+ this.width = 0;
1900
+ this.left = 0;
1901
+ this.right = 0;
1902
+ this.resize = () => {
1903
+ const rect = this.stickyRef.nativeElement.getBoundingClientRect();
1904
+ this.width = rect.width;
1905
+ this.left = rect.x;
1906
+ this.cdr.detectChanges();
1907
+ };
1908
+ this.scroll = () => {
1909
+ const rect = this.stickyRef.nativeElement.getBoundingClientRect();
1910
+ const isSticky = rect.top < this.top;
1911
+ if (isSticky !== this.isSticky) {
1912
+ this.height = rect.height;
1913
+ this.isSticky = rect.top < this.top;
1914
+ this.left = rect.x;
1915
+ this.width = rect.width;
1916
+ this.right = rect.right;
1917
+ this.cdr.detectChanges();
1918
+ }
1919
+ };
1920
+ }
1921
+ ngOnInit() {
1922
+ document.addEventListener('scroll', this.scroll);
1923
+ window.addEventListener('resize', this.resize);
1924
+ }
1925
+ ngOnDestroy() {
1926
+ document.removeEventListener('scroll', this.scroll);
1927
+ window.removeEventListener('resize', this.resize);
1928
+ }
1929
+ }
1930
+ InsparkStickyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkStickyComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1931
+ InsparkStickyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: InsparkStickyComponent, selector: "in-sticky", inputs: { top: "top", isInline: "isInline", isFloated: "isFloated", zIndex: "zIndex", class: "class" }, viewQueries: [{ propertyName: "stickyRef", first: true, predicate: ["sticky"], descendants: true }], ngImport: i0, template: "<div #sticky [ngClass]=\"{inline:isInline}\" [ngStyle]=\"{height: this.height?this.height+'px':'auto'}\"\n class=\"sticky-container\">\n <div [ngClass]=\"{sticky: isSticky, floated: isFloated && isSticky}\"\n [ngStyle]=\"{zIndex:this.zIndex, top: (this.top) + 'px', left: this.left+ 'px', width: this.width?this.width+'px':'auto'}\">\n <div [ngClass]=\"class\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [".sticky{position:fixed;display:inline-block}.floated{box-shadow:0 0 4px 2px #0000004d}.inline{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1932
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkStickyComponent, decorators: [{
1933
+ type: Component,
1934
+ args: [{ selector: 'in-sticky', encapsulation: ViewEncapsulation.Emulated, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #sticky [ngClass]=\"{inline:isInline}\" [ngStyle]=\"{height: this.height?this.height+'px':'auto'}\"\n class=\"sticky-container\">\n <div [ngClass]=\"{sticky: isSticky, floated: isFloated && isSticky}\"\n [ngStyle]=\"{zIndex:this.zIndex, top: (this.top) + 'px', left: this.left+ 'px', width: this.width?this.width+'px':'auto'}\">\n <div [ngClass]=\"class\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [".sticky{position:fixed;display:inline-block}.floated{box-shadow:0 0 4px 2px #0000004d}.inline{display:inline-block}\n"] }]
1935
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { stickyRef: [{
1936
+ type: ViewChild,
1937
+ args: ['sticky', { static: false }]
1938
+ }], top: [{
1939
+ type: Input
1940
+ }], isInline: [{
1941
+ type: Input
1942
+ }], isFloated: [{
1943
+ type: Input
1944
+ }], zIndex: [{
1945
+ type: Input
1946
+ }], class: [{
1947
+ type: Input
1948
+ }] } });
1949
+
1950
+ class InsparkHeaderComponent {
1951
+ constructor() {
1952
+ this.level = 1;
1953
+ this.label = '';
1954
+ }
1955
+ ngOnInit() {
1956
+ this.level = Math.max(Math.min(this.level, 6), 1);
1957
+ }
1958
+ }
1959
+ InsparkHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1960
+ InsparkHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: InsparkHeaderComponent, selector: "in-header", inputs: { level: "level", label: "label" }, ngImport: i0, template: "<div [ngClass]=\"{h1: level === 1, h2: level === 2, h3: level === 3, h4: level === 4, h5: level === 5, h6:level === 6}\"\n class=\"header u-margin-bottom-tiny u-margin-top-small\">\n <div *ngIf=\"level === 1\" [title]=\"label\" class=\"u-h1 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 2\" [title]=\"label\" class=\"u-h2 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 3\" [title]=\"label\" class=\"u-h3 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 4\" [title]=\"label\" class=\"u-h4 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 5\" [title]=\"label\" class=\"u-h5 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 6\" [title]=\"label\" class=\"u-h6 header__wrapper\">\n {{label}}\n </div>\n <div class=\"buttons\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".header{display:flex;align-items:center}.header h1,.header h2,.header h3,.header h5,.header h6{display:inline-block;margin:0;color:var(--colorText)}.header h1{font-size:24px}.header .buttons{margin-left:8px;display:flex;align-items:center}.header__wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1961
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkHeaderComponent, decorators: [{
1962
+ type: Component,
1963
+ args: [{ selector: 'in-header', encapsulation: ViewEncapsulation.Emulated, template: "<div [ngClass]=\"{h1: level === 1, h2: level === 2, h3: level === 3, h4: level === 4, h5: level === 5, h6:level === 6}\"\n class=\"header u-margin-bottom-tiny u-margin-top-small\">\n <div *ngIf=\"level === 1\" [title]=\"label\" class=\"u-h1 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 2\" [title]=\"label\" class=\"u-h2 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 3\" [title]=\"label\" class=\"u-h3 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 4\" [title]=\"label\" class=\"u-h4 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 5\" [title]=\"label\" class=\"u-h5 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 6\" [title]=\"label\" class=\"u-h6 header__wrapper\">\n {{label}}\n </div>\n <div class=\"buttons\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".header{display:flex;align-items:center}.header h1,.header h2,.header h3,.header h5,.header h6{display:inline-block;margin:0;color:var(--colorText)}.header h1{font-size:24px}.header .buttons{margin-left:8px;display:flex;align-items:center}.header__wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
1964
+ }], ctorParameters: function () { return []; }, propDecorators: { level: [{
1965
+ type: Input
1966
+ }], label: [{
1967
+ type: Input
1968
+ }] } });
1969
+
1970
+ class ToolbarComponent {
1971
+ constructor(element, cdRef, router) {
1972
+ this.element = element;
1973
+ this.cdRef = cdRef;
1974
+ this.router = router;
1975
+ this.display = false;
1976
+ }
1977
+ ngOnInit() {
1978
+ }
1979
+ clickedOutsideOverlay(event) {
1980
+ if (!this.element.nativeElement.contains(event.target)) {
1981
+ this.display = false;
1982
+ this.cdRef.detectChanges();
1983
+ }
1984
+ }
1985
+ }
1986
+ 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$3.Router }], target: i0.ɵɵFactoryTarget.Component });
1987
+ 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\">\n <in-sticky top=\"60\">\n\n <div class=\"c-panel toolbar-container\">\n <div class=\"c-toolbar\">\n <div class=\"c-toolbar__side-left\">\n <div class=\"c-toolbar__title\">{{title}}</div>\n </div>\n <div class=\"c-toolbar__side-center\">\n\n </div>\n <div class=\"c-toolbar__side-right\">\n <ng-content></ng-content>\n </div>\n\n </div>\n </div>\n </in-sticky>\n</div>\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%}.c-toolbar__side-left{flex:1;text-align:left}.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: InsparkStickyComponent, selector: "in-sticky", inputs: ["top", "isInline", "isFloated", "zIndex", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1988
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ToolbarComponent, decorators: [{
1989
+ type: Component,
1990
+ args: [{ selector: 'in-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, entryComponents: [], template: "<div class=\"toolbar-wrapper\">\n <in-sticky top=\"60\">\n\n <div class=\"c-panel toolbar-container\">\n <div class=\"c-toolbar\">\n <div class=\"c-toolbar__side-left\">\n <div class=\"c-toolbar__title\">{{title}}</div>\n </div>\n <div class=\"c-toolbar__side-center\">\n\n </div>\n <div class=\"c-toolbar__side-right\">\n <ng-content></ng-content>\n </div>\n\n </div>\n </div>\n </in-sticky>\n</div>\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%}.c-toolbar__side-left{flex:1;text-align:left}.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"] }]
1991
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$3.Router }]; }, propDecorators: { title: [{
1992
+ type: Input
1993
+ }] } });
1994
+
1995
+ class BreadcrumbComponent {
1996
+ constructor() {
1997
+ }
1998
+ ngOnInit() {
1999
+ }
2000
+ }
2001
+ BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2002
+ BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: BreadcrumbComponent, selector: "in-breadcrumb", inputs: { items: "items" }, ngImport: i0, template: "<div>\n <ul class=\"c-crumb\">\n <li class=\"c-crumb__item\">\n <a [routerLink]=\"['/main/page/home']\" translate=\"\">{{'Home' | translate }}</a>\n </li>\n <li *ngFor=\"let item of items; last as isLast\" class=\"c-crumb__item\">\n <a *ngIf=\"item.url && !isLast; else noUrl\" [routerLink]=\"item.url\" translate=\"\">{{item.label}}</a>\n <ng-template #noUrl>\n <span translate=\"\">{{item.label}}</span>\n </ng-template>\n </li>\n </ul>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i1$3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2003
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BreadcrumbComponent, decorators: [{
2004
+ type: Component,
2005
+ args: [{ selector: 'in-breadcrumb', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\n <ul class=\"c-crumb\">\n <li class=\"c-crumb__item\">\n <a [routerLink]=\"['/main/page/home']\" translate=\"\">{{'Home' | translate }}</a>\n </li>\n <li *ngFor=\"let item of items; last as isLast\" class=\"c-crumb__item\">\n <a *ngIf=\"item.url && !isLast; else noUrl\" [routerLink]=\"item.url\" translate=\"\">{{item.label}}</a>\n <ng-template #noUrl>\n <span translate=\"\">{{item.label}}</span>\n </ng-template>\n </li>\n </ul>\n</div>\n" }]
2006
+ }], ctorParameters: function () { return []; }, propDecorators: { items: [{
2007
+ type: Input
2008
+ }] } });
2009
+
2010
+ class FileComponent {
2011
+ constructor() {
2012
+ this.name = null;
2013
+ this.label = null;
2014
+ this.accept = null;
2015
+ this.required = false;
2016
+ this.error = null;
2017
+ this.onChange = new EventEmitter();
2018
+ this.file = null;
2019
+ }
2020
+ onClear() {
2021
+ this.file = null;
2022
+ this.onChange.emit(this.file);
2023
+ this.el.nativeElement.value = '';
2024
+ }
2025
+ onClickChoose() {
2026
+ this.el.nativeElement.click();
2027
+ }
2028
+ onChangeFile(e) {
2029
+ e.preventDefault();
2030
+ if (e.srcElement.files[0]) {
2031
+ this.file = e.srcElement.files[0];
2032
+ this.onChange.emit(this.file);
2033
+ }
2034
+ }
2035
+ }
2036
+ FileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2037
+ FileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FileComponent, selector: "in-file", inputs: { name: "name", label: "label", accept: "accept", required: "required", error: "error" }, outputs: { onChange: "onChange" }, viewQueries: [{ propertyName: "el", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<span *ngIf=\"label\" class=\"c-label__content\">\n {{label}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n </span>\n<in-button (click)=\"onClickChoose()\" *ngIf=\"file\" [label]=\"file.name\"></in-button>\n<in-button (click)=\"onClear()\" *ngIf=\"file\" label=\"X\"></in-button>\n<in-button (click)=\"onClickChoose()\" *ngIf=\"!file\" [label]=\"'Select file' | translate\"></in-button>\n\n<div class=\"hide\"><input #fileInput (change)=\"onChangeFile($event)\" [accept]=\"accept\" type=\"file\"/></div>\n", styles: [".hide{display:none}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "in-button", inputs: ["size", "color", "type", "name", "testId", "label", "icon", "className", "notify", "svg", "width", "link", "isLoading", "shadow", "isIconOnly", "linkType", "linkTarget", "pressed", "disabled", "iconPos", "selectedItem", "menuPlacement", "menuItems"], outputs: ["focus", "blur", "click"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
2038
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileComponent, decorators: [{
2039
+ type: Component,
2040
+ args: [{ selector: 'in-file', template: "<span *ngIf=\"label\" class=\"c-label__content\">\n {{label}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n </span>\n<in-button (click)=\"onClickChoose()\" *ngIf=\"file\" [label]=\"file.name\"></in-button>\n<in-button (click)=\"onClear()\" *ngIf=\"file\" label=\"X\"></in-button>\n<in-button (click)=\"onClickChoose()\" *ngIf=\"!file\" [label]=\"'Select file' | translate\"></in-button>\n\n<div class=\"hide\"><input #fileInput (change)=\"onChangeFile($event)\" [accept]=\"accept\" type=\"file\"/></div>\n", styles: [".hide{display:none}\n"] }]
2041
+ }], propDecorators: { name: [{
2042
+ type: Input
2043
+ }], label: [{
2044
+ type: Input
2045
+ }], accept: [{
2046
+ type: Input
2047
+ }], required: [{
2048
+ type: Input
2049
+ }], error: [{
2050
+ type: Input
2051
+ }], onChange: [{
2052
+ type: Output
2053
+ }], el: [{
2054
+ type: ViewChild,
2055
+ args: ['fileInput', { static: false }]
2056
+ }] } });
2057
+
2058
+ class SelectButtonComponent {
2059
+ constructor(cdRef) {
2060
+ this.cdRef = cdRef;
2061
+ this.name = '';
2062
+ this.testId = '';
2063
+ this.label = '';
2064
+ this.icon = '';
2065
+ this.error = '';
2066
+ this.iconPos = 'left';
2067
+ this.options = [];
2068
+ this.required = false;
2069
+ this.multiple = false;
2070
+ this.focus = new EventEmitter();
2071
+ this.blur = new EventEmitter();
2072
+ this.click = new EventEmitter();
2073
+ this.change = new EventEmitter();
2074
+ this.selected = [];
2075
+ this.propagateChange = (_) => {
2076
+ };
2077
+ }
2078
+ ngOnInit() {
2079
+ }
2080
+ ngOnChanges() {
2081
+ if (this.initial) {
2082
+ this.selected = this.initial;
2083
+ }
2084
+ else {
2085
+ this.selected = [];
2086
+ }
2087
+ }
2088
+ clickButton(option) {
2089
+ if (option.readonly) {
2090
+ return false;
2091
+ }
2092
+ if (this.multiple) {
2093
+ if (this.selected.indexOf(option.value) !== -1) {
2094
+ this.selected = this.selected.filter(item => item !== option.value);
2095
+ }
2096
+ else {
2097
+ this.selected.push(option.value);
2098
+ }
2099
+ this.value = this.options.filter(item => this.selected.indexOf(item.value) !== -1).map(val => val.value);
2100
+ }
2101
+ else {
2102
+ this.selected = [option.value];
2103
+ this.value = option.value;
2104
+ }
2105
+ this.cdRef.detectChanges();
2106
+ this.onChange();
2107
+ }
2108
+ /**
2109
+ * Write form value to the DOM element (model => view)
2110
+ */
2111
+ writeValue(value) {
2112
+ this.value = value;
2113
+ if (value !== null && value !== undefined) {
2114
+ if (Array.isArray(value)) {
2115
+ this.selected = value.map(val => val);
2116
+ }
2117
+ else {
2118
+ this.selected = [value];
2119
+ }
2120
+ }
2121
+ this.cdRef.detectChanges();
2122
+ }
2123
+ /**
2124
+ * Write form disabled state to the DOM element (model => view)
2125
+ */
2126
+ setDisabledState(isDisabled) {
2127
+ this.disabled = isDisabled;
2128
+ }
2129
+ /**
2130
+ * Update form when DOM element value changes (view => model)
2131
+ */
2132
+ registerOnChange(fn) {
2133
+ // Store the provided function as an internal method.
2134
+ this.propagateChange = fn;
2135
+ }
2136
+ /**
2137
+ * Update form when DOM element is blurred (view => model)
2138
+ */
2139
+ registerOnTouched(fn) {
2140
+ // Store the provided function as an internal method.
2141
+ this.onTouched = fn;
2142
+ }
2143
+ onChange() {
2144
+ this.propagateChange(this.value);
2145
+ this.change.emit(this.value);
2146
+ }
2147
+ onTouched() {
2148
+ }
2149
+ }
2150
+ SelectButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectButtonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2151
+ SelectButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SelectButtonComponent, selector: "in-select-button", inputs: { name: "name", testId: "testId", label: "label", icon: "icon", error: "error", iconPos: "iconPos", options: "options", disabled: "disabled", required: "required", multiple: "multiple", initial: "initial" }, outputs: { focus: "focus", blur: "blur", click: "click", change: "change" }, providers: [
2152
+ {
2153
+ provide: NG_VALUE_ACCESSOR,
2154
+ useExisting: forwardRef(() => SelectButtonComponent),
2155
+ multi: true,
2156
+ }
2157
+ ], usesOnChanges: true, ngImport: i0, template: "<span *ngIf=\"label\" class=\"c-label__content\">\n {{label}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n </span>\n<div class=\"container\">\n <in-button class=\"button-none\"></in-button>\n <in-button (click)=\"clickButton(option)\"\n *ngFor=\"let option of options\"\n [color]=\"selected.indexOf(option.value) === -1 ? 'normal': 'primary' \"\n [icon]=\"option.icon\"\n [label]=\"option.label | translate\"\n [testId]=\"'filter-buttons-' + option.value\"\n [title]=\"option.title ? (option.title | translate) : ''\"\n [name] = option.label\n [disabled]=\"option.readonly\"\n >\n </in-button>\n</div>\n", styles: [".container{white-space:nowrap}in-button ::ng-deep button{outline:none}in-button:first-child ::ng-deep button{border-bottom-right-radius:0;border-top-right-radius:0;border-right:1px solid #000}in-button:not(:first-child):not(:last-child) ::ng-deep button{border-radius:0;border-right:1px solid #000}in-button:last-child ::ng-deep button{border-bottom-left-radius:0;border-top-left-radius:0}.button-none{display:none}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "in-button", inputs: ["size", "color", "type", "name", "testId", "label", "icon", "className", "notify", "svg", "width", "link", "isLoading", "shadow", "isIconOnly", "linkType", "linkTarget", "pressed", "disabled", "iconPos", "selectedItem", "menuPlacement", "menuItems"], outputs: ["focus", "blur", "click"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
2158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectButtonComponent, decorators: [{
2159
+ type: Component,
2160
+ args: [{ selector: 'in-select-button', providers: [
2161
+ {
2162
+ provide: NG_VALUE_ACCESSOR,
2163
+ useExisting: forwardRef(() => SelectButtonComponent),
2164
+ multi: true,
2165
+ }
2166
+ ], template: "<span *ngIf=\"label\" class=\"c-label__content\">\n {{label}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n </span>\n<div class=\"container\">\n <in-button class=\"button-none\"></in-button>\n <in-button (click)=\"clickButton(option)\"\n *ngFor=\"let option of options\"\n [color]=\"selected.indexOf(option.value) === -1 ? 'normal': 'primary' \"\n [icon]=\"option.icon\"\n [label]=\"option.label | translate\"\n [testId]=\"'filter-buttons-' + option.value\"\n [title]=\"option.title ? (option.title | translate) : ''\"\n [name] = option.label\n [disabled]=\"option.readonly\"\n >\n </in-button>\n</div>\n", styles: [".container{white-space:nowrap}in-button ::ng-deep button{outline:none}in-button:first-child ::ng-deep button{border-bottom-right-radius:0;border-top-right-radius:0;border-right:1px solid #000}in-button:not(:first-child):not(:last-child) ::ng-deep button{border-radius:0;border-right:1px solid #000}in-button:last-child ::ng-deep button{border-bottom-left-radius:0;border-top-left-radius:0}.button-none{display:none}\n"] }]
2167
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { name: [{
2168
+ type: Input
2169
+ }], testId: [{
2170
+ type: Input
2171
+ }], label: [{
2172
+ type: Input
2173
+ }], icon: [{
2174
+ type: Input
2175
+ }], error: [{
2176
+ type: Input
2177
+ }], iconPos: [{
2178
+ type: Input
2179
+ }], options: [{
2180
+ type: Input
2181
+ }], disabled: [{
2182
+ type: Input
2183
+ }], required: [{
2184
+ type: Input
2185
+ }], multiple: [{
2186
+ type: Input
2187
+ }], initial: [{
2188
+ type: Input
2189
+ }], focus: [{
2190
+ type: Output
2191
+ }], blur: [{
2192
+ type: Output
2193
+ }], click: [{
2194
+ type: Output
2195
+ }], change: [{
2196
+ type: Output
2197
+ }] } });
2198
+
2199
+ class StatusCircleComponent {
2200
+ constructor() {
2201
+ this.label = '';
2202
+ this.title = '';
2203
+ this.icon = '';
2204
+ this.showLabel = true;
2205
+ this.mode = 'success';
2206
+ this.size = 'normal';
2207
+ this.content = '';
2208
+ }
2209
+ }
2210
+ StatusCircleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StatusCircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2211
+ StatusCircleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: StatusCircleComponent, selector: "in-status-circle", inputs: { label: "label", title: "title", icon: "icon", showLabel: "showLabel", mode: "mode", size: "size", content: "content" }, ngImport: i0, template: "<div [ngClass]=\"{'icon': icon ,'has-content': content!==''}\"\n class=\"circle-container {{size}}\"\n title=\"{{title ? title : label}}\">\n <span class=\"circle {{mode}}\">\n <in-svg *ngIf=\"icon\" [src]=\"icon\"></in-svg>\n <span *ngIf=\"content!==''\" class=\"content\">{{content}}</span>\n </span>\n <span *ngIf=\"showLabel && label\" class=\"label\">{{label}}</span>\n</div>\n", styles: ["@charset \"UTF-8\";:host{display:inline-block;line-height:0}.circle-container{font-size:14px;display:inline-block}.circle-container.small{font-size:12px}.circle-container.small .circle{width:8px;height:8px}.circle-container.normal .circle{width:12px;height:12px}.circle-container.big .circle{min-width:20px;min-height:20px}.circle-container.mini{margin-top:-2px;position:relative;padding:0;top:-3px}.circle-container.mini .circle{width:4px;height:4px}.circle{display:inline-flex;align-items:center;justify-content:center;color:var(--colorTextOnStatus);border-radius:20px;position:relative}.circle in-svg{position:absolute;left:50%;top:50%;height:18px;width:18px;transform:translate(-50%,-50%)}.falsevalue{background:var(--colorFalseValue)}.success{background:var(--colorSuccess)}.warning{background:var(--colorWarning)}.error{background:var(--colorError)}.none{background:var(--colorNoControl)}.critical{background:var(--colorCritical)}.primary{background:var(--ids-theme-primary, #78f4ff)}.inverse{background:var(--colorIcon, #78f4ff);color:var(--colorTextInverse)}.black{background:#000}.label{margin-left:6px}.content{display:inline-block;line-height:100%;padding:0 5px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SvgComponent, selector: "in-svg", inputs: ["size", "width", "height", "src"] }] });
2212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StatusCircleComponent, decorators: [{
2213
+ type: Component,
2214
+ args: [{ selector: 'in-status-circle', encapsulation: ViewEncapsulation.Emulated, template: "<div [ngClass]=\"{'icon': icon ,'has-content': content!==''}\"\n class=\"circle-container {{size}}\"\n title=\"{{title ? title : label}}\">\n <span class=\"circle {{mode}}\">\n <in-svg *ngIf=\"icon\" [src]=\"icon\"></in-svg>\n <span *ngIf=\"content!==''\" class=\"content\">{{content}}</span>\n </span>\n <span *ngIf=\"showLabel && label\" class=\"label\">{{label}}</span>\n</div>\n", styles: ["@charset \"UTF-8\";:host{display:inline-block;line-height:0}.circle-container{font-size:14px;display:inline-block}.circle-container.small{font-size:12px}.circle-container.small .circle{width:8px;height:8px}.circle-container.normal .circle{width:12px;height:12px}.circle-container.big .circle{min-width:20px;min-height:20px}.circle-container.mini{margin-top:-2px;position:relative;padding:0;top:-3px}.circle-container.mini .circle{width:4px;height:4px}.circle{display:inline-flex;align-items:center;justify-content:center;color:var(--colorTextOnStatus);border-radius:20px;position:relative}.circle in-svg{position:absolute;left:50%;top:50%;height:18px;width:18px;transform:translate(-50%,-50%)}.falsevalue{background:var(--colorFalseValue)}.success{background:var(--colorSuccess)}.warning{background:var(--colorWarning)}.error{background:var(--colorError)}.none{background:var(--colorNoControl)}.critical{background:var(--colorCritical)}.primary{background:var(--ids-theme-primary, #78f4ff)}.inverse{background:var(--colorIcon, #78f4ff);color:var(--colorTextInverse)}.black{background:#000}.label{margin-left:6px}.content{display:inline-block;line-height:100%;padding:0 5px}\n"] }]
2215
+ }], propDecorators: { label: [{
2216
+ type: Input
2217
+ }], title: [{
2218
+ type: Input
2219
+ }], icon: [{
2220
+ type: Input
2221
+ }], showLabel: [{
2222
+ type: Input
2223
+ }], mode: [{
2224
+ type: Input
2225
+ }], size: [{
2226
+ type: Input
2227
+ }], content: [{
2228
+ type: Input
2229
+ }] } });
2230
+
2231
+ class SwitcherComponent {
2232
+ constructor(element, cdRef, router) {
2233
+ this.element = element;
2234
+ this.cdRef = cdRef;
2235
+ this.router = router;
2236
+ this.name = null;
2237
+ this.label = null;
2238
+ this.error = null;
2239
+ this.iconOff = '';
2240
+ this.iconOn = '';
2241
+ this.labelOff = 'Off';
2242
+ this.labelOn = 'On';
2243
+ this.faIconOn = '';
2244
+ this.faIconOff = '';
2245
+ this.id = null;
2246
+ this.change = new EventEmitter();
2247
+ this._isBoolean = false;
2248
+ this.propagateChange = (_) => {
2249
+ };
2250
+ }
2251
+ ngOnInit() {
2252
+ this._isBoolean = typeof this.value === 'boolean';
2253
+ this.value = typeof this.value === 'string' ? JSON.parse(this.value) : !!this.value;
2254
+ }
2255
+ ngOnChanges(changes) {
2256
+ }
2257
+ /**
2258
+ * Write form value to the DOM element (model => view)
2259
+ */
2260
+ writeValue(value) {
2261
+ this._isBoolean = typeof value === 'boolean';
2262
+ this.value = value;
2263
+ this.cdRef.detectChanges();
2264
+ }
2265
+ /**
2266
+ * Write form disabled state to the DOM element (model => view)
2267
+ */
2268
+ setDisabledState(isDisabled) {
2269
+ this.disabled = isDisabled;
2270
+ }
2271
+ /**
2272
+ * Update form when DOM element value changes (view => model)
2273
+ */
2274
+ registerOnChange(fn) {
2275
+ // Store the provided function as an internal method.
2276
+ this.propagateChange = fn;
2277
+ }
2278
+ /**
2279
+ * Update form when DOM element is blurred (view => model)
2280
+ */
2281
+ registerOnTouched(fn) {
2282
+ // Store the provided function as an internal method.
2283
+ this.onTouched = fn;
2284
+ }
2285
+ onChange(e) {
2286
+ e.stopPropagation();
2287
+ e.preventDefault();
2288
+ if (this._isBoolean) {
2289
+ this.propagateChange(this.value);
2290
+ this.change.emit(this.value);
2291
+ }
2292
+ else {
2293
+ this.propagateChange(this.value ? 1 : 0);
2294
+ this.change.emit(this.value ? 1 : 0);
2295
+ }
2296
+ }
2297
+ onTouched() {
2298
+ }
2299
+ }
2300
+ SwitcherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SwitcherComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$3.Router }], target: i0.ɵɵFactoryTarget.Component });
2301
+ SwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SwitcherComponent, selector: "in-switcher", inputs: { name: "name", label: "label", error: "error", iconOff: "iconOff", iconOn: "iconOn", labelOff: "labelOff", labelOn: "labelOn", faIconOn: "faIconOn", faIconOff: "faIconOff", id: "id", disabled: "disabled", waiting: "waiting" }, outputs: { change: "change" }, providers: [
2302
+ {
2303
+ provide: NG_VALUE_ACCESSOR,
2304
+ useExisting: forwardRef(() => SwitcherComponent),
2305
+ multi: true,
2306
+ }
2307
+ ], usesOnChanges: true, ngImport: i0, template: "<label class=\"c-checkbox c-checkbox_switch container\">\n <span *ngIf=\"label\" class=\"label\">{{label}}</span>\n <span class=\"switcher-container\">\n <span class=\"c-checkbox__label u-vertical-align-middle u-text_center\">\n <span *ngIf=\"!iconOff\">{{labelOff | translate}}</span>\n <span *ngIf=\"faIconOff\"><i class=\"fa\" [ngClass]=\"faIconOff\"></i></span>\n <in-svg *ngIf=\"iconOff\" [src]=\"iconOff\" height=\"48px\" size=\"large\" width=\"48px\"></in-svg>\n </span>\n <input *ngIf=\"!waiting\" (change)=\"onChange($event)\"\n [(ngModel)]=\"value\"\n [checked]=\"value\" [disabled]=\"disabled\"\n class=\"c-checkbox__input\"\n name=\"element_name\"\n type=\"checkbox\"/>\n <i *ngIf=\"!waiting\" class=\"c-checkbox__icon u-margin-left-tiny u-vertical-align-baseline\"></i>\n <span *ngIf = \"waiting\" class=\"c-spinner \" style = \"display: inline-block; width:50px; text-align: center\"><i class=\"fa fa-circle-o-notch fa-spin \"></i></span>\n <span class=\"c-spinner c-checkbox__label u-vertical-align-middle u-text_center\">\n <span *ngIf=\"!iconOn\">{{labelOn | translate}}</span>\n <span *ngIf=\"faIconOn\"><i class=\"fa\" [ngClass]=\"faIconOn\"></i></span>\n <in-svg *ngIf=\"iconOn\" [src]=\"iconOn\" height=\"48px\" size=\"large\" width=\"48px\"></in-svg>\n </span>\n </span>\n</label>\n", styles: [".container{display:inline-flex;align-items:center;justify-content:center;flex-direction:column}.c-checkbox_switch .c-checkbox__icon{height:30px}.c-checkbox{margin-right:0}.label{font-size:11px;font-weight:700;display:block;text-align:center;text-transform:uppercase;margin-bottom:2px}.switcher-container{display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1$4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SvgComponent, selector: "in-svg", inputs: ["size", "width", "height", "src"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
2308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SwitcherComponent, decorators: [{
2309
+ type: Component,
2310
+ args: [{ selector: 'in-switcher', providers: [
2311
+ {
2312
+ provide: NG_VALUE_ACCESSOR,
2313
+ useExisting: forwardRef(() => SwitcherComponent),
2314
+ multi: true,
2315
+ }
2316
+ ], template: "<label class=\"c-checkbox c-checkbox_switch container\">\n <span *ngIf=\"label\" class=\"label\">{{label}}</span>\n <span class=\"switcher-container\">\n <span class=\"c-checkbox__label u-vertical-align-middle u-text_center\">\n <span *ngIf=\"!iconOff\">{{labelOff | translate}}</span>\n <span *ngIf=\"faIconOff\"><i class=\"fa\" [ngClass]=\"faIconOff\"></i></span>\n <in-svg *ngIf=\"iconOff\" [src]=\"iconOff\" height=\"48px\" size=\"large\" width=\"48px\"></in-svg>\n </span>\n <input *ngIf=\"!waiting\" (change)=\"onChange($event)\"\n [(ngModel)]=\"value\"\n [checked]=\"value\" [disabled]=\"disabled\"\n class=\"c-checkbox__input\"\n name=\"element_name\"\n type=\"checkbox\"/>\n <i *ngIf=\"!waiting\" class=\"c-checkbox__icon u-margin-left-tiny u-vertical-align-baseline\"></i>\n <span *ngIf = \"waiting\" class=\"c-spinner \" style = \"display: inline-block; width:50px; text-align: center\"><i class=\"fa fa-circle-o-notch fa-spin \"></i></span>\n <span class=\"c-spinner c-checkbox__label u-vertical-align-middle u-text_center\">\n <span *ngIf=\"!iconOn\">{{labelOn | translate}}</span>\n <span *ngIf=\"faIconOn\"><i class=\"fa\" [ngClass]=\"faIconOn\"></i></span>\n <in-svg *ngIf=\"iconOn\" [src]=\"iconOn\" height=\"48px\" size=\"large\" width=\"48px\"></in-svg>\n </span>\n </span>\n</label>\n", styles: [".container{display:inline-flex;align-items:center;justify-content:center;flex-direction:column}.c-checkbox_switch .c-checkbox__icon{height:30px}.c-checkbox{margin-right:0}.label{font-size:11px;font-weight:700;display:block;text-align:center;text-transform:uppercase;margin-bottom:2px}.switcher-container{display:flex;align-items:center;justify-content:center}\n"] }]
2317
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$3.Router }]; }, propDecorators: { name: [{
2318
+ type: Input
2319
+ }], label: [{
2320
+ type: Input
2321
+ }], error: [{
2322
+ type: Input
2323
+ }], iconOff: [{
2324
+ type: Input
2325
+ }], iconOn: [{
2326
+ type: Input
2327
+ }], labelOff: [{
2328
+ type: Input
2329
+ }], labelOn: [{
2330
+ type: Input
2331
+ }], faIconOn: [{
2332
+ type: Input
2333
+ }], faIconOff: [{
2334
+ type: Input
2335
+ }], id: [{
2336
+ type: Input
2337
+ }], disabled: [{
2338
+ type: Input
2339
+ }], waiting: [{
2340
+ type: Input
2341
+ }], change: [{
2342
+ type: Output
2343
+ }] } });
2344
+
2345
+ class InlineMessageComponent {
2346
+ constructor() {
2347
+ this.message = '';
2348
+ this.align = 'center';
2349
+ }
2350
+ }
2351
+ InlineMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InlineMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2352
+ InlineMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: InlineMessageComponent, selector: "in-inline-message", inputs: { message: "message", align: "align" }, ngImport: i0, template: "<div [ngClass]=\"align\" class=\"message\">\n {{message}}\n <ng-content></ng-content>\n</div>\n", styles: [".message{padding:12px 0;text-align:center;color:#aaa}.message.left{text-align:left}.message.right{text-align:right}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
2353
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InlineMessageComponent, decorators: [{
2354
+ type: Component,
2355
+ args: [{ selector: 'in-inline-message', template: "<div [ngClass]=\"align\" class=\"message\">\n {{message}}\n <ng-content></ng-content>\n</div>\n", styles: [".message{padding:12px 0;text-align:center;color:#aaa}.message.left{text-align:left}.message.right{text-align:right}\n"] }]
2356
+ }], propDecorators: { message: [{
2357
+ type: Input
2358
+ }], align: [{
2359
+ type: Input
2360
+ }] } });
2361
+
2362
+ class LinkComponent {
2363
+ constructor() {
2364
+ this.color = 'normal';
2365
+ this.name = '';
2366
+ this.testId = '';
2367
+ this.label = '';
2368
+ this.icon = '';
2369
+ this.className = '';
2370
+ this.svg = '';
2371
+ this.link = '';
2372
+ /**
2373
+ * external - ссылка на внешний источник
2374
+ * internal - ссылка внутри приложения
2375
+ * auto - определяется автоматически исходя из link
2376
+ */
2377
+ this.linkType = 'auto';
2378
+ /**
2379
+ * self - открывается в этом же окне
2380
+ * blank - открывается в новом окне
2381
+ * auto - определяется автоматически исходя из linkType
2382
+ */
2383
+ this.linkTarget = 'auto';
2384
+ // Отображает кнопку нажатой
2385
+ this.pressed = false;
2386
+ this.disabled = false;
2387
+ this.iconPos = 'left';
2388
+ this.menuItems = [];
2389
+ this.focus = new EventEmitter();
2390
+ this.blur = new EventEmitter();
2391
+ this.click = new EventEmitter();
2392
+ this.style = {};
2393
+ this._target = '_self';
2394
+ this._linkType = 'auto';
2395
+ this.isMaterialIcon = false;
2396
+ }
2397
+ ngOnInit() {
2398
+ this.updateData();
2399
+ }
2400
+ ngOnChanges(changes) {
2401
+ this.updateData();
2402
+ }
2403
+ updateData() {
2404
+ this._linkType = this.linkType;
2405
+ if (this._linkType === 'auto') {
2406
+ if ((this.link.indexOf('://') !== -1 || this.link.indexOf('//') === 0)) {
2407
+ this._linkType = 'external';
2408
+ }
2409
+ else {
2410
+ this._linkType = 'internal';
2411
+ }
2412
+ }
2413
+ if (this.linkTarget === 'auto') {
2414
+ if (this._linkType === 'external') {
2415
+ this._target = '_blank';
2416
+ }
2417
+ else {
2418
+ this._target = '_self';
2419
+ }
2420
+ }
2421
+ else {
2422
+ this._target = this.linkTarget === 'self' ? '_self' : 'blank';
2423
+ }
2424
+ if (this.icon && this.icon.indexOf('fa-') === -1) {
2425
+ this.isMaterialIcon = true;
2426
+ }
2427
+ else {
2428
+ this.isMaterialIcon = false;
2429
+ }
2430
+ }
2431
+ _onClick($event) {
2432
+ // if (!this.link) {
2433
+ // $event.stopPropagation();
2434
+ // $event.preventDefault();
2435
+ // this.click.emit($event);
2436
+ // }
2437
+ if (this.menuItems.length) {
2438
+ this._menu.toggle($event);
2439
+ }
2440
+ }
2441
+ }
2442
+ LinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2443
+ LinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: LinkComponent, selector: "in-link", inputs: { color: "color", name: "name", testId: "testId", label: "label", icon: "icon", className: "className", svg: "svg", link: "link", linkType: "linkType", linkTarget: "linkTarget", pressed: "pressed", disabled: "disabled", iconPos: "iconPos", menuItems: "menuItems" }, outputs: { focus: "focus", blur: "blur", click: "click" }, viewQueries: [{ propertyName: "_menu", first: true, predicate: Menu, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<a (blur)=\"blur.emit($event)\"\n (focus)=\"focus.emit($event)\"\n *ngIf=\"link &&_linkType ==='external'\"\n [class]=\"className\"\n [href]=\"link\"\n [ngClass]=\"{'ui-link ui-state-default ui-corner-all ui-link-transparency':true,\n 'ui-link-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\n 'ui-link-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\n 'ui-link-text-only': (!(icon || svg) && label),\n 'ui-link-text-empty': (!(icon || svg) && !label),\n 'ui-link-svg': svg,\n 'ui-link-material': isMaterialIcon,\n 'ui-state-disabled': disabled,\n 'ui-link-primary': color === 'primary',\n 'ui-link-secondary': color === 'secondary',\n 'ui-link-danger': color === 'danger'}\"\n [style]=\"style\" [target]=\"_target\">\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\n</a>\n<a (blur)=\"blur.emit($event)\"\n (focus)=\"focus.emit($event)\"\n *ngIf=\"link && _linkType ==='internal'\"\n [class]=\"className\"\n [ngClass]=\"{'ui-link ui-state-default ui-corner-all ui-link-transparency':true,\n 'ui-link-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\n 'ui-link-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\n 'ui-link-text-only': (!(icon || svg) && label),\n 'ui-link-text-empty': (!(icon || svg) && !label),\n 'ui-link-svg': svg,\n 'ui-link-material': isMaterialIcon,\n 'ui-state-disabled': disabled,\n 'ui-link-primary': color === 'primary',\n 'ui-link-secondary': color === 'secondary',\n 'ui-link-danger': color === 'danger'}\"\n [routerLink]=\"link\"\n [style]=\"style\" [target]=\"_target\">\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\n</a>\n<span (blur)=\"blur.emit($event)\"\n (click)=\"_onClick($event)\"\n (focus)=\"focus.emit($event)\"\n *ngIf=\"!link\"\n [class]=\"className\"\n [ngClass]=\"{'ui-link ui-state-default ui-corner-all ui-link-transparency':true,\n 'ui-link-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\n 'ui-link-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\n 'ui-link-text-only': (!(icon || svg) && label),\n 'ui-link-text-empty': (!(icon || svg) && !label),\n 'ui-link-svg': svg,\n 'ui-link-material': isMaterialIcon,\n 'ui-state-disabled': disabled,\n 'ui-link-primary': color === 'primary',\n 'ui-link-secondary': color === 'secondary',\n 'ui-link-danger': color === 'danger'}\" [style]=\"style\">\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\n</span>\n<p-menu *ngIf=\"menuItems.length\" [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\" styleClass=\"button-menu\"></p-menu>\n\n<ng-template #content>\n <span *ngIf=\"!isMaterialIcon && icon\" [class]=\"icon\"\n [ngClass]=\"{'ui-clickable': true,\n 'ui-link-icon-left': (iconPos === 'left'),\n 'ui-link-icon-right': (iconPos === 'right')}\"></span>\n <span *ngIf=\"isMaterialIcon && icon\" [ngClass]=\"{'ui-clickable': true,\n 'ui-link-icon-left': (iconPos === 'left'),\n 'ui-link-icon-right': (iconPos === 'right')}\"\n ><i class=\"material-icons\">{{icon}}</i></span>\n <span *ngIf=\"svg\" [ngClass]=\"{'ui-clickable': true,\n 'ui-link-icon-left': (iconPos === 'left'),\n 'ui-link-icon-right': (iconPos === 'right')}\">\n <in-svg [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\n </span>\n <span class=\"ui-link-text ui-clickable\">{{label}}</span>\n\n</ng-template>\n", styles: [".ui-link{text-decoration:none;color:var(--colorLink);cursor:pointer}.ui-link.ui-link-secondary{color:var(--colorTextSecondary)}.ui-link:hover{color:var(--colorLink)}.ui-link:hover .ui-link-text{text-decoration:underline;color:var(--colorLink)}button{outline:none}.ui-link-icon-only .ui-link-icon-left{margin-top:-9px}.ui-link-text{vertical-align:middle}.ui-link{margin-right:0;display:inline-flex;align-items:center;justify-content:center}.ui-link-text-icon-left .ui-link-text{padding-left:.6em}.ui-link-icon-only{font-size:18px;display:inline-flex;align-items:center;justify-content:center}.ui-link-icon-only .svg{display:inline-block;line-height:0}.ui-link-transparency{background:none}.ui-link.ui-link-svg .ui-clickable{height:20px}.ui-link.ui-link-svg .ui-link-icon-left{left:6px;margin-top:-2px}.ui-link.ui-link-svg.ui-link-icon-only .ui-link-icon-left{left:50%;width:auto;transform:translate(-50%,-50%);margin-left:0;margin-top:0}.ui-link-material .material-icons{font-size:16px}:host .ui-menu .ui-menuitem-link{font-size:16px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$4.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i1$3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: SvgComponent, selector: "in-svg", inputs: ["size", "width", "height", "src"] }] });
2444
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LinkComponent, decorators: [{
2445
+ type: Component,
2446
+ args: [{ selector: 'in-link', template: "<a (blur)=\"blur.emit($event)\"\n (focus)=\"focus.emit($event)\"\n *ngIf=\"link &&_linkType ==='external'\"\n [class]=\"className\"\n [href]=\"link\"\n [ngClass]=\"{'ui-link ui-state-default ui-corner-all ui-link-transparency':true,\n 'ui-link-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\n 'ui-link-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\n 'ui-link-text-only': (!(icon || svg) && label),\n 'ui-link-text-empty': (!(icon || svg) && !label),\n 'ui-link-svg': svg,\n 'ui-link-material': isMaterialIcon,\n 'ui-state-disabled': disabled,\n 'ui-link-primary': color === 'primary',\n 'ui-link-secondary': color === 'secondary',\n 'ui-link-danger': color === 'danger'}\"\n [style]=\"style\" [target]=\"_target\">\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\n</a>\n<a (blur)=\"blur.emit($event)\"\n (focus)=\"focus.emit($event)\"\n *ngIf=\"link && _linkType ==='internal'\"\n [class]=\"className\"\n [ngClass]=\"{'ui-link ui-state-default ui-corner-all ui-link-transparency':true,\n 'ui-link-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\n 'ui-link-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\n 'ui-link-text-only': (!(icon || svg) && label),\n 'ui-link-text-empty': (!(icon || svg) && !label),\n 'ui-link-svg': svg,\n 'ui-link-material': isMaterialIcon,\n 'ui-state-disabled': disabled,\n 'ui-link-primary': color === 'primary',\n 'ui-link-secondary': color === 'secondary',\n 'ui-link-danger': color === 'danger'}\"\n [routerLink]=\"link\"\n [style]=\"style\" [target]=\"_target\">\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\n</a>\n<span (blur)=\"blur.emit($event)\"\n (click)=\"_onClick($event)\"\n (focus)=\"focus.emit($event)\"\n *ngIf=\"!link\"\n [class]=\"className\"\n [ngClass]=\"{'ui-link ui-state-default ui-corner-all ui-link-transparency':true,\n 'ui-link-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\n 'ui-link-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\n 'ui-link-text-only': (!(icon || svg) && label),\n 'ui-link-text-empty': (!(icon || svg) && !label),\n 'ui-link-svg': svg,\n 'ui-link-material': isMaterialIcon,\n 'ui-state-disabled': disabled,\n 'ui-link-primary': color === 'primary',\n 'ui-link-secondary': color === 'secondary',\n 'ui-link-danger': color === 'danger'}\" [style]=\"style\">\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\n</span>\n<p-menu *ngIf=\"menuItems.length\" [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\" styleClass=\"button-menu\"></p-menu>\n\n<ng-template #content>\n <span *ngIf=\"!isMaterialIcon && icon\" [class]=\"icon\"\n [ngClass]=\"{'ui-clickable': true,\n 'ui-link-icon-left': (iconPos === 'left'),\n 'ui-link-icon-right': (iconPos === 'right')}\"></span>\n <span *ngIf=\"isMaterialIcon && icon\" [ngClass]=\"{'ui-clickable': true,\n 'ui-link-icon-left': (iconPos === 'left'),\n 'ui-link-icon-right': (iconPos === 'right')}\"\n ><i class=\"material-icons\">{{icon}}</i></span>\n <span *ngIf=\"svg\" [ngClass]=\"{'ui-clickable': true,\n 'ui-link-icon-left': (iconPos === 'left'),\n 'ui-link-icon-right': (iconPos === 'right')}\">\n <in-svg [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\n </span>\n <span class=\"ui-link-text ui-clickable\">{{label}}</span>\n\n</ng-template>\n", styles: [".ui-link{text-decoration:none;color:var(--colorLink);cursor:pointer}.ui-link.ui-link-secondary{color:var(--colorTextSecondary)}.ui-link:hover{color:var(--colorLink)}.ui-link:hover .ui-link-text{text-decoration:underline;color:var(--colorLink)}button{outline:none}.ui-link-icon-only .ui-link-icon-left{margin-top:-9px}.ui-link-text{vertical-align:middle}.ui-link{margin-right:0;display:inline-flex;align-items:center;justify-content:center}.ui-link-text-icon-left .ui-link-text{padding-left:.6em}.ui-link-icon-only{font-size:18px;display:inline-flex;align-items:center;justify-content:center}.ui-link-icon-only .svg{display:inline-block;line-height:0}.ui-link-transparency{background:none}.ui-link.ui-link-svg .ui-clickable{height:20px}.ui-link.ui-link-svg .ui-link-icon-left{left:6px;margin-top:-2px}.ui-link.ui-link-svg.ui-link-icon-only .ui-link-icon-left{left:50%;width:auto;transform:translate(-50%,-50%);margin-left:0;margin-top:0}.ui-link-material .material-icons{font-size:16px}:host .ui-menu .ui-menuitem-link{font-size:16px}\n"] }]
2447
+ }], propDecorators: { color: [{
2448
+ type: Input
2449
+ }], name: [{
2450
+ type: Input
2451
+ }], testId: [{
2452
+ type: Input
2453
+ }], label: [{
2454
+ type: Input
2455
+ }], icon: [{
2456
+ type: Input
2457
+ }], className: [{
2458
+ type: Input
2459
+ }], svg: [{
2460
+ type: Input
2461
+ }], link: [{
2462
+ type: Input
2463
+ }], linkType: [{
2464
+ type: Input
2465
+ }], linkTarget: [{
2466
+ type: Input
2467
+ }], pressed: [{
2468
+ type: Input
2469
+ }], disabled: [{
2470
+ type: Input
2471
+ }], iconPos: [{
2472
+ type: Input
2473
+ }], menuItems: [{
2474
+ type: Input
2475
+ }], _menu: [{
2476
+ type: ViewChild,
2477
+ args: [Menu, { static: false }]
2478
+ }], focus: [{
2479
+ type: Output
2480
+ }], blur: [{
2481
+ type: Output
2482
+ }], click: [{
2483
+ type: Output
2484
+ }] } });
2485
+
2486
+ class TooltipComponent {
2487
+ constructor() { }
2488
+ ngOnInit() {
2489
+ }
2490
+ }
2491
+ TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2492
+ 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\">\n <ng-content></ng-content>\n <div class=\"c-tooltip__content\" style=\"width: 12em;\" >\n <ng-content select=\"tooltip_content\"></ng-content>\n </div>\n</div>\n\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 });
2493
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TooltipComponent, decorators: [{
2494
+ type: Component,
2495
+ args: [{ selector: 'in-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"c-tooltip c-tooltip_left\">\n <ng-content></ng-content>\n <div class=\"c-tooltip__content\" style=\"width: 12em;\" >\n <ng-content select=\"tooltip_content\"></ng-content>\n </div>\n</div>\n\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"] }]
2496
+ }], ctorParameters: function () { return []; } });
2497
+
2498
+ class TreeTableComponent {
2499
+ constructor() {
2500
+ this.columns = [];
2501
+ this.values = [];
2502
+ this.checkboxSelection = true;
2503
+ this.activeChange = new EventEmitter();
2504
+ this.selectionChange = new EventEmitter();
2505
+ this.addAction = new EventEmitter();
2506
+ this.csvAction = new EventEmitter();
2507
+ this.saveAction = new EventEmitter();
2508
+ this.collapseAction = new EventEmitter();
2509
+ this.removeAction = new EventEmitter();
2510
+ this.unlinkAction = new EventEmitter();
2511
+ this.groupEditAction = new EventEmitter();
2512
+ this.groupAddAction = new EventEmitter();
2513
+ this.rowIndex = 0;
2514
+ this.isCollapse = true;
2515
+ this._selection = null;
2516
+ }
2517
+ set selection(val) {
2518
+ this._selection = val;
2519
+ }
2520
+ get selectionValue() {
2521
+ return this._selection;
2522
+ }
2523
+ set selectionValue(val) {
2524
+ this._selection = val;
2525
+ this.selectionChange.emit(val);
2526
+ }
2527
+ isRowActive(row) {
2528
+ return this.active && this.active.id === row.id;
2529
+ }
2530
+ visibleColumns() {
2531
+ return this.columns.filter(column => !column.isHidden);
2532
+ }
2533
+ columnsChange(data) {
2534
+ data.column.isHidden = !data.event;
2535
+ }
2536
+ ngAfterContentInit() {
2537
+ this.templates.forEach((item) => {
2538
+ switch (item.getType()) {
2539
+ case 'caption':
2540
+ this.captionTemplate = item.template;
2541
+ break;
2542
+ case 'header':
2543
+ this.headerTemplate = item.template;
2544
+ break;
2545
+ case 'body':
2546
+ this.bodyTemplate = item.template;
2547
+ break;
2548
+ case 'value':
2549
+ this.valueTemplate = item.template;
2550
+ break;
2551
+ case 'loadingbody':
2552
+ this.loadingBodyTemplate = item.template;
2553
+ break;
2554
+ case 'footer':
2555
+ this.footerTemplate = item.template;
2556
+ break;
2557
+ case 'summary':
2558
+ this.summaryTemplate = item.template;
2559
+ break;
2560
+ case 'colgroup':
2561
+ this.colGroupTemplate = item.template;
2562
+ break;
2563
+ case 'rowexpansion':
2564
+ this.expandedRowTemplate = item.template;
2565
+ break;
2566
+ case 'frozenrows':
2567
+ this.frozenRowsTemplate = item.template;
2568
+ break;
2569
+ case 'frozenheader':
2570
+ this.frozenHeaderTemplate = item.template;
2571
+ break;
2572
+ case 'frozenbody':
2573
+ this.frozenBodyTemplate = item.template;
2574
+ break;
2575
+ case 'frozenfooter':
2576
+ this.frozenFooterTemplate = item.template;
2577
+ break;
2578
+ case 'frozencolgroup':
2579
+ this.frozenColGroupTemplate = item.template;
2580
+ break;
2581
+ case 'emptymessage':
2582
+ this.emptyMessageTemplate = item.template;
2583
+ break;
2584
+ case 'paginatorleft':
2585
+ this.paginatorLeftTemplate = item.template;
2586
+ break;
2587
+ case 'paginatorright':
2588
+ this.paginatorRightTemplate = item.template;
2589
+ break;
2590
+ }
2591
+ });
2592
+ }
2593
+ collapse(event, dt) {
2594
+ this.values.forEach((node) => {
2595
+ this.toggleCollapse(node, this.isCollapse);
2596
+ });
2597
+ this.isCollapse = !this.isCollapse;
2598
+ dt.filterGlobal(this.searchText, 'contains');
2599
+ }
2600
+ toggleCollapse(node, isCollapsed) {
2601
+ if (node.children) {
2602
+ node.expanded = isCollapsed;
2603
+ for (const cn of node.children) {
2604
+ if (cn) {
2605
+ this.toggleCollapse(cn, isCollapsed);
2606
+ }
2607
+ }
2608
+ }
2609
+ }
2610
+ }
2611
+ TreeTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2612
+ 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\n [(selection)]=\"selectionValue\"\n [class]=\"class\"\n [columns]=\"visibleColumns()\"\n [resizableColumns]=\"true\"\n [scrollHeight]=\"scrollHeight\"\n [scrollable]=\"scrollable\"\n [selectionMode]=\"selectionMode\"\n [sortField]=\"sortField || 'id'\"\n [sortOrder]=\"isAscending ? 1 : -1\"\n [style]=\"style\"\n [value]=\"values\"\n columnResizeMode=\"expand\"\n>\n <ng-template let-columns pTemplate=\"colgroup\">\n <colgroup>\n <col *ngIf=\"checkboxSelection\" style=\"width:44px;\">\n <col *ngFor=\"let col of visibleColumns()\" [style.width]=\"col.width ? col.width : '10px'\">\n </colgroup>\n </ng-template>\n <ng-template let-columns pTemplate=\"header\">\n <tr>\n <th *ngIf=\"checkboxSelection\">\n <p-treeTableHeaderCheckbox></p-treeTableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of columns; let i = index\" [ttSortableColumn]=\"col.field\" class=\"u-position-relative\"\n ttResizableColumn>\n <div class=\"ui-treetable-thead-title\" title=\"{{col.label | translate}}\">\n {{col.label | translate}}\n </div>\n <p-treeTableSortIcon [field]=\"col.field\" class=\"ui-sortable-column-buttons\"></p-treeTableSortIcon>\n </th>\n </tr>\n </ng-template>\n\n <ng-template let-columns=\"columns\" let-rowData=\"rowData\" let-rowNode pTemplate=\"body\">\n <tr [ngClass]=\"{row_active: isRowActive(rowData)}\" [ttSelectableRow]=\"rowNode\" class=\"row\">\n <td *ngIf=\"checkboxSelection\">\n <p-treeTableCheckbox [value]=\"rowNode\"></p-treeTableCheckbox>\n </td>\n <td (click)=\"activeChange.emit(rowData)\" *ngFor=\"let col of columns; let i = index\"\n class=\"_u-overflow-visible\">\n <div class=\"\" style=\"display: flex; flex-wrap: nowrap;\">\n <ng-template [ngIf]=\"i == 0\">\n <p-treeTableToggler [rowNode]=\"rowNode\" style=\"align-self: center;\"></p-treeTableToggler>\n </ng-template>\n <div [ngClass]=\"{ 'ui-treetable-tbody-content_has-toggler ': i == 0 }\"\n class=\"ui-treetable-tbody-content cell-content_hover\"\n style=\"flex-grow: 1;\"\n title=\"{{rowData | propertyValue: col.field}}\">\n <ng-container *ngIf=\"!valueTemplate\">\n <i *ngIf=\"rowData.icon && i == 0\" [ngClass]=\"rowData.icon\" class=\"u-margin-right-tiny\"></i>\n {{rowData | propertyValue: col.field}}\n </ng-container>\n\n <ng-container\n *ngTemplateOutlet=\"valueTemplate; context: {$implicit: { data: rowData, col: col}}\"></ng-container>\n </div>\n </div>\n </td>\n </tr>\n </ng-template>\n\n <ng-template *ngIf=\"toolbar\" pTemplate=\"caption\">\n\n <div class=\"o-grid o-grid_no-gutter\">\n <div class=\"c-tree-table__toolbar-content u-display-inline-flex\">\n <div class=\"c-form c-form_inline u-display-inline-block\">\n <form class=\"c-label\">\n <div class=\"input-wrapper u-margin-right-tiny\">\n <input #searchTextInput\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n [(ngModel)]=\"searchText\"\n [ngModelOptions]=\"{standalone: true}\"\n autofocus=\"\"\n class=\"search-box c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\n pInputText\n placeholder=\"{{('SHARED.SEARCH' | translate) + ':'}}\"\n required\n style=\"padding-right: 28px\"\n tabindex=\"1\"\n type=\"search\"\n >\n <button (click)=\"dt.filterGlobal($event.target.value, 'contains')\" class=\"button-reset\" type=\"reset\"\n [attr.title]=\"'Reset' | translate\">\n <i class=\"fa fa-close\"></i>\n </button>\n </div>\n </form>\n </div>\n <div class=\"c-btn c-btn_border-free c-btn_small\">\n <in-table-columns-multiselect (columnsChange)=\"columnsChange($event)\"\n [columns]=\"columns\"></in-table-columns-multiselect>\n </div>\n\n <button (click)=\"addAction.emit($event)\" *ngIf=\"toolbar.add\" [disabled]=\"toolbar.add.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\"\n >\n <i class=\"fa fa-plus\" [title]=\"toolbar.add.title || '\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C'\"></i>\n </button>\n\n <button (click)=\"groupAddAction.emit($event)\" *ngIf=\"toolbar.groupAdd\" [disabled]=\"toolbar.groupAdd.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\"\n >\n <i class=\"fa fa-folder\" [title]=\"toolbar.groupAdd.title || '\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443'\"></i>\n </button>\n\n\n <button (click)=\"saveAction.emit($event)\" *ngIf=\"toolbar.save\"\n [disabled]=\"toolbar.save.disabled\"\n class=\"c-btn c-btn_primary c-btn_small\"\n title=\"{{'Save' | translate}}\"\n >\n {{'Save' | translate}}\n </button>\n <button (click)=\"groupEditAction.emit($event)\" *ngIf=\"toolbar.groupEdit && toolbar.groupEdit.active\"\n [disabled]=\"toolbar.groupEdit.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\">\n <i class=\"fa fa-pencil-square-o\" title=\"{{'groupEdit' | translate}}\"></i>\n </button>\n <button (click)=\"removeAction.emit($event)\" *ngIf=\"toolbar.remove && toolbar.remove.active\"\n [disabled]=\"toolbar.remove.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\">\n <i class=\"fa fa-trash\" [title]=\"toolbar.remove?.title || '\u0423\u0434\u0430\u043B\u0438\u0442\u044C'\"></i>\n </button>\n <button (click)=\"unlinkAction.emit($event)\" *ngIf=\"toolbar.unlink\" [disabled]=\"toolbar.unlink.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\">\n <i class=\"fa fa-unlink\" title=\"{{'Detach tag from selected items' | translate}}\"></i>\n </button>\n <button (click)=\"csvAction.emit($event)\" *ngIf=\"toolbar.csv\" [disabled]=\"toolbar.csv.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\"\n >\n <i class=\"fas fa-file-csv\" title=\"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u0430\u043A CSV\"></i>\n </button>\n <button *ngIf=\"toolbar.collapse\"\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\n (click)=\"collapse($event, dt)\"\n title=\"{{(isCollapse ? 'Expand all' : 'Collapse all') | translate}}\">\n <svg *ngIf=\"isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\n <path d=\"M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z\"/>\n </svg>\n <svg *ngIf=\"!isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\n <path fill-rule=\"evenodd\" d=\"M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z\" clip-rule=\"evenodd\"/>\n </svg>\n </button>\n </div>\n </div>\n </ng-template>\n</p-treeTable>\n", styles: ["@charset \"UTF-8\";.ui-sortable-column{cursor:pointer;position:relative}.ui-sortable-column-buttons{position:absolute;top:0;right:0;width:18px;height:100%;display:inline-flex;align-items:center;z-index:10000}.ui-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$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$5.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: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i2$5.TreeTableToggler, selector: "p-treeTableToggler", inputs: ["rowNode"] }, { kind: "directive", type: i2$5.TTSortableColumn, selector: "[ttSortableColumn]", inputs: ["ttSortableColumn", "ttSortableColumnDisabled"] }, { kind: "component", type: i2$5.TTSortIcon, selector: "p-treeTableSortIcon", inputs: ["field", "ariaLabelDesc", "ariaLabelAsc"] }, { kind: "directive", type: i2$5.TTResizableColumn, selector: "[ttResizableColumn]", inputs: ["ttResizableColumnDisabled"] }, { kind: "directive", type: i2$5.TTSelectableRow, selector: "[ttSelectableRow]", inputs: ["ttSelectableRow", "ttSelectableRowDisabled"] }, { kind: "component", type: i2$5.TTCheckbox, selector: "p-treeTableCheckbox", inputs: ["disabled", "value"] }, { kind: "component", type: i2$5.TTHeaderCheckbox, selector: "p-treeTableHeaderCheckbox" }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: TableColumnsMultiselectComponent, selector: "in-table-columns-multiselect", inputs: ["columns", "disableActiveCheckboxes"], outputs: ["columnsChange"] }, { kind: "pipe", type: PropertyValuePipe, name: "propertyValue" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
2613
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponent, decorators: [{
2614
+ type: Component,
2615
+ args: [{ selector: 'in-tree-table', entryComponents: [], template: "<p-treeTable #dt\n [(selection)]=\"selectionValue\"\n [class]=\"class\"\n [columns]=\"visibleColumns()\"\n [resizableColumns]=\"true\"\n [scrollHeight]=\"scrollHeight\"\n [scrollable]=\"scrollable\"\n [selectionMode]=\"selectionMode\"\n [sortField]=\"sortField || 'id'\"\n [sortOrder]=\"isAscending ? 1 : -1\"\n [style]=\"style\"\n [value]=\"values\"\n columnResizeMode=\"expand\"\n>\n <ng-template let-columns pTemplate=\"colgroup\">\n <colgroup>\n <col *ngIf=\"checkboxSelection\" style=\"width:44px;\">\n <col *ngFor=\"let col of visibleColumns()\" [style.width]=\"col.width ? col.width : '10px'\">\n </colgroup>\n </ng-template>\n <ng-template let-columns pTemplate=\"header\">\n <tr>\n <th *ngIf=\"checkboxSelection\">\n <p-treeTableHeaderCheckbox></p-treeTableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of columns; let i = index\" [ttSortableColumn]=\"col.field\" class=\"u-position-relative\"\n ttResizableColumn>\n <div class=\"ui-treetable-thead-title\" title=\"{{col.label | translate}}\">\n {{col.label | translate}}\n </div>\n <p-treeTableSortIcon [field]=\"col.field\" class=\"ui-sortable-column-buttons\"></p-treeTableSortIcon>\n </th>\n </tr>\n </ng-template>\n\n <ng-template let-columns=\"columns\" let-rowData=\"rowData\" let-rowNode pTemplate=\"body\">\n <tr [ngClass]=\"{row_active: isRowActive(rowData)}\" [ttSelectableRow]=\"rowNode\" class=\"row\">\n <td *ngIf=\"checkboxSelection\">\n <p-treeTableCheckbox [value]=\"rowNode\"></p-treeTableCheckbox>\n </td>\n <td (click)=\"activeChange.emit(rowData)\" *ngFor=\"let col of columns; let i = index\"\n class=\"_u-overflow-visible\">\n <div class=\"\" style=\"display: flex; flex-wrap: nowrap;\">\n <ng-template [ngIf]=\"i == 0\">\n <p-treeTableToggler [rowNode]=\"rowNode\" style=\"align-self: center;\"></p-treeTableToggler>\n </ng-template>\n <div [ngClass]=\"{ 'ui-treetable-tbody-content_has-toggler ': i == 0 }\"\n class=\"ui-treetable-tbody-content cell-content_hover\"\n style=\"flex-grow: 1;\"\n title=\"{{rowData | propertyValue: col.field}}\">\n <ng-container *ngIf=\"!valueTemplate\">\n <i *ngIf=\"rowData.icon && i == 0\" [ngClass]=\"rowData.icon\" class=\"u-margin-right-tiny\"></i>\n {{rowData | propertyValue: col.field}}\n </ng-container>\n\n <ng-container\n *ngTemplateOutlet=\"valueTemplate; context: {$implicit: { data: rowData, col: col}}\"></ng-container>\n </div>\n </div>\n </td>\n </tr>\n </ng-template>\n\n <ng-template *ngIf=\"toolbar\" pTemplate=\"caption\">\n\n <div class=\"o-grid o-grid_no-gutter\">\n <div class=\"c-tree-table__toolbar-content u-display-inline-flex\">\n <div class=\"c-form c-form_inline u-display-inline-block\">\n <form class=\"c-label\">\n <div class=\"input-wrapper u-margin-right-tiny\">\n <input #searchTextInput\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n [(ngModel)]=\"searchText\"\n [ngModelOptions]=\"{standalone: true}\"\n autofocus=\"\"\n class=\"search-box c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\n pInputText\n placeholder=\"{{('SHARED.SEARCH' | translate) + ':'}}\"\n required\n style=\"padding-right: 28px\"\n tabindex=\"1\"\n type=\"search\"\n >\n <button (click)=\"dt.filterGlobal($event.target.value, 'contains')\" class=\"button-reset\" type=\"reset\"\n [attr.title]=\"'Reset' | translate\">\n <i class=\"fa fa-close\"></i>\n </button>\n </div>\n </form>\n </div>\n <div class=\"c-btn c-btn_border-free c-btn_small\">\n <in-table-columns-multiselect (columnsChange)=\"columnsChange($event)\"\n [columns]=\"columns\"></in-table-columns-multiselect>\n </div>\n\n <button (click)=\"addAction.emit($event)\" *ngIf=\"toolbar.add\" [disabled]=\"toolbar.add.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\"\n >\n <i class=\"fa fa-plus\" [title]=\"toolbar.add.title || '\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C'\"></i>\n </button>\n\n <button (click)=\"groupAddAction.emit($event)\" *ngIf=\"toolbar.groupAdd\" [disabled]=\"toolbar.groupAdd.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\"\n >\n <i class=\"fa fa-folder\" [title]=\"toolbar.groupAdd.title || '\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443'\"></i>\n </button>\n\n\n <button (click)=\"saveAction.emit($event)\" *ngIf=\"toolbar.save\"\n [disabled]=\"toolbar.save.disabled\"\n class=\"c-btn c-btn_primary c-btn_small\"\n title=\"{{'Save' | translate}}\"\n >\n {{'Save' | translate}}\n </button>\n <button (click)=\"groupEditAction.emit($event)\" *ngIf=\"toolbar.groupEdit && toolbar.groupEdit.active\"\n [disabled]=\"toolbar.groupEdit.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\">\n <i class=\"fa fa-pencil-square-o\" title=\"{{'groupEdit' | translate}}\"></i>\n </button>\n <button (click)=\"removeAction.emit($event)\" *ngIf=\"toolbar.remove && toolbar.remove.active\"\n [disabled]=\"toolbar.remove.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\">\n <i class=\"fa fa-trash\" [title]=\"toolbar.remove?.title || '\u0423\u0434\u0430\u043B\u0438\u0442\u044C'\"></i>\n </button>\n <button (click)=\"unlinkAction.emit($event)\" *ngIf=\"toolbar.unlink\" [disabled]=\"toolbar.unlink.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\">\n <i class=\"fa fa-unlink\" title=\"{{'Detach tag from selected items' | translate}}\"></i>\n </button>\n <button (click)=\"csvAction.emit($event)\" *ngIf=\"toolbar.csv\" [disabled]=\"toolbar.csv.disabled\"\n class=\"c-btn c-btn_border-free c-btn_small\"\n >\n <i class=\"fas fa-file-csv\" title=\"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u0430\u043A CSV\"></i>\n </button>\n <button *ngIf=\"toolbar.collapse\"\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\n (click)=\"collapse($event, dt)\"\n title=\"{{(isCollapse ? 'Expand all' : 'Collapse all') | translate}}\">\n <svg *ngIf=\"isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\n <path d=\"M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z\"/>\n </svg>\n <svg *ngIf=\"!isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\n <path fill-rule=\"evenodd\" d=\"M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z\" clip-rule=\"evenodd\"/>\n </svg>\n </button>\n </div>\n </div>\n </ng-template>\n</p-treeTable>\n", styles: ["@charset \"UTF-8\";.ui-sortable-column{cursor:pointer;position:relative}.ui-sortable-column-buttons{position:absolute;top:0;right:0;width:18px;height:100%;display:inline-flex;align-items:center;z-index:10000}.ui-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"] }]
2616
+ }], propDecorators: { columns: [{
2617
+ type: Input
2618
+ }], values: [{
2619
+ type: Input
2620
+ }], scrollHeight: [{
2621
+ type: Input
2622
+ }], scrollable: [{
2623
+ type: Input
2624
+ }], selectionMode: [{
2625
+ type: Input
2626
+ }], label: [{
2627
+ type: Input
2628
+ }], error: [{
2629
+ type: Input
2630
+ }], class: [{
2631
+ type: Input
2632
+ }], required: [{
2633
+ type: Input
2634
+ }], style: [{
2635
+ type: Input
2636
+ }], toolbar: [{
2637
+ type: Input
2638
+ }], checkboxSelection: [{
2639
+ type: Input
2640
+ }], active: [{
2641
+ type: Input
2642
+ }], sortField: [{
2643
+ type: Input
2644
+ }], isAscending: [{
2645
+ type: Input
2646
+ }], dataKey: [{
2647
+ type: Input
2648
+ }], activeChange: [{
2649
+ type: Output
2650
+ }], templates: [{
2651
+ type: ContentChildren,
2652
+ args: [InsparkTemplate]
2653
+ }], selectionChange: [{
2654
+ type: Output
2655
+ }], addAction: [{
2656
+ type: Output
2657
+ }], csvAction: [{
2658
+ type: Output
2659
+ }], saveAction: [{
2660
+ type: Output
2661
+ }], collapseAction: [{
2662
+ type: Output
2663
+ }], removeAction: [{
2664
+ type: Output
2665
+ }], unlinkAction: [{
2666
+ type: Output
2667
+ }], groupEditAction: [{
2668
+ type: Output
2669
+ }], groupAddAction: [{
2670
+ type: Output
2671
+ }], selection: [{
2672
+ type: Input
2673
+ }] } });
2674
+ class TreeTableComponentModule {
2675
+ }
2676
+ TreeTableComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2677
+ 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] });
2678
+ TreeTableComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponentModule, imports: [CommonModule, TreeTableModule, PipesModule, TranslateModule, FormsModule, TableComponentModule] });
2679
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponentModule, decorators: [{
2680
+ type: NgModule,
2681
+ args: [{
2682
+ imports: [CommonModule, TreeTableModule, PipesModule, TranslateModule, FormsModule, TableComponentModule],
2683
+ exports: [TreeTableComponent],
2684
+ declarations: [TreeTableComponent]
2685
+ }]
2686
+ }] });
2687
+
2688
+ class RadiobuttonComponent {
2689
+ constructor() {
2690
+ this.name = null;
2691
+ this.label = null;
2692
+ this.required = false;
2693
+ this.error = null;
2694
+ this.placeholder = '';
2695
+ this.id = null;
2696
+ this.change = new EventEmitter();
2697
+ }
2698
+ onChangeEvent(value) {
2699
+ this.change.next({ name: this.name, value });
2700
+ }
2701
+ }
2702
+ RadiobuttonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RadiobuttonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2703
+ RadiobuttonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: RadiobuttonComponent, selector: "in-radiobutton", inputs: { name: "name", label: "label", required: "required", error: "error", placeholder: "placeholder", id: "id", disabled: "disabled", value: "value", values: "values", keyLabel: "keyLabel", item: "item" }, outputs: { change: "change" }, ngImport: i0, template: "<ng-container *ngFor=\"let element of values\">\n <p-radioButton\n class=\"u-margin-left-tiny u-vertical-align-middle field_{{name}}\"\n (onClick)=\"onChangeEvent(element)\"\n [id]=\"element[keyLabel]\"\n [(ngModel)]=\"item\"\n [name]=\"name\"\n [value]=\"element.id\"\n [disabled]=\"disabled\"\n [label]=\"element[keyLabel]\">\n </p-radioButton>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3$1.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2704
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RadiobuttonComponent, decorators: [{
2705
+ type: Component,
2706
+ args: [{ selector: 'in-radiobutton', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let element of values\">\n <p-radioButton\n class=\"u-margin-left-tiny u-vertical-align-middle field_{{name}}\"\n (onClick)=\"onChangeEvent(element)\"\n [id]=\"element[keyLabel]\"\n [(ngModel)]=\"item\"\n [name]=\"name\"\n [value]=\"element.id\"\n [disabled]=\"disabled\"\n [label]=\"element[keyLabel]\">\n </p-radioButton>\n</ng-container>\n" }]
2707
+ }], ctorParameters: function () { return []; }, propDecorators: { name: [{
2708
+ type: Input
2709
+ }], label: [{
2710
+ type: Input
2711
+ }], required: [{
2712
+ type: Input
2713
+ }], error: [{
2714
+ type: Input
2715
+ }], placeholder: [{
2716
+ type: Input
2717
+ }], id: [{
2718
+ type: Input
2719
+ }], disabled: [{
2720
+ type: Input
2721
+ }], value: [{
2722
+ type: Input
2723
+ }], values: [{
2724
+ type: Input
2725
+ }], keyLabel: [{
2726
+ type: Input
2727
+ }], item: [{
2728
+ type: Input
2729
+ }], change: [{
2730
+ type: Output
2731
+ }] } });
2732
+
2733
+ class SelectListComponent {
2734
+ constructor(ref, config, messageService, router) {
2735
+ this.ref = ref;
2736
+ this.config = config;
2737
+ this.messageService = messageService;
2738
+ this.router = router;
2739
+ this.options = null;
2740
+ this.isShowSpinner = false;
2741
+ }
2742
+ ngOnInit() {
2743
+ this.options = this.config.data.command.options.map(item => {
2744
+ return { value: item, checked: false };
2745
+ });
2746
+ this.selected = Array(this.options.length).fill(false);
2747
+ }
2748
+ closeModal(val = null) {
2749
+ this.ref.close(val);
2750
+ }
2751
+ applySelection() {
2752
+ if (!this.selected) {
2753
+ this.messageService.message(gettext('Select object'));
2754
+ return;
2755
+ }
2756
+ else {
2757
+ this.closeModal({ selected: this.options.filter(o => o.checked) });
2758
+ }
2759
+ }
2760
+ select(i) {
2761
+ this.options[i].checked = !this.options[i].checked;
2762
+ }
2763
+ highlight(value, text) {
2764
+ const regex = new RegExp('(' + text + ')', 'gi');
2765
+ return value.replace(regex, '<span class="u-text-highlight">$1</span>');
2766
+ }
2767
+ }
2768
+ SelectListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectListComponent, deps: [{ token: i1$5.DynamicDialogRef }, { token: i1$5.DynamicDialogConfig }, { token: InsparkMessageService }, { token: i1$3.Router }], target: i0.ɵɵFactoryTarget.Component });
2769
+ SelectListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SelectListComponent, selector: "app-select-list", ngImport: i0, template: "<div class=\"c-panel__heading-title h4\">\n {{'Select objects for which to execute the command' | translate}}\n</div>\n<span *ngIf=\"isShowSpinner\"><ng-container *ngTemplateOutlet=\"spinner\"></ng-container></span>\n<div class=\"container\">\n <div class=\"c-form-group type_treeblock\">\n <div style=\"overflow: hidden; width: 100%; white-space: nowrap; display: inline-flex;\" *ngFor=\"let item of options; let i = index\">\n <span class=\"c-label c-label__content\" style=\"width: 100px; min-height: 30px;\">{{item.value}}</span>\n <input class=\"c-checkbox__input\" type=\"checkbox\" [checked]=\"options[i].checked\" >\n <i class=\"ui-chkbox-box c-checkbox__icon\" (click)=\"select(i)\"></i>\n </div>\n\n </div>\n <div class=\"buttons\">\n <in-component-container>\n <in-button id=\"close\" (click)=\"closeModal()\"\n label=\"{{'Cancel' | translate}}\"></in-button>\n <in-button id=\"edit\" (click)=\"applySelection()\" type=\"submit\"\n label=\"{{'Apply' | translate}}\"\n color=\"primary\" [disabled]=\"\" [title]=\"'Select an action' | translate\"></in-button>\n </in-component-container>\n </div>\n</div>\n\n<ng-template #spinner><span class=\"c-spinner\">\n <i class=\"fa fa-circle-o-notch fa-spin \"></i>\n</span></ng-template>\n", styles: [".buttons{text-align:right}.buttons p-button{margin-left:8px}.container{padding:12px}:host ::ng-deep .c-select_block{position:relative;left:10px;width:30%}:host ::ng-deep .c-input_small{width:50%}:host ::ng-deep .my-tree{width:100%;display:inline-block;position:relative}:host ::ng-deep .my-tree .c-inputtext{width:500px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "in-button", inputs: ["size", "color", "type", "name", "testId", "label", "icon", "className", "notify", "svg", "width", "link", "isLoading", "shadow", "isIconOnly", "linkType", "linkTarget", "pressed", "disabled", "iconPos", "selectedItem", "menuPlacement", "menuItems"], outputs: ["focus", "blur", "click"] }, { kind: "component", type: ComponentContainerComponent, selector: "in-component-container", inputs: ["align"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
2770
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectListComponent, decorators: [{
2771
+ type: Component,
2772
+ args: [{ selector: 'app-select-list', template: "<div class=\"c-panel__heading-title h4\">\n {{'Select objects for which to execute the command' | translate}}\n</div>\n<span *ngIf=\"isShowSpinner\"><ng-container *ngTemplateOutlet=\"spinner\"></ng-container></span>\n<div class=\"container\">\n <div class=\"c-form-group type_treeblock\">\n <div style=\"overflow: hidden; width: 100%; white-space: nowrap; display: inline-flex;\" *ngFor=\"let item of options; let i = index\">\n <span class=\"c-label c-label__content\" style=\"width: 100px; min-height: 30px;\">{{item.value}}</span>\n <input class=\"c-checkbox__input\" type=\"checkbox\" [checked]=\"options[i].checked\" >\n <i class=\"ui-chkbox-box c-checkbox__icon\" (click)=\"select(i)\"></i>\n </div>\n\n </div>\n <div class=\"buttons\">\n <in-component-container>\n <in-button id=\"close\" (click)=\"closeModal()\"\n label=\"{{'Cancel' | translate}}\"></in-button>\n <in-button id=\"edit\" (click)=\"applySelection()\" type=\"submit\"\n label=\"{{'Apply' | translate}}\"\n color=\"primary\" [disabled]=\"\" [title]=\"'Select an action' | translate\"></in-button>\n </in-component-container>\n </div>\n</div>\n\n<ng-template #spinner><span class=\"c-spinner\">\n <i class=\"fa fa-circle-o-notch fa-spin \"></i>\n</span></ng-template>\n", styles: [".buttons{text-align:right}.buttons p-button{margin-left:8px}.container{padding:12px}:host ::ng-deep .c-select_block{position:relative;left:10px;width:30%}:host ::ng-deep .c-input_small{width:50%}:host ::ng-deep .my-tree{width:100%;display:inline-block;position:relative}:host ::ng-deep .my-tree .c-inputtext{width:500px}\n"] }]
2773
+ }], ctorParameters: function () { return [{ type: i1$5.DynamicDialogRef }, { type: i1$5.DynamicDialogConfig }, { type: InsparkMessageService }, { type: i1$3.Router }]; } });
2774
+
2775
+ class ObjectTreeComponent {
2776
+ constructor() { }
2777
+ ngOnInit() {
2778
+ }
2779
+ }
2780
+ ObjectTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2781
+ ObjectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ObjectTreeComponent, selector: "in-object-tree", ngImport: i0, template: "<p>object-tree works!</p>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2782
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectTreeComponent, decorators: [{
2783
+ type: Component,
2784
+ args: [{ selector: 'in-object-tree', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p>object-tree works!</p>\n" }]
2785
+ }], ctorParameters: function () { return []; } });
2786
+
2787
+ class ModalInputTextComponent {
2788
+ constructor(ref, config, translateService, messageService, router) {
2789
+ this.ref = ref;
2790
+ this.config = config;
2791
+ this.translateService = translateService;
2792
+ this.messageService = messageService;
2793
+ this.router = router;
2794
+ this.options = null;
2795
+ this.isShowSpinner = false;
2796
+ this.maxLength = 0;
2797
+ }
2798
+ ngOnInit() {
2799
+ this.param = this.config.data.command.param;
2800
+ this.options = this.config.data.command.options.map(item => {
2801
+ return { value: item, checked: false };
2802
+ });
2803
+ if (this.options && this.options.length > 0) {
2804
+ this.calculateWidth();
2805
+ }
2806
+ this.selected = Array(this.options.length).fill(false);
2807
+ }
2808
+ closeModal(val = null) {
2809
+ this.ref.close(val);
2810
+ }
2811
+ applySelection() {
2812
+ if (!this.selected) {
2813
+ this.messageService.message(gettext('Select object'));
2814
+ return;
2815
+ }
2816
+ else {
2817
+ this.closeModal({
2818
+ selected: this.options.filter(o => o.checked),
2819
+ param: this.param ? this.param.value : undefined
2820
+ });
2821
+ }
2822
+ }
2823
+ select(i) {
2824
+ this.options[i].checked = !this.options[i].checked;
2825
+ }
2826
+ checkSelected() {
2827
+ if (this.param) {
2828
+ return !this.param.value;
2829
+ }
2830
+ else if (this.options) {
2831
+ return this.options.filter(opt => opt.checked).length === 0;
2832
+ }
2833
+ return false;
2834
+ }
2835
+ highlight(value, text) {
2836
+ const regex = new RegExp('(' + text + ')', 'gi');
2837
+ return value.replace(regex, '<span class="u-text-highlight">$1</span>');
2838
+ }
2839
+ calculateWidth() {
2840
+ this.options.forEach(opt => {
2841
+ if (opt.value.length * 7 > this.maxLength) {
2842
+ this.maxLength = opt.value.length * 7 + 100;
2843
+ }
2844
+ });
2845
+ }
2846
+ translate(str) {
2847
+ const splited = str.split('\n');
2848
+ let translated = '';
2849
+ splited.forEach(s => translated += this.translateService.instant(s) + '\n');
2850
+ return translated;
2851
+ }
2852
+ }
2853
+ ModalInputTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ModalInputTextComponent, deps: [{ token: i1$5.DynamicDialogRef }, { token: i1$5.DynamicDialogConfig }, { token: i1.TranslateService }, { token: InsparkMessageService }, { token: i1$3.Router }], target: i0.ɵɵFactoryTarget.Component });
2854
+ ModalInputTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ModalInputTextComponent, selector: "app-modal-input-text", ngImport: i0, template: "<div class=\"c-panel__heading-title h4\">\n {{'Enter parameter value' | translate}}\n</div>\n<span *ngIf=\"isShowSpinner\"><ng-container *ngTemplateOutlet=\"spinner\"></ng-container></span>\n<div class=\"container\">\n <div *ngIf = this.options class=\"c-form-group type_treeblock\">\n <div *ngFor=\"let item of options; let i = index\">\n <label class=\"c-label type_bool\" style=\"overflow: hidden; width: 100%; white-space: nowrap; display: inline-flex;\">\n <span class=\"c-onecolumn-form_label__content\" [style.width]=\"maxLength + 'px'\" style=\"position: relative; top: 5px; min-height: 30px;\">\n {{item.value}}\n </span>\n <span class=\"c-onecolumn-form_label__content field_{{item.value}}\" style=\"min-height: 30px;\">\n <input class=\"c-checkbox__input field_{{item.value}}\" type=\"checkbox\" [checked]=\"options[i].checked\" (click)=\"select(i)\">\n <i class=\"ui-chkbox-box c-checkbox__icon\" ></i>\n </span>\n </label>\n </div>\n </div>\n\n <div *ngIf=this.param class=\"o-grid o-grid_wrap\">\n <div class=\"o-grid__cell o-grid__cell_width-100 o-grid__cell_width-100@medium o-grid__cell_width-100@large\">\n <div class=\"c-form-group\">\n <label class=\"c-label type_varchars\">\n <span class=\"c-label__content\" style=\"width: 500px;white-space: pre-line\">{{translate(param.title)}}</span>\n <input [(ngModel)]=\"param.value\" class=\"c-input c-input_block field_{{config.data.command.label}}\" type=\"text\" maxlength=\"60\">\n </label>\n </div>\n </div>\n </div>\n <div class=\"buttons\">\n <in-component-container>\n <in-button id=\"close\" (click)=\"closeModal()\"\n label=\"{{'Cancel' | translate}}\"\n [name]=\"'Cancel'\"\n ></in-button>\n <in-button id=\"edit\" (click)=\"applySelection()\" type=\"submit\"\n label=\"{{'Apply' | translate}}\"\n [name]=\"'Apply'\"\n color=\"primary\" [disabled]=\"checkSelected()\" [title]=\"'Select an action' | translate\"></in-button>\n </in-component-container>\n </div>\n</div>\n\n<ng-template #spinner><span class=\"c-spinner\">\n <i class=\"fa fa-circle-o-notch fa-spin \"></i>\n</span></ng-template>\n", styles: [".buttons{text-align:right}.buttons p-button{margin-left:8px}.container{padding:12px}:host ::ng-deep .c-select_block{position:relative;left:10px;width:30%}:host ::ng-deep .c-input_small{width:50%}:host ::ng-deep .my-tree{width:100%;display:inline-block;position:relative}:host ::ng-deep .my-tree .c-inputtext{width:500px}\n"], dependencies: [{ kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "in-button", inputs: ["size", "color", "type", "name", "testId", "label", "icon", "className", "notify", "svg", "width", "link", "isLoading", "shadow", "isIconOnly", "linkType", "linkTarget", "pressed", "disabled", "iconPos", "selectedItem", "menuPlacement", "menuItems"], outputs: ["focus", "blur", "click"] }, { kind: "component", type: ComponentContainerComponent, selector: "in-component-container", inputs: ["align"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
2855
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ModalInputTextComponent, decorators: [{
2856
+ type: Component,
2857
+ args: [{ selector: 'app-modal-input-text', template: "<div class=\"c-panel__heading-title h4\">\n {{'Enter parameter value' | translate}}\n</div>\n<span *ngIf=\"isShowSpinner\"><ng-container *ngTemplateOutlet=\"spinner\"></ng-container></span>\n<div class=\"container\">\n <div *ngIf = this.options class=\"c-form-group type_treeblock\">\n <div *ngFor=\"let item of options; let i = index\">\n <label class=\"c-label type_bool\" style=\"overflow: hidden; width: 100%; white-space: nowrap; display: inline-flex;\">\n <span class=\"c-onecolumn-form_label__content\" [style.width]=\"maxLength + 'px'\" style=\"position: relative; top: 5px; min-height: 30px;\">\n {{item.value}}\n </span>\n <span class=\"c-onecolumn-form_label__content field_{{item.value}}\" style=\"min-height: 30px;\">\n <input class=\"c-checkbox__input field_{{item.value}}\" type=\"checkbox\" [checked]=\"options[i].checked\" (click)=\"select(i)\">\n <i class=\"ui-chkbox-box c-checkbox__icon\" ></i>\n </span>\n </label>\n </div>\n </div>\n\n <div *ngIf=this.param class=\"o-grid o-grid_wrap\">\n <div class=\"o-grid__cell o-grid__cell_width-100 o-grid__cell_width-100@medium o-grid__cell_width-100@large\">\n <div class=\"c-form-group\">\n <label class=\"c-label type_varchars\">\n <span class=\"c-label__content\" style=\"width: 500px;white-space: pre-line\">{{translate(param.title)}}</span>\n <input [(ngModel)]=\"param.value\" class=\"c-input c-input_block field_{{config.data.command.label}}\" type=\"text\" maxlength=\"60\">\n </label>\n </div>\n </div>\n </div>\n <div class=\"buttons\">\n <in-component-container>\n <in-button id=\"close\" (click)=\"closeModal()\"\n label=\"{{'Cancel' | translate}}\"\n [name]=\"'Cancel'\"\n ></in-button>\n <in-button id=\"edit\" (click)=\"applySelection()\" type=\"submit\"\n label=\"{{'Apply' | translate}}\"\n [name]=\"'Apply'\"\n color=\"primary\" [disabled]=\"checkSelected()\" [title]=\"'Select an action' | translate\"></in-button>\n </in-component-container>\n </div>\n</div>\n\n<ng-template #spinner><span class=\"c-spinner\">\n <i class=\"fa fa-circle-o-notch fa-spin \"></i>\n</span></ng-template>\n", styles: [".buttons{text-align:right}.buttons p-button{margin-left:8px}.container{padding:12px}:host ::ng-deep .c-select_block{position:relative;left:10px;width:30%}:host ::ng-deep .c-input_small{width:50%}:host ::ng-deep .my-tree{width:100%;display:inline-block;position:relative}:host ::ng-deep .my-tree .c-inputtext{width:500px}\n"] }]
2858
+ }], ctorParameters: function () { return [{ type: i1$5.DynamicDialogRef }, { type: i1$5.DynamicDialogConfig }, { type: i1.TranslateService }, { type: InsparkMessageService }, { type: i1$3.Router }]; } });
2859
+
2860
+ class ContentToggleComponent {
2861
+ constructor(cdr) {
2862
+ this.cdr = cdr;
2863
+ this.defaultOpen = true;
2864
+ this.isOpen = this.defaultOpen;
2865
+ this.icon = null;
2866
+ this.manualArrow = true;
2867
+ this.toggle = new EventEmitter();
2868
+ }
2869
+ ngOnInit() {
2870
+ this.isOpen = this.defaultOpen;
2871
+ }
2872
+ toggleOpen(e) {
2873
+ // Получаем родительский элемент div
2874
+ const parentElement = this.elementButtons.nativeElement;
2875
+ // Проверяем, входит ли цель события в родительский элемент
2876
+ if (!parentElement.contains(e.target) || e.target === parentElement) {
2877
+ this.isOpen = !this.isOpen;
2878
+ this.toggle.emit(this.isOpen);
2879
+ this.cdr.detectChanges();
2880
+ }
2881
+ }
2882
+ }
2883
+ ContentToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContentToggleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2884
+ ContentToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ContentToggleComponent, selector: "in-content-toggle", inputs: { label: "label", defaultOpen: "defaultOpen", isOpen: "isOpen", icon: "icon", manualArrow: "manualArrow" }, outputs: { toggle: "toggle" }, viewQueries: [{ propertyName: "elementButtons", first: true, predicate: ["buttons"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"block\" (click)=\"toggleOpen($event)\" tabIndex=\"1\">\n <span [ngClass]=\"{arrow: true, close: !isOpen}\">\n <in-svg *ngIf=\"manualArrow\" [src]=\"'arrow-down.svg'\" width=\"48px\" height=\"48px\"></in-svg>\n <ng-content select=\"[arrow]\"></ng-content>\n </span>\n <span class=\"label\">\n <in-svg *ngIf=\"icon\" class=\"label-icon\" [src]=\"icon\"></in-svg>\n {{label}}\n </span>\n <span class=\"counter\">\n <ng-content select=\"[header]\"></ng-content>\n </span>\n <div class=\"buttons\" #buttons>\n <ng-content select=\"[buttons]\"></ng-content>\n </div>\n</div>\n<div class=\"container\" *ngIf=\"isOpen\">\n <ng-content select=\"[body]\"></ng-content>\n</div>\n", styles: ["@charset \"UTF-8\";.block{font-size:12px;text-transform:uppercase;cursor:pointer;display:flex;white-space:nowrap}.block .buttons{flex:1;display:flex;justify-content:flex-end;align-items:center;-webkit-user-select:none;user-select:none}.block:hover{background:var(--colorBgLevel2)}.block>span{display:inline-block;margin-right:4px}.block .label{margin-right:8px;display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis}.block .counter{display:flex;align-items:center;padding-right:8px}.block .arrow{margin-right:0}.block .arrow.close{transform:rotate(-90deg)}.label-icon{margin-right:4px;width:16px;height:16px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SvgComponent, selector: "in-svg", inputs: ["size", "width", "height", "src"] }] });
2885
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContentToggleComponent, decorators: [{
2886
+ type: Component,
2887
+ args: [{ selector: 'in-content-toggle', template: "<div class=\"block\" (click)=\"toggleOpen($event)\" tabIndex=\"1\">\n <span [ngClass]=\"{arrow: true, close: !isOpen}\">\n <in-svg *ngIf=\"manualArrow\" [src]=\"'arrow-down.svg'\" width=\"48px\" height=\"48px\"></in-svg>\n <ng-content select=\"[arrow]\"></ng-content>\n </span>\n <span class=\"label\">\n <in-svg *ngIf=\"icon\" class=\"label-icon\" [src]=\"icon\"></in-svg>\n {{label}}\n </span>\n <span class=\"counter\">\n <ng-content select=\"[header]\"></ng-content>\n </span>\n <div class=\"buttons\" #buttons>\n <ng-content select=\"[buttons]\"></ng-content>\n </div>\n</div>\n<div class=\"container\" *ngIf=\"isOpen\">\n <ng-content select=\"[body]\"></ng-content>\n</div>\n", styles: ["@charset \"UTF-8\";.block{font-size:12px;text-transform:uppercase;cursor:pointer;display:flex;white-space:nowrap}.block .buttons{flex:1;display:flex;justify-content:flex-end;align-items:center;-webkit-user-select:none;user-select:none}.block:hover{background:var(--colorBgLevel2)}.block>span{display:inline-block;margin-right:4px}.block .label{margin-right:8px;display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis}.block .counter{display:flex;align-items:center;padding-right:8px}.block .arrow{margin-right:0}.block .arrow.close{transform:rotate(-90deg)}.label-icon{margin-right:4px;width:16px;height:16px}\n"] }]
2888
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { label: [{
2889
+ type: Input
2890
+ }], defaultOpen: [{
2891
+ type: Input
2892
+ }], isOpen: [{
2893
+ type: Input
2894
+ }], icon: [{
2895
+ type: Input
2896
+ }], manualArrow: [{
2897
+ type: Input
2898
+ }], toggle: [{
2899
+ type: Output
2900
+ }], elementButtons: [{
2901
+ type: ViewChild,
2902
+ args: ['buttons', { static: true }]
2903
+ }] } });
2904
+
2905
+ class InputGroupComponent {
2906
+ constructor() {
2907
+ this.name = null;
2908
+ this.measureunit = null;
2909
+ this.autocomplete = true;
2910
+ this.label = null;
2911
+ this.required = false;
2912
+ this.error = null;
2913
+ this.size = 100000;
2914
+ this.maxlength = 100000;
2915
+ this.width = 'auto';
2916
+ this.placeholder = '';
2917
+ this.id = null;
2918
+ this.testId = null;
2919
+ this.opacity = true;
2920
+ this.shadow = false;
2921
+ this.isEditMode = true;
2922
+ this.focus = new EventEmitter();
2923
+ this.blur = new EventEmitter();
2924
+ this.updateValue = new EventEmitter();
2925
+ this.disableEditableView = new EventEmitter();
2926
+ this.validators = [/^-?\d*\.?\d*$/];
2927
+ this.isEditable = true;
2928
+ this.propagateChange = (_) => {
2929
+ };
2930
+ }
2931
+ ngOnInit() {
2932
+ this._value = this.value;
2933
+ }
2934
+ /**
2935
+ * Write form value to the DOM element (model => view)
2936
+ */
2937
+ writeValue(value) {
2938
+ this.value = value ? value : this.name;
2939
+ this._value = this.value;
2940
+ }
2941
+ /**
2942
+ * Write form disabled state to the DOM element (model => view)
2943
+ */
2944
+ setDisabledState(isDisabled) {
2945
+ this.disabled = isDisabled;
2946
+ }
2947
+ /**
2948
+ * Update form when DOM element value changes (view => model)
2949
+ */
2950
+ registerOnChange(fn) {
2951
+ // Store the provided function as an internal method.
2952
+ this.propagateChange = fn;
2953
+ }
2954
+ /**
2955
+ * Update form when DOM element is blurred (view => model)
2956
+ */
2957
+ registerOnTouched(fn) {
2958
+ // Store the provided function as an internal method.
2959
+ this.onTouched = fn;
2960
+ }
2961
+ onChange(_) {
2962
+ this.propagateChange(this.value);
2963
+ }
2964
+ onTouched() {
2965
+ }
2966
+ cancel() {
2967
+ this.isEditable = false;
2968
+ this.disableEditableView.emit(false);
2969
+ this.value = this._value;
2970
+ }
2971
+ numberOnly(event) {
2972
+ if (event.keyCode === 8) {
2973
+ return true;
2974
+ }
2975
+ let test = '';
2976
+ if (this.value) {
2977
+ test = this.value + event.key;
2978
+ }
2979
+ else {
2980
+ test = event.key;
2981
+ }
2982
+ return this.validators[0].test(test);
2983
+ }
2984
+ changeEditMode() {
2985
+ this.isEditable = !this.isEditable;
2986
+ }
2987
+ //
2988
+ // disableEditableView() {
2989
+ // this.isEditableView.emit(false);
2990
+ // }
2991
+ changeValue(value) {
2992
+ this.value = value;
2993
+ this._value = this.value;
2994
+ // this.isEditable = false;
2995
+ this.updateValue.emit(value);
2996
+ this.disableEditableView.emit(false);
2997
+ }
2998
+ isApplyDisabled() {
2999
+ return this.value != null ? false : true;
3000
+ }
3001
+ }
3002
+ InputGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InputGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3003
+ InputGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: InputGroupComponent, selector: "in-input-group", inputs: { name: "name", measureunit: "measureunit", autocomplete: "autocomplete", label: "label", required: "required", error: "error", size: "size", maxlength: "maxlength", width: "width", placeholder: "placeholder", id: "id", testId: "testId", disabled: "disabled", opacity: "opacity", shadow: "shadow", isEditMode: "isEditMode" }, outputs: { focus: "focus", blur: "blur", updateValue: "updateValue", disableEditableView: "disableEditableView" }, providers: [
3004
+ {
3005
+ provide: NG_VALUE_ACCESSOR,
3006
+ useExisting: forwardRef(() => InputGroupComponent),
3007
+ multi: true,
3008
+ }
3009
+ ], ngImport: i0, template: "<label class=\"label type_varchars\">\n <div class=\"ui-inputgroup\">\n <span class=\"ui-inputgroup-addon ui-inputgroup-addon_trancated\" title=\"{{measureunit}}\">\n <span class=\"ui-inputgroup-addon__content\">{{measureunit}}</span>\n </span>\n <input (focus)=\"this.focus.emit($event)\"\n (keydown)=\"numberOnly($event)\"\n [(ngModel)]=\"value\"\n [autocomplete]=\"autocomplete? 'on':'off'\"\n [disabled]=\"disabled || !isEditable\"\n [id]=\"id\"\n [maxlength]=\"30\"\n [ngStyle]=\"{textAlign: 'left', width: '100%'}\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [size]=\"size\"\n class=\"ui-inputtext c-input c-input_large field_{{id}}\"\n type=\"text\"/>\n <in-button (click)=\"changeValue(value)\"\n [color]=\"'primary'\"\n [disabled]=\"isApplyDisabled()\"\n [isIconOnly]=\"true\"\n [label]=\"\"\n [name]=\"'apply'\"\n [size]=\"'tiny'\"\n [title]=\"'Apply' | translate\"\n icon=\"fa fa-check\"></in-button>\n <in-button (click)=\"cancel()\"\n [isIconOnly]=\"true\"\n [label]=\"\"\n [name]=\"'cancel'\"\n [size]=\"'tiny'\"\n [title]=\"'Cancel' | translate\"\n color=\"transparent\"\n icon=\"fa fa-times\"></in-button>\n </div>\n\n</label>\n\n<!--<div *ngIf=\"!disabled\" class=\"button\">-->\n<!-- <in-button (click)=\"changeValue(value)\" [color]=\"'primary'\"-->\n<!-- [disabled]=\"isApplyDisabled()\"-->\n<!-- [isIconOnly]=\"true\"-->\n<!-- [label]=\"\"-->\n<!-- [name]=\"'apply'\"-->\n<!-- [ngStyle]=\"{'font-size':'1px', 'display': 'inline-block', 'line-height': '2px', position: 'relative', left: '70px',-->\n<!-- opacity: !isEditable ? '0' : '1',-->\n<!-- visibility: !isEditable ? 'hidden' : 'visible'-->\n<!-- }\"-->\n<!-- [size]=\"'tiny'\"-->\n<!-- [title]=\"'Apply' | translate\" color=\"transparent\" icon=\"fa fa-check\"></in-button>-->\n<!-- <in-button (click)=\"cancel()\" [isIconOnly]=\"true\" [label]=\"\"-->\n<!-- [name]=\"'cancel'\"-->\n<!-- [ngStyle]=\"{'font-size':'1px', 'display': 'inline-block', 'line-height': '2px', position: 'relative', left: '90px',-->\n<!-- opacity: !isEditable ? '0' : '1',-->\n<!-- visibility: !isEditable ? 'hidden' : 'visible'-->\n<!-- }\"-->\n<!-- [size]=\"'tiny'\"-->\n<!-- [title]=\"'Cancel' | translate\" color=\"transparent\" icon=\"fa fa-times\"></in-button>-->\n<!-- <in-button (click)=\"changeEditMode()\" [isIconOnly]=\"true\" [label]=\"\"-->\n<!-- [ngStyle]=\"{'font-size':'1px',-->\n<!-- 'display': 'inline-block',-->\n<!-- 'line-height': '2px',-->\n<!-- position: 'relative',-->\n<!-- left: '80px',-->\n<!-- top: '2px',-->\n<!-- opacity: isEditable ? '0' : '1',-->\n<!-- visibility: isEditable ? 'hidden' : 'visible'-->\n<!-- }\"-->\n<!-- [size]=\"'tiny'\"-->\n<!-- [title]=\"'Edit' | translate\"-->\n<!-- color=\"transparent\" icon=\"fa fa-pencil\" name=\"edit\"></in-button>-->\n<!--</div>-->\n\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ButtonComponent, selector: "in-button", inputs: ["size", "color", "type", "name", "testId", "label", "icon", "className", "notify", "svg", "width", "link", "isLoading", "shadow", "isIconOnly", "linkType", "linkTarget", "pressed", "disabled", "iconPos", "selectedItem", "menuPlacement", "menuItems"], outputs: ["focus", "blur", "click"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
3010
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InputGroupComponent, decorators: [{
3011
+ type: Component,
3012
+ args: [{ selector: 'in-input-group', providers: [
3013
+ {
3014
+ provide: NG_VALUE_ACCESSOR,
3015
+ useExisting: forwardRef(() => InputGroupComponent),
3016
+ multi: true,
3017
+ }
3018
+ ], template: "<label class=\"label type_varchars\">\n <div class=\"ui-inputgroup\">\n <span class=\"ui-inputgroup-addon ui-inputgroup-addon_trancated\" title=\"{{measureunit}}\">\n <span class=\"ui-inputgroup-addon__content\">{{measureunit}}</span>\n </span>\n <input (focus)=\"this.focus.emit($event)\"\n (keydown)=\"numberOnly($event)\"\n [(ngModel)]=\"value\"\n [autocomplete]=\"autocomplete? 'on':'off'\"\n [disabled]=\"disabled || !isEditable\"\n [id]=\"id\"\n [maxlength]=\"30\"\n [ngStyle]=\"{textAlign: 'left', width: '100%'}\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [size]=\"size\"\n class=\"ui-inputtext c-input c-input_large field_{{id}}\"\n type=\"text\"/>\n <in-button (click)=\"changeValue(value)\"\n [color]=\"'primary'\"\n [disabled]=\"isApplyDisabled()\"\n [isIconOnly]=\"true\"\n [label]=\"\"\n [name]=\"'apply'\"\n [size]=\"'tiny'\"\n [title]=\"'Apply' | translate\"\n icon=\"fa fa-check\"></in-button>\n <in-button (click)=\"cancel()\"\n [isIconOnly]=\"true\"\n [label]=\"\"\n [name]=\"'cancel'\"\n [size]=\"'tiny'\"\n [title]=\"'Cancel' | translate\"\n color=\"transparent\"\n icon=\"fa fa-times\"></in-button>\n </div>\n\n</label>\n\n<!--<div *ngIf=\"!disabled\" class=\"button\">-->\n<!-- <in-button (click)=\"changeValue(value)\" [color]=\"'primary'\"-->\n<!-- [disabled]=\"isApplyDisabled()\"-->\n<!-- [isIconOnly]=\"true\"-->\n<!-- [label]=\"\"-->\n<!-- [name]=\"'apply'\"-->\n<!-- [ngStyle]=\"{'font-size':'1px', 'display': 'inline-block', 'line-height': '2px', position: 'relative', left: '70px',-->\n<!-- opacity: !isEditable ? '0' : '1',-->\n<!-- visibility: !isEditable ? 'hidden' : 'visible'-->\n<!-- }\"-->\n<!-- [size]=\"'tiny'\"-->\n<!-- [title]=\"'Apply' | translate\" color=\"transparent\" icon=\"fa fa-check\"></in-button>-->\n<!-- <in-button (click)=\"cancel()\" [isIconOnly]=\"true\" [label]=\"\"-->\n<!-- [name]=\"'cancel'\"-->\n<!-- [ngStyle]=\"{'font-size':'1px', 'display': 'inline-block', 'line-height': '2px', position: 'relative', left: '90px',-->\n<!-- opacity: !isEditable ? '0' : '1',-->\n<!-- visibility: !isEditable ? 'hidden' : 'visible'-->\n<!-- }\"-->\n<!-- [size]=\"'tiny'\"-->\n<!-- [title]=\"'Cancel' | translate\" color=\"transparent\" icon=\"fa fa-times\"></in-button>-->\n<!-- <in-button (click)=\"changeEditMode()\" [isIconOnly]=\"true\" [label]=\"\"-->\n<!-- [ngStyle]=\"{'font-size':'1px',-->\n<!-- 'display': 'inline-block',-->\n<!-- 'line-height': '2px',-->\n<!-- position: 'relative',-->\n<!-- left: '80px',-->\n<!-- top: '2px',-->\n<!-- opacity: isEditable ? '0' : '1',-->\n<!-- visibility: isEditable ? 'hidden' : 'visible'-->\n<!-- }\"-->\n<!-- [size]=\"'tiny'\"-->\n<!-- [title]=\"'Edit' | translate\"-->\n<!-- color=\"transparent\" icon=\"fa fa-pencil\" name=\"edit\"></in-button>-->\n<!--</div>-->\n\n" }]
3019
+ }], propDecorators: { name: [{
3020
+ type: Input
3021
+ }], measureunit: [{
3022
+ type: Input
3023
+ }], autocomplete: [{
3024
+ type: Input
3025
+ }], label: [{
3026
+ type: Input
3027
+ }], required: [{
3028
+ type: Input
3029
+ }], error: [{
3030
+ type: Input
3031
+ }], size: [{
3032
+ type: Input
3033
+ }], maxlength: [{
3034
+ type: Input
3035
+ }], width: [{
3036
+ type: Input
3037
+ }], placeholder: [{
3038
+ type: Input
3039
+ }], id: [{
3040
+ type: Input
3041
+ }], testId: [{
3042
+ type: Input
3043
+ }], disabled: [{
3044
+ type: Input
3045
+ }], opacity: [{
3046
+ type: Input
3047
+ }], shadow: [{
3048
+ type: Input
3049
+ }], isEditMode: [{
3050
+ type: Input
3051
+ }], focus: [{
3052
+ type: Output
3053
+ }], blur: [{
3054
+ type: Output
3055
+ }], updateValue: [{
3056
+ type: Output
3057
+ }], disableEditableView: [{
3058
+ type: Output
3059
+ }] } });
3060
+
3061
+ class PrimengComponentsModule {
3062
+ }
3063
+ PrimengComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PrimengComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3064
+ PrimengComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PrimengComponentsModule, imports: [DropdownModule], exports: [DropdownModule] });
3065
+ PrimengComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PrimengComponentsModule, imports: [DropdownModule, DropdownModule] });
3066
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PrimengComponentsModule, decorators: [{
3067
+ type: NgModule,
3068
+ args: [{
3069
+ imports: [
3070
+ DropdownModule,
3071
+ ],
3072
+ declarations: [],
3073
+ exports: [
3074
+ DropdownModule
3075
+ ],
3076
+ entryComponents: []
3077
+ }]
3078
+ }] });
3079
+
3080
+ class AutoCompleteComponent extends AutoComplete {
3081
+ constructor() {
3082
+ super(...arguments);
3083
+ this.minLength = 1;
3084
+ this.delay = 300;
3085
+ this.type = 'text';
3086
+ this.autoZIndex = true;
3087
+ this.baseZIndex = 0;
3088
+ this.dropdownIcon = "pi pi-caret-down";
3089
+ this.unique = true;
3090
+ this.completeMethod = new EventEmitter();
3091
+ this.onSelect = new EventEmitter();
3092
+ this.onUnselect = new EventEmitter();
3093
+ this.onFocus = new EventEmitter();
3094
+ this.onBlur = new EventEmitter();
3095
+ this.onDropdownClick = new EventEmitter();
3096
+ this.onClear = new EventEmitter();
3097
+ this.onKeyUp = new EventEmitter();
3098
+ this.scrollHeight = '200px';
3099
+ this.dropdownMode = 'blank';
3100
+ this.immutable = true;
3101
+ this.showTransitionOptions = '225ms ease-out';
3102
+ this.hideTransitionOptions = '195ms ease-in';
3103
+ this.autocomplete = 'off';
3104
+ }
3105
+ ngAfterContentInit() {
3106
+ this.templates.forEach((item) => {
3107
+ switch (item.getType()) {
3108
+ case 'item':
3109
+ this.itemTemplate = item.template;
3110
+ break;
3111
+ case 'selectedItem':
3112
+ this.selectedItemTemplate = item.template;
3113
+ break;
3114
+ default:
3115
+ this.itemTemplate = item.template;
3116
+ break;
3117
+ }
3118
+ });
3119
+ }
3120
+ }
3121
+ AutoCompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3122
+ AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: AutoCompleteComponent, selector: "in-autocomplete", inputs: { minLength: "minLength", delay: "delay", style: "style", panelStyle: "panelStyle", styleClass: "styleClass", panelStyleClass: "panelStyleClass", inputStyle: "inputStyle", inputId: "inputId", inputStyleClass: "inputStyleClass", placeholder: "placeholder", readonly: "readonly", disabled: "disabled", maxlength: "maxlength", name: "name", required: "required", size: "size", appendTo: "appendTo", autoHighlight: "autoHighlight", forceSelection: "forceSelection", type: "type", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", dropdownIcon: "dropdownIcon", unique: "unique", field: "field", scrollHeight: "scrollHeight", dropdown: "dropdown", dropdownMode: "dropdownMode", multiple: "multiple", tabindex: "tabindex", dataKey: "dataKey", emptyMessage: "emptyMessage", immutable: "immutable", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", autofocus: "autofocus", autocomplete: "autocomplete" }, outputs: { completeMethod: "completeMethod", onSelect: "onSelect", onUnselect: "onUnselect", onFocus: "onFocus", onBlur: "onBlur", onDropdownClick: "onDropdownClick", onClear: "onClear", onKeyUp: "onKeyUp" }, providers: [{
3123
+ provide: NG_VALUE_ACCESSOR,
3124
+ useExisting: forwardRef(() => AutoCompleteComponent),
3125
+ multi: true
3126
+ }], queries: [{ propertyName: "templates", predicate: InsparkTemplate }], viewQueries: [{ propertyName: "inputEL", first: true, predicate: ["in"], descendants: true }, { propertyName: "multiInputEL", first: true, predicate: ["multiIn"], descendants: true }, { propertyName: "multiContainerEL", first: true, predicate: ["multiContainer"], descendants: true }, { propertyName: "dropdownButton", first: true, predicate: ["ddBtn"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span #container [ngClass]=\"{ 'p-autocomplete p-component': true, 'p-autocomplete-dd': dropdown, 'p-autocomplete-multiple': multiple }\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <input\n pAutoFocus\n [autofocus]=\"autofocus\"\n *ngIf=\"!multiple\"\n #in\n [attr.type]=\"type\"\n [attr.id]=\"inputId\"\n [ngStyle]=\"inputStyle\"\n [class]=\"inputStyleClass\"\n [autocomplete]=\"autocomplete\"\n [attr.required]=\"required\"\n [attr.name]=\"name\"\n class=\"p-autocomplete-input p-inputtext p-component\"\n [ngClass]=\"{ 'p-autocomplete-dd-input': dropdown, 'p-disabled': disabled }\"\n [value]=\"inputFieldValue\"\n aria-autocomplete=\"list\"\n role=\"searchbox\"\n (click)=\"onInputClick($event)\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeydown($event)\"\n (keyup)=\"onKeyup($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onInputChange($event)\"\n (paste)=\"onInputPaste($event)\"\n [attr.placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [attr.maxlength]=\"maxlength\"\n [attr.tabindex]=\"tabindex\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n />\n <i *ngIf=\"!multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\n <i *ngIf=\"multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\n <ul *ngIf=\"multiple\" #multiContainer class=\"p-autocomplete-multiple-container p-component p-inputtext\" [ngClass]=\"{ 'p-disabled': disabled, 'p-focus': focus }\" (click)=\"multiIn.focus()\">\n <li #token *ngFor=\"let val of value\" class=\"p-autocomplete-token\">\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: val }\"></ng-container>\n <span *ngIf=\"!selectedItemTemplate\" class=\"p-autocomplete-token-label\">{{ resolveFieldData(val) }}</span>\n <span class=\"p-autocomplete-token-icon pi pi-times-circle\" (click)=\"removeItem(token)\" *ngIf=\"!disabled && !readonly\"></span>\n </li>\n <li class=\"p-autocomplete-input-token\">\n <input\n pAutoFocus\n [autofocus]=\"autofocus\"\n #multiIn\n [attr.type]=\"type\"\n [attr.id]=\"inputId\"\n [disabled]=\"disabled\"\n [attr.placeholder]=\"value && value.length ? null : placeholder\"\n [attr.tabindex]=\"tabindex\"\n [attr.maxlength]=\"maxlength\"\n (input)=\"onInput($event)\"\n (click)=\"onInputClick($event)\"\n (keydown)=\"onKeydown($event)\"\n [readonly]=\"readonly\"\n (keyup)=\"onKeyup($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onInputChange($event)\"\n (paste)=\"onInputPaste($event)\"\n [autocomplete]=\"autocomplete\"\n [ngStyle]=\"inputStyle\"\n [class]=\"inputStyleClass\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"listId\"\n role=\"searchbox\"\n [attr.aria-expanded]=\"overlayVisible\"\n aria-haspopup=\"true\"\n [attr.aria-activedescendant]=\"'p-highlighted-option'\"\n />\n </li>\n </ul>\n <i *ngIf=\"loading\" class=\"p-autocomplete-loader pi pi-spinner pi-spin\"></i\n ><button\n #ddBtn\n type=\"button\"\n pButton\n [icon]=\"dropdownIcon\"\n [attr.aria-label]=\"dropdownAriaLabel\"\n class=\"p-autocomplete-dropdown\"\n [disabled]=\"disabled\"\n pRipple\n (click)=\"handleDropdownClick($event)\"\n *ngIf=\"dropdown\"\n [attr.tabindex]=\"tabindex\"\n></button>\n <div\n #panel\n *ngIf=\"overlayVisible\"\n (click)=\"onOverlayClick($event)\"\n [ngClass]=\"['p-autocomplete-panel p-component']\"\n [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight\"\n [ngStyle]=\"panelStyle\"\n [class]=\"panelStyleClass\"\n [@overlayAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\n >\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <p-scroller\n *ngIf=\"virtualScroll\"\n #scroller\n [items]=\"suggestions\"\n [style]=\"{ height: scrollHeight }\"\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\n [autoSize]=\"true\"\n [lazy]=\"lazy\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions\"\n >\n <ng-template pTemplate=\"content\" let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n <ng-container *ngIf=\"loaderTemplate\">\n <ng-template pTemplate=\"loader\" let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n </ng-container>\n </p-scroller>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: suggestions, options: {} }\"></ng-container>\n </ng-container>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items role=\"listbox\" [attr.id]=\"listId\" class=\"p-autocomplete-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"items\">\n <li class=\"p-autocomplete-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || 'empty' }}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup) }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: items }\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-suggestionsToDisplay>\n <li\n role=\"option\"\n *ngFor=\"let option of suggestionsToDisplay; let idx = index\"\n class=\"p-autocomplete-item\"\n pRipple\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\n [ngClass]=\"{ 'p-highlight': option === highlightOption }\"\n [id]=\"highlightOption == option ? 'p-highlighted-option' : ''\"\n (click)=\"selectItem(option)\"\n >\n <span *ngIf=\"!itemTemplate\">{{ resolveFieldData(option) }}</span>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: option, index: scrollerOptions.getOptions ? scrollerOptions.getOptions(idx) : idx }\"></ng-container>\n </li>\n </ng-template>\n <li *ngIf=\"noResults && showEmptyMessage\" class=\"p-autocomplete-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <ng-container *ngIf=\"!emptyTemplate\">\n {{ emptyMessageLabel }}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </li>\n </ul>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </span>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i6.Scroller, selector: "p-scroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "directive", type: i4.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }], animations: [trigger('overlayAnimation', [transition(':enter', [style({
3127
+ opacity: 0,
3128
+ transform: 'scaleY(0.8)'
3129
+ }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({ opacity: 0 }))])])] });
3130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponent, decorators: [{
3131
+ type: Component,
3132
+ args: [{ selector: 'in-autocomplete', animations: [trigger('overlayAnimation', [transition(':enter', [style({
3133
+ opacity: 0,
3134
+ transform: 'scaleY(0.8)'
3135
+ }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({ opacity: 0 }))])])], providers: [{
3136
+ provide: NG_VALUE_ACCESSOR,
3137
+ useExisting: forwardRef(() => AutoCompleteComponent),
3138
+ multi: true
3139
+ }], template: "<span #container [ngClass]=\"{ 'p-autocomplete p-component': true, 'p-autocomplete-dd': dropdown, 'p-autocomplete-multiple': multiple }\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <input\n pAutoFocus\n [autofocus]=\"autofocus\"\n *ngIf=\"!multiple\"\n #in\n [attr.type]=\"type\"\n [attr.id]=\"inputId\"\n [ngStyle]=\"inputStyle\"\n [class]=\"inputStyleClass\"\n [autocomplete]=\"autocomplete\"\n [attr.required]=\"required\"\n [attr.name]=\"name\"\n class=\"p-autocomplete-input p-inputtext p-component\"\n [ngClass]=\"{ 'p-autocomplete-dd-input': dropdown, 'p-disabled': disabled }\"\n [value]=\"inputFieldValue\"\n aria-autocomplete=\"list\"\n role=\"searchbox\"\n (click)=\"onInputClick($event)\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeydown($event)\"\n (keyup)=\"onKeyup($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onInputChange($event)\"\n (paste)=\"onInputPaste($event)\"\n [attr.placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [attr.maxlength]=\"maxlength\"\n [attr.tabindex]=\"tabindex\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n />\n <i *ngIf=\"!multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\n <i *ngIf=\"multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\n <ul *ngIf=\"multiple\" #multiContainer class=\"p-autocomplete-multiple-container p-component p-inputtext\" [ngClass]=\"{ 'p-disabled': disabled, 'p-focus': focus }\" (click)=\"multiIn.focus()\">\n <li #token *ngFor=\"let val of value\" class=\"p-autocomplete-token\">\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: val }\"></ng-container>\n <span *ngIf=\"!selectedItemTemplate\" class=\"p-autocomplete-token-label\">{{ resolveFieldData(val) }}</span>\n <span class=\"p-autocomplete-token-icon pi pi-times-circle\" (click)=\"removeItem(token)\" *ngIf=\"!disabled && !readonly\"></span>\n </li>\n <li class=\"p-autocomplete-input-token\">\n <input\n pAutoFocus\n [autofocus]=\"autofocus\"\n #multiIn\n [attr.type]=\"type\"\n [attr.id]=\"inputId\"\n [disabled]=\"disabled\"\n [attr.placeholder]=\"value && value.length ? null : placeholder\"\n [attr.tabindex]=\"tabindex\"\n [attr.maxlength]=\"maxlength\"\n (input)=\"onInput($event)\"\n (click)=\"onInputClick($event)\"\n (keydown)=\"onKeydown($event)\"\n [readonly]=\"readonly\"\n (keyup)=\"onKeyup($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onInputChange($event)\"\n (paste)=\"onInputPaste($event)\"\n [autocomplete]=\"autocomplete\"\n [ngStyle]=\"inputStyle\"\n [class]=\"inputStyleClass\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"listId\"\n role=\"searchbox\"\n [attr.aria-expanded]=\"overlayVisible\"\n aria-haspopup=\"true\"\n [attr.aria-activedescendant]=\"'p-highlighted-option'\"\n />\n </li>\n </ul>\n <i *ngIf=\"loading\" class=\"p-autocomplete-loader pi pi-spinner pi-spin\"></i\n ><button\n #ddBtn\n type=\"button\"\n pButton\n [icon]=\"dropdownIcon\"\n [attr.aria-label]=\"dropdownAriaLabel\"\n class=\"p-autocomplete-dropdown\"\n [disabled]=\"disabled\"\n pRipple\n (click)=\"handleDropdownClick($event)\"\n *ngIf=\"dropdown\"\n [attr.tabindex]=\"tabindex\"\n></button>\n <div\n #panel\n *ngIf=\"overlayVisible\"\n (click)=\"onOverlayClick($event)\"\n [ngClass]=\"['p-autocomplete-panel p-component']\"\n [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight\"\n [ngStyle]=\"panelStyle\"\n [class]=\"panelStyleClass\"\n [@overlayAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\n >\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <p-scroller\n *ngIf=\"virtualScroll\"\n #scroller\n [items]=\"suggestions\"\n [style]=\"{ height: scrollHeight }\"\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\n [autoSize]=\"true\"\n [lazy]=\"lazy\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions\"\n >\n <ng-template pTemplate=\"content\" let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n <ng-container *ngIf=\"loaderTemplate\">\n <ng-template pTemplate=\"loader\" let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n </ng-container>\n </p-scroller>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: suggestions, options: {} }\"></ng-container>\n </ng-container>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items role=\"listbox\" [attr.id]=\"listId\" class=\"p-autocomplete-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"items\">\n <li class=\"p-autocomplete-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || 'empty' }}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup) }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: items }\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-suggestionsToDisplay>\n <li\n role=\"option\"\n *ngFor=\"let option of suggestionsToDisplay; let idx = index\"\n class=\"p-autocomplete-item\"\n pRipple\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\n [ngClass]=\"{ 'p-highlight': option === highlightOption }\"\n [id]=\"highlightOption == option ? 'p-highlighted-option' : ''\"\n (click)=\"selectItem(option)\"\n >\n <span *ngIf=\"!itemTemplate\">{{ resolveFieldData(option) }}</span>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: option, index: scrollerOptions.getOptions ? scrollerOptions.getOptions(idx) : idx }\"></ng-container>\n </li>\n </ng-template>\n <li *ngIf=\"noResults && showEmptyMessage\" class=\"p-autocomplete-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <ng-container *ngIf=\"!emptyTemplate\">\n {{ emptyMessageLabel }}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </li>\n </ul>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </span>\n" }]
3140
+ }], propDecorators: { minLength: [{
3141
+ type: Input
3142
+ }], delay: [{
3143
+ type: Input
3144
+ }], style: [{
3145
+ type: Input
3146
+ }], panelStyle: [{
3147
+ type: Input
3148
+ }], styleClass: [{
3149
+ type: Input
3150
+ }], panelStyleClass: [{
3151
+ type: Input
3152
+ }], inputStyle: [{
3153
+ type: Input
3154
+ }], inputId: [{
3155
+ type: Input
3156
+ }], inputStyleClass: [{
3157
+ type: Input
3158
+ }], placeholder: [{
3159
+ type: Input
3160
+ }], readonly: [{
3161
+ type: Input
3162
+ }], disabled: [{
3163
+ type: Input
3164
+ }], maxlength: [{
3165
+ type: Input
3166
+ }], name: [{
3167
+ type: Input
3168
+ }], required: [{
3169
+ type: Input
3170
+ }], size: [{
3171
+ type: Input
3172
+ }], appendTo: [{
3173
+ type: Input
3174
+ }], autoHighlight: [{
3175
+ type: Input
3176
+ }], forceSelection: [{
3177
+ type: Input
3178
+ }], type: [{
3179
+ type: Input
3180
+ }], autoZIndex: [{
3181
+ type: Input
3182
+ }], baseZIndex: [{
3183
+ type: Input
3184
+ }], ariaLabel: [{
3185
+ type: Input
3186
+ }], ariaLabelledBy: [{
3187
+ type: Input
3188
+ }], dropdownIcon: [{
3189
+ type: Input
3190
+ }], unique: [{
3191
+ type: Input
3192
+ }], completeMethod: [{
3193
+ type: Output
3194
+ }], onSelect: [{
3195
+ type: Output
3196
+ }], onUnselect: [{
3197
+ type: Output
3198
+ }], onFocus: [{
3199
+ type: Output
3200
+ }], onBlur: [{
3201
+ type: Output
3202
+ }], onDropdownClick: [{
3203
+ type: Output
3204
+ }], onClear: [{
3205
+ type: Output
3206
+ }], onKeyUp: [{
3207
+ type: Output
3208
+ }], field: [{
3209
+ type: Input
3210
+ }], scrollHeight: [{
3211
+ type: Input
3212
+ }], dropdown: [{
3213
+ type: Input
3214
+ }], dropdownMode: [{
3215
+ type: Input
3216
+ }], multiple: [{
3217
+ type: Input
3218
+ }], tabindex: [{
3219
+ type: Input
3220
+ }], dataKey: [{
3221
+ type: Input
3222
+ }], emptyMessage: [{
3223
+ type: Input
3224
+ }], immutable: [{
3225
+ type: Input
3226
+ }], showTransitionOptions: [{
3227
+ type: Input
3228
+ }], hideTransitionOptions: [{
3229
+ type: Input
3230
+ }], autofocus: [{
3231
+ type: Input
3232
+ }], autocomplete: [{
3233
+ type: Input
3234
+ }], inputEL: [{
3235
+ type: ViewChild,
3236
+ args: ['in', { static: false }]
3237
+ }], multiInputEL: [{
3238
+ type: ViewChild,
3239
+ args: ['multiIn', { static: false }]
3240
+ }], multiContainerEL: [{
3241
+ type: ViewChild,
3242
+ args: ['multiContainer', { static: false }]
3243
+ }], dropdownButton: [{
3244
+ type: ViewChild,
3245
+ args: ['ddBtn', { static: false }]
3246
+ }], templates: [{
3247
+ type: ContentChildren,
3248
+ args: [InsparkTemplate]
3249
+ }] } });
3250
+ class AutoCompleteComponentModule {
3251
+ }
3252
+ AutoCompleteComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3253
+ AutoCompleteComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponentModule, declarations: [AutoCompleteComponent], imports: [TooltipModule,
3254
+ ScrollingModule,
3255
+ CommonModule,
3256
+ PrimengComponentsModule,
3257
+ ButtonModule], exports: [AutoCompleteComponent] });
3258
+ AutoCompleteComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponentModule, imports: [TooltipModule,
3259
+ ScrollingModule,
3260
+ CommonModule,
3261
+ PrimengComponentsModule,
3262
+ ButtonModule] });
3263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponentModule, decorators: [{
3264
+ type: NgModule,
3265
+ args: [{
3266
+ declarations: [
3267
+ AutoCompleteComponent,
3268
+ ],
3269
+ imports: [
3270
+ TooltipModule,
3271
+ ScrollingModule,
3272
+ CommonModule,
3273
+ PrimengComponentsModule,
3274
+ ButtonModule,
3275
+ ],
3276
+ exports: [
3277
+ AutoCompleteComponent,
3278
+ ],
3279
+ entryComponents: [
3280
+ AutoCompleteComponent,
3281
+ ]
3282
+ }]
3283
+ }] });
3284
+
3285
+ class PieService {
3286
+ constructor() {
3287
+ this.colorArray = ['-1', 0, 1, 2, 3, 4]; // Цвета и последовательность в которой они будут отображены
3288
+ this.colors = {
3289
+ 1: '#31ac51',
3290
+ 2: '#EE9946',
3291
+ 3: '#F95C5D',
3292
+ 4: '#a20000',
3293
+ 0: '#7E8087',
3294
+ '-1': '#85B3CB'
3295
+ };
3296
+ }
3297
+ create(statuses, size) {
3298
+ const data = [];
3299
+ let allCount = 0;
3300
+ this.colorArray.forEach((color) => {
3301
+ allCount += statuses[color] || 0;
3302
+ });
3303
+ let cumulativePercent = 0;
3304
+ this.colorArray.forEach((color) => {
3305
+ const count = statuses[color];
3306
+ if (!count) {
3307
+ return;
3308
+ }
3309
+ const percent = count / allCount;
3310
+ const [startX, startY] = this.getCoordinatesForPercent(size, cumulativePercent);
3311
+ cumulativePercent += percent;
3312
+ const [endX, endY] = this.getCoordinatesForPercent(size, cumulativePercent);
3313
+ const largeArcFlag = percent > .5 ? 1 : 0;
3314
+ const pathData = [
3315
+ `M ${startX} ${startY}`,
3316
+ `A 20 20 0 ${largeArcFlag} 1 ${endX} ${endY}`,
3317
+ `L 0 0`, // Line
3318
+ ].join(' ');
3319
+ data.push({
3320
+ path: pathData,
3321
+ color: this.colors[color + '']
3322
+ });
3323
+ });
3324
+ return data;
3325
+ }
3326
+ getCoordinatesForPercent(size, percent) {
3327
+ const x = size / 2 * Math.cos(2 * Math.PI * percent);
3328
+ const y = size / 2 * Math.sin(2 * Math.PI * percent);
3329
+ return [x, y];
3330
+ }
3331
+ }
3332
+ PieService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PieService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3333
+ PieService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PieService });
3334
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PieService, decorators: [{
3335
+ type: Injectable
3336
+ }] });
3337
+
3338
+ // @ts-nocheck
3339
+ class ObjectPieComponent {
3340
+ constructor(translate, pieService, cdr) {
3341
+ this.translate = translate;
3342
+ this.pieService = pieService;
3343
+ this.cdr = cdr;
3344
+ this.count = 30;
3345
+ this.size = 40;
3346
+ this.statuses = {
3347
+ '-1': 20,
3348
+ 0: 4,
3349
+ 1: 3,
3350
+ 2: 4,
3351
+ 3: 5
3352
+ };
3353
+ }
3354
+ ngOnInit() {
3355
+ this.data = this.pieService.create(this.statuses, this.size);
3356
+ }
3357
+ ngOnDestroy() {
3358
+ }
3359
+ ngOnChanges(changes) {
3360
+ }
3361
+ }
3362
+ ObjectPieComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectPieComponent, deps: [{ token: i1.TranslateService }, { token: PieService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3363
+ ObjectPieComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ObjectPieComponent, selector: "in-pie", inputs: { count: "count", size: "size", statuses: "statuses" }, providers: [], usesOnChanges: true, ngImport: i0, template: "<div class=\"pie-block\">\n <svg viewBox=\"-20 -20 40 40\">\n <defs>\n <clipPath id=\"cut-off-bottom\">\n <circle cx=\"0\" cy=\"0\" r=\"12\"></circle>\n </clipPath>\n </defs>\n <mask id=\"re8-clip\">\n <circle cx=\"0\" cy=\"0\" r=\"20\" fill=\"white\"></circle>\n <circle cx=\"0\" cy=\"0\" r=\"14\" fill=\"black\"></circle>\n </mask>\n <path *ngFor=\"let path of data\" [attr.d]=\"path.path\" [attr.fill]=\"path.color\" mask=\"url(#re8-clip)\"></path>\n <text x=\"0\" y=\"4\" text-anchor=\"middle\" fill=\"currentColor\">{{count}}</text>\n </svg>\n</div>\n\n\n", styles: [".pie-block{width:40px;height:40px;color:var(--text-color)}.pie-block text{width:20px;height:20px;background:var(--colorBgLevel2);font-size:11px}.pie-block svg{width:40px;height:40px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3364
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectPieComponent, decorators: [{
3365
+ type: Component,
3366
+ args: [{ selector: 'in-pie', encapsulation: ViewEncapsulation.Emulated, providers: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"pie-block\">\n <svg viewBox=\"-20 -20 40 40\">\n <defs>\n <clipPath id=\"cut-off-bottom\">\n <circle cx=\"0\" cy=\"0\" r=\"12\"></circle>\n </clipPath>\n </defs>\n <mask id=\"re8-clip\">\n <circle cx=\"0\" cy=\"0\" r=\"20\" fill=\"white\"></circle>\n <circle cx=\"0\" cy=\"0\" r=\"14\" fill=\"black\"></circle>\n </mask>\n <path *ngFor=\"let path of data\" [attr.d]=\"path.path\" [attr.fill]=\"path.color\" mask=\"url(#re8-clip)\"></path>\n <text x=\"0\" y=\"4\" text-anchor=\"middle\" fill=\"currentColor\">{{count}}</text>\n </svg>\n</div>\n\n\n", styles: [".pie-block{width:40px;height:40px;color:var(--text-color)}.pie-block text{width:20px;height:20px;background:var(--colorBgLevel2);font-size:11px}.pie-block svg{width:40px;height:40px}\n"] }]
3367
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: PieService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { count: [{
3368
+ type: Input
3369
+ }], size: [{
3370
+ type: Input
3371
+ }], statuses: [{
3372
+ type: Input
3373
+ }] } });
3374
+
3375
+ class InsparkComponentsModule {
3376
+ }
3377
+ InsparkComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3378
+ InsparkComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: InsparkComponentsModule, declarations: [ButtonComponent,
3379
+ InputTextComponent,
3380
+ TextareaComponent,
3381
+ PanelComponent,
3382
+ ComponentContainerComponent,
3383
+ CheckboxComponent,
3384
+ EmptyComponent,
3385
+ PreloaderComponent,
3386
+ InsparkStickyComponent,
3387
+ InsparkHeaderComponent,
3388
+ ToolbarComponent,
3389
+ BreadcrumbComponent,
3390
+ FileComponent,
3391
+ SelectButtonComponent,
3392
+ ModalInputTextComponent,
3393
+ SelectListComponent,
3394
+ StatusCircleComponent,
3395
+ SvgComponent,
3396
+ SwitcherComponent,
3397
+ InlineMessageComponent,
3398
+ LinkComponent,
3399
+ InsparkTemplate,
3400
+ TooltipComponent,
3401
+ RadiobuttonComponent,
3402
+ ObjectTreeComponent,
3403
+ ContentToggleComponent,
3404
+ InputGroupComponent,
3405
+ ObjectPieComponent], imports: [AutoCompleteComponentModule,
3406
+ FormsModule,
3407
+ ReactiveFormsModule,
3408
+ CommonModule,
3409
+ DropdownComponentModule,
3410
+ TableComponentModule,
3411
+ TreeTableComponentModule,
3412
+ RadioButtonModule,
3413
+ TranslateModule,
3414
+ MenuModule,
3415
+ SliderModule,
3416
+ NgbModule, i2$1.InlineSVGModule, BreadcrumbModule,
3417
+ TreeModule,
3418
+ SharedModule], exports: [ButtonComponent,
3419
+ InputTextComponent,
3420
+ TextareaComponent,
3421
+ PanelComponent,
3422
+ ComponentContainerComponent,
3423
+ CheckboxComponent,
3424
+ DropdownComponentModule,
3425
+ TableComponentModule,
3426
+ TreeTableComponentModule,
3427
+ EmptyComponent,
3428
+ PreloaderComponent,
3429
+ InsparkStickyComponent,
3430
+ InsparkHeaderComponent,
3431
+ ToolbarComponent,
3432
+ BreadcrumbComponent,
3433
+ FileComponent,
3434
+ SelectButtonComponent,
3435
+ ModalInputTextComponent,
3436
+ SelectListComponent,
3437
+ StatusCircleComponent,
3438
+ SvgComponent,
3439
+ SwitcherComponent,
3440
+ MenuModule,
3441
+ SliderModule,
3442
+ InlineMessageComponent,
3443
+ LinkComponent,
3444
+ InsparkTemplate,
3445
+ NgbModule,
3446
+ TooltipComponent,
3447
+ RadiobuttonComponent,
3448
+ ObjectTreeComponent,
3449
+ ContentToggleComponent,
3450
+ ObjectPieComponent,
3451
+ InputGroupComponent,
3452
+ AutoCompleteComponentModule] });
3453
+ InsparkComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkComponentsModule, imports: [AutoCompleteComponentModule,
3454
+ FormsModule,
3455
+ ReactiveFormsModule,
3456
+ CommonModule,
3457
+ DropdownComponentModule,
3458
+ TableComponentModule,
3459
+ TreeTableComponentModule,
3460
+ RadioButtonModule,
3461
+ TranslateModule,
3462
+ MenuModule,
3463
+ SliderModule,
3464
+ NgbModule,
3465
+ InlineSVGModule.forRoot({ baseUrl: 'assets/images/' }),
3466
+ BreadcrumbModule,
3467
+ TreeModule,
3468
+ SharedModule, DropdownComponentModule,
3469
+ TableComponentModule,
3470
+ TreeTableComponentModule,
3471
+ MenuModule,
3472
+ SliderModule,
3473
+ NgbModule,
3474
+ AutoCompleteComponentModule] });
3475
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkComponentsModule, decorators: [{
3476
+ type: NgModule,
3477
+ args: [{
3478
+ imports: [
3479
+ AutoCompleteComponentModule,
3480
+ FormsModule,
3481
+ ReactiveFormsModule,
3482
+ CommonModule,
3483
+ DropdownComponentModule,
3484
+ TableComponentModule,
3485
+ TreeTableComponentModule,
3486
+ RadioButtonModule,
3487
+ TranslateModule,
3488
+ MenuModule,
3489
+ SliderModule,
3490
+ NgbModule,
3491
+ InlineSVGModule.forRoot({ baseUrl: 'assets/images/' }),
3492
+ BreadcrumbModule,
3493
+ TreeModule,
3494
+ SharedModule
3495
+ ],
3496
+ declarations: [
3497
+ ButtonComponent,
3498
+ InputTextComponent,
3499
+ TextareaComponent,
3500
+ PanelComponent,
3501
+ ComponentContainerComponent,
3502
+ CheckboxComponent,
3503
+ EmptyComponent,
3504
+ PreloaderComponent,
3505
+ InsparkStickyComponent,
3506
+ InsparkHeaderComponent,
3507
+ ToolbarComponent,
3508
+ BreadcrumbComponent,
3509
+ FileComponent,
3510
+ SelectButtonComponent,
3511
+ ModalInputTextComponent,
3512
+ SelectListComponent,
3513
+ StatusCircleComponent,
3514
+ SvgComponent,
3515
+ SwitcherComponent,
3516
+ InlineMessageComponent,
3517
+ LinkComponent,
3518
+ InsparkTemplate,
3519
+ TooltipComponent,
3520
+ RadiobuttonComponent,
3521
+ ObjectTreeComponent,
3522
+ ContentToggleComponent,
3523
+ InputGroupComponent,
3524
+ ObjectPieComponent,
3525
+ ],
3526
+ exports: [
3527
+ ButtonComponent,
3528
+ InputTextComponent,
3529
+ TextareaComponent,
3530
+ PanelComponent,
3531
+ ComponentContainerComponent,
3532
+ CheckboxComponent,
3533
+ DropdownComponentModule,
3534
+ TableComponentModule,
3535
+ TreeTableComponentModule,
3536
+ EmptyComponent,
3537
+ PreloaderComponent,
3538
+ InsparkStickyComponent,
3539
+ InsparkHeaderComponent,
3540
+ ToolbarComponent,
3541
+ BreadcrumbComponent,
3542
+ FileComponent,
3543
+ SelectButtonComponent,
3544
+ ModalInputTextComponent,
3545
+ SelectListComponent,
3546
+ StatusCircleComponent,
3547
+ SvgComponent,
3548
+ SwitcherComponent,
3549
+ MenuModule,
3550
+ SliderModule,
3551
+ InlineMessageComponent,
3552
+ LinkComponent,
3553
+ InsparkTemplate,
3554
+ NgbModule,
3555
+ TooltipComponent,
3556
+ RadiobuttonComponent,
3557
+ ObjectTreeComponent,
3558
+ ContentToggleComponent,
3559
+ ObjectPieComponent,
3560
+ InputGroupComponent,
3561
+ AutoCompleteComponentModule
3562
+ ],
3563
+ entryComponents: [SelectListComponent, ModalInputTextComponent],
3564
+ schemas: [NO_ERRORS_SCHEMA]
3565
+ }]
3566
+ }] });
3567
+
3568
+ /*
3569
+ * Public API Surface of inspark-components
3570
+ */
3571
+
3572
+ /**
3573
+ * Generated bundle index. Do not edit.
3574
+ */
3575
+
3576
+ export { AutoCompleteComponent, AutoCompleteComponentModule, BreadcrumbComponent, ButtonComponent, CheckboxComponent, CommunicationService, ComponentContainerComponent, ContentToggleComponent, DROPDOWN_VALUE_ACCESSOR, DropdownComponent, DropdownComponentModule, DropdownItem, EmptyComponent, FileComponent, FormatNumToTime, InDate, InlineMessageComponent, InputGroupComponent, InputTextComponent, InsparkComponentsModule, InsparkDialogService, InsparkHeaderComponent, InsparkMessageService, InsparkStickyComponent, InsparkTemplate, LinkComponent, ModalInputTextComponent, NumToShortWeekdayPipe, ObjectPieComponent, ObjectTreeComponent, PanelComponent, PipesModule, PreloaderComponent, PropertyValuePipe, RadiobuttonComponent, SafeUrlPipe, SelectButtonComponent, SelectListComponent, ShortToFullWeekdayPipe, SortByPipe, StatusCircleComponent, SvgComponent, SwitcherComponent, TableColumnsMultiselectComponent, TableComponent, TableComponentModule, TextareaComponent, ToolbarComponent, TooltipComponent, TreeTableComponent, TreeTableComponentModule, formatNumberToTime, numToShortWeekday, parseIntervalToMinutes, shortToFullWeekday, shortWeekdayToNum, tableFactory };
3577
+ //# sourceMappingURL=inspark-inspark-components.mjs.map