@inspark/inspark-components 1.0.44 → 14.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,3574 @@
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 { _ } from '@biesbjerg/ngx-translate-extract/dist/utils/utils';
8
+ import * as i2 from 'primeng/api';
9
+ import { SharedModule } from 'primeng/api';
10
+ export { SharedModule } from 'primeng/api';
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(Object.assign(Object.assign({}, options), { message: res }));
380
+ });
381
+ }
382
+ success(message) {
383
+ this.translate.get(gettext('Toast_Success_Caption')).subscribe((title) => {
384
+ this.translate.get(message).subscribe((res) => {
385
+ this.messageService.add({ severity: 'success', summary: title, detail: res });
386
+ });
387
+ });
388
+ }
389
+ message(message) {
390
+ this.translate.get(gettext('Toast_Message_Caption')).subscribe((title) => {
391
+ this.translate.get(message).subscribe((res) => {
392
+ this.messageService.add({ severity: 'info', summary: title, detail: res });
393
+ });
394
+ });
395
+ }
396
+ /*TODO: костыль перевода, - чтобы избежать переполнения стека изза рекурсии*/
397
+ error(message) {
398
+ const title = this.getToastErrorTitleLocalized();
399
+ // this.translate.get(gettext('Toast_Error_Caption')).subscribe((title: string) => {
400
+ this.translate.get(message).subscribe((res) => {
401
+ this.messageService.add({ severity: 'error', summary: title, detail: res });
402
+ });
403
+ // });
404
+ }
405
+ getToastErrorTitleLocalized() {
406
+ const ilocale = localStorage.getItem('ilocale_');
407
+ if (ilocale && ilocale.replace(/"/g, '') === 'en-US') {
408
+ return 'Error';
409
+ }
410
+ return 'Ошибка';
411
+ /*
412
+ if (ilocale && (this.localeService.locale$.getValue() === undefined || this.localeService.locale$.getValue().serverShort !== ilocale.replace(/"/g, ''))) {
413
+ this.localeService.setLocale(ilocale.replace(/"/g, ''));
414
+ this.translate.use(this.localeService.locale$.getValue().short);
415
+ }
416
+ */
417
+ }
418
+ }
419
+ 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 });
420
+ InsparkMessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkMessageService });
421
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkMessageService, decorators: [{
422
+ type: Injectable
423
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.MessageService }, { type: i2.ConfirmationService }]; } });
424
+
425
+ class InsparkDialogService {
426
+ constructor(componentFactoryResolver, appRef, injector) {
427
+ this.componentFactoryResolver = componentFactoryResolver;
428
+ this.appRef = appRef;
429
+ this.injector = injector;
430
+ }
431
+ open(componentType, config) {
432
+ const dialogRef = this.appendDialogComponentToBody(config);
433
+ console.log('window.scrollY', window.scrollY);
434
+ document.body.style.top = `-${window.scrollY}px`;
435
+ document.body.style.position = 'fixed';
436
+ dialogRef.onClose.subscribe(() => {
437
+ console.log('custom subscrnve');
438
+ const scrollY = document.body.style.top;
439
+ document.body.style.position = '';
440
+ document.body.style.top = '';
441
+ window.scrollTo(0, parseInt(scrollY || '0') * -1);
442
+ });
443
+ this.dialogComponentRef.instance.childComponentType = componentType;
444
+ return dialogRef;
445
+ }
446
+ appendDialogComponentToBody(config) {
447
+ const map = new WeakMap();
448
+ map.set(DynamicDialogConfig, config);
449
+ const dialogRef = new DynamicDialogRef();
450
+ map.set(DynamicDialogRef, dialogRef);
451
+ const sub = dialogRef.onClose.subscribe(() => {
452
+ this.removeDialogComponentFromBody();
453
+ sub.unsubscribe();
454
+ });
455
+ const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DynamicDialogComponent);
456
+ const componentRef = componentFactory.create(new DynamicDialogInjector(this.injector, map));
457
+ this.appRef.attachView(componentRef.hostView);
458
+ const domElem = componentRef.hostView.rootNodes[0];
459
+ document.body.appendChild(domElem);
460
+ this.dialogComponentRef = componentRef;
461
+ return dialogRef;
462
+ }
463
+ removeDialogComponentFromBody() {
464
+ this.appRef.detachView(this.dialogComponentRef.hostView);
465
+ this.dialogComponentRef.destroy();
466
+ }
467
+ }
468
+ 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 });
469
+ InsparkDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkDialogService });
470
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkDialogService, decorators: [{
471
+ type: Injectable
472
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: i0.Injector }]; } });
473
+
474
+ class CommunicationService {
475
+ constructor() {
476
+ this.messageSource = {};
477
+ this.message$ = {};
478
+ }
479
+ create(id) {
480
+ if (!this.messageSource[id]) {
481
+ this.messageSource[id] = new Subject();
482
+ this.message$[id] = this.messageSource[id].asObservable();
483
+ }
484
+ }
485
+ next(widgetId, value) {
486
+ this.create(widgetId);
487
+ this.messageSource[widgetId].next(value);
488
+ }
489
+ }
490
+ CommunicationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CommunicationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
491
+ CommunicationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CommunicationService });
492
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CommunicationService, decorators: [{
493
+ type: Injectable
494
+ }] });
495
+
496
+ class PreloaderComponent {
497
+ constructor() {
498
+ this.inline = false;
499
+ this.overlay = false;
500
+ this.size = 'normal';
501
+ }
502
+ ngOnInit() {
503
+ }
504
+ }
505
+ PreloaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PreloaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
506
+ 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"] }] });
507
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PreloaderComponent, decorators: [{
508
+ type: Component,
509
+ 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"] }]
510
+ }], ctorParameters: function () { return []; }, propDecorators: { inline: [{
511
+ type: Input
512
+ }], overlay: [{
513
+ type: Input
514
+ }], size: [{
515
+ type: Input
516
+ }] } });
517
+
518
+ class SvgComponent extends Button {
519
+ constructor() {
520
+ super(...arguments);
521
+ this.size = 'normal';
522
+ this.width = '100%';
523
+ this.height = '100%';
524
+ }
525
+ }
526
+ SvgComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SvgComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
527
+ 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"] }] });
528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SvgComponent, decorators: [{
529
+ type: Component,
530
+ 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"] }]
531
+ }], propDecorators: { size: [{
532
+ type: Input
533
+ }], width: [{
534
+ type: Input
535
+ }], height: [{
536
+ type: Input
537
+ }], src: [{
538
+ type: Input
539
+ }] } });
540
+
541
+ class ButtonComponent extends Button {
542
+ constructor(cdr) {
543
+ super();
544
+ this.cdr = cdr;
545
+ this.size = 'normal';
546
+ this.color = 'normal';
547
+ this.type = 'button';
548
+ this.name = '';
549
+ this.testId = '';
550
+ this.label = '';
551
+ this.icon = '';
552
+ this.className = '';
553
+ this.notify = null;
554
+ this.svg = '';
555
+ this.width = 'auto';
556
+ this.link = '';
557
+ this.isLoading = false;
558
+ this.shadow = false;
559
+ this.isIconOnly = false;
560
+ /**
561
+ * external - ссылка на внешний источник
562
+ * internal - ссылка внутри приложения
563
+ * auto - определяется автоматически исходя из link
564
+ */
565
+ this.linkType = 'auto';
566
+ /**
567
+ * self - открывается в этом же окне
568
+ * blank - открывается в новом окне
569
+ * auto - определяется автоматически исходя из linkType
570
+ */
571
+ this.linkTarget = 'auto';
572
+ // Отображает кнопку нажатой
573
+ this.pressed = false;
574
+ this.disabled = false;
575
+ this.iconPos = 'left';
576
+ this.selectedItem = null;
577
+ this.menuPlacement = 'bottom-left';
578
+ this.menuItems = [];
579
+ this.focus = new EventEmitter();
580
+ this.blur = new EventEmitter();
581
+ this.click = new EventEmitter();
582
+ this._target = '_self';
583
+ this._linkType = 'auto';
584
+ this.isMaterialIcon = false;
585
+ }
586
+ get pointerEvents() {
587
+ return this.disabled ? 'none' : 'auto';
588
+ }
589
+ ngOnInit() {
590
+ this.updateData();
591
+ }
592
+ ngOnChanges(changes) {
593
+ this.updateData();
594
+ }
595
+ updateData() {
596
+ this._linkType = this.linkType;
597
+ if (this._linkType === 'auto') {
598
+ if ((this.link.indexOf('://') !== -1 || this.link.indexOf('//') === 0)) {
599
+ this._linkType = 'external';
600
+ }
601
+ else {
602
+ this._linkType = 'internal';
603
+ }
604
+ }
605
+ if (this.linkTarget === 'auto') {
606
+ if (this._linkType === 'external') {
607
+ this._target = '_blank';
608
+ }
609
+ else {
610
+ this._target = '_self';
611
+ }
612
+ }
613
+ else {
614
+ this._target = this.linkTarget === 'self' ? '_self' : 'blank';
615
+ }
616
+ if (this.icon && this.icon.indexOf('fa-') === -1) {
617
+ this.isMaterialIcon = true;
618
+ }
619
+ else {
620
+ this.isMaterialIcon = false;
621
+ }
622
+ }
623
+ _onClick($event) {
624
+ this.cdr.detectChanges();
625
+ }
626
+ }
627
+ ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
628
+ 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 });
629
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonComponent, decorators: [{
630
+ type: Component,
631
+ 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"] }]
632
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { size: [{
633
+ type: Input
634
+ }], color: [{
635
+ type: Input
636
+ }], type: [{
637
+ type: Input
638
+ }], name: [{
639
+ type: Input
640
+ }], testId: [{
641
+ type: Input
642
+ }], label: [{
643
+ type: Input
644
+ }], icon: [{
645
+ type: Input
646
+ }], className: [{
647
+ type: Input
648
+ }], notify: [{
649
+ type: Input
650
+ }], svg: [{
651
+ type: Input
652
+ }], width: [{
653
+ type: Input
654
+ }], link: [{
655
+ type: Input
656
+ }], isLoading: [{
657
+ type: Input
658
+ }], shadow: [{
659
+ type: Input
660
+ }], isIconOnly: [{
661
+ type: Input
662
+ }], linkType: [{
663
+ type: Input
664
+ }], linkTarget: [{
665
+ type: Input
666
+ }], pressed: [{
667
+ type: Input
668
+ }], disabled: [{
669
+ type: Input
670
+ }], iconPos: [{
671
+ type: Input
672
+ }], selectedItem: [{
673
+ type: Input
674
+ }], menuPlacement: [{
675
+ type: Input
676
+ }], menuItems: [{
677
+ type: Input
678
+ }], _menu: [{
679
+ type: ViewChild,
680
+ args: [Menu, { static: false }]
681
+ }], pointerEvents: [{
682
+ type: HostBinding,
683
+ args: ['style.pointer-events']
684
+ }], focus: [{
685
+ type: Output
686
+ }], blur: [{
687
+ type: Output
688
+ }], click: [{
689
+ type: Output
690
+ }] } });
691
+
692
+ class InputTextComponent {
693
+ constructor() {
694
+ this.name = null;
695
+ this.autocomplete = true;
696
+ this.label = null;
697
+ this.required = false;
698
+ this.error = null;
699
+ this.size = 100000;
700
+ this.maxlength = 100000;
701
+ this.width = '';
702
+ this.display = true;
703
+ this.large = true;
704
+ this.small = false;
705
+ this.widget = false;
706
+ this.forms = false;
707
+ this.placeholder = '';
708
+ this.id = null;
709
+ this.testId = null;
710
+ this.opacity = true;
711
+ this.shadow = false;
712
+ this.right = false;
713
+ this.type = 'text';
714
+ this.focus = new EventEmitter();
715
+ this.blur = new EventEmitter();
716
+ this.onClick = new EventEmitter();
717
+ this.propagateChange = (_) => {
718
+ };
719
+ }
720
+ /**
721
+ * Write form value to the DOM element (model => view)
722
+ */
723
+ writeValue(value) {
724
+ this.value = value;
725
+ }
726
+ /**
727
+ * Write form disabled state to the DOM element (model => view)
728
+ */
729
+ setDisabledState(isDisabled) {
730
+ this.disabled = isDisabled;
731
+ }
732
+ /**
733
+ * Update form when DOM element value changes (view => model)
734
+ */
735
+ registerOnChange(fn) {
736
+ // Store the provided function as an internal method.
737
+ this.propagateChange = fn;
738
+ }
739
+ /**
740
+ * Update form when DOM element is blurred (view => model)
741
+ */
742
+ registerOnTouched(fn) {
743
+ // Store the provided function as an internal method.
744
+ this.onTouched = fn;
745
+ }
746
+ clear() {
747
+ this.value = '';
748
+ this.propagateChange('');
749
+ this.onClick.emit('');
750
+ }
751
+ onChange(_) {
752
+ if (this.type === 'number') {
753
+ this.propagateChange(+this.value);
754
+ }
755
+ else {
756
+ this.propagateChange(this.value);
757
+ }
758
+ }
759
+ onTouched() {
760
+ }
761
+ }
762
+ InputTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InputTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
763
+ 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: [
764
+ {
765
+ provide: NG_VALUE_ACCESSOR,
766
+ useExisting: forwardRef(() => InputTextComponent),
767
+ multi: true,
768
+ }
769
+ ], 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" }] });
770
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InputTextComponent, decorators: [{
771
+ type: Component,
772
+ args: [{ selector: 'in-input-text', providers: [
773
+ {
774
+ provide: NG_VALUE_ACCESSOR,
775
+ useExisting: forwardRef(() => InputTextComponent),
776
+ multi: true,
777
+ }
778
+ ], 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"] }]
779
+ }], propDecorators: { name: [{
780
+ type: Input
781
+ }], autocomplete: [{
782
+ type: Input
783
+ }], label: [{
784
+ type: Input
785
+ }], required: [{
786
+ type: Input
787
+ }], error: [{
788
+ type: Input
789
+ }], size: [{
790
+ type: Input
791
+ }], maxlength: [{
792
+ type: Input
793
+ }], width: [{
794
+ type: Input
795
+ }], display: [{
796
+ type: Input
797
+ }], large: [{
798
+ type: Input
799
+ }], small: [{
800
+ type: Input
801
+ }], widget: [{
802
+ type: Input
803
+ }], forms: [{
804
+ type: Input
805
+ }], placeholder: [{
806
+ type: Input
807
+ }], id: [{
808
+ type: Input
809
+ }], testId: [{
810
+ type: Input
811
+ }], disabled: [{
812
+ type: Input
813
+ }], opacity: [{
814
+ type: Input
815
+ }], shadow: [{
816
+ type: Input
817
+ }], right: [{
818
+ type: Input
819
+ }], type: [{
820
+ type: Input
821
+ }], step: [{
822
+ type: Input
823
+ }], min: [{
824
+ type: Input
825
+ }], max: [{
826
+ type: Input
827
+ }], focus: [{
828
+ type: Output
829
+ }], blur: [{
830
+ type: Output
831
+ }], onClick: [{
832
+ type: Output
833
+ }] } });
834
+
835
+ class TextareaComponent {
836
+ constructor() {
837
+ this.name = null;
838
+ this.label = null;
839
+ this.required = false;
840
+ this.error = null;
841
+ this.placeholder = '';
842
+ this.id = null;
843
+ this.minHeight = 30;
844
+ this.maxlength = 100000;
845
+ this.propagateChange = (_) => {
846
+ };
847
+ }
848
+ /**
849
+ * Write form value to the DOM element (model => view)
850
+ */
851
+ writeValue(value) {
852
+ this.value = value;
853
+ }
854
+ /**
855
+ * Write form disabled state to the DOM element (model => view)
856
+ */
857
+ setDisabledState(isDisabled) {
858
+ this.disabled = isDisabled;
859
+ }
860
+ /**
861
+ * Update form when DOM element value changes (view => model)
862
+ */
863
+ registerOnChange(fn) {
864
+ // Store the provided function as an internal method.
865
+ this.propagateChange = fn;
866
+ }
867
+ /**
868
+ * Update form when DOM element is blurred (view => model)
869
+ */
870
+ registerOnTouched(fn) {
871
+ // Store the provided function as an internal method.
872
+ this.onTouched = fn;
873
+ }
874
+ onChange(_) {
875
+ this.propagateChange(this.value);
876
+ }
877
+ onTouched() {
878
+ }
879
+ }
880
+ TextareaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
881
+ 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: [
882
+ {
883
+ provide: NG_VALUE_ACCESSOR,
884
+ useExisting: forwardRef(() => TextareaComponent),
885
+ multi: true,
886
+ }
887
+ ], 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"] }] });
888
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextareaComponent, decorators: [{
889
+ type: Component,
890
+ args: [{ selector: 'in-textarea', providers: [
891
+ {
892
+ provide: NG_VALUE_ACCESSOR,
893
+ useExisting: forwardRef(() => TextareaComponent),
894
+ multi: true,
895
+ }
896
+ ], 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" }]
897
+ }], propDecorators: { name: [{
898
+ type: Input
899
+ }], label: [{
900
+ type: Input
901
+ }], required: [{
902
+ type: Input
903
+ }], error: [{
904
+ type: Input
905
+ }], placeholder: [{
906
+ type: Input
907
+ }], id: [{
908
+ type: Input
909
+ }], disabled: [{
910
+ type: Input
911
+ }], minHeight: [{
912
+ type: Input
913
+ }], maxlength: [{
914
+ type: Input
915
+ }] } });
916
+
917
+ class PanelComponent {
918
+ }
919
+ PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
920
+ 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"] });
921
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PanelComponent, decorators: [{
922
+ type: Component,
923
+ 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"] }]
924
+ }] });
925
+
926
+ class ComponentContainerComponent {
927
+ constructor() {
928
+ this.align = 'left';
929
+ }
930
+ }
931
+ ComponentContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ComponentContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
932
+ 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"] }] });
933
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ComponentContainerComponent, decorators: [{
934
+ type: Component,
935
+ 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"] }]
936
+ }], propDecorators: { align: [{
937
+ type: Input
938
+ }] } });
939
+
940
+ class CheckboxComponent {
941
+ constructor(element, cdRef, router) {
942
+ this.element = element;
943
+ this.cdRef = cdRef;
944
+ this.router = router;
945
+ this.name = null;
946
+ this.label = null;
947
+ this.required = false;
948
+ this.error = null;
949
+ this.placeholder = '';
950
+ this.id = null;
951
+ this.propagateChange = (_) => {
952
+ };
953
+ }
954
+ /**
955
+ * Write form value to the DOM element (model => view)
956
+ */
957
+ writeValue(value) {
958
+ this.value = value;
959
+ if (!this.cdRef['destroyed']) {
960
+ this.cdRef.detectChanges();
961
+ }
962
+ }
963
+ /**
964
+ * Write form disabled state to the DOM element (model => view)
965
+ */
966
+ setDisabledState(isDisabled) {
967
+ this.disabled = isDisabled;
968
+ }
969
+ /**
970
+ * Update form when DOM element value changes (view => model)
971
+ */
972
+ registerOnChange(fn) {
973
+ // Store the provided function as an internal method.
974
+ this.propagateChange = fn;
975
+ }
976
+ /**
977
+ * Update form when DOM element is blurred (view => model)
978
+ */
979
+ registerOnTouched(fn) {
980
+ // Store the provided function as an internal method.
981
+ this.onTouched = fn;
982
+ }
983
+ onChange(_) {
984
+ this.propagateChange(this.value);
985
+ }
986
+ onTouched() {
987
+ }
988
+ }
989
+ 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 });
990
+ 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: [
991
+ {
992
+ provide: NG_VALUE_ACCESSOR,
993
+ useExisting: forwardRef(() => CheckboxComponent),
994
+ multi: true,
995
+ }
996
+ ], 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"] }] });
997
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CheckboxComponent, decorators: [{
998
+ type: Component,
999
+ args: [{ selector: 'in-checkbox', providers: [
1000
+ {
1001
+ provide: NG_VALUE_ACCESSOR,
1002
+ useExisting: forwardRef(() => CheckboxComponent),
1003
+ multi: true,
1004
+ }
1005
+ ], 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"] }]
1006
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$3.Router }]; }, propDecorators: { name: [{
1007
+ type: Input
1008
+ }], label: [{
1009
+ type: Input
1010
+ }], required: [{
1011
+ type: Input
1012
+ }], error: [{
1013
+ type: Input
1014
+ }], placeholder: [{
1015
+ type: Input
1016
+ }], id: [{
1017
+ type: Input
1018
+ }], disabled: [{
1019
+ type: Input
1020
+ }] } });
1021
+
1022
+ const DROPDOWN_VALUE_ACCESSOR = {
1023
+ provide: NG_VALUE_ACCESSOR,
1024
+ useExisting: forwardRef(() => Dropdown),
1025
+ multi: true
1026
+ };
1027
+ class DropdownItem {
1028
+ constructor() {
1029
+ this.onClick = new EventEmitter();
1030
+ }
1031
+ onOptionClick(event) {
1032
+ this.onClick.emit({
1033
+ originalEvent: event,
1034
+ option: this.option
1035
+ });
1036
+ }
1037
+ }
1038
+ DropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
1039
+ 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: `
1040
+ <li
1041
+ (click)="onOptionClick($event)"
1042
+ role="option"
1043
+ pRipple
1044
+ [attr.aria-label]="label"
1045
+ [attr.aria-selected]="selected"
1046
+ [ngStyle]="{ height: itemSize + 'px' }"
1047
+ [id]="selected ? 'p-highlighted-option' : ''"
1048
+ [ngClass]="{ 'p-dropdown-item': true, 'p-highlight': selected, 'p-disabled': disabled }"
1049
+ >
1050
+ <span *ngIf="!template">{{ label || 'empty' }}</span>
1051
+ <ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
1052
+ </li>
1053
+ `, 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]" }] });
1054
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownItem, decorators: [{
1055
+ type: Component,
1056
+ args: [{
1057
+ selector: 'p-dropdownItem',
1058
+ template: `
1059
+ <li
1060
+ (click)="onOptionClick($event)"
1061
+ role="option"
1062
+ pRipple
1063
+ [attr.aria-label]="label"
1064
+ [attr.aria-selected]="selected"
1065
+ [ngStyle]="{ height: itemSize + 'px' }"
1066
+ [id]="selected ? 'p-highlighted-option' : ''"
1067
+ [ngClass]="{ 'p-dropdown-item': true, 'p-highlight': selected, 'p-disabled': disabled }"
1068
+ >
1069
+ <span *ngIf="!template">{{ label || 'empty' }}</span>
1070
+ <ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
1071
+ </li>
1072
+ `
1073
+ }]
1074
+ }], propDecorators: { option: [{
1075
+ type: Input
1076
+ }], selected: [{
1077
+ type: Input
1078
+ }], label: [{
1079
+ type: Input
1080
+ }], disabled: [{
1081
+ type: Input
1082
+ }], visible: [{
1083
+ type: Input
1084
+ }], itemSize: [{
1085
+ type: Input
1086
+ }], template: [{
1087
+ type: Input
1088
+ }], onClick: [{
1089
+ type: Output
1090
+ }] } });
1091
+ class DropdownComponent extends Dropdown {
1092
+ constructor() {
1093
+ super(...arguments);
1094
+ /**
1095
+ * Наш код
1096
+ */
1097
+ this._label = '';
1098
+ this.error = null;
1099
+ /**
1100
+ * код PrimeNG
1101
+ */
1102
+ this.scrollHeight = '200px';
1103
+ this.resetFilterOnHide = false;
1104
+ this.dropdownIcon = 'pi pi-chevron-down';
1105
+ this.optionGroupChildren = 'items';
1106
+ this.autoDisplayFirst = true;
1107
+ this.emptyFilterMessage = '';
1108
+ this.emptyMessage = '';
1109
+ this.lazy = false;
1110
+ this.filterMatchMode = 'contains';
1111
+ this.tooltip = '';
1112
+ this.tooltipPosition = 'right';
1113
+ this.tooltipPositionStyle = 'absolute';
1114
+ this.autofocusFilter = true;
1115
+ this.overlayDirection = 'end';
1116
+ this.onChange = new EventEmitter();
1117
+ this.onFilter = new EventEmitter();
1118
+ this.onFocus = new EventEmitter();
1119
+ this.onBlur = new EventEmitter();
1120
+ this.onClick = new EventEmitter();
1121
+ this.onShow = new EventEmitter();
1122
+ this.onHide = new EventEmitter();
1123
+ this.onClear = new EventEmitter();
1124
+ this.onLazyLoad = new EventEmitter();
1125
+ }
1126
+ get label() {
1127
+ return this._label;
1128
+ }
1129
+ set label(val) {
1130
+ this._label = val;
1131
+ }
1132
+ get labelText() {
1133
+ return (this.selectedOption ? this.selectedOption.label : null);
1134
+ }
1135
+ get itemSize() {
1136
+ return this._itemSize;
1137
+ }
1138
+ set itemSize(val) {
1139
+ this._itemSize = val;
1140
+ console.warn('The itemSize property is deprecated, use virtualScrollItemSize property instead.');
1141
+ }
1142
+ get autoZIndex() {
1143
+ return this._autoZIndex;
1144
+ }
1145
+ set autoZIndex(val) {
1146
+ this._autoZIndex = val;
1147
+ console.warn('The autoZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');
1148
+ }
1149
+ get baseZIndex() {
1150
+ return this._baseZIndex;
1151
+ }
1152
+ set baseZIndex(val) {
1153
+ this._baseZIndex = val;
1154
+ console.warn('The baseZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');
1155
+ }
1156
+ get showTransitionOptions() {
1157
+ return this._showTransitionOptions;
1158
+ }
1159
+ set showTransitionOptions(val) {
1160
+ this._showTransitionOptions = val;
1161
+ console.warn('The showTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');
1162
+ }
1163
+ get hideTransitionOptions() {
1164
+ return this._hideTransitionOptions;
1165
+ }
1166
+ set hideTransitionOptions(val) {
1167
+ this._hideTransitionOptions = val;
1168
+ console.warn('The hideTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');
1169
+ }
1170
+ }
1171
+ DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1172
+ 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 });
1173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponent, decorators: [{
1174
+ type: Component,
1175
+ args: [{ selector: 'in-dropdown', host: {
1176
+ class: 'p-element p-inputwrapper',
1177
+ '[class.p-inputwrapper-filled]': 'filled',
1178
+ '[class.p-inputwrapper-focus]': 'focused || overlayVisible'
1179
+ }, 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" }]
1180
+ }], propDecorators: { label: [{
1181
+ type: Input
1182
+ }], error: [{
1183
+ type: Input
1184
+ }], scrollHeight: [{
1185
+ type: Input
1186
+ }], filter: [{
1187
+ type: Input
1188
+ }], name: [{
1189
+ type: Input
1190
+ }], style: [{
1191
+ type: Input
1192
+ }], panelStyle: [{
1193
+ type: Input
1194
+ }], styleClass: [{
1195
+ type: Input
1196
+ }], panelStyleClass: [{
1197
+ type: Input
1198
+ }], readonly: [{
1199
+ type: Input
1200
+ }], required: [{
1201
+ type: Input
1202
+ }], editable: [{
1203
+ type: Input
1204
+ }], appendTo: [{
1205
+ type: Input
1206
+ }], tabindex: [{
1207
+ type: Input
1208
+ }], placeholder: [{
1209
+ type: Input
1210
+ }], filterPlaceholder: [{
1211
+ type: Input
1212
+ }], filterLocale: [{
1213
+ type: Input
1214
+ }], inputId: [{
1215
+ type: Input
1216
+ }], selectId: [{
1217
+ type: Input
1218
+ }], dataKey: [{
1219
+ type: Input
1220
+ }], filterBy: [{
1221
+ type: Input
1222
+ }], autofocus: [{
1223
+ type: Input
1224
+ }], resetFilterOnHide: [{
1225
+ type: Input
1226
+ }], dropdownIcon: [{
1227
+ type: Input
1228
+ }], optionLabel: [{
1229
+ type: Input
1230
+ }], optionValue: [{
1231
+ type: Input
1232
+ }], optionDisabled: [{
1233
+ type: Input
1234
+ }], optionGroupLabel: [{
1235
+ type: Input
1236
+ }], optionGroupChildren: [{
1237
+ type: Input
1238
+ }], autoDisplayFirst: [{
1239
+ type: Input
1240
+ }], group: [{
1241
+ type: Input
1242
+ }], showClear: [{
1243
+ type: Input
1244
+ }], emptyFilterMessage: [{
1245
+ type: Input
1246
+ }], emptyMessage: [{
1247
+ type: Input
1248
+ }], lazy: [{
1249
+ type: Input
1250
+ }], virtualScroll: [{
1251
+ type: Input
1252
+ }], virtualScrollItemSize: [{
1253
+ type: Input
1254
+ }], virtualScrollOptions: [{
1255
+ type: Input
1256
+ }], overlayOptions: [{
1257
+ type: Input
1258
+ }], ariaFilterLabel: [{
1259
+ type: Input
1260
+ }], ariaLabel: [{
1261
+ type: Input
1262
+ }], ariaLabelledBy: [{
1263
+ type: Input
1264
+ }], filterMatchMode: [{
1265
+ type: Input
1266
+ }], maxlength: [{
1267
+ type: Input
1268
+ }], tooltip: [{
1269
+ type: Input
1270
+ }], tooltipPosition: [{
1271
+ type: Input
1272
+ }], tooltipPositionStyle: [{
1273
+ type: Input
1274
+ }], tooltipStyleClass: [{
1275
+ type: Input
1276
+ }], autofocusFilter: [{
1277
+ type: Input
1278
+ }], overlayDirection: [{
1279
+ type: Input
1280
+ }], onChange: [{
1281
+ type: Output
1282
+ }], onFilter: [{
1283
+ type: Output
1284
+ }], onFocus: [{
1285
+ type: Output
1286
+ }], onBlur: [{
1287
+ type: Output
1288
+ }], onClick: [{
1289
+ type: Output
1290
+ }], onShow: [{
1291
+ type: Output
1292
+ }], onHide: [{
1293
+ type: Output
1294
+ }], onClear: [{
1295
+ type: Output
1296
+ }], onLazyLoad: [{
1297
+ type: Output
1298
+ }], itemSize: [{
1299
+ type: Input
1300
+ }], autoZIndex: [{
1301
+ type: Input
1302
+ }], baseZIndex: [{
1303
+ type: Input
1304
+ }], showTransitionOptions: [{
1305
+ type: Input
1306
+ }], hideTransitionOptions: [{
1307
+ type: Input
1308
+ }] } });
1309
+ class DropdownComponentModule {
1310
+ }
1311
+ DropdownComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1312
+ 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] });
1313
+ 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] });
1314
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponentModule, decorators: [{
1315
+ type: NgModule,
1316
+ args: [{
1317
+ declarations: [
1318
+ DropdownComponent,
1319
+ DropdownItem,
1320
+ ],
1321
+ imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TranslateModule],
1322
+ exports: [
1323
+ DropdownComponent, OverlayModule, SharedModule, ScrollerModule
1324
+ ],
1325
+ entryComponents: [
1326
+ DropdownComponent,
1327
+ ]
1328
+ }]
1329
+ }] });
1330
+
1331
+ class InsparkTemplate {
1332
+ constructor(template) {
1333
+ this.template = template;
1334
+ }
1335
+ getType() {
1336
+ return this.name;
1337
+ }
1338
+ }
1339
+ InsparkTemplate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkTemplate, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
1340
+ InsparkTemplate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: InsparkTemplate, selector: "[inTemplate]", inputs: { type: "type", name: ["inTemplate", "name"] }, ngImport: i0 });
1341
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkTemplate, decorators: [{
1342
+ type: Directive,
1343
+ args: [{
1344
+ selector: '[inTemplate]',
1345
+ host: {}
1346
+ }]
1347
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { type: [{
1348
+ type: Input
1349
+ }], name: [{
1350
+ type: Input,
1351
+ args: ['inTemplate']
1352
+ }] } });
1353
+
1354
+ class TableClickOutsideDirective {
1355
+ constructor(element) {
1356
+ this.element = element;
1357
+ this.clickedOutside = new EventEmitter();
1358
+ }
1359
+ click(event) {
1360
+ if (!this.element.nativeElement.contains(event.target)) {
1361
+ // console.log('clicked outside');
1362
+ this.clickedOutside.emit(event);
1363
+ }
1364
+ else {
1365
+ // console.log('clicked inside');
1366
+ }
1367
+ }
1368
+ }
1369
+ TableClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1370
+ 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 });
1371
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableClickOutsideDirective, decorators: [{
1372
+ type: Directive,
1373
+ args: [{
1374
+ selector: '[inClickOutside]'
1375
+ }]
1376
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { clickedOutside: [{
1377
+ type: Output
1378
+ }], click: [{
1379
+ type: HostListener,
1380
+ args: ['document:click', ['$event']]
1381
+ }] } });
1382
+
1383
+ class TableMenuOverlayComponent {
1384
+ constructor(element) {
1385
+ this.element = element;
1386
+ this.isExpanded = false;
1387
+ }
1388
+ isClickedOutsideOverlay(event) {
1389
+ if (!this.element.nativeElement.contains(event.target)) {
1390
+ this.isExpanded = false;
1391
+ }
1392
+ }
1393
+ }
1394
+ TableMenuOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableMenuOverlayComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
1395
+ 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 });
1396
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableMenuOverlayComponent, decorators: [{
1397
+ type: Component,
1398
+ 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"] }]
1399
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { isExpanded: [{
1400
+ type: Input
1401
+ }], positionClass: [{
1402
+ type: Input
1403
+ }] } });
1404
+
1405
+ class TableColumnsMultiselectComponent {
1406
+ constructor() {
1407
+ this.isExpanded = false;
1408
+ /**
1409
+ * true - все активные чекбоксы становятся неактивными
1410
+ * false - не влияет на чекбоксы
1411
+ */
1412
+ this.disableActiveCheckboxes = false;
1413
+ this.columnsChange = new EventEmitter();
1414
+ }
1415
+ ngOnInit() {
1416
+ }
1417
+ }
1418
+ TableColumnsMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableColumnsMultiselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1419
+ 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" }] });
1420
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableColumnsMultiselectComponent, decorators: [{
1421
+ type: Component,
1422
+ 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"] }]
1423
+ }], ctorParameters: function () { return []; }, propDecorators: { columns: [{
1424
+ type: Input
1425
+ }], disableActiveCheckboxes: [{
1426
+ type: Input
1427
+ }], columnsChange: [{
1428
+ type: Output
1429
+ }] } });
1430
+
1431
+ // NEW Factory Function
1432
+ function tableFactory(wrapper) {
1433
+ return wrapper.dt;
1434
+ }
1435
+ class TableComponent {
1436
+ constructor() {
1437
+ this.columns = [];
1438
+ this.filteredColumns = [];
1439
+ this.globalFilteredColumns = [];
1440
+ this.primaryColumns = [];
1441
+ this.values = [];
1442
+ this.checkboxSelection = true;
1443
+ this.showHeader = true;
1444
+ this.isMobileView = false;
1445
+ this.resizableColumns = true;
1446
+ this.isTextSearch = true;
1447
+ this.isSortIcon = true;
1448
+ this.activeChange = new EventEmitter();
1449
+ this.selectionChange = new EventEmitter();
1450
+ this.addAction = new EventEmitter();
1451
+ this.csvAction = new EventEmitter();
1452
+ this.saveAction = new EventEmitter();
1453
+ this.removeAction = new EventEmitter();
1454
+ this.unlinkAction = new EventEmitter();
1455
+ this.linkAction = new EventEmitter();
1456
+ this.groupEditAction = new EventEmitter();
1457
+ this.paramsEditAction = new EventEmitter();
1458
+ this.sortFunction = new EventEmitter();
1459
+ this.filterFunction = new EventEmitter();
1460
+ this.groupMode = 0;
1461
+ this.groupInfo = {};
1462
+ this.groupIndex = {};
1463
+ this._selection = null;
1464
+ }
1465
+ set selection(val) {
1466
+ this._selection = val;
1467
+ }
1468
+ get selectionValue() {
1469
+ return this._selection;
1470
+ }
1471
+ set selectionValue(val) {
1472
+ this._selection = val;
1473
+ this.selectionChange.emit(val);
1474
+ }
1475
+ isRowActive(row) {
1476
+ return this.active && this.active.id === row.id;
1477
+ }
1478
+ ngOnInit() {
1479
+ this.updateData();
1480
+ }
1481
+ ngAfterViewInit() {
1482
+ Object.entries(this.dt.filters).forEach(([key, value]) => {
1483
+ this.dt.filter('', `${key}`, 'contains');
1484
+ });
1485
+ this.dt.filterGlobal(this.searchText, 'contains');
1486
+ }
1487
+ ngOnChanges(changes) {
1488
+ this.resetColumnWidth();
1489
+ this.visibleColumns();
1490
+ }
1491
+ updateData() {
1492
+ this.primaryColumns = this.columns.filter(column => !column.isSecondary);
1493
+ this.globalFilteredColumns = this.columns.filter(column => column.isFiltering !== false).map(val => val.field);
1494
+ }
1495
+ ngAfterContentInit() {
1496
+ this.visibleColumns();
1497
+ this.restoreSearchText();
1498
+ this.templates.forEach((item) => {
1499
+ switch (item.getType()) {
1500
+ case 'caption':
1501
+ this.captionTemplate = item.template;
1502
+ break;
1503
+ case 'header':
1504
+ this.headerTemplate = item.template;
1505
+ break;
1506
+ case 'body':
1507
+ this.bodyTemplate = item.template;
1508
+ break;
1509
+ case 'value':
1510
+ this.valueTemplate = item.template;
1511
+ break;
1512
+ case 'loadingbody':
1513
+ this.loadingBodyTemplate = item.template;
1514
+ break;
1515
+ case 'footer':
1516
+ this.footerTemplate = item.template;
1517
+ break;
1518
+ case 'summary':
1519
+ this.summaryTemplate = item.template;
1520
+ break;
1521
+ case 'colgroup':
1522
+ this.colGroupTemplate = item.template;
1523
+ break;
1524
+ case 'rowexpansion':
1525
+ this.expandedRowTemplate = item.template;
1526
+ break;
1527
+ case 'frozenrows':
1528
+ this.frozenRowsTemplate = item.template;
1529
+ break;
1530
+ case 'frozenheader':
1531
+ this.frozenHeaderTemplate = item.template;
1532
+ break;
1533
+ case 'frozenbody':
1534
+ this.frozenBodyTemplate = item.template;
1535
+ break;
1536
+ case 'frozenfooter':
1537
+ this.frozenFooterTemplate = item.template;
1538
+ break;
1539
+ case 'frozencolgroup':
1540
+ this.frozenColGroupTemplate = item.template;
1541
+ break;
1542
+ case 'emptymessage':
1543
+ this.emptyMessageTemplate = item.template;
1544
+ break;
1545
+ case 'paginatorleft':
1546
+ this.paginatorLeftTemplate = item.template;
1547
+ break;
1548
+ case 'paginatorright':
1549
+ this.paginatorRightTemplate = item.template;
1550
+ break;
1551
+ }
1552
+ });
1553
+ }
1554
+ visibleColumns() {
1555
+ this.restoreHiddenColumns();
1556
+ this.filteredColumns = this.columns.filter(column => !column.isHidden);
1557
+ return this.filteredColumns;
1558
+ }
1559
+ columnsChange(data) {
1560
+ data.column.isHidden = !data.event;
1561
+ this.resetColumnWidth();
1562
+ this.saveHiddenColumns();
1563
+ this.visibleColumns();
1564
+ }
1565
+ showTooltip(event) {
1566
+ const target = event.target;
1567
+ if (target.title === undefined || !target.textContent) {
1568
+ return;
1569
+ }
1570
+ target.title = target.scrollWidth > target.clientWidth ? target.textContent : '';
1571
+ }
1572
+ colFilter(field) {
1573
+ const found = this.toolbar.filter.cols.filter(item => item.field === field);
1574
+ return found.length === 1 ? found[0] : '';
1575
+ }
1576
+ onFilterToolbar(event) {
1577
+ if (this.toolbar && this.toolbar.filter) {
1578
+ this.toolbar.filter.active = !this.toolbar.filter.active;
1579
+ }
1580
+ }
1581
+ onFilter(event) {
1582
+ this.filterFunction.emit(event.filteredValue);
1583
+ }
1584
+ stateSave(state) {
1585
+ }
1586
+ saveToLocalStorage(state, key) {
1587
+ if (key) {
1588
+ window.localStorage.setItem(key, JSON.stringify(state));
1589
+ }
1590
+ }
1591
+ isHiddenFieldsChanged() {
1592
+ const hiddenFieldsSaved = this.getHiddenHiddenFieldsFromStorage();
1593
+ const hiddenFieldsColumns = (this.columns || []).filter(_col => _col.isHidden).map(_col => _col.field);
1594
+ if (hiddenFieldsSaved.length === hiddenFieldsColumns.length) {
1595
+ const diff = hiddenFieldsSaved.filter(field => !hiddenFieldsColumns.includes(field));
1596
+ diff.length !== 0;
1597
+ }
1598
+ return true;
1599
+ }
1600
+ saveHiddenColumns() {
1601
+ if (this.stateKey) {
1602
+ if (!this.isHiddenFieldsChanged()) {
1603
+ return;
1604
+ }
1605
+ const hiddenFields = (this.columns || []).filter(_col => _col.isHidden).map(_col => _col.field).join(',');
1606
+ this.saveToLocalStorage(hiddenFields, this.stateKey + 'HiddenFields');
1607
+ window.localStorage.removeItem(this.stateKey);
1608
+ if (this.searchText) {
1609
+ window.localStorage.setItem(this.stateKey, JSON.stringify({
1610
+ filters: { global: { value: this.searchText, matchMode: 'contains' } }
1611
+ }));
1612
+ }
1613
+ if (this.dt) {
1614
+ this.dt.restoreState();
1615
+ }
1616
+ }
1617
+ }
1618
+ countVisibleColumns() {
1619
+ return (this.columns || []).filter(_col => !_col.isHidden).length;
1620
+ }
1621
+ restoreSearchText() {
1622
+ const state = window.localStorage.getItem(this.stateKey);
1623
+ if (state) {
1624
+ const parsedState = JSON.parse(state);
1625
+ this.searchText = (parsedState.filters || { global: { value: '' } }).global ? (parsedState.filters || { global: { value: '' } }).global.value : '';
1626
+ this.sortField = parsedState.sortField || this.sortField;
1627
+ }
1628
+ else {
1629
+ this.resetColumnWidth();
1630
+ }
1631
+ }
1632
+ resetColumnWidthIfToWide() {
1633
+ const visibleColumns = this.columns.filter(_column => !_column.isHidden);
1634
+ const totalWidthInPercent = visibleColumns.reduce((s, column) => {
1635
+ const percent = column.width.indexOf('%') > 0 ? parseInt(column.width, 10) : 0;
1636
+ return s + percent;
1637
+ }, 0);
1638
+ if (totalWidthInPercent > 100) {
1639
+ console.error(`Масимальная суммарная ширина столбцов таблицы 100%, текущая суммарная ширина ${totalWidthInPercent}%.`
1640
+ + `Выполняется принудительный перерасчет ширины для таблицы ${this.stateKey}`);
1641
+ this.resetColumnWidth();
1642
+ }
1643
+ if (totalWidthInPercent < 100 && this.columns.length > 0) {
1644
+ // расширяем первый столбец, чтобы не тянулся столбец с чекбоксом
1645
+ const percent = this.columns[0].width.indexOf('%') > 0 ? parseInt(this.columns[0].width, 10) : 0;
1646
+ this.columns[0].width = 100 - totalWidthInPercent + percent + '%';
1647
+ }
1648
+ }
1649
+ resetColumnWidth() {
1650
+ const cvc = this.countVisibleColumns();
1651
+ let percent = Math.floor(100 / cvc);
1652
+ let firstColumnPercent = percent;
1653
+ if (cvc > 10) {
1654
+ percent = Math.floor(90 / (cvc - 1));
1655
+ firstColumnPercent = Math.floor(100 - (percent * (cvc - 1)));
1656
+ }
1657
+ this.columns.forEach((column, index) => column.width = index === 0 ? firstColumnPercent + '%' : `${percent}%`);
1658
+ }
1659
+ getHiddenHiddenFieldsFromStorage() {
1660
+ if (this.stateKey) {
1661
+ const hiddenFields = window.localStorage.getItem(this.stateKey + 'HiddenFields');
1662
+ if (hiddenFields) {
1663
+ return JSON.parse(hiddenFields).split(',');
1664
+ }
1665
+ }
1666
+ return [];
1667
+ }
1668
+ restoreHiddenColumns() {
1669
+ if (this.stateKey && window.localStorage.getItem(this.stateKey + 'HiddenFields')) {
1670
+ const hiddenFieldsArray = this.getHiddenHiddenFieldsFromStorage();
1671
+ this.columns.forEach(_col => _col.isHidden = hiddenFieldsArray.includes(_col.field) || _col.col_invisible);
1672
+ }
1673
+ }
1674
+ calcWidth(idx, label, width) {
1675
+ return width && idx >= 0 ? width : 'auto';
1676
+ }
1677
+ onSort() {
1678
+ if (this.isGrouped) {
1679
+ Object.entries(this.groupInfo).forEach(([key, value]) => {
1680
+ const cacheFlag = (this.groupInfo[key] || {}).isExpanded;
1681
+ this.groupInfo[key] = { isExpanded: cacheFlag === undefined ? true : cacheFlag };
1682
+ });
1683
+ this.sortByGroup();
1684
+ if (this.dt && this.dt.filteredValue) {
1685
+ this.sortByGroup(this.dt.filteredValue, this.dt._sortOrder);
1686
+ }
1687
+ else if (this.dt && this.dt._value && this.dt._sortOrder) {
1688
+ this.sortByGroup(this.dt._value, this.dt._sortOrder);
1689
+ }
1690
+ }
1691
+ }
1692
+ isShowGroup(key, rowIndex) {
1693
+ if (rowIndex === 0) {
1694
+ this.groupIndex = {};
1695
+ }
1696
+ if (!this.groupInfo[key]) {
1697
+ this.groupInfo[key] = { isExpanded: this.isGroupedExpanded !== undefined ? this.isGroupedExpanded : true };
1698
+ }
1699
+ if (!this.groupIndex[key]) {
1700
+ this.groupIndex[key] = { rowIndex };
1701
+ }
1702
+ return this.groupIndex[key].rowIndex === rowIndex;
1703
+ }
1704
+ toggleGroup(rowIndex, key) {
1705
+ this.groupInfo[key].isExpanded = !this.groupInfo[key].isExpanded;
1706
+ }
1707
+ clear() {
1708
+ this.dt.filterGlobal('', 'contains');
1709
+ }
1710
+ localSearch(dt, searchText) {
1711
+ dt.filterGlobal(searchText, 'contains');
1712
+ }
1713
+ sortByGroup(values, sortOrder) {
1714
+ const g = this.groupMode;
1715
+ if (values) {
1716
+ return values.sort((row1, row2) => {
1717
+ if (typeof (row1.groupOrder[g]) === 'number') {
1718
+ return sortOrder * (row1.groupOrder[g] - row2.groupOrder[g]);
1719
+ }
1720
+ else {
1721
+ return sortOrder * row1.groupOrder[g].localeCompare(row2.groupOrder[g], undefined, { numeric: true, sensitivity: 'base' });
1722
+ }
1723
+ });
1724
+ }
1725
+ this.values.sort((row1, row2) => {
1726
+ if (typeof (row1.groupOrder[g]) === 'number') {
1727
+ return row1.groupOrder[g] - row2.groupOrder[g];
1728
+ }
1729
+ else {
1730
+ return row1.groupOrder[g].localeCompare(row2.groupOrder[g], undefined, { numeric: true, sensitivity: 'base' });
1731
+ }
1732
+ });
1733
+ }
1734
+ countGroup(groupKey, g) {
1735
+ return this.values.filter(_value => _value.groupKey[g] === groupKey).length;
1736
+ }
1737
+ toggleNodes(isExpanded) {
1738
+ const g = this.groupMode;
1739
+ this.values.forEach(v => {
1740
+ if (this.groupInfo[v.groupKey[g]]) {
1741
+ this.groupInfo[v.groupKey[g]].isExpanded = isExpanded;
1742
+ }
1743
+ });
1744
+ }
1745
+ toggleMode(item) {
1746
+ this.groupMode = item;
1747
+ this.groupInfo = {};
1748
+ for (let i = 0; i < this.values.length; i++) {
1749
+ this.isShowGroup(this.values[i].groupKey[this.groupMode], i);
1750
+ }
1751
+ if (this.searchText) {
1752
+ this.dt.filterGlobal(this.searchText, 'contains');
1753
+ }
1754
+ this.sortByGroup();
1755
+ }
1756
+ }
1757
+ TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1758
+ 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: [
1759
+ DomHandler,
1760
+ ObjectUtils,
1761
+ TableService,
1762
+ {
1763
+ provide: Table,
1764
+ useFactory: tableFactory,
1765
+ deps: [TableComponent], // new function depends on your wrapper
1766
+ },
1767
+ ], 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" }] });
1768
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableComponent, decorators: [{
1769
+ type: Component,
1770
+ args: [{ selector: 'in-table', entryComponents: [], providers: [
1771
+ DomHandler,
1772
+ ObjectUtils,
1773
+ TableService,
1774
+ {
1775
+ provide: Table,
1776
+ useFactory: tableFactory,
1777
+ deps: [TableComponent], // new function depends on your wrapper
1778
+ },
1779
+ ], 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"] }]
1780
+ }], propDecorators: { columns: [{
1781
+ type: Input
1782
+ }], values: [{
1783
+ type: Input
1784
+ }], scrollHeight: [{
1785
+ type: Input
1786
+ }], scrollable: [{
1787
+ type: Input
1788
+ }], selectionMode: [{
1789
+ type: Input
1790
+ }], label: [{
1791
+ type: Input
1792
+ }], error: [{
1793
+ type: Input
1794
+ }], class: [{
1795
+ type: Input
1796
+ }], required: [{
1797
+ type: Input
1798
+ }], style: [{
1799
+ type: Input
1800
+ }], toolbar: [{
1801
+ type: Input
1802
+ }], checkboxSelection: [{
1803
+ type: Input
1804
+ }], active: [{
1805
+ type: Input
1806
+ }], sortField: [{
1807
+ type: Input
1808
+ }], isAscending: [{
1809
+ type: Input
1810
+ }], dataKey: [{
1811
+ type: Input
1812
+ }], stateKey: [{
1813
+ type: Input
1814
+ }], isGrouped: [{
1815
+ type: Input
1816
+ }], customSort: [{
1817
+ type: Input
1818
+ }], isGroupedExpanded: [{
1819
+ type: Input
1820
+ }], showHeader: [{
1821
+ type: Input
1822
+ }], isMobileView: [{
1823
+ type: Input
1824
+ }], resizableColumns: [{
1825
+ type: Input
1826
+ }], isTextSearch: [{
1827
+ type: Input
1828
+ }], isSortIcon: [{
1829
+ type: Input
1830
+ }], activeChange: [{
1831
+ type: Output
1832
+ }], templates: [{
1833
+ type: ContentChildren,
1834
+ args: [InsparkTemplate]
1835
+ }], selectionChange: [{
1836
+ type: Output
1837
+ }], addAction: [{
1838
+ type: Output
1839
+ }], csvAction: [{
1840
+ type: Output
1841
+ }], saveAction: [{
1842
+ type: Output
1843
+ }], removeAction: [{
1844
+ type: Output
1845
+ }], unlinkAction: [{
1846
+ type: Output
1847
+ }], linkAction: [{
1848
+ type: Output
1849
+ }], groupEditAction: [{
1850
+ type: Output
1851
+ }], paramsEditAction: [{
1852
+ type: Output
1853
+ }], sortFunction: [{
1854
+ type: Output
1855
+ }], filterFunction: [{
1856
+ type: Output
1857
+ }], dt: [{
1858
+ type: ViewChild,
1859
+ args: ['dt', { static: false }]
1860
+ }], selection: [{
1861
+ type: Input
1862
+ }] } });
1863
+ class TableComponentModule {
1864
+ }
1865
+ TableComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1866
+ 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] });
1867
+ 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] });
1868
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableComponentModule, decorators: [{
1869
+ type: NgModule,
1870
+ args: [{
1871
+ imports: [CommonModule, TableModule, PipesModule, TranslateModule, FormsModule, DropdownModule, MultiSelectModule, NgbDropdownModule, CheckboxModule],
1872
+ exports: [TableComponent, TableColumnsMultiselectComponent],
1873
+ declarations: [TableComponent, TableColumnsMultiselectComponent, TableMenuOverlayComponent, TableClickOutsideDirective]
1874
+ }]
1875
+ }] });
1876
+
1877
+ class EmptyComponent {
1878
+ }
1879
+ EmptyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EmptyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1880
+ 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" }] });
1881
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EmptyComponent, decorators: [{
1882
+ type: Component,
1883
+ 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"] }]
1884
+ }] });
1885
+
1886
+ class InsparkStickyComponent {
1887
+ constructor(cdr) {
1888
+ this.cdr = cdr;
1889
+ this.top = 100;
1890
+ this.isInline = false;
1891
+ this.isFloated = true;
1892
+ this.zIndex = 10;
1893
+ this.class = '';
1894
+ this.isSticky = false;
1895
+ this.height = 0;
1896
+ this.width = 0;
1897
+ this.left = 0;
1898
+ this.right = 0;
1899
+ this.resize = () => {
1900
+ const rect = this.stickyRef.nativeElement.getBoundingClientRect();
1901
+ this.width = rect.width;
1902
+ this.left = rect.x;
1903
+ this.cdr.detectChanges();
1904
+ };
1905
+ this.scroll = () => {
1906
+ const rect = this.stickyRef.nativeElement.getBoundingClientRect();
1907
+ const isSticky = rect.top < this.top;
1908
+ if (isSticky !== this.isSticky) {
1909
+ this.height = rect.height;
1910
+ this.isSticky = rect.top < this.top;
1911
+ this.left = rect.x;
1912
+ this.width = rect.width;
1913
+ this.right = rect.right;
1914
+ this.cdr.detectChanges();
1915
+ }
1916
+ };
1917
+ }
1918
+ ngOnInit() {
1919
+ document.addEventListener('scroll', this.scroll);
1920
+ window.addEventListener('resize', this.resize);
1921
+ }
1922
+ ngOnDestroy() {
1923
+ document.removeEventListener('scroll', this.scroll);
1924
+ window.removeEventListener('resize', this.resize);
1925
+ }
1926
+ }
1927
+ InsparkStickyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkStickyComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1928
+ 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 });
1929
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkStickyComponent, decorators: [{
1930
+ type: Component,
1931
+ 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"] }]
1932
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { stickyRef: [{
1933
+ type: ViewChild,
1934
+ args: ['sticky', { static: false }]
1935
+ }], top: [{
1936
+ type: Input
1937
+ }], isInline: [{
1938
+ type: Input
1939
+ }], isFloated: [{
1940
+ type: Input
1941
+ }], zIndex: [{
1942
+ type: Input
1943
+ }], class: [{
1944
+ type: Input
1945
+ }] } });
1946
+
1947
+ class InsparkHeaderComponent {
1948
+ constructor() {
1949
+ this.level = 1;
1950
+ this.label = '';
1951
+ }
1952
+ ngOnInit() {
1953
+ this.level = Math.max(Math.min(this.level, 6), 1);
1954
+ }
1955
+ }
1956
+ InsparkHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1957
+ 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"] }] });
1958
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkHeaderComponent, decorators: [{
1959
+ type: Component,
1960
+ 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"] }]
1961
+ }], ctorParameters: function () { return []; }, propDecorators: { level: [{
1962
+ type: Input
1963
+ }], label: [{
1964
+ type: Input
1965
+ }] } });
1966
+
1967
+ class ToolbarComponent {
1968
+ constructor(element, cdRef, router) {
1969
+ this.element = element;
1970
+ this.cdRef = cdRef;
1971
+ this.router = router;
1972
+ this.display = false;
1973
+ }
1974
+ ngOnInit() {
1975
+ }
1976
+ clickedOutsideOverlay(event) {
1977
+ if (!this.element.nativeElement.contains(event.target)) {
1978
+ this.display = false;
1979
+ this.cdRef.detectChanges();
1980
+ }
1981
+ }
1982
+ }
1983
+ 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 });
1984
+ 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 });
1985
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ToolbarComponent, decorators: [{
1986
+ type: Component,
1987
+ 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"] }]
1988
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$3.Router }]; }, propDecorators: { title: [{
1989
+ type: Input
1990
+ }] } });
1991
+
1992
+ class BreadcrumbComponent {
1993
+ constructor() {
1994
+ }
1995
+ ngOnInit() {
1996
+ }
1997
+ }
1998
+ BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1999
+ 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 });
2000
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BreadcrumbComponent, decorators: [{
2001
+ type: Component,
2002
+ 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" }]
2003
+ }], ctorParameters: function () { return []; }, propDecorators: { items: [{
2004
+ type: Input
2005
+ }] } });
2006
+
2007
+ class FileComponent {
2008
+ constructor() {
2009
+ this.name = null;
2010
+ this.label = null;
2011
+ this.accept = null;
2012
+ this.required = false;
2013
+ this.error = null;
2014
+ this.onChange = new EventEmitter();
2015
+ this.file = null;
2016
+ }
2017
+ onClear() {
2018
+ this.file = null;
2019
+ this.onChange.emit(this.file);
2020
+ this.el.nativeElement.value = '';
2021
+ }
2022
+ onClickChoose() {
2023
+ this.el.nativeElement.click();
2024
+ }
2025
+ onChangeFile(e) {
2026
+ e.preventDefault();
2027
+ if (e.srcElement.files[0]) {
2028
+ this.file = e.srcElement.files[0];
2029
+ this.onChange.emit(this.file);
2030
+ }
2031
+ }
2032
+ }
2033
+ FileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2034
+ 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" }] });
2035
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileComponent, decorators: [{
2036
+ type: Component,
2037
+ 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"] }]
2038
+ }], propDecorators: { name: [{
2039
+ type: Input
2040
+ }], label: [{
2041
+ type: Input
2042
+ }], accept: [{
2043
+ type: Input
2044
+ }], required: [{
2045
+ type: Input
2046
+ }], error: [{
2047
+ type: Input
2048
+ }], onChange: [{
2049
+ type: Output
2050
+ }], el: [{
2051
+ type: ViewChild,
2052
+ args: ['fileInput', { static: false }]
2053
+ }] } });
2054
+
2055
+ class SelectButtonComponent {
2056
+ constructor(cdRef) {
2057
+ this.cdRef = cdRef;
2058
+ this.name = '';
2059
+ this.testId = '';
2060
+ this.label = '';
2061
+ this.icon = '';
2062
+ this.error = '';
2063
+ this.iconPos = 'left';
2064
+ this.options = [];
2065
+ this.required = false;
2066
+ this.multiple = false;
2067
+ this.focus = new EventEmitter();
2068
+ this.blur = new EventEmitter();
2069
+ this.click = new EventEmitter();
2070
+ this.change = new EventEmitter();
2071
+ this.selected = [];
2072
+ this.propagateChange = (_) => {
2073
+ };
2074
+ }
2075
+ ngOnInit() {
2076
+ }
2077
+ ngOnChanges() {
2078
+ if (this.initial) {
2079
+ this.selected = this.initial;
2080
+ }
2081
+ else {
2082
+ this.selected = [];
2083
+ }
2084
+ }
2085
+ clickButton(option) {
2086
+ if (option.readonly) {
2087
+ return false;
2088
+ }
2089
+ if (this.multiple) {
2090
+ if (this.selected.indexOf(option.value) !== -1) {
2091
+ this.selected = this.selected.filter(item => item !== option.value);
2092
+ }
2093
+ else {
2094
+ this.selected.push(option.value);
2095
+ }
2096
+ this.value = this.options.filter(item => this.selected.indexOf(item.value) !== -1).map(val => val.value);
2097
+ }
2098
+ else {
2099
+ this.selected = [option.value];
2100
+ this.value = option.value;
2101
+ }
2102
+ this.cdRef.detectChanges();
2103
+ this.onChange();
2104
+ }
2105
+ /**
2106
+ * Write form value to the DOM element (model => view)
2107
+ */
2108
+ writeValue(value) {
2109
+ this.value = value;
2110
+ if (value !== null && value !== undefined) {
2111
+ if (Array.isArray(value)) {
2112
+ this.selected = value.map(val => val);
2113
+ }
2114
+ else {
2115
+ this.selected = [value];
2116
+ }
2117
+ }
2118
+ this.cdRef.detectChanges();
2119
+ }
2120
+ /**
2121
+ * Write form disabled state to the DOM element (model => view)
2122
+ */
2123
+ setDisabledState(isDisabled) {
2124
+ this.disabled = isDisabled;
2125
+ }
2126
+ /**
2127
+ * Update form when DOM element value changes (view => model)
2128
+ */
2129
+ registerOnChange(fn) {
2130
+ // Store the provided function as an internal method.
2131
+ this.propagateChange = fn;
2132
+ }
2133
+ /**
2134
+ * Update form when DOM element is blurred (view => model)
2135
+ */
2136
+ registerOnTouched(fn) {
2137
+ // Store the provided function as an internal method.
2138
+ this.onTouched = fn;
2139
+ }
2140
+ onChange() {
2141
+ this.propagateChange(this.value);
2142
+ this.change.emit(this.value);
2143
+ }
2144
+ onTouched() {
2145
+ }
2146
+ }
2147
+ SelectButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectButtonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2148
+ 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: [
2149
+ {
2150
+ provide: NG_VALUE_ACCESSOR,
2151
+ useExisting: forwardRef(() => SelectButtonComponent),
2152
+ multi: true,
2153
+ }
2154
+ ], 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" }] });
2155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectButtonComponent, decorators: [{
2156
+ type: Component,
2157
+ args: [{ selector: 'in-select-button', providers: [
2158
+ {
2159
+ provide: NG_VALUE_ACCESSOR,
2160
+ useExisting: forwardRef(() => SelectButtonComponent),
2161
+ multi: true,
2162
+ }
2163
+ ], 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"] }]
2164
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { name: [{
2165
+ type: Input
2166
+ }], testId: [{
2167
+ type: Input
2168
+ }], label: [{
2169
+ type: Input
2170
+ }], icon: [{
2171
+ type: Input
2172
+ }], error: [{
2173
+ type: Input
2174
+ }], iconPos: [{
2175
+ type: Input
2176
+ }], options: [{
2177
+ type: Input
2178
+ }], disabled: [{
2179
+ type: Input
2180
+ }], required: [{
2181
+ type: Input
2182
+ }], multiple: [{
2183
+ type: Input
2184
+ }], initial: [{
2185
+ type: Input
2186
+ }], focus: [{
2187
+ type: Output
2188
+ }], blur: [{
2189
+ type: Output
2190
+ }], click: [{
2191
+ type: Output
2192
+ }], change: [{
2193
+ type: Output
2194
+ }] } });
2195
+
2196
+ class StatusCircleComponent {
2197
+ constructor() {
2198
+ this.label = '';
2199
+ this.title = '';
2200
+ this.icon = '';
2201
+ this.showLabel = true;
2202
+ this.mode = 'success';
2203
+ this.size = 'normal';
2204
+ this.content = '';
2205
+ }
2206
+ }
2207
+ StatusCircleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StatusCircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2208
+ 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"] }] });
2209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StatusCircleComponent, decorators: [{
2210
+ type: Component,
2211
+ 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"] }]
2212
+ }], propDecorators: { label: [{
2213
+ type: Input
2214
+ }], title: [{
2215
+ type: Input
2216
+ }], icon: [{
2217
+ type: Input
2218
+ }], showLabel: [{
2219
+ type: Input
2220
+ }], mode: [{
2221
+ type: Input
2222
+ }], size: [{
2223
+ type: Input
2224
+ }], content: [{
2225
+ type: Input
2226
+ }] } });
2227
+
2228
+ class SwitcherComponent {
2229
+ constructor(element, cdRef, router) {
2230
+ this.element = element;
2231
+ this.cdRef = cdRef;
2232
+ this.router = router;
2233
+ this.name = null;
2234
+ this.label = null;
2235
+ this.error = null;
2236
+ this.iconOff = '';
2237
+ this.iconOn = '';
2238
+ this.labelOff = 'Off';
2239
+ this.labelOn = 'On';
2240
+ this.faIconOn = '';
2241
+ this.faIconOff = '';
2242
+ this.id = null;
2243
+ this.change = new EventEmitter();
2244
+ this._isBoolean = false;
2245
+ this.propagateChange = (_) => {
2246
+ };
2247
+ }
2248
+ ngOnInit() {
2249
+ this._isBoolean = typeof this.value === 'boolean';
2250
+ this.value = typeof this.value === 'string' ? JSON.parse(this.value) : !!this.value;
2251
+ }
2252
+ ngOnChanges(changes) {
2253
+ }
2254
+ /**
2255
+ * Write form value to the DOM element (model => view)
2256
+ */
2257
+ writeValue(value) {
2258
+ this._isBoolean = typeof value === 'boolean';
2259
+ this.value = value;
2260
+ this.cdRef.detectChanges();
2261
+ }
2262
+ /**
2263
+ * Write form disabled state to the DOM element (model => view)
2264
+ */
2265
+ setDisabledState(isDisabled) {
2266
+ this.disabled = isDisabled;
2267
+ }
2268
+ /**
2269
+ * Update form when DOM element value changes (view => model)
2270
+ */
2271
+ registerOnChange(fn) {
2272
+ // Store the provided function as an internal method.
2273
+ this.propagateChange = fn;
2274
+ }
2275
+ /**
2276
+ * Update form when DOM element is blurred (view => model)
2277
+ */
2278
+ registerOnTouched(fn) {
2279
+ // Store the provided function as an internal method.
2280
+ this.onTouched = fn;
2281
+ }
2282
+ onChange(e) {
2283
+ e.stopPropagation();
2284
+ e.preventDefault();
2285
+ if (this._isBoolean) {
2286
+ this.propagateChange(this.value);
2287
+ this.change.emit(this.value);
2288
+ }
2289
+ else {
2290
+ this.propagateChange(this.value ? 1 : 0);
2291
+ this.change.emit(this.value ? 1 : 0);
2292
+ }
2293
+ }
2294
+ onTouched() {
2295
+ }
2296
+ }
2297
+ 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 });
2298
+ 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: [
2299
+ {
2300
+ provide: NG_VALUE_ACCESSOR,
2301
+ useExisting: forwardRef(() => SwitcherComponent),
2302
+ multi: true,
2303
+ }
2304
+ ], 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" }] });
2305
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SwitcherComponent, decorators: [{
2306
+ type: Component,
2307
+ args: [{ selector: 'in-switcher', providers: [
2308
+ {
2309
+ provide: NG_VALUE_ACCESSOR,
2310
+ useExisting: forwardRef(() => SwitcherComponent),
2311
+ multi: true,
2312
+ }
2313
+ ], 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"] }]
2314
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$3.Router }]; }, propDecorators: { name: [{
2315
+ type: Input
2316
+ }], label: [{
2317
+ type: Input
2318
+ }], error: [{
2319
+ type: Input
2320
+ }], iconOff: [{
2321
+ type: Input
2322
+ }], iconOn: [{
2323
+ type: Input
2324
+ }], labelOff: [{
2325
+ type: Input
2326
+ }], labelOn: [{
2327
+ type: Input
2328
+ }], faIconOn: [{
2329
+ type: Input
2330
+ }], faIconOff: [{
2331
+ type: Input
2332
+ }], id: [{
2333
+ type: Input
2334
+ }], disabled: [{
2335
+ type: Input
2336
+ }], waiting: [{
2337
+ type: Input
2338
+ }], change: [{
2339
+ type: Output
2340
+ }] } });
2341
+
2342
+ class InlineMessageComponent {
2343
+ constructor() {
2344
+ this.message = '';
2345
+ this.align = 'center';
2346
+ }
2347
+ }
2348
+ InlineMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InlineMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2349
+ 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"] }] });
2350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InlineMessageComponent, decorators: [{
2351
+ type: Component,
2352
+ 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"] }]
2353
+ }], propDecorators: { message: [{
2354
+ type: Input
2355
+ }], align: [{
2356
+ type: Input
2357
+ }] } });
2358
+
2359
+ class LinkComponent {
2360
+ constructor() {
2361
+ this.color = 'normal';
2362
+ this.name = '';
2363
+ this.testId = '';
2364
+ this.label = '';
2365
+ this.icon = '';
2366
+ this.className = '';
2367
+ this.svg = '';
2368
+ this.link = '';
2369
+ /**
2370
+ * external - ссылка на внешний источник
2371
+ * internal - ссылка внутри приложения
2372
+ * auto - определяется автоматически исходя из link
2373
+ */
2374
+ this.linkType = 'auto';
2375
+ /**
2376
+ * self - открывается в этом же окне
2377
+ * blank - открывается в новом окне
2378
+ * auto - определяется автоматически исходя из linkType
2379
+ */
2380
+ this.linkTarget = 'auto';
2381
+ // Отображает кнопку нажатой
2382
+ this.pressed = false;
2383
+ this.disabled = false;
2384
+ this.iconPos = 'left';
2385
+ this.menuItems = [];
2386
+ this.focus = new EventEmitter();
2387
+ this.blur = new EventEmitter();
2388
+ this.click = new EventEmitter();
2389
+ this.style = {};
2390
+ this._target = '_self';
2391
+ this._linkType = 'auto';
2392
+ this.isMaterialIcon = false;
2393
+ }
2394
+ ngOnInit() {
2395
+ this.updateData();
2396
+ }
2397
+ ngOnChanges(changes) {
2398
+ this.updateData();
2399
+ }
2400
+ updateData() {
2401
+ this._linkType = this.linkType;
2402
+ if (this._linkType === 'auto') {
2403
+ if ((this.link.indexOf('://') !== -1 || this.link.indexOf('//') === 0)) {
2404
+ this._linkType = 'external';
2405
+ }
2406
+ else {
2407
+ this._linkType = 'internal';
2408
+ }
2409
+ }
2410
+ if (this.linkTarget === 'auto') {
2411
+ if (this._linkType === 'external') {
2412
+ this._target = '_blank';
2413
+ }
2414
+ else {
2415
+ this._target = '_self';
2416
+ }
2417
+ }
2418
+ else {
2419
+ this._target = this.linkTarget === 'self' ? '_self' : 'blank';
2420
+ }
2421
+ if (this.icon && this.icon.indexOf('fa-') === -1) {
2422
+ this.isMaterialIcon = true;
2423
+ }
2424
+ else {
2425
+ this.isMaterialIcon = false;
2426
+ }
2427
+ }
2428
+ _onClick($event) {
2429
+ // if (!this.link) {
2430
+ // $event.stopPropagation();
2431
+ // $event.preventDefault();
2432
+ // this.click.emit($event);
2433
+ // }
2434
+ if (this.menuItems.length) {
2435
+ this._menu.toggle($event);
2436
+ }
2437
+ }
2438
+ }
2439
+ LinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2440
+ 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"] }] });
2441
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LinkComponent, decorators: [{
2442
+ type: Component,
2443
+ 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"] }]
2444
+ }], propDecorators: { color: [{
2445
+ type: Input
2446
+ }], name: [{
2447
+ type: Input
2448
+ }], testId: [{
2449
+ type: Input
2450
+ }], label: [{
2451
+ type: Input
2452
+ }], icon: [{
2453
+ type: Input
2454
+ }], className: [{
2455
+ type: Input
2456
+ }], svg: [{
2457
+ type: Input
2458
+ }], link: [{
2459
+ type: Input
2460
+ }], linkType: [{
2461
+ type: Input
2462
+ }], linkTarget: [{
2463
+ type: Input
2464
+ }], pressed: [{
2465
+ type: Input
2466
+ }], disabled: [{
2467
+ type: Input
2468
+ }], iconPos: [{
2469
+ type: Input
2470
+ }], menuItems: [{
2471
+ type: Input
2472
+ }], _menu: [{
2473
+ type: ViewChild,
2474
+ args: [Menu, { static: false }]
2475
+ }], focus: [{
2476
+ type: Output
2477
+ }], blur: [{
2478
+ type: Output
2479
+ }], click: [{
2480
+ type: Output
2481
+ }] } });
2482
+
2483
+ class TooltipComponent {
2484
+ constructor() { }
2485
+ ngOnInit() {
2486
+ }
2487
+ }
2488
+ TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2489
+ 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 });
2490
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TooltipComponent, decorators: [{
2491
+ type: Component,
2492
+ 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"] }]
2493
+ }], ctorParameters: function () { return []; } });
2494
+
2495
+ class TreeTableComponent {
2496
+ constructor() {
2497
+ this.columns = [];
2498
+ this.values = [];
2499
+ this.checkboxSelection = true;
2500
+ this.activeChange = new EventEmitter();
2501
+ this.selectionChange = new EventEmitter();
2502
+ this.addAction = new EventEmitter();
2503
+ this.csvAction = new EventEmitter();
2504
+ this.saveAction = new EventEmitter();
2505
+ this.collapseAction = new EventEmitter();
2506
+ this.removeAction = new EventEmitter();
2507
+ this.unlinkAction = new EventEmitter();
2508
+ this.groupEditAction = new EventEmitter();
2509
+ this.groupAddAction = new EventEmitter();
2510
+ this.rowIndex = 0;
2511
+ this.isCollapse = true;
2512
+ this._selection = null;
2513
+ }
2514
+ set selection(val) {
2515
+ this._selection = val;
2516
+ }
2517
+ get selectionValue() {
2518
+ return this._selection;
2519
+ }
2520
+ set selectionValue(val) {
2521
+ this._selection = val;
2522
+ this.selectionChange.emit(val);
2523
+ }
2524
+ isRowActive(row) {
2525
+ return this.active && this.active.id === row.id;
2526
+ }
2527
+ visibleColumns() {
2528
+ return this.columns.filter(column => !column.isHidden);
2529
+ }
2530
+ columnsChange(data) {
2531
+ data.column.isHidden = !data.event;
2532
+ }
2533
+ ngAfterContentInit() {
2534
+ this.templates.forEach((item) => {
2535
+ switch (item.getType()) {
2536
+ case 'caption':
2537
+ this.captionTemplate = item.template;
2538
+ break;
2539
+ case 'header':
2540
+ this.headerTemplate = item.template;
2541
+ break;
2542
+ case 'body':
2543
+ this.bodyTemplate = item.template;
2544
+ break;
2545
+ case 'value':
2546
+ this.valueTemplate = item.template;
2547
+ break;
2548
+ case 'loadingbody':
2549
+ this.loadingBodyTemplate = item.template;
2550
+ break;
2551
+ case 'footer':
2552
+ this.footerTemplate = item.template;
2553
+ break;
2554
+ case 'summary':
2555
+ this.summaryTemplate = item.template;
2556
+ break;
2557
+ case 'colgroup':
2558
+ this.colGroupTemplate = item.template;
2559
+ break;
2560
+ case 'rowexpansion':
2561
+ this.expandedRowTemplate = item.template;
2562
+ break;
2563
+ case 'frozenrows':
2564
+ this.frozenRowsTemplate = item.template;
2565
+ break;
2566
+ case 'frozenheader':
2567
+ this.frozenHeaderTemplate = item.template;
2568
+ break;
2569
+ case 'frozenbody':
2570
+ this.frozenBodyTemplate = item.template;
2571
+ break;
2572
+ case 'frozenfooter':
2573
+ this.frozenFooterTemplate = item.template;
2574
+ break;
2575
+ case 'frozencolgroup':
2576
+ this.frozenColGroupTemplate = item.template;
2577
+ break;
2578
+ case 'emptymessage':
2579
+ this.emptyMessageTemplate = item.template;
2580
+ break;
2581
+ case 'paginatorleft':
2582
+ this.paginatorLeftTemplate = item.template;
2583
+ break;
2584
+ case 'paginatorright':
2585
+ this.paginatorRightTemplate = item.template;
2586
+ break;
2587
+ }
2588
+ });
2589
+ }
2590
+ collapse(event, dt) {
2591
+ this.values.forEach((node) => {
2592
+ this.toggleCollapse(node, this.isCollapse);
2593
+ });
2594
+ this.isCollapse = !this.isCollapse;
2595
+ dt.filterGlobal(this.searchText, 'contains');
2596
+ }
2597
+ toggleCollapse(node, isCollapsed) {
2598
+ if (node.children) {
2599
+ node.expanded = isCollapsed;
2600
+ for (const cn of node.children) {
2601
+ if (cn) {
2602
+ this.toggleCollapse(cn, isCollapsed);
2603
+ }
2604
+ }
2605
+ }
2606
+ }
2607
+ }
2608
+ TreeTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2609
+ 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" }] });
2610
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponent, decorators: [{
2611
+ type: Component,
2612
+ 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"] }]
2613
+ }], propDecorators: { columns: [{
2614
+ type: Input
2615
+ }], values: [{
2616
+ type: Input
2617
+ }], scrollHeight: [{
2618
+ type: Input
2619
+ }], scrollable: [{
2620
+ type: Input
2621
+ }], selectionMode: [{
2622
+ type: Input
2623
+ }], label: [{
2624
+ type: Input
2625
+ }], error: [{
2626
+ type: Input
2627
+ }], class: [{
2628
+ type: Input
2629
+ }], required: [{
2630
+ type: Input
2631
+ }], style: [{
2632
+ type: Input
2633
+ }], toolbar: [{
2634
+ type: Input
2635
+ }], checkboxSelection: [{
2636
+ type: Input
2637
+ }], active: [{
2638
+ type: Input
2639
+ }], sortField: [{
2640
+ type: Input
2641
+ }], isAscending: [{
2642
+ type: Input
2643
+ }], dataKey: [{
2644
+ type: Input
2645
+ }], activeChange: [{
2646
+ type: Output
2647
+ }], templates: [{
2648
+ type: ContentChildren,
2649
+ args: [InsparkTemplate]
2650
+ }], selectionChange: [{
2651
+ type: Output
2652
+ }], addAction: [{
2653
+ type: Output
2654
+ }], csvAction: [{
2655
+ type: Output
2656
+ }], saveAction: [{
2657
+ type: Output
2658
+ }], collapseAction: [{
2659
+ type: Output
2660
+ }], removeAction: [{
2661
+ type: Output
2662
+ }], unlinkAction: [{
2663
+ type: Output
2664
+ }], groupEditAction: [{
2665
+ type: Output
2666
+ }], groupAddAction: [{
2667
+ type: Output
2668
+ }], selection: [{
2669
+ type: Input
2670
+ }] } });
2671
+ class TreeTableComponentModule {
2672
+ }
2673
+ TreeTableComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2674
+ 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] });
2675
+ TreeTableComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponentModule, imports: [CommonModule, TreeTableModule, PipesModule, TranslateModule, FormsModule, TableComponentModule] });
2676
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponentModule, decorators: [{
2677
+ type: NgModule,
2678
+ args: [{
2679
+ imports: [CommonModule, TreeTableModule, PipesModule, TranslateModule, FormsModule, TableComponentModule],
2680
+ exports: [TreeTableComponent],
2681
+ declarations: [TreeTableComponent]
2682
+ }]
2683
+ }] });
2684
+
2685
+ class RadiobuttonComponent {
2686
+ constructor() {
2687
+ this.name = null;
2688
+ this.label = null;
2689
+ this.required = false;
2690
+ this.error = null;
2691
+ this.placeholder = '';
2692
+ this.id = null;
2693
+ this.change = new EventEmitter();
2694
+ }
2695
+ onChangeEvent(value) {
2696
+ this.change.next({ name: this.name, value });
2697
+ }
2698
+ }
2699
+ RadiobuttonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RadiobuttonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2700
+ 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 });
2701
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RadiobuttonComponent, decorators: [{
2702
+ type: Component,
2703
+ 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" }]
2704
+ }], ctorParameters: function () { return []; }, propDecorators: { name: [{
2705
+ type: Input
2706
+ }], label: [{
2707
+ type: Input
2708
+ }], required: [{
2709
+ type: Input
2710
+ }], error: [{
2711
+ type: Input
2712
+ }], placeholder: [{
2713
+ type: Input
2714
+ }], id: [{
2715
+ type: Input
2716
+ }], disabled: [{
2717
+ type: Input
2718
+ }], value: [{
2719
+ type: Input
2720
+ }], values: [{
2721
+ type: Input
2722
+ }], keyLabel: [{
2723
+ type: Input
2724
+ }], item: [{
2725
+ type: Input
2726
+ }], change: [{
2727
+ type: Output
2728
+ }] } });
2729
+
2730
+ class SelectListComponent {
2731
+ constructor(ref, config, messageService, router) {
2732
+ this.ref = ref;
2733
+ this.config = config;
2734
+ this.messageService = messageService;
2735
+ this.router = router;
2736
+ this.options = null;
2737
+ this.isShowSpinner = false;
2738
+ }
2739
+ ngOnInit() {
2740
+ this.options = this.config.data.command.options.map(item => {
2741
+ return { value: item, checked: false };
2742
+ });
2743
+ this.selected = Array(this.options.length).fill(false);
2744
+ }
2745
+ closeModal(val = null) {
2746
+ this.ref.close(val);
2747
+ }
2748
+ applySelection() {
2749
+ if (!this.selected) {
2750
+ this.messageService.message(gettext('Select object'));
2751
+ return;
2752
+ }
2753
+ else {
2754
+ this.closeModal({ selected: this.options.filter(o => o.checked) });
2755
+ }
2756
+ }
2757
+ select(i) {
2758
+ this.options[i].checked = !this.options[i].checked;
2759
+ }
2760
+ highlight(value, text) {
2761
+ const regex = new RegExp('(' + text + ')', 'gi');
2762
+ return value.replace(regex, '<span class="u-text-highlight">$1</span>');
2763
+ }
2764
+ }
2765
+ 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 });
2766
+ 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" }] });
2767
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectListComponent, decorators: [{
2768
+ type: Component,
2769
+ 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"] }]
2770
+ }], ctorParameters: function () { return [{ type: i1$5.DynamicDialogRef }, { type: i1$5.DynamicDialogConfig }, { type: InsparkMessageService }, { type: i1$3.Router }]; } });
2771
+
2772
+ class ObjectTreeComponent {
2773
+ constructor() { }
2774
+ ngOnInit() {
2775
+ }
2776
+ }
2777
+ ObjectTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2778
+ 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 });
2779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectTreeComponent, decorators: [{
2780
+ type: Component,
2781
+ args: [{ selector: 'in-object-tree', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p>object-tree works!</p>\n" }]
2782
+ }], ctorParameters: function () { return []; } });
2783
+
2784
+ class ModalInputTextComponent {
2785
+ constructor(ref, config, translateService, messageService, router) {
2786
+ this.ref = ref;
2787
+ this.config = config;
2788
+ this.translateService = translateService;
2789
+ this.messageService = messageService;
2790
+ this.router = router;
2791
+ this.options = null;
2792
+ this.isShowSpinner = false;
2793
+ this.maxLength = 0;
2794
+ }
2795
+ ngOnInit() {
2796
+ this.param = this.config.data.command.param;
2797
+ this.options = this.config.data.command.options.map(item => {
2798
+ return { value: item, checked: false };
2799
+ });
2800
+ if (this.options && this.options.length > 0) {
2801
+ this.calculateWidth();
2802
+ }
2803
+ this.selected = Array(this.options.length).fill(false);
2804
+ }
2805
+ closeModal(val = null) {
2806
+ this.ref.close(val);
2807
+ }
2808
+ applySelection() {
2809
+ if (!this.selected) {
2810
+ this.messageService.message(gettext('Select object'));
2811
+ return;
2812
+ }
2813
+ else {
2814
+ this.closeModal({
2815
+ selected: this.options.filter(o => o.checked),
2816
+ param: this.param ? this.param.value : undefined
2817
+ });
2818
+ }
2819
+ }
2820
+ select(i) {
2821
+ this.options[i].checked = !this.options[i].checked;
2822
+ }
2823
+ checkSelected() {
2824
+ if (this.param) {
2825
+ return !this.param.value;
2826
+ }
2827
+ else if (this.options) {
2828
+ return this.options.filter(opt => opt.checked).length === 0;
2829
+ }
2830
+ return false;
2831
+ }
2832
+ highlight(value, text) {
2833
+ const regex = new RegExp('(' + text + ')', 'gi');
2834
+ return value.replace(regex, '<span class="u-text-highlight">$1</span>');
2835
+ }
2836
+ calculateWidth() {
2837
+ this.options.forEach(opt => {
2838
+ if (opt.value.length * 7 > this.maxLength) {
2839
+ this.maxLength = opt.value.length * 7 + 100;
2840
+ }
2841
+ });
2842
+ }
2843
+ translate(str) {
2844
+ const splited = str.split('\n');
2845
+ let translated = '';
2846
+ splited.forEach(s => translated += this.translateService.instant(s) + '\n');
2847
+ return translated;
2848
+ }
2849
+ }
2850
+ 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 });
2851
+ 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" }] });
2852
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ModalInputTextComponent, decorators: [{
2853
+ type: Component,
2854
+ 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"] }]
2855
+ }], ctorParameters: function () { return [{ type: i1$5.DynamicDialogRef }, { type: i1$5.DynamicDialogConfig }, { type: i1.TranslateService }, { type: InsparkMessageService }, { type: i1$3.Router }]; } });
2856
+
2857
+ class ContentToggleComponent {
2858
+ constructor(cdr) {
2859
+ this.cdr = cdr;
2860
+ this.defaultOpen = true;
2861
+ this.isOpen = this.defaultOpen;
2862
+ this.icon = null;
2863
+ this.manualArrow = true;
2864
+ this.toggle = new EventEmitter();
2865
+ }
2866
+ ngOnInit() {
2867
+ this.isOpen = this.defaultOpen;
2868
+ }
2869
+ toggleOpen(e) {
2870
+ // Получаем родительский элемент div
2871
+ const parentElement = this.elementButtons.nativeElement;
2872
+ // Проверяем, входит ли цель события в родительский элемент
2873
+ if (!parentElement.contains(e.target) || e.target === parentElement) {
2874
+ this.isOpen = !this.isOpen;
2875
+ this.toggle.emit(this.isOpen);
2876
+ this.cdr.detectChanges();
2877
+ }
2878
+ }
2879
+ }
2880
+ ContentToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContentToggleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2881
+ 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"] }] });
2882
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContentToggleComponent, decorators: [{
2883
+ type: Component,
2884
+ 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"] }]
2885
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { label: [{
2886
+ type: Input
2887
+ }], defaultOpen: [{
2888
+ type: Input
2889
+ }], isOpen: [{
2890
+ type: Input
2891
+ }], icon: [{
2892
+ type: Input
2893
+ }], manualArrow: [{
2894
+ type: Input
2895
+ }], toggle: [{
2896
+ type: Output
2897
+ }], elementButtons: [{
2898
+ type: ViewChild,
2899
+ args: ['buttons', { static: true }]
2900
+ }] } });
2901
+
2902
+ class InputGroupComponent {
2903
+ constructor() {
2904
+ this.name = null;
2905
+ this.measureunit = null;
2906
+ this.autocomplete = true;
2907
+ this.label = null;
2908
+ this.required = false;
2909
+ this.error = null;
2910
+ this.size = 100000;
2911
+ this.maxlength = 100000;
2912
+ this.width = 'auto';
2913
+ this.placeholder = '';
2914
+ this.id = null;
2915
+ this.testId = null;
2916
+ this.opacity = true;
2917
+ this.shadow = false;
2918
+ this.isEditMode = true;
2919
+ this.focus = new EventEmitter();
2920
+ this.blur = new EventEmitter();
2921
+ this.updateValue = new EventEmitter();
2922
+ this.disableEditableView = new EventEmitter();
2923
+ this.validators = [/^-?\d*\.?\d*$/];
2924
+ this.isEditable = true;
2925
+ this.propagateChange = (_) => {
2926
+ };
2927
+ }
2928
+ ngOnInit() {
2929
+ this._value = this.value;
2930
+ }
2931
+ /**
2932
+ * Write form value to the DOM element (model => view)
2933
+ */
2934
+ writeValue(value) {
2935
+ this.value = value ? value : this.name;
2936
+ this._value = this.value;
2937
+ }
2938
+ /**
2939
+ * Write form disabled state to the DOM element (model => view)
2940
+ */
2941
+ setDisabledState(isDisabled) {
2942
+ this.disabled = isDisabled;
2943
+ }
2944
+ /**
2945
+ * Update form when DOM element value changes (view => model)
2946
+ */
2947
+ registerOnChange(fn) {
2948
+ // Store the provided function as an internal method.
2949
+ this.propagateChange = fn;
2950
+ }
2951
+ /**
2952
+ * Update form when DOM element is blurred (view => model)
2953
+ */
2954
+ registerOnTouched(fn) {
2955
+ // Store the provided function as an internal method.
2956
+ this.onTouched = fn;
2957
+ }
2958
+ onChange(_) {
2959
+ this.propagateChange(this.value);
2960
+ }
2961
+ onTouched() {
2962
+ }
2963
+ cancel() {
2964
+ this.isEditable = false;
2965
+ this.disableEditableView.emit(false);
2966
+ this.value = this._value;
2967
+ }
2968
+ numberOnly(event) {
2969
+ if (event.keyCode === 8) {
2970
+ return true;
2971
+ }
2972
+ let test = '';
2973
+ if (this.value) {
2974
+ test = this.value + event.key;
2975
+ }
2976
+ else {
2977
+ test = event.key;
2978
+ }
2979
+ return this.validators[0].test(test);
2980
+ }
2981
+ changeEditMode() {
2982
+ this.isEditable = !this.isEditable;
2983
+ }
2984
+ //
2985
+ // disableEditableView() {
2986
+ // this.isEditableView.emit(false);
2987
+ // }
2988
+ changeValue(value) {
2989
+ this.value = value;
2990
+ this._value = this.value;
2991
+ // this.isEditable = false;
2992
+ this.updateValue.emit(value);
2993
+ this.disableEditableView.emit(false);
2994
+ }
2995
+ isApplyDisabled() {
2996
+ return this.value != null ? false : true;
2997
+ }
2998
+ }
2999
+ InputGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InputGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3000
+ 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: [
3001
+ {
3002
+ provide: NG_VALUE_ACCESSOR,
3003
+ useExisting: forwardRef(() => InputGroupComponent),
3004
+ multi: true,
3005
+ }
3006
+ ], 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" }] });
3007
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InputGroupComponent, decorators: [{
3008
+ type: Component,
3009
+ args: [{ selector: 'in-input-group', providers: [
3010
+ {
3011
+ provide: NG_VALUE_ACCESSOR,
3012
+ useExisting: forwardRef(() => InputGroupComponent),
3013
+ multi: true,
3014
+ }
3015
+ ], 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" }]
3016
+ }], propDecorators: { name: [{
3017
+ type: Input
3018
+ }], measureunit: [{
3019
+ type: Input
3020
+ }], autocomplete: [{
3021
+ type: Input
3022
+ }], label: [{
3023
+ type: Input
3024
+ }], required: [{
3025
+ type: Input
3026
+ }], error: [{
3027
+ type: Input
3028
+ }], size: [{
3029
+ type: Input
3030
+ }], maxlength: [{
3031
+ type: Input
3032
+ }], width: [{
3033
+ type: Input
3034
+ }], placeholder: [{
3035
+ type: Input
3036
+ }], id: [{
3037
+ type: Input
3038
+ }], testId: [{
3039
+ type: Input
3040
+ }], disabled: [{
3041
+ type: Input
3042
+ }], opacity: [{
3043
+ type: Input
3044
+ }], shadow: [{
3045
+ type: Input
3046
+ }], isEditMode: [{
3047
+ type: Input
3048
+ }], focus: [{
3049
+ type: Output
3050
+ }], blur: [{
3051
+ type: Output
3052
+ }], updateValue: [{
3053
+ type: Output
3054
+ }], disableEditableView: [{
3055
+ type: Output
3056
+ }] } });
3057
+
3058
+ class PrimengComponentsModule {
3059
+ }
3060
+ PrimengComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PrimengComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3061
+ PrimengComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PrimengComponentsModule, imports: [DropdownModule], exports: [DropdownModule] });
3062
+ PrimengComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PrimengComponentsModule, imports: [DropdownModule, DropdownModule] });
3063
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PrimengComponentsModule, decorators: [{
3064
+ type: NgModule,
3065
+ args: [{
3066
+ imports: [
3067
+ DropdownModule,
3068
+ ],
3069
+ declarations: [],
3070
+ exports: [
3071
+ DropdownModule
3072
+ ],
3073
+ entryComponents: []
3074
+ }]
3075
+ }] });
3076
+
3077
+ class AutoCompleteComponent extends AutoComplete {
3078
+ constructor() {
3079
+ super(...arguments);
3080
+ this.minLength = 1;
3081
+ this.delay = 300;
3082
+ this.type = 'text';
3083
+ this.autoZIndex = true;
3084
+ this.baseZIndex = 0;
3085
+ this.dropdownIcon = "pi pi-caret-down";
3086
+ this.unique = true;
3087
+ this.completeMethod = new EventEmitter();
3088
+ this.onSelect = new EventEmitter();
3089
+ this.onUnselect = new EventEmitter();
3090
+ this.onFocus = new EventEmitter();
3091
+ this.onBlur = new EventEmitter();
3092
+ this.onDropdownClick = new EventEmitter();
3093
+ this.onClear = new EventEmitter();
3094
+ this.onKeyUp = new EventEmitter();
3095
+ this.scrollHeight = '200px';
3096
+ this.dropdownMode = 'blank';
3097
+ this.immutable = true;
3098
+ this.showTransitionOptions = '225ms ease-out';
3099
+ this.hideTransitionOptions = '195ms ease-in';
3100
+ this.autocomplete = 'off';
3101
+ }
3102
+ ngAfterContentInit() {
3103
+ this.templates.forEach((item) => {
3104
+ switch (item.getType()) {
3105
+ case 'item':
3106
+ this.itemTemplate = item.template;
3107
+ break;
3108
+ case 'selectedItem':
3109
+ this.selectedItemTemplate = item.template;
3110
+ break;
3111
+ default:
3112
+ this.itemTemplate = item.template;
3113
+ break;
3114
+ }
3115
+ });
3116
+ }
3117
+ }
3118
+ AutoCompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3119
+ 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: [{
3120
+ provide: NG_VALUE_ACCESSOR,
3121
+ useExisting: forwardRef(() => AutoCompleteComponent),
3122
+ multi: true
3123
+ }], 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({
3124
+ opacity: 0,
3125
+ transform: 'scaleY(0.8)'
3126
+ }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({ opacity: 0 }))])])] });
3127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponent, decorators: [{
3128
+ type: Component,
3129
+ args: [{ selector: 'in-autocomplete', animations: [trigger('overlayAnimation', [transition(':enter', [style({
3130
+ opacity: 0,
3131
+ transform: 'scaleY(0.8)'
3132
+ }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({ opacity: 0 }))])])], providers: [{
3133
+ provide: NG_VALUE_ACCESSOR,
3134
+ useExisting: forwardRef(() => AutoCompleteComponent),
3135
+ multi: true
3136
+ }], 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" }]
3137
+ }], propDecorators: { minLength: [{
3138
+ type: Input
3139
+ }], delay: [{
3140
+ type: Input
3141
+ }], style: [{
3142
+ type: Input
3143
+ }], panelStyle: [{
3144
+ type: Input
3145
+ }], styleClass: [{
3146
+ type: Input
3147
+ }], panelStyleClass: [{
3148
+ type: Input
3149
+ }], inputStyle: [{
3150
+ type: Input
3151
+ }], inputId: [{
3152
+ type: Input
3153
+ }], inputStyleClass: [{
3154
+ type: Input
3155
+ }], placeholder: [{
3156
+ type: Input
3157
+ }], readonly: [{
3158
+ type: Input
3159
+ }], disabled: [{
3160
+ type: Input
3161
+ }], maxlength: [{
3162
+ type: Input
3163
+ }], name: [{
3164
+ type: Input
3165
+ }], required: [{
3166
+ type: Input
3167
+ }], size: [{
3168
+ type: Input
3169
+ }], appendTo: [{
3170
+ type: Input
3171
+ }], autoHighlight: [{
3172
+ type: Input
3173
+ }], forceSelection: [{
3174
+ type: Input
3175
+ }], type: [{
3176
+ type: Input
3177
+ }], autoZIndex: [{
3178
+ type: Input
3179
+ }], baseZIndex: [{
3180
+ type: Input
3181
+ }], ariaLabel: [{
3182
+ type: Input
3183
+ }], ariaLabelledBy: [{
3184
+ type: Input
3185
+ }], dropdownIcon: [{
3186
+ type: Input
3187
+ }], unique: [{
3188
+ type: Input
3189
+ }], completeMethod: [{
3190
+ type: Output
3191
+ }], onSelect: [{
3192
+ type: Output
3193
+ }], onUnselect: [{
3194
+ type: Output
3195
+ }], onFocus: [{
3196
+ type: Output
3197
+ }], onBlur: [{
3198
+ type: Output
3199
+ }], onDropdownClick: [{
3200
+ type: Output
3201
+ }], onClear: [{
3202
+ type: Output
3203
+ }], onKeyUp: [{
3204
+ type: Output
3205
+ }], field: [{
3206
+ type: Input
3207
+ }], scrollHeight: [{
3208
+ type: Input
3209
+ }], dropdown: [{
3210
+ type: Input
3211
+ }], dropdownMode: [{
3212
+ type: Input
3213
+ }], multiple: [{
3214
+ type: Input
3215
+ }], tabindex: [{
3216
+ type: Input
3217
+ }], dataKey: [{
3218
+ type: Input
3219
+ }], emptyMessage: [{
3220
+ type: Input
3221
+ }], immutable: [{
3222
+ type: Input
3223
+ }], showTransitionOptions: [{
3224
+ type: Input
3225
+ }], hideTransitionOptions: [{
3226
+ type: Input
3227
+ }], autofocus: [{
3228
+ type: Input
3229
+ }], autocomplete: [{
3230
+ type: Input
3231
+ }], inputEL: [{
3232
+ type: ViewChild,
3233
+ args: ['in', { static: false }]
3234
+ }], multiInputEL: [{
3235
+ type: ViewChild,
3236
+ args: ['multiIn', { static: false }]
3237
+ }], multiContainerEL: [{
3238
+ type: ViewChild,
3239
+ args: ['multiContainer', { static: false }]
3240
+ }], dropdownButton: [{
3241
+ type: ViewChild,
3242
+ args: ['ddBtn', { static: false }]
3243
+ }], templates: [{
3244
+ type: ContentChildren,
3245
+ args: [InsparkTemplate]
3246
+ }] } });
3247
+ class AutoCompleteComponentModule {
3248
+ }
3249
+ AutoCompleteComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3250
+ AutoCompleteComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponentModule, declarations: [AutoCompleteComponent], imports: [TooltipModule,
3251
+ ScrollingModule,
3252
+ CommonModule,
3253
+ PrimengComponentsModule,
3254
+ ButtonModule], exports: [AutoCompleteComponent] });
3255
+ AutoCompleteComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponentModule, imports: [TooltipModule,
3256
+ ScrollingModule,
3257
+ CommonModule,
3258
+ PrimengComponentsModule,
3259
+ ButtonModule] });
3260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponentModule, decorators: [{
3261
+ type: NgModule,
3262
+ args: [{
3263
+ declarations: [
3264
+ AutoCompleteComponent,
3265
+ ],
3266
+ imports: [
3267
+ TooltipModule,
3268
+ ScrollingModule,
3269
+ CommonModule,
3270
+ PrimengComponentsModule,
3271
+ ButtonModule,
3272
+ ],
3273
+ exports: [
3274
+ AutoCompleteComponent,
3275
+ ],
3276
+ entryComponents: [
3277
+ AutoCompleteComponent,
3278
+ ]
3279
+ }]
3280
+ }] });
3281
+
3282
+ class PieService {
3283
+ constructor() {
3284
+ this.colorArray = ['-1', 0, 1, 2, 3, 4]; // Цвета и последовательность в которой они будут отображены
3285
+ this.colors = {
3286
+ 1: '#31ac51',
3287
+ 2: '#EE9946',
3288
+ 3: '#F95C5D',
3289
+ 4: '#a20000',
3290
+ 0: '#7E8087',
3291
+ '-1': '#85B3CB'
3292
+ };
3293
+ }
3294
+ create(statuses, size) {
3295
+ const data = [];
3296
+ let allCount = 0;
3297
+ this.colorArray.forEach((color) => {
3298
+ allCount += statuses[color] || 0;
3299
+ });
3300
+ let cumulativePercent = 0;
3301
+ this.colorArray.forEach((color) => {
3302
+ const count = statuses[color];
3303
+ if (!count) {
3304
+ return;
3305
+ }
3306
+ const percent = count / allCount;
3307
+ const [startX, startY] = this.getCoordinatesForPercent(size, cumulativePercent);
3308
+ cumulativePercent += percent;
3309
+ const [endX, endY] = this.getCoordinatesForPercent(size, cumulativePercent);
3310
+ const largeArcFlag = percent > .5 ? 1 : 0;
3311
+ const pathData = [
3312
+ `M ${startX} ${startY}`,
3313
+ `A 20 20 0 ${largeArcFlag} 1 ${endX} ${endY}`,
3314
+ `L 0 0`, // Line
3315
+ ].join(' ');
3316
+ data.push({
3317
+ path: pathData,
3318
+ color: this.colors[color + '']
3319
+ });
3320
+ });
3321
+ return data;
3322
+ }
3323
+ getCoordinatesForPercent(size, percent) {
3324
+ const x = size / 2 * Math.cos(2 * Math.PI * percent);
3325
+ const y = size / 2 * Math.sin(2 * Math.PI * percent);
3326
+ return [x, y];
3327
+ }
3328
+ }
3329
+ PieService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PieService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3330
+ PieService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PieService });
3331
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PieService, decorators: [{
3332
+ type: Injectable
3333
+ }] });
3334
+
3335
+ // @ts-nocheck
3336
+ class ObjectPieComponent {
3337
+ constructor(translate, pieService, cdr) {
3338
+ this.translate = translate;
3339
+ this.pieService = pieService;
3340
+ this.cdr = cdr;
3341
+ this.count = 30;
3342
+ this.size = 40;
3343
+ this.statuses = {
3344
+ '-1': 20,
3345
+ 0: 4,
3346
+ 1: 3,
3347
+ 2: 4,
3348
+ 3: 5
3349
+ };
3350
+ }
3351
+ ngOnInit() {
3352
+ this.data = this.pieService.create(this.statuses, this.size);
3353
+ }
3354
+ ngOnDestroy() {
3355
+ }
3356
+ ngOnChanges(changes) {
3357
+ }
3358
+ }
3359
+ 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 });
3360
+ 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 });
3361
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectPieComponent, decorators: [{
3362
+ type: Component,
3363
+ 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"] }]
3364
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: PieService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { count: [{
3365
+ type: Input
3366
+ }], size: [{
3367
+ type: Input
3368
+ }], statuses: [{
3369
+ type: Input
3370
+ }] } });
3371
+
3372
+ class InsparkComponentsModule {
3373
+ }
3374
+ InsparkComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3375
+ InsparkComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: InsparkComponentsModule, declarations: [ButtonComponent,
3376
+ InputTextComponent,
3377
+ TextareaComponent,
3378
+ PanelComponent,
3379
+ ComponentContainerComponent,
3380
+ CheckboxComponent,
3381
+ EmptyComponent,
3382
+ PreloaderComponent,
3383
+ InsparkStickyComponent,
3384
+ InsparkHeaderComponent,
3385
+ ToolbarComponent,
3386
+ BreadcrumbComponent,
3387
+ FileComponent,
3388
+ SelectButtonComponent,
3389
+ ModalInputTextComponent,
3390
+ SelectListComponent,
3391
+ StatusCircleComponent,
3392
+ SvgComponent,
3393
+ SwitcherComponent,
3394
+ InlineMessageComponent,
3395
+ LinkComponent,
3396
+ InsparkTemplate,
3397
+ TooltipComponent,
3398
+ RadiobuttonComponent,
3399
+ ObjectTreeComponent,
3400
+ ContentToggleComponent,
3401
+ InputGroupComponent,
3402
+ ObjectPieComponent], imports: [AutoCompleteComponentModule,
3403
+ FormsModule,
3404
+ ReactiveFormsModule,
3405
+ CommonModule,
3406
+ DropdownComponentModule,
3407
+ TableComponentModule,
3408
+ TreeTableComponentModule,
3409
+ RadioButtonModule,
3410
+ TranslateModule,
3411
+ MenuModule,
3412
+ SliderModule,
3413
+ NgbModule, i2$1.InlineSVGModule, BreadcrumbModule,
3414
+ TreeModule,
3415
+ SharedModule], exports: [ButtonComponent,
3416
+ InputTextComponent,
3417
+ TextareaComponent,
3418
+ PanelComponent,
3419
+ ComponentContainerComponent,
3420
+ CheckboxComponent,
3421
+ DropdownComponentModule,
3422
+ TableComponentModule,
3423
+ TreeTableComponentModule,
3424
+ EmptyComponent,
3425
+ PreloaderComponent,
3426
+ InsparkStickyComponent,
3427
+ InsparkHeaderComponent,
3428
+ ToolbarComponent,
3429
+ BreadcrumbComponent,
3430
+ FileComponent,
3431
+ SelectButtonComponent,
3432
+ ModalInputTextComponent,
3433
+ SelectListComponent,
3434
+ StatusCircleComponent,
3435
+ SvgComponent,
3436
+ SwitcherComponent,
3437
+ MenuModule,
3438
+ SliderModule,
3439
+ InlineMessageComponent,
3440
+ LinkComponent,
3441
+ InsparkTemplate,
3442
+ NgbModule,
3443
+ TooltipComponent,
3444
+ RadiobuttonComponent,
3445
+ ObjectTreeComponent,
3446
+ ContentToggleComponent,
3447
+ ObjectPieComponent,
3448
+ InputGroupComponent,
3449
+ AutoCompleteComponentModule] });
3450
+ InsparkComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkComponentsModule, imports: [AutoCompleteComponentModule,
3451
+ FormsModule,
3452
+ ReactiveFormsModule,
3453
+ CommonModule,
3454
+ DropdownComponentModule,
3455
+ TableComponentModule,
3456
+ TreeTableComponentModule,
3457
+ RadioButtonModule,
3458
+ TranslateModule,
3459
+ MenuModule,
3460
+ SliderModule,
3461
+ NgbModule,
3462
+ InlineSVGModule.forRoot({ baseUrl: 'assets/images/' }),
3463
+ BreadcrumbModule,
3464
+ TreeModule,
3465
+ SharedModule, DropdownComponentModule,
3466
+ TableComponentModule,
3467
+ TreeTableComponentModule,
3468
+ MenuModule,
3469
+ SliderModule,
3470
+ NgbModule,
3471
+ AutoCompleteComponentModule] });
3472
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkComponentsModule, decorators: [{
3473
+ type: NgModule,
3474
+ args: [{
3475
+ imports: [
3476
+ AutoCompleteComponentModule,
3477
+ FormsModule,
3478
+ ReactiveFormsModule,
3479
+ CommonModule,
3480
+ DropdownComponentModule,
3481
+ TableComponentModule,
3482
+ TreeTableComponentModule,
3483
+ RadioButtonModule,
3484
+ TranslateModule,
3485
+ MenuModule,
3486
+ SliderModule,
3487
+ NgbModule,
3488
+ InlineSVGModule.forRoot({ baseUrl: 'assets/images/' }),
3489
+ BreadcrumbModule,
3490
+ TreeModule,
3491
+ SharedModule
3492
+ ],
3493
+ declarations: [
3494
+ ButtonComponent,
3495
+ InputTextComponent,
3496
+ TextareaComponent,
3497
+ PanelComponent,
3498
+ ComponentContainerComponent,
3499
+ CheckboxComponent,
3500
+ EmptyComponent,
3501
+ PreloaderComponent,
3502
+ InsparkStickyComponent,
3503
+ InsparkHeaderComponent,
3504
+ ToolbarComponent,
3505
+ BreadcrumbComponent,
3506
+ FileComponent,
3507
+ SelectButtonComponent,
3508
+ ModalInputTextComponent,
3509
+ SelectListComponent,
3510
+ StatusCircleComponent,
3511
+ SvgComponent,
3512
+ SwitcherComponent,
3513
+ InlineMessageComponent,
3514
+ LinkComponent,
3515
+ InsparkTemplate,
3516
+ TooltipComponent,
3517
+ RadiobuttonComponent,
3518
+ ObjectTreeComponent,
3519
+ ContentToggleComponent,
3520
+ InputGroupComponent,
3521
+ ObjectPieComponent,
3522
+ ],
3523
+ exports: [
3524
+ ButtonComponent,
3525
+ InputTextComponent,
3526
+ TextareaComponent,
3527
+ PanelComponent,
3528
+ ComponentContainerComponent,
3529
+ CheckboxComponent,
3530
+ DropdownComponentModule,
3531
+ TableComponentModule,
3532
+ TreeTableComponentModule,
3533
+ EmptyComponent,
3534
+ PreloaderComponent,
3535
+ InsparkStickyComponent,
3536
+ InsparkHeaderComponent,
3537
+ ToolbarComponent,
3538
+ BreadcrumbComponent,
3539
+ FileComponent,
3540
+ SelectButtonComponent,
3541
+ ModalInputTextComponent,
3542
+ SelectListComponent,
3543
+ StatusCircleComponent,
3544
+ SvgComponent,
3545
+ SwitcherComponent,
3546
+ MenuModule,
3547
+ SliderModule,
3548
+ InlineMessageComponent,
3549
+ LinkComponent,
3550
+ InsparkTemplate,
3551
+ NgbModule,
3552
+ TooltipComponent,
3553
+ RadiobuttonComponent,
3554
+ ObjectTreeComponent,
3555
+ ContentToggleComponent,
3556
+ ObjectPieComponent,
3557
+ InputGroupComponent,
3558
+ AutoCompleteComponentModule
3559
+ ],
3560
+ entryComponents: [SelectListComponent, ModalInputTextComponent],
3561
+ schemas: [NO_ERRORS_SCHEMA]
3562
+ }]
3563
+ }] });
3564
+
3565
+ /*
3566
+ * Public API Surface of inspark-components
3567
+ */
3568
+
3569
+ /**
3570
+ * Generated bundle index. Do not edit.
3571
+ */
3572
+
3573
+ 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 };
3574
+ //# sourceMappingURL=inspark-inspark-components.mjs.map