@inspark/inspark-components 14.0.71 → 19.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/full/bms.css +3 -2363
  2. package/full/bms.js +1 -1
  3. package/full/components/autocomplete/autocomplete.component.d.ts +36 -57
  4. package/full/components/autocomplete/autocomplete.component.d.ts.map +1 -0
  5. package/full/components/autocomplete/autocomplete.module.d.ts +10 -0
  6. package/full/components/autocomplete/autocomplete.module.d.ts.map +1 -0
  7. package/full/components/breadcrumb/breadcrumb.component.d.ts +2 -1
  8. package/full/components/breadcrumb/breadcrumb.component.d.ts.map +1 -0
  9. package/full/components/breadcrumb/breadcrumb.module.d.ts +9 -0
  10. package/full/components/breadcrumb/breadcrumb.module.d.ts.map +1 -0
  11. package/full/components/button/button.component.d.ts +9 -8
  12. package/full/components/button/button.component.d.ts.map +1 -0
  13. package/full/components/button/button.module.d.ts +12 -0
  14. package/full/components/button/button.module.d.ts.map +1 -0
  15. package/full/components/checkbox/checkbox.component.d.ts +2 -1
  16. package/full/components/checkbox/checkbox.component.d.ts.map +1 -0
  17. package/full/components/checkbox/checkbox.module.d.ts +10 -0
  18. package/full/components/checkbox/checkbox.module.d.ts.map +1 -0
  19. package/full/components/communication.service.d.ts +1 -0
  20. package/full/components/communication.service.d.ts.map +1 -0
  21. package/full/components/component-container/component-container.component.d.ts +3 -2
  22. package/full/components/component-container/component-container.component.d.ts.map +1 -0
  23. package/full/components/component-container/component-container.module.d.ts +9 -0
  24. package/full/components/component-container/component-container.module.d.ts.map +1 -0
  25. package/full/components/content-toggle/content-toggle.component.d.ts +2 -1
  26. package/full/components/content-toggle/content-toggle.component.d.ts.map +1 -0
  27. package/full/components/dropdown/dropdown.component.d.ts +31 -108
  28. package/full/components/dropdown/dropdown.component.d.ts.map +1 -0
  29. package/full/components/dropdown/dropdown.module.d.ts +10 -0
  30. package/full/components/dropdown/dropdown.module.d.ts.map +1 -0
  31. package/full/components/empty/empty.component.d.ts +2 -1
  32. package/full/components/empty/empty.component.d.ts.map +1 -0
  33. package/full/components/file/file.component.d.ts +2 -1
  34. package/full/components/file/file.component.d.ts.map +1 -0
  35. package/full/components/file/file.module.d.ts +9 -0
  36. package/full/components/file/file.module.d.ts.map +1 -0
  37. package/full/components/header/header.component.d.ts +2 -1
  38. package/full/components/header/header.component.d.ts.map +1 -0
  39. package/full/components/inline-message/inline-message.component.d.ts +2 -1
  40. package/full/components/inline-message/inline-message.component.d.ts.map +1 -0
  41. package/full/components/input-group/input-group.component.d.ts +2 -1
  42. package/full/components/input-group/input-group.component.d.ts.map +1 -0
  43. package/full/components/input-text/input-text.component.d.ts +2 -1
  44. package/full/components/input-text/input-text.component.d.ts.map +1 -0
  45. package/full/components/input-text/input-text.module.d.ts +10 -0
  46. package/full/components/input-text/input-text.module.d.ts.map +1 -0
  47. package/full/components/inspark.module.d.ts +41 -44
  48. package/full/components/inspark.module.d.ts.map +1 -0
  49. package/full/components/inspark.shared.d.ts +2 -1
  50. package/full/components/inspark.shared.d.ts.map +1 -0
  51. package/full/components/legacy/legacy-components.module.d.ts +12 -0
  52. package/full/components/legacy/legacy-components.module.d.ts.map +1 -0
  53. package/full/components/legacy/legacy-ui.module.d.ts +13 -0
  54. package/full/components/legacy/legacy-ui.module.d.ts.map +1 -0
  55. package/full/components/link/link.component.d.ts +4 -3
  56. package/full/components/link/link.component.d.ts.map +1 -0
  57. package/full/components/link/link.module.d.ts +11 -0
  58. package/full/components/link/link.module.d.ts.map +1 -0
  59. package/full/components/modal-input-text/modal-input-text.component.d.ts +2 -1
  60. package/full/components/modal-input-text/modal-input-text.component.d.ts.map +1 -0
  61. package/full/components/object-tree/object-tree.component.d.ts +2 -1
  62. package/full/components/object-tree/object-tree.component.d.ts.map +1 -0
  63. package/full/components/panel/panel.component.d.ts +2 -1
  64. package/full/components/panel/panel.component.d.ts.map +1 -0
  65. package/full/components/pie/pie.component.d.ts +2 -1
  66. package/full/components/pie/pie.component.d.ts.map +1 -0
  67. package/full/components/pie/pie.service.d.ts +1 -0
  68. package/full/components/pie/pie.service.d.ts.map +1 -0
  69. package/full/components/preloader/preloader.component.d.ts +3 -2
  70. package/full/components/preloader/preloader.component.d.ts.map +1 -0
  71. package/full/components/preloader/preloader.module.d.ts +9 -0
  72. package/full/components/preloader/preloader.module.d.ts.map +1 -0
  73. package/full/components/radiobutton/radiobutton.component.d.ts +2 -1
  74. package/full/components/radiobutton/radiobutton.component.d.ts.map +1 -0
  75. package/full/components/select-button/select-button.component.d.ts +3 -2
  76. package/full/components/select-button/select-button.component.d.ts.map +1 -0
  77. package/full/components/select-button/select-button.module.d.ts +9 -0
  78. package/full/components/select-button/select-button.module.d.ts.map +1 -0
  79. package/full/components/select-list/select-list.component.d.ts +2 -1
  80. package/full/components/select-list/select-list.component.d.ts.map +1 -0
  81. package/full/components/shared/shared-components.module.d.ts +11 -0
  82. package/full/components/shared/shared-components.module.d.ts.map +1 -0
  83. package/full/components/shared/shared-ui.module.d.ts +12 -0
  84. package/full/components/shared/shared-ui.module.d.ts.map +1 -0
  85. package/full/components/status-circle/status-circle.component.d.ts +2 -1
  86. package/full/components/status-circle/status-circle.component.d.ts.map +1 -0
  87. package/full/components/sticky/sticky.component.d.ts +2 -1
  88. package/full/components/sticky/sticky.component.d.ts.map +1 -0
  89. package/full/components/sticky/sticky.module.d.ts +9 -0
  90. package/full/components/sticky/sticky.module.d.ts.map +1 -0
  91. package/full/components/svg/svg.component.d.ts +4 -4
  92. package/full/components/svg/svg.component.d.ts.map +1 -0
  93. package/full/components/svg/svg.module.d.ts +10 -0
  94. package/full/components/svg/svg.module.d.ts.map +1 -0
  95. package/full/components/switcher/switcher.component.d.ts +2 -1
  96. package/full/components/switcher/switcher.component.d.ts.map +1 -0
  97. package/full/components/table/table-click-outside.directive.d.ts +2 -1
  98. package/full/components/table/table-click-outside.directive.d.ts.map +1 -0
  99. package/full/components/table/table-columns-multiselect/table-columns-multiselect.component.d.ts +2 -1
  100. package/full/components/table/table-columns-multiselect/table-columns-multiselect.component.d.ts.map +1 -0
  101. package/full/components/table/table-menu-overlay/table-menu-overlay.component.d.ts +2 -1
  102. package/full/components/table/table-menu-overlay/table-menu-overlay.component.d.ts.map +1 -0
  103. package/full/components/table/table.component.d.ts +10 -12
  104. package/full/components/table/table.component.d.ts.map +1 -0
  105. package/full/components/textarea/textarea.component.d.ts +2 -1
  106. package/full/components/textarea/textarea.component.d.ts.map +1 -0
  107. package/full/components/textarea/textarea.module.d.ts +10 -0
  108. package/full/components/textarea/textarea.module.d.ts.map +1 -0
  109. package/full/components/toolbar/toolbar.component.d.ts +2 -1
  110. package/full/components/toolbar/toolbar.component.d.ts.map +1 -0
  111. package/full/components/toolbar/toolbar.module.d.ts +9 -0
  112. package/full/components/toolbar/toolbar.module.d.ts.map +1 -0
  113. package/full/components/tooltip/tooltip.component.d.ts +2 -1
  114. package/full/components/tooltip/tooltip.component.d.ts.map +1 -0
  115. package/full/components/tree-table/tree-table.component.d.ts +3 -2
  116. package/full/components/tree-table/tree-table.component.d.ts.map +1 -0
  117. package/full/fesm2022/inspark-inspark-components.mjs +6292 -0
  118. package/full/fesm2022/inspark-inspark-components.mjs.map +1 -0
  119. package/full/index.css +6 -2366
  120. package/full/index.d.ts +1 -0
  121. package/full/index.js +1 -1
  122. package/full/inspark-inspark-components.d.ts.map +1 -0
  123. package/full/interface.d.ts +3 -2
  124. package/full/interface.d.ts.map +1 -0
  125. package/full/pipes/pipes.module.d.ts +1 -0
  126. package/full/pipes/pipes.module.d.ts.map +1 -0
  127. package/full/pipes/propertyValue.pipe.d.ts +1 -0
  128. package/full/pipes/propertyValue.pipe.d.ts.map +1 -0
  129. package/full/pipes/safeUrl.pipe.d.ts +1 -0
  130. package/full/pipes/safeUrl.pipe.d.ts.map +1 -0
  131. package/full/pipes/sort-by.pipe.d.ts +1 -0
  132. package/full/pipes/sort-by.pipe.d.ts.map +1 -0
  133. package/full/pipes/time.pipe.d.ts +2 -1
  134. package/full/pipes/time.pipe.d.ts.map +1 -0
  135. package/full/public_api.d.ts +24 -7
  136. package/full/public_api.d.ts.map +1 -0
  137. package/full/services/inspark-dialog.service.d.ts +19 -6
  138. package/full/services/inspark-dialog.service.d.ts.map +1 -0
  139. package/full/services/inspark-message.service.d.ts +3 -2
  140. package/full/services/inspark-message.service.d.ts.map +1 -0
  141. package/full/utils/gettextMarker.function.d.ts +1 -0
  142. package/full/utils/gettextMarker.function.d.ts.map +1 -0
  143. package/full/utils/hybrid/prime-table/row-state.enum.d.ts +1 -0
  144. package/full/utils/hybrid/prime-table/row-state.enum.d.ts.map +1 -0
  145. package/full/utils/hybrid/prime-table/table-row-data.model.d.ts +1 -0
  146. package/full/utils/hybrid/prime-table/table-row-data.model.d.ts.map +1 -0
  147. package/interface/index.d.ts +1 -0
  148. package/interface/inspark-inspark-components.d.ts.map +1 -0
  149. package/interface/interface.d.ts +3 -2
  150. package/interface/interface.d.ts.map +1 -0
  151. package/interface/public_api.d.ts +1 -0
  152. package/interface/public_api.d.ts.map +1 -0
  153. package/package.json +1 -1
  154. package/full/components/primeng.module.d.ts +0 -7
  155. package/full/esm2020/components/autocomplete/autocomplete.component.mjs +0 -220
  156. package/full/esm2020/components/breadcrumb/breadcrumb.component.mjs +0 -20
  157. package/full/esm2020/components/button/button.component.mjs +0 -160
  158. package/full/esm2020/components/checkbox/checkbox.component.mjs +0 -89
  159. package/full/esm2020/components/communication.service.mjs +0 -25
  160. package/full/esm2020/components/component-container/component-container.component.mjs +0 -17
  161. package/full/esm2020/components/content-toggle/content-toggle.component.mjs +0 -49
  162. package/full/esm2020/components/dropdown/dropdown.component.mjs +0 -338
  163. package/full/esm2020/components/empty/empty.component.mjs +0 -12
  164. package/full/esm2020/components/file/file.component.mjs +0 -53
  165. package/full/esm2020/components/header/header.component.mjs +0 -29
  166. package/full/esm2020/components/inline-message/inline-message.component.mjs +0 -20
  167. package/full/esm2020/components/input-group/input-group.component.mjs +0 -166
  168. package/full/esm2020/components/input-text/input-text.component.mjs +0 -149
  169. package/full/esm2020/components/inspark.module.mjs +0 -239
  170. package/full/esm2020/components/inspark.shared.mjs +0 -25
  171. package/full/esm2020/components/link/link.component.mjs +0 -131
  172. package/full/esm2020/components/modal-input-text/modal-input-text.component.mjs +0 -88
  173. package/full/esm2020/components/object-tree/object-tree.component.mjs +0 -14
  174. package/full/esm2020/components/panel/panel.component.mjs +0 -11
  175. package/full/esm2020/components/pie/pie.component.mjs +0 -44
  176. package/full/esm2020/components/pie/pie.service.mjs +0 -55
  177. package/full/esm2020/components/preloader/preloader.component.mjs +0 -25
  178. package/full/esm2020/components/primeng.module.mjs +0 -22
  179. package/full/esm2020/components/radiobutton/radiobutton.component.mjs +0 -50
  180. package/full/esm2020/components/select-button/select-button.component.mjs +0 -190
  181. package/full/esm2020/components/select-list/select-list.component.mjs +0 -55
  182. package/full/esm2020/components/status-circle/status-circle.component.mjs +0 -39
  183. package/full/esm2020/components/sticky/sticky.component.mjs +0 -64
  184. package/full/esm2020/components/svg/svg.component.mjs +0 -28
  185. package/full/esm2020/components/switcher/switcher.component.mjs +0 -123
  186. package/full/esm2020/components/table/table-click-outside.directive.mjs +0 -31
  187. package/full/esm2020/components/table/table-columns-multiselect/table-columns-multiselect.component.mjs +0 -32
  188. package/full/esm2020/components/table/table-menu-overlay/table-menu-overlay.component.mjs +0 -26
  189. package/full/esm2020/components/table/table.component.mjs +0 -482
  190. package/full/esm2020/components/textarea/textarea.component.mjs +0 -87
  191. package/full/esm2020/components/toolbar/toolbar.component.mjs +0 -30
  192. package/full/esm2020/components/tooltip/tooltip.component.mjs +0 -14
  193. package/full/esm2020/components/tree-table/tree-table.component.mjs +0 -206
  194. package/full/esm2020/inspark-inspark-components.mjs +0 -5
  195. package/full/esm2020/interface.mjs +0 -2
  196. package/full/esm2020/pipes/pipes.module.mjs +0 -19
  197. package/full/esm2020/pipes/propertyValue.pipe.mjs +0 -25
  198. package/full/esm2020/pipes/safeUrl.pipe.mjs +0 -36
  199. package/full/esm2020/pipes/sort-by.pipe.mjs +0 -28
  200. package/full/esm2020/pipes/time.pipe.mjs +0 -206
  201. package/full/esm2020/public_api.mjs +0 -60
  202. package/full/esm2020/services/inspark-dialog.service.mjs +0 -61
  203. package/full/esm2020/services/inspark-message.service.mjs +0 -77
  204. package/full/esm2020/utils/gettextMarker.function.mjs +0 -5
  205. package/full/esm2020/utils/hybrid/prime-table/row-state.enum.mjs +0 -9
  206. package/full/esm2020/utils/hybrid/prime-table/table-row-data.model.mjs +0 -2
  207. package/full/fesm2015/inspark-inspark-components.mjs +0 -3664
  208. package/full/fesm2015/inspark-inspark-components.mjs.map +0 -1
  209. package/full/fesm2020/inspark-inspark-components.mjs +0 -3666
  210. package/full/fesm2020/inspark-inspark-components.mjs.map +0 -1
  211. package/full/package.json +0 -36
  212. package/interface/esm2020/inspark-inspark-components.mjs +0 -5
  213. package/interface/esm2020/interface.mjs +0 -2
  214. package/interface/esm2020/public_api.mjs +0 -5
  215. package/interface/fesm2020/inspark-inspark-components.mjs +0 -8
  216. package/interface/fesm2020/inspark-inspark-components.mjs.map +0 -1
  217. package/interface/package.json +0 -36
  218. /package/interface/{fesm2015 → fesm2022}/inspark-inspark-components.mjs +0 -0
  219. /package/interface/{fesm2015 → fesm2022}/inspark-inspark-components.mjs.map +0 -0
@@ -1,3666 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Pipe, NgModule, Injectable, Component, ViewEncapsulation, Input, EventEmitter, ChangeDetectionStrategy, ViewChild, HostBinding, Output, forwardRef, Directive, HostListener, ContentChildren, NO_ERRORS_SCHEMA } from '@angular/core';
3
- import * as i1 from '@ngx-translate/core';
4
- import { TranslateModule } from '@ngx-translate/core';
5
- export { TranslateModule } from '@ngx-translate/core';
6
- import * as i1$1 from '@angular/platform-browser';
7
- import * as i2 from 'primeng/api';
8
- import { SharedModule } from 'primeng/api';
9
- export { SharedModule } from 'primeng/api';
10
- import { marker } from '@biesbjerg/ngx-translate-extract-marker';
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 { ObjectUtils } from 'primeng/utils';
43
- import * as i2$3 from 'primeng/table';
44
- import { TableService, Table, TableModule } from 'primeng/table';
45
- import * as i6$1 from 'primeng/multiselect';
46
- import { MultiSelectModule } from 'primeng/multiselect';
47
- import { CheckboxModule } from 'primeng/checkbox';
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 marker(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
- if (options.acceptLabel) {
379
- options.acceptLabel = this.translate.instant(gettext(options.acceptLabel));
380
- }
381
- if (options.rejectLabel) {
382
- options.rejectLabel = this.translate.instant(gettext(options.rejectLabel));
383
- }
384
- this.translate.get(gettext(message)).subscribe((res) => {
385
- this.confirmationService.confirm({
386
- ...options,
387
- message: res
388
- });
389
- });
390
- }
391
- success(message) {
392
- this.translate.get(gettext('Toast_Success_Caption')).subscribe((title) => {
393
- this.translate.get(message).subscribe((res) => {
394
- this.messageService.add({ severity: 'success', summary: title, detail: res });
395
- });
396
- });
397
- }
398
- message(message) {
399
- this.translate.get(gettext('Toast_Message_Caption')).subscribe((title) => {
400
- this.translate.get(message).subscribe((res) => {
401
- this.messageService.add({ severity: 'info', summary: title, detail: res });
402
- });
403
- });
404
- }
405
- /*TODO: костыль перевода, - чтобы избежать переполнения стека изза рекурсии*/
406
- error(message) {
407
- const title = this.getToastErrorTitleLocalized();
408
- // this.translate.get(gettext('Toast_Error_Caption')).subscribe((title: string) => {
409
- this.translate.get(gettext(message)).subscribe((res) => {
410
- this.messageService.add({ severity: 'error', summary: title, detail: res });
411
- });
412
- // });
413
- }
414
- getToastErrorTitleLocalized() {
415
- const ilocale = localStorage.getItem('ilocale_');
416
- if (ilocale && ilocale.replace(/"/g, '') === 'en-US') {
417
- return 'Error';
418
- }
419
- return 'Ошибка';
420
- /*
421
- if (ilocale && (this.localeService.locale$.getValue() === undefined || this.localeService.locale$.getValue().serverShort !== ilocale.replace(/"/g, ''))) {
422
- this.localeService.setLocale(ilocale.replace(/"/g, ''));
423
- this.translate.use(this.localeService.locale$.getValue().short);
424
- }
425
- */
426
- }
427
- }
428
- 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 });
429
- InsparkMessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkMessageService });
430
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkMessageService, decorators: [{
431
- type: Injectable
432
- }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.MessageService }, { type: i2.ConfirmationService }]; } });
433
-
434
- class InsparkDialogService {
435
- constructor(componentFactoryResolver, appRef, injector) {
436
- this.componentFactoryResolver = componentFactoryResolver;
437
- this.appRef = appRef;
438
- this.injector = injector;
439
- this.dialogComponentRefs = [];
440
- }
441
- open(componentType, config) {
442
- const dialogRef = this.appendDialogComponentToBody(componentType, config);
443
- // Зафиксируем скролл (можно делать только для первого окна)
444
- if (this.dialogComponentRefs.length === 1) {
445
- document.body.style.top = `-${window.scrollY}px`;
446
- document.body.style.position = 'fixed';
447
- }
448
- dialogRef.onClose.subscribe(() => {
449
- this.removeDialogComponent(dialogRef);
450
- // Восстановим скролл только если это последнее окно
451
- if (this.dialogComponentRefs.length === 0) {
452
- const scrollY = document.body.style.top;
453
- document.body.style.position = '';
454
- document.body.style.top = '';
455
- window.scrollTo(0, parseInt(scrollY || '0') * -1);
456
- }
457
- });
458
- return dialogRef;
459
- }
460
- appendDialogComponentToBody(componentType, config) {
461
- const map = new WeakMap();
462
- map.set(DynamicDialogConfig, config);
463
- const dialogRef = new DynamicDialogRef();
464
- map.set(DynamicDialogRef, dialogRef);
465
- const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DynamicDialogComponent);
466
- const componentRef = componentFactory.create(new DynamicDialogInjector(this.injector, map));
467
- componentRef.instance.childComponentType = componentType;
468
- this.appRef.attachView(componentRef.hostView);
469
- const domElem = componentRef.hostView.rootNodes[0];
470
- document.body.appendChild(domElem);
471
- this.dialogComponentRefs.push(componentRef);
472
- dialogRef.onClose.subscribe(() => {
473
- this.removeDialogComponent(dialogRef);
474
- });
475
- return dialogRef;
476
- }
477
- removeDialogComponent(dialogRef) {
478
- const componentRef = this.dialogComponentRefs.find(ref => ref.instance.dialogRef === dialogRef);
479
- if (!componentRef)
480
- return;
481
- this.appRef.detachView(componentRef.hostView);
482
- componentRef.destroy();
483
- this.dialogComponentRefs = this.dialogComponentRefs.filter(ref => ref !== componentRef);
484
- }
485
- }
486
- 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 });
487
- InsparkDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkDialogService });
488
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkDialogService, decorators: [{
489
- type: Injectable
490
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: i0.Injector }]; } });
491
-
492
- class CommunicationService {
493
- constructor() {
494
- this.messageSource = {};
495
- this.message$ = {};
496
- }
497
- create(id) {
498
- if (!this.messageSource[id]) {
499
- this.messageSource[id] = new Subject();
500
- this.message$[id] = this.messageSource[id].asObservable();
501
- }
502
- }
503
- next(widgetId, value) {
504
- this.create(widgetId);
505
- this.messageSource[widgetId].next(value);
506
- }
507
- }
508
- CommunicationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CommunicationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
509
- CommunicationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CommunicationService });
510
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CommunicationService, decorators: [{
511
- type: Injectable
512
- }] });
513
-
514
- class PreloaderComponent {
515
- constructor() {
516
- this.inline = false;
517
- this.overlay = false;
518
- this.size = 'normal';
519
- }
520
- ngOnInit() {
521
- }
522
- }
523
- PreloaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PreloaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
524
- 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\">\r\n <div class=\"lds-spinner\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"overlay\" class=\"overlay\"></div>\r\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"] }] });
525
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PreloaderComponent, decorators: [{
526
- type: Component,
527
- args: [{ selector: 'in-preloader', encapsulation: ViewEncapsulation.Emulated, template: "<div [ngClass]=\"{float:!inline, small: size==='small'}\" class=\"preloader-container\">\r\n <div class=\"lds-spinner\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"overlay\" class=\"overlay\"></div>\r\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"] }]
528
- }], ctorParameters: function () { return []; }, propDecorators: { inline: [{
529
- type: Input
530
- }], overlay: [{
531
- type: Input
532
- }], size: [{
533
- type: Input
534
- }] } });
535
-
536
- class SvgComponent extends Button {
537
- constructor() {
538
- super(...arguments);
539
- this.size = 'normal';
540
- this.width = '100%';
541
- this.height = '100%';
542
- }
543
- }
544
- SvgComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SvgComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
545
- 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\"\r\n [ngClass]=\"{svg: true, 'c-icon_svg-small': size === 'small', 'c-icon_svg-large': size === 'large'}\" [ngStyle]=\"{width: width, height: height}\"></span>\r\n\r\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"] }] });
546
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SvgComponent, decorators: [{
547
- type: Component,
548
- args: [{ selector: 'in-svg', template: "<span [inlineSVG]=\"src\"\r\n [ngClass]=\"{svg: true, 'c-icon_svg-small': size === 'small', 'c-icon_svg-large': size === 'large'}\" [ngStyle]=\"{width: width, height: height}\"></span>\r\n\r\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"] }]
549
- }], propDecorators: { size: [{
550
- type: Input
551
- }], width: [{
552
- type: Input
553
- }], height: [{
554
- type: Input
555
- }], src: [{
556
- type: Input
557
- }] } });
558
-
559
- class ButtonComponent extends Button {
560
- constructor(cdr) {
561
- super();
562
- this.cdr = cdr;
563
- this.size = 'normal';
564
- this.color = 'normal';
565
- this.type = 'button';
566
- this.name = '';
567
- this.testId = '';
568
- this.label = '';
569
- this.icon = '';
570
- this.className = '';
571
- this.notify = null;
572
- this.svg = '';
573
- this.width = 'auto';
574
- this.link = '';
575
- this.isLoading = false;
576
- this.shadow = false;
577
- this.isIconOnly = false;
578
- /**
579
- * external - ссылка на внешний источник
580
- * internal - ссылка внутри приложения
581
- * auto - определяется автоматически исходя из link
582
- */
583
- this.linkType = 'auto';
584
- /**
585
- * self - открывается в этом же окне
586
- * blank - открывается в новом окне
587
- * auto - определяется автоматически исходя из linkType
588
- */
589
- this.linkTarget = 'auto';
590
- // Отображает кнопку нажатой
591
- this.pressed = false;
592
- this.disabled = false;
593
- this.iconPos = 'left';
594
- this.selectedItem = null;
595
- this.menuPlacement = 'bottom-left';
596
- this.menuItems = [];
597
- this.focus = new EventEmitter();
598
- this.blur = new EventEmitter();
599
- this.click = new EventEmitter();
600
- this._target = '_self';
601
- this._linkType = 'auto';
602
- this.isMaterialIcon = false;
603
- }
604
- get pointerEvents() {
605
- return this.disabled ? 'none' : 'auto';
606
- }
607
- ngOnInit() {
608
- this.updateData();
609
- }
610
- ngOnChanges(changes) {
611
- this.updateData();
612
- }
613
- updateData() {
614
- this._linkType = this.linkType;
615
- if (this._linkType === 'auto') {
616
- if ((this.link.indexOf('://') !== -1 || this.link.indexOf('//') === 0)) {
617
- this._linkType = 'external';
618
- }
619
- else {
620
- this._linkType = 'internal';
621
- }
622
- }
623
- if (this.linkTarget === 'auto') {
624
- if (this._linkType === 'external') {
625
- this._target = '_blank';
626
- }
627
- else {
628
- this._target = '_self';
629
- }
630
- }
631
- else {
632
- this._target = this.linkTarget === 'self' ? '_self' : 'blank';
633
- }
634
- if (this.icon && this.icon.indexOf('in-') === -1 && this.icon.indexOf('in-') === -1 && this.icon.indexOf('pi-') === -1) {
635
- this.isMaterialIcon = true;
636
- }
637
- else {
638
- this.isMaterialIcon = false;
639
- }
640
- }
641
- _onClick($event) {
642
- this.cdr.detectChanges();
643
- }
644
- }
645
- ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
646
- 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)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"link && _linkType ==='external'\"\r\n [attr.type]=\"type\"\r\n [class]=\"className + ' ' + testId + ' field_' + name\"\r\n [href]=\"link\"\r\n [ngClass]=\"{'p-button p-widget p-state-default p-corner-all':true,\r\n 'p-button-icon-only': ((icon || svg) && !label),\r\n 'p-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-button-text-only': (!(icon || svg) && label),\r\n 'p-button-text-empty': (!(icon || svg) && !label),\r\n 'p-button-svg': svg,\r\n 'p-button-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-button-tiny': size === 'tiny',\r\n 'p-button-small': size === 'small',\r\n 'p-button-large': size === 'large',\r\n 'p-button-primary': color === 'primary',\r\n 'p-button-secondary': color === 'secondary',\r\n 'p-button-danger': color === 'danger',\r\n 'p-button-transparency': color === 'transparent',\r\n 'p-button-pressed' : pressed}\"\r\n [ngStyle]=\"{width:width}\"\r\n [style]=\"style\"\r\n [target]=\"_target\" class=\"button-container\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</a>\r\n<a (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"link && _linkType ==='internal'\"\r\n [attr.type]=\"type\"\r\n [class]=\"className + ' ' + testId + ' field_' + name\"\r\n [ngClass]=\"{'p-button p-widget p-state-default p-corner-all':true,\r\n 'p-button-icon-only': ((icon || svg) && !label),\r\n 'p-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-button-text-only': (!(icon || svg) && label),\r\n 'p-button-text-empty': (!(icon || svg) && !label),\r\n 'p-button-svg': svg,\r\n 'p-button-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-button-tiny': size === 'tiny',\r\n 'p-button-small': size === 'small',\r\n 'p-button-large': size === 'large',\r\n 'p-button-primary': color === 'primary',\r\n 'p-button-secondary': color === 'secondary',\r\n 'p-button-danger': color === 'danger',\r\n 'p-button-transparency': color === 'transparent',\r\n 'p-button-pressed' : pressed}\"\r\n [ngStyle]=\"{width:width}\"\r\n [routerLink]=\"link\"\r\n [style]=\"style\"\r\n [target]=\"_target\" class=\"button-container\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</a>\r\n<span #dropdown=\"ngbDropdown\" *ngIf=\"!link && menuItems.length\" [ngStyle]=\"{width:width}\" class=\"button-container\" container=\"body\"\r\n ngbDropdown>\r\n <button\r\n (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n [attr.type]=\"type\"\r\n [class]=\"className + ' ' + testId + ' field_' + name\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\" {'p-button p-widget p-state-default p-corner-all':true,\r\n 'p-button-icon-only': ((icon || svg) && !label),\r\n 'p-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-button-text-only': (!(icon || svg) && label),\r\n 'p-button-text-empty': (!(icon || svg) && !label),\r\n 'p-button-svg': svg,\r\n 'p-button-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-button-tiny': size === 'tiny',\r\n 'p-button-small': size === 'small',\r\n 'p-button-large': size === 'large',\r\n 'p-button-primary': color === 'primary',\r\n 'p-button-secondary': color === 'secondary',\r\n 'p-button-danger': color === 'danger',\r\n 'p-button-transparency': color === 'transparent',\r\n 'p-button-shadowed': shadow === true,\r\n 'p-button-pressed' : pressed}\"\r\n [style]=\"style\" ngbDropdownToggle>\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n </button>\r\n <div *ngIf=\"menuItems.length\" aria-labelledby=\"menu\"\r\n class=\"in-dropdown-menu\"\r\n ngbDropdownMenu>\r\n <div *ngFor=\"let item of menuItems\" class=\"in-dropdown-menu-item\" role=\"menuitem\">\r\n <in-button (click)=\"dropdown.close(); item.command();\"\r\n [color]=\"selectedItem && selectedItem == item.id?'primary':'transparent'\"\r\n [icon]=\"item.icon\"\r\n [label]=\"item.label\"\r\n [svg]=\"item.svg\"\r\n size=\"large\"\r\n width=\"100%\"></in-button>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"notify\" [ngClass]=\"notify\" class=\"notify\"></div>\r\n</span>\r\n<span *ngIf=\"!link && !menuItems.length\" [ngStyle]=\"{width:width}\" class=\"button-container\">\r\n <button\r\n (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n [attr.type]=\"type\"\r\n [class]=\"className + ' ' + testId + ' field_' + name\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\" {'p-button p-widget p-state-default p-corner-all':true,\r\n 'p-button-icon-only': ((icon || svg) && !label) || isIconOnly,\r\n 'p-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-button-text-only': (!(icon || svg) && label),\r\n 'p-button-text-empty': (!(icon || svg) && !label),\r\n 'p-button-svg': svg,\r\n 'p-button-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-button-tiny': size === 'tiny',\r\n 'p-button-small': size === 'small',\r\n 'p-button-large': size === 'large',\r\n 'p-button-primary': color === 'primary',\r\n 'p-button-secondary': color === 'secondary',\r\n 'p-button-danger': color === 'danger',\r\n 'p-button-transparency': color === 'transparent',\r\n 'p-button-shadowed': shadow === true,\r\n 'p-button-pressed' : pressed}\" [style]=\"style\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n </button>\r\n <div *ngIf=\"notify\" [ngClass]=\"notify\" class=\"notify\"></div>\r\n</span>\r\n\r\n<ng-template #content>\r\n <span *ngIf=\"!isMaterialIcon && icon && !isLoading\" [class]=\"icon\"\r\n [ngClass]=\"{'p-clickable': true,\r\n 'p-button-icon-left': (iconPos === 'left'),\r\n 'p-button-icon-right': (iconPos === 'right')}\"></span>\r\n <span *ngIf=\"isMaterialIcon && icon && !isLoading\" [ngClass]=\"{'p-clickable': true,\r\n 'p-button-icon-left': (iconPos === 'left'),\r\n 'p-button-icon-right': (iconPos === 'right')}\"\r\n ><i class=\"material-icons\">{{icon}}</i></span>\r\n <in-preloader *ngIf=\"isLoading\" size=\"small\"></in-preloader>\r\n <span class=\"p-button-text p-clickable\">{{label}}</span>\r\n <span *ngIf=\"svg && !isLoading\" [ngClass]=\"{'p-clickable': true,\r\n 'p-button-icon-left': (iconPos === 'left'),\r\n 'p-button-icon-right': (iconPos === 'right')}\">\r\n <in-svg *ngIf=\"size === 'normal'\" [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\r\n <in-svg *ngIf=\"size === 'large'\" [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\r\n <in-svg *ngIf=\"size === 'small'\" [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\r\n <in-svg *ngIf=\"size === 'tiny'\" [src]=\"svg\" height=\"10px\" width=\"10px\"></in-svg>\r\n </span>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.container{display:inline-block}.button-container{position:relative;display:inline-block}button{outline:none;width:100%}.p-button-icon-only .p-button-icon-left{margin-top:-9px}.p-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)}.p-button{margin-right:0;height:36px;display:inline-flex;align-items:center;justify-content:center}.p-button.p-button-pressed{background-color:var(--colorBgLevel4)}.p-button.p-button-large{height:48px}.p-button.p-button-large .p-button-icon-left{font-size:18px;margin-top:-8px}.p-button.p-button-large .p-button-text{padding:0 1em 0 48px;margin-top:6px}.p-button-text-icon-left .p-button-text{padding:0 1em 0 2.4em}.p-button-icon-only{font-size:18px;display:inline-flex;align-items:center;justify-content:center}.p-button-icon-only.p-button-large{width:48px;height:48px}.p-button-icon-only.p-button-large .svg,.p-button-icon-only .svg{display:inline-block;line-height:0}.p-button-transparency{background:none;color:currentColor}.p-button-transparency:hover{color:currentColor}.p-button-shadowed{box-shadow:0 2px 6px #0003}.p-button.p-button-svg.p-button-small .p-button-icon-left{margin-top:-4px}.p-button.p-button-svg.p-button-small.p-button-icon-only .p-button-icon-left{margin-top:-2px}.p-button.p-button-svg .p-button-icon-left{left:6px;transform:translateY(-50%);margin-top:-4px}.p-button.p-button-svg.p-button-icon-only .p-button-icon-left{left:50%;width:auto;transform:translate(-50%,-50%);margin-left:0;margin-top:0}.p-button.p-button-svg.p-button-large.p-button-icon-only .p-button-icon-left{margin-top:0}.p-button-material.p-button-icon-only .material-icons{font-size:20px}.p-button-material.p-button-icon-only .p-button-icon-left{margin-top:-10px;margin-left:-12px}.p-button-material .material-icons{font-size:16px}.p-button-material .p-button-icon-left{margin-top:-8px;margin-left:-2px}.p-button-material.p-button-small .p-button-icon-left{margin-top:-7px}.p-button-material.p-button-small .material-icons{font-size:14px}.p-button-material.p-button-small.p-button-icon-only .p-button-icon-left{margin-top:-12px;margin-left:-10px}.p-button-material.p-button-small.p-button-icon-only .p-button-icon-left .material-icons{font-size:18px}.p-button-material.p-button-large .material-icons{font-size:24px}.p-button-material.p-button-large .p-button-icon-left{margin-top:-11px}.p-button-material.p-button-large.p-button-icon-only .p-button-icon-left{margin-top:-11px;margin-left:-13px}:host .p-menu .p-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 .p-button,.in-dropdown-menu .in-dropdown-menu-item in-button ::ng-deep button .p-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 });
647
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonComponent, decorators: [{
648
- type: Component,
649
- args: [{ selector: 'in-button', encapsulation: ViewEncapsulation.Emulated, changeDetection: ChangeDetectionStrategy.OnPush, template: "<a (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"link && _linkType ==='external'\"\r\n [attr.type]=\"type\"\r\n [class]=\"className + ' ' + testId + ' field_' + name\"\r\n [href]=\"link\"\r\n [ngClass]=\"{'p-button p-widget p-state-default p-corner-all':true,\r\n 'p-button-icon-only': ((icon || svg) && !label),\r\n 'p-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-button-text-only': (!(icon || svg) && label),\r\n 'p-button-text-empty': (!(icon || svg) && !label),\r\n 'p-button-svg': svg,\r\n 'p-button-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-button-tiny': size === 'tiny',\r\n 'p-button-small': size === 'small',\r\n 'p-button-large': size === 'large',\r\n 'p-button-primary': color === 'primary',\r\n 'p-button-secondary': color === 'secondary',\r\n 'p-button-danger': color === 'danger',\r\n 'p-button-transparency': color === 'transparent',\r\n 'p-button-pressed' : pressed}\"\r\n [ngStyle]=\"{width:width}\"\r\n [style]=\"style\"\r\n [target]=\"_target\" class=\"button-container\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</a>\r\n<a (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"link && _linkType ==='internal'\"\r\n [attr.type]=\"type\"\r\n [class]=\"className + ' ' + testId + ' field_' + name\"\r\n [ngClass]=\"{'p-button p-widget p-state-default p-corner-all':true,\r\n 'p-button-icon-only': ((icon || svg) && !label),\r\n 'p-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-button-text-only': (!(icon || svg) && label),\r\n 'p-button-text-empty': (!(icon || svg) && !label),\r\n 'p-button-svg': svg,\r\n 'p-button-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-button-tiny': size === 'tiny',\r\n 'p-button-small': size === 'small',\r\n 'p-button-large': size === 'large',\r\n 'p-button-primary': color === 'primary',\r\n 'p-button-secondary': color === 'secondary',\r\n 'p-button-danger': color === 'danger',\r\n 'p-button-transparency': color === 'transparent',\r\n 'p-button-pressed' : pressed}\"\r\n [ngStyle]=\"{width:width}\"\r\n [routerLink]=\"link\"\r\n [style]=\"style\"\r\n [target]=\"_target\" class=\"button-container\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</a>\r\n<span #dropdown=\"ngbDropdown\" *ngIf=\"!link && menuItems.length\" [ngStyle]=\"{width:width}\" class=\"button-container\" container=\"body\"\r\n ngbDropdown>\r\n <button\r\n (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n [attr.type]=\"type\"\r\n [class]=\"className + ' ' + testId + ' field_' + name\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\" {'p-button p-widget p-state-default p-corner-all':true,\r\n 'p-button-icon-only': ((icon || svg) && !label),\r\n 'p-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-button-text-only': (!(icon || svg) && label),\r\n 'p-button-text-empty': (!(icon || svg) && !label),\r\n 'p-button-svg': svg,\r\n 'p-button-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-button-tiny': size === 'tiny',\r\n 'p-button-small': size === 'small',\r\n 'p-button-large': size === 'large',\r\n 'p-button-primary': color === 'primary',\r\n 'p-button-secondary': color === 'secondary',\r\n 'p-button-danger': color === 'danger',\r\n 'p-button-transparency': color === 'transparent',\r\n 'p-button-shadowed': shadow === true,\r\n 'p-button-pressed' : pressed}\"\r\n [style]=\"style\" ngbDropdownToggle>\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n </button>\r\n <div *ngIf=\"menuItems.length\" aria-labelledby=\"menu\"\r\n class=\"in-dropdown-menu\"\r\n ngbDropdownMenu>\r\n <div *ngFor=\"let item of menuItems\" class=\"in-dropdown-menu-item\" role=\"menuitem\">\r\n <in-button (click)=\"dropdown.close(); item.command();\"\r\n [color]=\"selectedItem && selectedItem == item.id?'primary':'transparent'\"\r\n [icon]=\"item.icon\"\r\n [label]=\"item.label\"\r\n [svg]=\"item.svg\"\r\n size=\"large\"\r\n width=\"100%\"></in-button>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"notify\" [ngClass]=\"notify\" class=\"notify\"></div>\r\n</span>\r\n<span *ngIf=\"!link && !menuItems.length\" [ngStyle]=\"{width:width}\" class=\"button-container\">\r\n <button\r\n (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n [attr.type]=\"type\"\r\n [class]=\"className + ' ' + testId + ' field_' + name\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\" {'p-button p-widget p-state-default p-corner-all':true,\r\n 'p-button-icon-only': ((icon || svg) && !label) || isIconOnly,\r\n 'p-button-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-button-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-button-text-only': (!(icon || svg) && label),\r\n 'p-button-text-empty': (!(icon || svg) && !label),\r\n 'p-button-svg': svg,\r\n 'p-button-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-button-tiny': size === 'tiny',\r\n 'p-button-small': size === 'small',\r\n 'p-button-large': size === 'large',\r\n 'p-button-primary': color === 'primary',\r\n 'p-button-secondary': color === 'secondary',\r\n 'p-button-danger': color === 'danger',\r\n 'p-button-transparency': color === 'transparent',\r\n 'p-button-shadowed': shadow === true,\r\n 'p-button-pressed' : pressed}\" [style]=\"style\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n </button>\r\n <div *ngIf=\"notify\" [ngClass]=\"notify\" class=\"notify\"></div>\r\n</span>\r\n\r\n<ng-template #content>\r\n <span *ngIf=\"!isMaterialIcon && icon && !isLoading\" [class]=\"icon\"\r\n [ngClass]=\"{'p-clickable': true,\r\n 'p-button-icon-left': (iconPos === 'left'),\r\n 'p-button-icon-right': (iconPos === 'right')}\"></span>\r\n <span *ngIf=\"isMaterialIcon && icon && !isLoading\" [ngClass]=\"{'p-clickable': true,\r\n 'p-button-icon-left': (iconPos === 'left'),\r\n 'p-button-icon-right': (iconPos === 'right')}\"\r\n ><i class=\"material-icons\">{{icon}}</i></span>\r\n <in-preloader *ngIf=\"isLoading\" size=\"small\"></in-preloader>\r\n <span class=\"p-button-text p-clickable\">{{label}}</span>\r\n <span *ngIf=\"svg && !isLoading\" [ngClass]=\"{'p-clickable': true,\r\n 'p-button-icon-left': (iconPos === 'left'),\r\n 'p-button-icon-right': (iconPos === 'right')}\">\r\n <in-svg *ngIf=\"size === 'normal'\" [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\r\n <in-svg *ngIf=\"size === 'large'\" [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\r\n <in-svg *ngIf=\"size === 'small'\" [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\r\n <in-svg *ngIf=\"size === 'tiny'\" [src]=\"svg\" height=\"10px\" width=\"10px\"></in-svg>\r\n </span>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.container{display:inline-block}.button-container{position:relative;display:inline-block}button{outline:none;width:100%}.p-button-icon-only .p-button-icon-left{margin-top:-9px}.p-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)}.p-button{margin-right:0;height:36px;display:inline-flex;align-items:center;justify-content:center}.p-button.p-button-pressed{background-color:var(--colorBgLevel4)}.p-button.p-button-large{height:48px}.p-button.p-button-large .p-button-icon-left{font-size:18px;margin-top:-8px}.p-button.p-button-large .p-button-text{padding:0 1em 0 48px;margin-top:6px}.p-button-text-icon-left .p-button-text{padding:0 1em 0 2.4em}.p-button-icon-only{font-size:18px;display:inline-flex;align-items:center;justify-content:center}.p-button-icon-only.p-button-large{width:48px;height:48px}.p-button-icon-only.p-button-large .svg,.p-button-icon-only .svg{display:inline-block;line-height:0}.p-button-transparency{background:none;color:currentColor}.p-button-transparency:hover{color:currentColor}.p-button-shadowed{box-shadow:0 2px 6px #0003}.p-button.p-button-svg.p-button-small .p-button-icon-left{margin-top:-4px}.p-button.p-button-svg.p-button-small.p-button-icon-only .p-button-icon-left{margin-top:-2px}.p-button.p-button-svg .p-button-icon-left{left:6px;transform:translateY(-50%);margin-top:-4px}.p-button.p-button-svg.p-button-icon-only .p-button-icon-left{left:50%;width:auto;transform:translate(-50%,-50%);margin-left:0;margin-top:0}.p-button.p-button-svg.p-button-large.p-button-icon-only .p-button-icon-left{margin-top:0}.p-button-material.p-button-icon-only .material-icons{font-size:20px}.p-button-material.p-button-icon-only .p-button-icon-left{margin-top:-10px;margin-left:-12px}.p-button-material .material-icons{font-size:16px}.p-button-material .p-button-icon-left{margin-top:-8px;margin-left:-2px}.p-button-material.p-button-small .p-button-icon-left{margin-top:-7px}.p-button-material.p-button-small .material-icons{font-size:14px}.p-button-material.p-button-small.p-button-icon-only .p-button-icon-left{margin-top:-12px;margin-left:-10px}.p-button-material.p-button-small.p-button-icon-only .p-button-icon-left .material-icons{font-size:18px}.p-button-material.p-button-large .material-icons{font-size:24px}.p-button-material.p-button-large .p-button-icon-left{margin-top:-11px}.p-button-material.p-button-large.p-button-icon-only .p-button-icon-left{margin-top:-11px;margin-left:-13px}:host .p-menu .p-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 .p-button,.in-dropdown-menu .in-dropdown-menu-item in-button ::ng-deep button .p-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"] }]
650
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { size: [{
651
- type: Input
652
- }], color: [{
653
- type: Input
654
- }], type: [{
655
- type: Input
656
- }], name: [{
657
- type: Input
658
- }], testId: [{
659
- type: Input
660
- }], label: [{
661
- type: Input
662
- }], icon: [{
663
- type: Input
664
- }], className: [{
665
- type: Input
666
- }], notify: [{
667
- type: Input
668
- }], svg: [{
669
- type: Input
670
- }], width: [{
671
- type: Input
672
- }], link: [{
673
- type: Input
674
- }], isLoading: [{
675
- type: Input
676
- }], shadow: [{
677
- type: Input
678
- }], isIconOnly: [{
679
- type: Input
680
- }], linkType: [{
681
- type: Input
682
- }], linkTarget: [{
683
- type: Input
684
- }], pressed: [{
685
- type: Input
686
- }], disabled: [{
687
- type: Input
688
- }], iconPos: [{
689
- type: Input
690
- }], selectedItem: [{
691
- type: Input
692
- }], menuPlacement: [{
693
- type: Input
694
- }], menuItems: [{
695
- type: Input
696
- }], _menu: [{
697
- type: ViewChild,
698
- args: [Menu, { static: false }]
699
- }], pointerEvents: [{
700
- type: HostBinding,
701
- args: ['style.pointer-events']
702
- }], focus: [{
703
- type: Output
704
- }], blur: [{
705
- type: Output
706
- }], click: [{
707
- type: Output
708
- }] } });
709
-
710
- class InputTextComponent {
711
- constructor() {
712
- this.name = null;
713
- this.autocomplete = true;
714
- this.label = null;
715
- this.required = false;
716
- this.error = null;
717
- this.size = 100000;
718
- this.maxlength = 100000;
719
- this.width = '';
720
- this.display = true;
721
- this.large = true;
722
- this.small = false;
723
- this.widget = false;
724
- this.forms = false;
725
- this.placeholder = '';
726
- this.id = null;
727
- this.testId = null;
728
- this.opacity = true;
729
- this.shadow = false;
730
- this.right = false;
731
- this.type = 'text';
732
- this.focus = new EventEmitter();
733
- this.blur = new EventEmitter();
734
- this.onClick = new EventEmitter();
735
- this.propagateChange = (_) => {
736
- };
737
- }
738
- /**
739
- * Write form value to the DOM element (model => view)
740
- */
741
- writeValue(value) {
742
- this.value = value;
743
- }
744
- /**
745
- * Write form disabled state to the DOM element (model => view)
746
- */
747
- setDisabledState(isDisabled) {
748
- this.disabled = isDisabled;
749
- }
750
- /**
751
- * Update form when DOM element value changes (view => model)
752
- */
753
- registerOnChange(fn) {
754
- // Store the provided function as an internal method.
755
- this.propagateChange = fn;
756
- }
757
- /**
758
- * Update form when DOM element is blurred (view => model)
759
- */
760
- registerOnTouched(fn) {
761
- // Store the provided function as an internal method.
762
- this.onTouched = fn;
763
- }
764
- clear() {
765
- this.value = '';
766
- this.propagateChange('');
767
- this.onClick.emit('');
768
- }
769
- onChange(_) {
770
- if (this.type === 'number') {
771
- this.propagateChange(+this.value);
772
- }
773
- else {
774
- this.propagateChange(this.value);
775
- }
776
- }
777
- onTouched() {
778
- }
779
- }
780
- InputTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InputTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
781
- 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: [
782
- {
783
- provide: NG_VALUE_ACCESSOR,
784
- useExisting: forwardRef(() => InputTextComponent),
785
- multi: true,
786
- }
787
- ], ngImport: i0, template: "<label [ngStyle]=\"{width: width}\" class=\"label type_varchars\">\r\n <span *ngIf=\"label\" class=\"c-label__content\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n <span\r\n *ngIf=\"maxlength && value && value.length && value.length >= maxlength\"\r\n class=\"constraints-message__warning u-text_uppercase\">\r\n {{'maxlength: ' | translate}} {{maxlength}}</span>\r\n </span>\r\n <div class=\"input-wrapper u-margin-right-tiny\" [ngClass]=\"{'u-margin-right-tiny': right}\">\r\n <input (blur)=\"this.blur.emit($event)\"\r\n (change)=\"onChange($event)\"\r\n (focus)=\"this.focus.emit($event)\"\r\n (input)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [autocomplete]=\"autocomplete? 'on':'off'\"\r\n [disabled]=\"disabled\"\r\n [id]=\"id\"\r\n [maxlength]=\"maxlength\"\r\n [name]=\"name\"\r\n [ngClass]=\"{'c-input_opaque' : opacity === false,\r\n 'c-input_shadowed' : shadow,\r\n 'c-input_large' : large,\r\n 'c-input_small' : small,\r\n 'c-input_margin_padding': widget,\r\n 'c-input_padding_right': forms}\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [size]=\"size\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n class=\"search-box c-input field_{{id}}\"\r\n [type]=\"type\">\r\n <button (click)=\"clear()\"\r\n class=\"button-reset empty\"\r\n [ngClass]=\"{empty: display}\"\r\n type=\"submit\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"in in-close\"></i>\r\n </button>\r\n </div>\r\n</label>\r\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" }] });
788
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InputTextComponent, decorators: [{
789
- type: Component,
790
- args: [{ selector: 'in-input-text', providers: [
791
- {
792
- provide: NG_VALUE_ACCESSOR,
793
- useExisting: forwardRef(() => InputTextComponent),
794
- multi: true,
795
- }
796
- ], template: "<label [ngStyle]=\"{width: width}\" class=\"label type_varchars\">\r\n <span *ngIf=\"label\" class=\"c-label__content\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n <span\r\n *ngIf=\"maxlength && value && value.length && value.length >= maxlength\"\r\n class=\"constraints-message__warning u-text_uppercase\">\r\n {{'maxlength: ' | translate}} {{maxlength}}</span>\r\n </span>\r\n <div class=\"input-wrapper u-margin-right-tiny\" [ngClass]=\"{'u-margin-right-tiny': right}\">\r\n <input (blur)=\"this.blur.emit($event)\"\r\n (change)=\"onChange($event)\"\r\n (focus)=\"this.focus.emit($event)\"\r\n (input)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [autocomplete]=\"autocomplete? 'on':'off'\"\r\n [disabled]=\"disabled\"\r\n [id]=\"id\"\r\n [maxlength]=\"maxlength\"\r\n [name]=\"name\"\r\n [ngClass]=\"{'c-input_opaque' : opacity === false,\r\n 'c-input_shadowed' : shadow,\r\n 'c-input_large' : large,\r\n 'c-input_small' : small,\r\n 'c-input_margin_padding': widget,\r\n 'c-input_padding_right': forms}\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [size]=\"size\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n class=\"search-box c-input field_{{id}}\"\r\n [type]=\"type\">\r\n <button (click)=\"clear()\"\r\n class=\"button-reset empty\"\r\n [ngClass]=\"{empty: display}\"\r\n type=\"submit\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"in in-close\"></i>\r\n </button>\r\n </div>\r\n</label>\r\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"] }]
797
- }], propDecorators: { name: [{
798
- type: Input
799
- }], autocomplete: [{
800
- type: Input
801
- }], label: [{
802
- type: Input
803
- }], required: [{
804
- type: Input
805
- }], error: [{
806
- type: Input
807
- }], size: [{
808
- type: Input
809
- }], maxlength: [{
810
- type: Input
811
- }], width: [{
812
- type: Input
813
- }], display: [{
814
- type: Input
815
- }], large: [{
816
- type: Input
817
- }], small: [{
818
- type: Input
819
- }], widget: [{
820
- type: Input
821
- }], forms: [{
822
- type: Input
823
- }], placeholder: [{
824
- type: Input
825
- }], id: [{
826
- type: Input
827
- }], testId: [{
828
- type: Input
829
- }], disabled: [{
830
- type: Input
831
- }], opacity: [{
832
- type: Input
833
- }], shadow: [{
834
- type: Input
835
- }], right: [{
836
- type: Input
837
- }], type: [{
838
- type: Input
839
- }], step: [{
840
- type: Input
841
- }], min: [{
842
- type: Input
843
- }], max: [{
844
- type: Input
845
- }], focus: [{
846
- type: Output
847
- }], blur: [{
848
- type: Output
849
- }], onClick: [{
850
- type: Output
851
- }] } });
852
-
853
- class TextareaComponent {
854
- constructor() {
855
- this.name = null;
856
- this.label = null;
857
- this.required = false;
858
- this.error = null;
859
- this.placeholder = '';
860
- this.id = null;
861
- this.minHeight = 30;
862
- this.maxlength = 100000;
863
- this.propagateChange = (_) => {
864
- };
865
- }
866
- /**
867
- * Write form value to the DOM element (model => view)
868
- */
869
- writeValue(value) {
870
- this.value = value;
871
- }
872
- /**
873
- * Write form disabled state to the DOM element (model => view)
874
- */
875
- setDisabledState(isDisabled) {
876
- this.disabled = isDisabled;
877
- }
878
- /**
879
- * Update form when DOM element value changes (view => model)
880
- */
881
- registerOnChange(fn) {
882
- // Store the provided function as an internal method.
883
- this.propagateChange = fn;
884
- }
885
- /**
886
- * Update form when DOM element is blurred (view => model)
887
- */
888
- registerOnTouched(fn) {
889
- // Store the provided function as an internal method.
890
- this.onTouched = fn;
891
- }
892
- onChange(_) {
893
- this.propagateChange(this.value);
894
- }
895
- onTouched() {
896
- }
897
- }
898
- TextareaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
899
- 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: [
900
- {
901
- provide: NG_VALUE_ACCESSOR,
902
- useExisting: forwardRef(() => TextareaComponent),
903
- multi: true,
904
- }
905
- ], ngImport: i0, template: "<label class=\"c-label\">\r\n <span *ngIf=\"label\" class=\"c-label__content\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n </span>\r\n <textarea (change)=\"onChange($event)\"\r\n (input)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [id]=\"id\"\r\n [name]=\"name\"\r\n [ngStyle]=\"{ 'min-height': minHeight+'px' }\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n class=\"c-textarea field_{{id}}\"\r\n type=\"text\"\r\n ></textarea>\r\n</label>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$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"] }] });
906
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextareaComponent, decorators: [{
907
- type: Component,
908
- args: [{ selector: 'in-textarea', providers: [
909
- {
910
- provide: NG_VALUE_ACCESSOR,
911
- useExisting: forwardRef(() => TextareaComponent),
912
- multi: true,
913
- }
914
- ], template: "<label class=\"c-label\">\r\n <span *ngIf=\"label\" class=\"c-label__content\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n </span>\r\n <textarea (change)=\"onChange($event)\"\r\n (input)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n [id]=\"id\"\r\n [name]=\"name\"\r\n [ngStyle]=\"{ 'min-height': minHeight+'px' }\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n class=\"c-textarea field_{{id}}\"\r\n type=\"text\"\r\n ></textarea>\r\n</label>\r\n" }]
915
- }], propDecorators: { name: [{
916
- type: Input
917
- }], label: [{
918
- type: Input
919
- }], required: [{
920
- type: Input
921
- }], error: [{
922
- type: Input
923
- }], placeholder: [{
924
- type: Input
925
- }], id: [{
926
- type: Input
927
- }], disabled: [{
928
- type: Input
929
- }], minHeight: [{
930
- type: Input
931
- }], maxlength: [{
932
- type: Input
933
- }] } });
934
-
935
- class PanelComponent {
936
- }
937
- PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
938
- 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\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".inspark-panel{padding:8px}\n"] });
939
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PanelComponent, decorators: [{
940
- type: Component,
941
- args: [{ selector: 'in-panel', template: "<div class=\"c-panel inspark-panel\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".inspark-panel{padding:8px}\n"] }]
942
- }] });
943
-
944
- class ComponentContainerComponent {
945
- constructor() {
946
- this.align = 'left';
947
- }
948
- }
949
- ComponentContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ComponentContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
950
- 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\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.inspark-component-container{display:flex;gap:8px}@media screen and (min-width: 480px){.inspark-component-container{padding-bottom:0}}.right{justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
951
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ComponentContainerComponent, decorators: [{
952
- type: Component,
953
- args: [{ selector: 'in-component-container', template: "<div [ngClass]=\"align\" class=\"inspark-component-container\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.inspark-component-container{display:flex;gap:8px}@media screen and (min-width: 480px){.inspark-component-container{padding-bottom:0}}.right{justify-content:flex-end}\n"] }]
954
- }], propDecorators: { align: [{
955
- type: Input
956
- }] } });
957
-
958
- class CheckboxComponent {
959
- constructor(element, cdRef, router) {
960
- this.element = element;
961
- this.cdRef = cdRef;
962
- this.router = router;
963
- this.name = null;
964
- this.label = null;
965
- this.required = false;
966
- this.error = null;
967
- this.placeholder = '';
968
- this.id = null;
969
- this.propagateChange = (_) => {
970
- };
971
- }
972
- /**
973
- * Write form value to the DOM element (model => view)
974
- */
975
- writeValue(value) {
976
- this.value = value;
977
- if (!this.cdRef['destroyed']) {
978
- this.cdRef.detectChanges();
979
- }
980
- }
981
- /**
982
- * Write form disabled state to the DOM element (model => view)
983
- */
984
- setDisabledState(isDisabled) {
985
- this.disabled = isDisabled;
986
- }
987
- /**
988
- * Update form when DOM element value changes (view => model)
989
- */
990
- registerOnChange(fn) {
991
- // Store the provided function as an internal method.
992
- this.propagateChange = fn;
993
- }
994
- /**
995
- * Update form when DOM element is blurred (view => model)
996
- */
997
- registerOnTouched(fn) {
998
- // Store the provided function as an internal method.
999
- this.onTouched = fn;
1000
- }
1001
- onChange(_) {
1002
- this.propagateChange(this.value);
1003
- }
1004
- onTouched() {
1005
- }
1006
- }
1007
- 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 });
1008
- 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: [
1009
- {
1010
- provide: NG_VALUE_ACCESSOR,
1011
- useExisting: forwardRef(() => CheckboxComponent),
1012
- multi: true,
1013
- }
1014
- ], ngImport: i0, template: "<label class=\"c-checkbox\">\r\n <input (change)=\"onChange($event)\" (input)=\"onChange($event)\"\r\n (ngModelChange)=\"onChange(value)\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n class=\"c-checkbox__input field_{{id}}\"\r\n name=\"element_name\"\r\n type=\"checkbox\"/>\r\n <i class=\"c-checkbox__icon\"></i>\r\n <span *ngIf=\"label\" class=\"label\">{{ label }}</span>\r\n <span class=\"label\"><ng-content></ng-content></span>\r\n</label>\r\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"] }] });
1015
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CheckboxComponent, decorators: [{
1016
- type: Component,
1017
- args: [{ selector: 'in-checkbox', providers: [
1018
- {
1019
- provide: NG_VALUE_ACCESSOR,
1020
- useExisting: forwardRef(() => CheckboxComponent),
1021
- multi: true,
1022
- }
1023
- ], template: "<label class=\"c-checkbox\">\r\n <input (change)=\"onChange($event)\" (input)=\"onChange($event)\"\r\n (ngModelChange)=\"onChange(value)\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n class=\"c-checkbox__input field_{{id}}\"\r\n name=\"element_name\"\r\n type=\"checkbox\"/>\r\n <i class=\"c-checkbox__icon\"></i>\r\n <span *ngIf=\"label\" class=\"label\">{{ label }}</span>\r\n <span class=\"label\"><ng-content></ng-content></span>\r\n</label>\r\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"] }]
1024
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$3.Router }]; }, propDecorators: { name: [{
1025
- type: Input
1026
- }], label: [{
1027
- type: Input
1028
- }], required: [{
1029
- type: Input
1030
- }], error: [{
1031
- type: Input
1032
- }], placeholder: [{
1033
- type: Input
1034
- }], id: [{
1035
- type: Input
1036
- }], disabled: [{
1037
- type: Input
1038
- }] } });
1039
-
1040
- const DROPDOWN_VALUE_ACCESSOR = {
1041
- provide: NG_VALUE_ACCESSOR,
1042
- useExisting: forwardRef(() => DropdownComponent),
1043
- multi: true
1044
- };
1045
- class DropdownItem {
1046
- constructor() {
1047
- this.onClick = new EventEmitter();
1048
- }
1049
- onOptionClick(event) {
1050
- this.onClick.emit({
1051
- originalEvent: event,
1052
- option: this.option
1053
- });
1054
- }
1055
- }
1056
- DropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
1057
- 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: `
1058
- <li
1059
- (click)="onOptionClick($event)"
1060
- role="option"
1061
- pRipple
1062
- [attr.aria-label]="label"
1063
- [attr.aria-selected]="selected"
1064
- [ngStyle]="{ height: itemSize + 'px' }"
1065
- [id]="selected ? 'p-highlighted-option' : ''"
1066
- [ngClass]="{ 'p-dropdown-item': true, 'p-highlight': selected, 'p-disabled': disabled }"
1067
- >
1068
- <span *ngIf="!template">{{ label || '' }}</span>
1069
- <ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
1070
- </li>
1071
- `, 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]" }] });
1072
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownItem, decorators: [{
1073
- type: Component,
1074
- args: [{
1075
- selector: 'p-dropdownItem',
1076
- template: `
1077
- <li
1078
- (click)="onOptionClick($event)"
1079
- role="option"
1080
- pRipple
1081
- [attr.aria-label]="label"
1082
- [attr.aria-selected]="selected"
1083
- [ngStyle]="{ height: itemSize + 'px' }"
1084
- [id]="selected ? 'p-highlighted-option' : ''"
1085
- [ngClass]="{ 'p-dropdown-item': true, 'p-highlight': selected, 'p-disabled': disabled }"
1086
- >
1087
- <span *ngIf="!template">{{ label || '' }}</span>
1088
- <ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
1089
- </li>
1090
- `
1091
- }]
1092
- }], propDecorators: { option: [{
1093
- type: Input
1094
- }], selected: [{
1095
- type: Input
1096
- }], label: [{
1097
- type: Input
1098
- }], disabled: [{
1099
- type: Input
1100
- }], visible: [{
1101
- type: Input
1102
- }], itemSize: [{
1103
- type: Input
1104
- }], template: [{
1105
- type: Input
1106
- }], onClick: [{
1107
- type: Output
1108
- }] } });
1109
- class DropdownComponent extends Dropdown {
1110
- constructor() {
1111
- super(...arguments);
1112
- this.error = null;
1113
- /**
1114
- * код PrimeNG
1115
- */
1116
- this.scrollHeight = '200px';
1117
- this.resetFilterOnHide = false;
1118
- this.dropdownIcon = 'pi pi-chevron-down';
1119
- this.optionGroupChildren = 'items';
1120
- this.autoDisplayFirst = true;
1121
- this.emptyFilterMessage = '';
1122
- this.emptyMessage = '';
1123
- this.lazy = false;
1124
- this.filterMatchMode = 'contains';
1125
- this.tooltip = '';
1126
- this.tooltipPosition = 'right';
1127
- this.tooltipPositionStyle = 'absolute';
1128
- this.autofocusFilter = true;
1129
- this.overlayDirection = 'end';
1130
- this.onChange = new EventEmitter();
1131
- this.onFilter = new EventEmitter();
1132
- this.onFocus = new EventEmitter();
1133
- this.onBlur = new EventEmitter();
1134
- this.onClick = new EventEmitter();
1135
- this.onShow = new EventEmitter();
1136
- this.onHide = new EventEmitter();
1137
- this.onClear = new EventEmitter();
1138
- this.onLazyLoad = new EventEmitter();
1139
- }
1140
- get label() {
1141
- return this.selectedOption ? this.getOptionLabel(this.selectedOption) : null;
1142
- }
1143
- get options() {
1144
- return this._options;
1145
- }
1146
- set options(val) {
1147
- this._options = val;
1148
- this.optionsToDisplay = this._options;
1149
- this.updateSelectedOption(this.value);
1150
- this.selectedOption = this.findOption(this.value, this.optionsToDisplay);
1151
- if (!this.selectedOption && ObjectUtils.isNotEmpty(this.value) && !this.editable) {
1152
- this.value = null;
1153
- this.onModelChange(this.value);
1154
- }
1155
- this.optionsChanged = true;
1156
- if (this._filterValue && this._filterValue.length) {
1157
- this.activateFilter();
1158
- }
1159
- }
1160
- get itemSize() {
1161
- return this._itemSize;
1162
- }
1163
- set itemSize(val) {
1164
- this._itemSize = val;
1165
- console.warn('The itemSize property is deprecated, use virtualScrollItemSize property instead.');
1166
- }
1167
- get autoZIndex() {
1168
- return this._autoZIndex;
1169
- }
1170
- set autoZIndex(val) {
1171
- this._autoZIndex = val;
1172
- console.warn('The autoZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');
1173
- }
1174
- get baseZIndex() {
1175
- return this._baseZIndex;
1176
- }
1177
- set baseZIndex(val) {
1178
- this._baseZIndex = val;
1179
- console.warn('The baseZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');
1180
- }
1181
- get showTransitionOptions() {
1182
- return this._showTransitionOptions;
1183
- }
1184
- set showTransitionOptions(val) {
1185
- this._showTransitionOptions = val;
1186
- console.warn('The showTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');
1187
- }
1188
- get hideTransitionOptions() {
1189
- return this._hideTransitionOptions;
1190
- }
1191
- set hideTransitionOptions(val) {
1192
- this._hideTransitionOptions = val;
1193
- console.warn('The hideTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');
1194
- }
1195
- }
1196
- DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1197
- DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DropdownComponent, selector: "in-dropdown", inputs: { title: "title", error: "error", scrollHeight: "scrollHeight", filter: "filter", name: "name", options: "options", 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: "<label class=\"label type_varchars in-dropdown\">\r\n<span *ngIf=\"title\" class=\"c-label__content\">\r\n {{ title }}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{ error }}</span>\r\n </span>\r\n <div\r\n #container\r\n (click)=\"onMouseclick($event)\"\r\n [class]=\"styleClass\"\r\n [ngClass]=\"{ 'p-dropdown p-component': true, 'p-disabled': disabled, 'p-dropdown-open': overlayVisible, 'p-focus': focused, 'p-dropdown-clearable': showClear && !disabled }\"\r\n [ngStyle]=\"style\"\r\n >\r\n <div class=\"p-hidden-accessible\">\r\n <input\r\n #in\r\n (blur)=\"onInputBlur($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (keydown)=\"onKeydown($event, true)\"\r\n [attr.aria-activedescendant]=\"overlayVisible ? labelId : null\"\r\n [attr.aria-expanded]=\"false\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.id]=\"inputId\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabindex]=\"tabindex\"\r\n [autofocus]=\"autofocus\"\r\n [disabled]=\"disabled\"\r\n aria-haspopup=\"listbox\"\r\n aria-haspopup=\"listbox\"\r\n pAutoFocus\r\n readonly\r\n role=\"combobox\"\r\n type=\"text\"\r\n />\r\n </div>\r\n <span\r\n *ngIf=\"!editable && label != null\"\r\n [attr.id]=\"labelId\"\r\n [ngClass]=\"{ 'p-dropdown-label p-inputtext': true, 'p-dropdown-label-empty': label == null || label.length === 0 }\"\r\n [pTooltip]=\"tooltip\"\r\n [positionStyle]=\"tooltipPositionStyle\"\r\n [tooltipPosition]=\"tooltipPosition\"\r\n [tooltipStyleClass]=\"tooltipStyleClass\">\r\n <ng-container *ngIf=\"!selectedItemTemplate\">{{ label || '' }}</ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: selectedOption }\"></ng-container>\r\n </span>\r\n <span\r\n *ngIf=\"!editable && label == null\"\r\n [ngClass]=\"{ 'p-dropdown-label p-inputtext p-placeholder': true, 'p-dropdown-label-empty': placeholder == null || placeholder.length === 0 }\">{{ placeholder || '' }}</span>\r\n <input\r\n #editableInput\r\n (blur)=\"onInputBlur($event)\"\r\n (focus)=\"onEditableInputFocus($event)\"\r\n (input)=\"onEditableInputChange($event)\"\r\n *ngIf=\"editable\"\r\n [attr.aria-expanded]=\"overlayVisible\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n aria-haspopup=\"listbox\"\r\n class=\"p-dropdown-label p-inputtext\"\r\n type=\"text\"\r\n />\r\n <i (click)=\"clear($event)\" *ngIf=\"isVisibleClearIcon\" class=\"p-dropdown-clear-icon pi pi-times\"></i>\r\n <div [attr.aria-expanded]=\"overlayVisible\" aria-haspopup=\"listbox\" aria-label=\"dropdown trigger\"\r\n class=\"p-dropdown-trigger\"\r\n role=\"button\">\r\n <span [ngClass]=\"dropdownIcon\" class=\"p-dropdown-trigger-icon\"></span>\r\n </div>\r\n <p-overlay\r\n #overlay\r\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\r\n (onHide)=\"hide()\"\r\n [(visible)]=\"overlayVisible\"\r\n [appendTo]=\"appendTo\"\r\n [autoZIndex]=\"autoZIndex\"\r\n [baseZIndex]=\"baseZIndex\"\r\n [hideTransitionOptions]=\"hideTransitionOptions\"\r\n [options]=\"overlayOptions\"\r\n [showTransitionOptions]=\"showTransitionOptions\"\r\n [target]=\"'@parent'\"\r\n >\r\n <ng-template pTemplate=\"content\">\r\n <div [class]=\"panelStyleClass\" [ngClass]=\"'p-dropdown-panel p-component'\" [ngStyle]=\"panelStyle\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n <div (click)=\"$event.stopPropagation()\" *ngIf=\"filter\" class=\"p-dropdown-header\">\r\n <ng-container *ngIf=\"filterTemplate; else builtInFilterElement\">\r\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: { options: filterOptions }\"></ng-container>\r\n </ng-container>\r\n <ng-template #builtInFilterElement>\r\n <div class=\"p-dropdown-filter-container\">\r\n <input\r\n #filter\r\n (input)=\"onFilterInputChange($event)\"\r\n (keydown)=\"onKeydown($event, false)\"\r\n (keydown.enter)=\"$event.preventDefault()\"\r\n [attr.aria-activedescendant]=\"overlayVisible ? 'p-highlighted-option' : labelId\"\r\n [attr.aria-label]=\"ariaFilterLabel\"\r\n [attr.placeholder]=\"filterPlaceholder\"\r\n [value]=\"filterValue || ''\"\r\n autocomplete=\"off\"\r\n class=\"p-dropdown-filter p-inputtext p-component\"\r\n type=\"text\"\r\n />\r\n <span class=\"p-dropdown-filter-icon pi pi-search\"></span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight || 'auto'\" class=\"p-dropdown-items-wrapper\">\r\n <p-scroller\r\n #scroller\r\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\r\n *ngIf=\"virtualScroll\"\r\n [autoSize]=\"true\"\r\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\r\n [items]=\"optionsToDisplay\"\r\n [lazy]=\"lazy\"\r\n [options]=\"virtualScrollOptions\"\r\n [style]=\"{ height: scrollHeight }\"\r\n >\r\n <ng-template let-items let-scrollerOptions=\"options\" pTemplate=\"content\">\r\n <ng-container\r\n *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"loaderTemplate\">\r\n <ng-template let-scrollerOptions=\"options\" pTemplate=\"loader\">\r\n <ng-container\r\n *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n </p-scroller>\r\n <ng-container *ngIf=\"!virtualScroll\">\r\n <ng-container\r\n *ngTemplateOutlet=\"buildInItems; context: { $implicit: optionsToDisplay, options: {} }\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\r\n <ul #items [attr.id]=\"listId\" [ngClass]=\"scrollerOptions.contentStyleClass\"\r\n [style]=\"scrollerOptions.contentStyle\"\r\n class=\"p-dropdown-items\" role=\"listbox\">\r\n <ng-container *ngIf=\"group\">\r\n <ng-template [ngForOf]=\"items\" let-optgroup ngFor>\r\n <li [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" class=\"p-dropdown-item-group\">\r\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || '' }}</span>\r\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\r\n </li>\r\n <ng-container\r\n *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"!group\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemslist; context: { $implicit: items, selectedOption: selectedOption }\"></ng-container>\r\n </ng-container>\r\n <ng-template #itemslist let-options let-selectedOption=\"selectedOption\">\r\n <ng-template [ngForOf]=\"options\" let-i=\"index\" let-option ngFor>\r\n <p-dropdownItem\r\n (onClick)=\"onItemClick($event)\"\r\n [disabled]=\"isOptionDisabled(option)\"\r\n [label]=\"getOptionLabel(option)\"\r\n [option]=\"option\"\r\n [selected]=\"selectedOption == option\"\r\n [template]=\"itemTemplate\"\r\n ></p-dropdownItem>\r\n </ng-template>\r\n </ng-template>\r\n <li *ngIf=\"filterValue && isEmpty()\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\r\n class=\"p-dropdown-empty-message\">\r\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate\">\r\n {{ emptyFilterMessageLabel }}\r\n </ng-container>\r\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\r\n </li>\r\n <li *ngIf=\"!filterValue && isEmpty()\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\r\n class=\"p-dropdown-empty-message\">\r\n <ng-container *ngIf=\"!emptyTemplate\">\r\n {{ emptyMessageLabel }}\r\n </ng-container>\r\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n </p-overlay>\r\n </div>\r\n</label>\r\n", styles: [".in-dropdown{width:100%;margin-bottom:0}\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: "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 });
1198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponent, decorators: [{
1199
- type: Component,
1200
- args: [{ selector: 'in-dropdown', host: {
1201
- class: 'p-element p-inputwrapper',
1202
- '[class.p-inputwrapper-filled]': 'filled',
1203
- '[class.p-inputwrapper-focus]': 'focused || overlayVisible'
1204
- }, providers: [DROPDOWN_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<label class=\"label type_varchars in-dropdown\">\r\n<span *ngIf=\"title\" class=\"c-label__content\">\r\n {{ title }}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{ error }}</span>\r\n </span>\r\n <div\r\n #container\r\n (click)=\"onMouseclick($event)\"\r\n [class]=\"styleClass\"\r\n [ngClass]=\"{ 'p-dropdown p-component': true, 'p-disabled': disabled, 'p-dropdown-open': overlayVisible, 'p-focus': focused, 'p-dropdown-clearable': showClear && !disabled }\"\r\n [ngStyle]=\"style\"\r\n >\r\n <div class=\"p-hidden-accessible\">\r\n <input\r\n #in\r\n (blur)=\"onInputBlur($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (keydown)=\"onKeydown($event, true)\"\r\n [attr.aria-activedescendant]=\"overlayVisible ? labelId : null\"\r\n [attr.aria-expanded]=\"false\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.id]=\"inputId\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabindex]=\"tabindex\"\r\n [autofocus]=\"autofocus\"\r\n [disabled]=\"disabled\"\r\n aria-haspopup=\"listbox\"\r\n aria-haspopup=\"listbox\"\r\n pAutoFocus\r\n readonly\r\n role=\"combobox\"\r\n type=\"text\"\r\n />\r\n </div>\r\n <span\r\n *ngIf=\"!editable && label != null\"\r\n [attr.id]=\"labelId\"\r\n [ngClass]=\"{ 'p-dropdown-label p-inputtext': true, 'p-dropdown-label-empty': label == null || label.length === 0 }\"\r\n [pTooltip]=\"tooltip\"\r\n [positionStyle]=\"tooltipPositionStyle\"\r\n [tooltipPosition]=\"tooltipPosition\"\r\n [tooltipStyleClass]=\"tooltipStyleClass\">\r\n <ng-container *ngIf=\"!selectedItemTemplate\">{{ label || '' }}</ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: selectedOption }\"></ng-container>\r\n </span>\r\n <span\r\n *ngIf=\"!editable && label == null\"\r\n [ngClass]=\"{ 'p-dropdown-label p-inputtext p-placeholder': true, 'p-dropdown-label-empty': placeholder == null || placeholder.length === 0 }\">{{ placeholder || '' }}</span>\r\n <input\r\n #editableInput\r\n (blur)=\"onInputBlur($event)\"\r\n (focus)=\"onEditableInputFocus($event)\"\r\n (input)=\"onEditableInputChange($event)\"\r\n *ngIf=\"editable\"\r\n [attr.aria-expanded]=\"overlayVisible\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n aria-haspopup=\"listbox\"\r\n class=\"p-dropdown-label p-inputtext\"\r\n type=\"text\"\r\n />\r\n <i (click)=\"clear($event)\" *ngIf=\"isVisibleClearIcon\" class=\"p-dropdown-clear-icon pi pi-times\"></i>\r\n <div [attr.aria-expanded]=\"overlayVisible\" aria-haspopup=\"listbox\" aria-label=\"dropdown trigger\"\r\n class=\"p-dropdown-trigger\"\r\n role=\"button\">\r\n <span [ngClass]=\"dropdownIcon\" class=\"p-dropdown-trigger-icon\"></span>\r\n </div>\r\n <p-overlay\r\n #overlay\r\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\r\n (onHide)=\"hide()\"\r\n [(visible)]=\"overlayVisible\"\r\n [appendTo]=\"appendTo\"\r\n [autoZIndex]=\"autoZIndex\"\r\n [baseZIndex]=\"baseZIndex\"\r\n [hideTransitionOptions]=\"hideTransitionOptions\"\r\n [options]=\"overlayOptions\"\r\n [showTransitionOptions]=\"showTransitionOptions\"\r\n [target]=\"'@parent'\"\r\n >\r\n <ng-template pTemplate=\"content\">\r\n <div [class]=\"panelStyleClass\" [ngClass]=\"'p-dropdown-panel p-component'\" [ngStyle]=\"panelStyle\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n <div (click)=\"$event.stopPropagation()\" *ngIf=\"filter\" class=\"p-dropdown-header\">\r\n <ng-container *ngIf=\"filterTemplate; else builtInFilterElement\">\r\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: { options: filterOptions }\"></ng-container>\r\n </ng-container>\r\n <ng-template #builtInFilterElement>\r\n <div class=\"p-dropdown-filter-container\">\r\n <input\r\n #filter\r\n (input)=\"onFilterInputChange($event)\"\r\n (keydown)=\"onKeydown($event, false)\"\r\n (keydown.enter)=\"$event.preventDefault()\"\r\n [attr.aria-activedescendant]=\"overlayVisible ? 'p-highlighted-option' : labelId\"\r\n [attr.aria-label]=\"ariaFilterLabel\"\r\n [attr.placeholder]=\"filterPlaceholder\"\r\n [value]=\"filterValue || ''\"\r\n autocomplete=\"off\"\r\n class=\"p-dropdown-filter p-inputtext p-component\"\r\n type=\"text\"\r\n />\r\n <span class=\"p-dropdown-filter-icon pi pi-search\"></span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight || 'auto'\" class=\"p-dropdown-items-wrapper\">\r\n <p-scroller\r\n #scroller\r\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\r\n *ngIf=\"virtualScroll\"\r\n [autoSize]=\"true\"\r\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\r\n [items]=\"optionsToDisplay\"\r\n [lazy]=\"lazy\"\r\n [options]=\"virtualScrollOptions\"\r\n [style]=\"{ height: scrollHeight }\"\r\n >\r\n <ng-template let-items let-scrollerOptions=\"options\" pTemplate=\"content\">\r\n <ng-container\r\n *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"loaderTemplate\">\r\n <ng-template let-scrollerOptions=\"options\" pTemplate=\"loader\">\r\n <ng-container\r\n *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n </p-scroller>\r\n <ng-container *ngIf=\"!virtualScroll\">\r\n <ng-container\r\n *ngTemplateOutlet=\"buildInItems; context: { $implicit: optionsToDisplay, options: {} }\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\r\n <ul #items [attr.id]=\"listId\" [ngClass]=\"scrollerOptions.contentStyleClass\"\r\n [style]=\"scrollerOptions.contentStyle\"\r\n class=\"p-dropdown-items\" role=\"listbox\">\r\n <ng-container *ngIf=\"group\">\r\n <ng-template [ngForOf]=\"items\" let-optgroup ngFor>\r\n <li [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" class=\"p-dropdown-item-group\">\r\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || '' }}</span>\r\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\r\n </li>\r\n <ng-container\r\n *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"!group\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemslist; context: { $implicit: items, selectedOption: selectedOption }\"></ng-container>\r\n </ng-container>\r\n <ng-template #itemslist let-options let-selectedOption=\"selectedOption\">\r\n <ng-template [ngForOf]=\"options\" let-i=\"index\" let-option ngFor>\r\n <p-dropdownItem\r\n (onClick)=\"onItemClick($event)\"\r\n [disabled]=\"isOptionDisabled(option)\"\r\n [label]=\"getOptionLabel(option)\"\r\n [option]=\"option\"\r\n [selected]=\"selectedOption == option\"\r\n [template]=\"itemTemplate\"\r\n ></p-dropdownItem>\r\n </ng-template>\r\n </ng-template>\r\n <li *ngIf=\"filterValue && isEmpty()\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\r\n class=\"p-dropdown-empty-message\">\r\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate\">\r\n {{ emptyFilterMessageLabel }}\r\n </ng-container>\r\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\r\n </li>\r\n <li *ngIf=\"!filterValue && isEmpty()\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\r\n class=\"p-dropdown-empty-message\">\r\n <ng-container *ngIf=\"!emptyTemplate\">\r\n {{ emptyMessageLabel }}\r\n </ng-container>\r\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n </p-overlay>\r\n </div>\r\n</label>\r\n", styles: [".in-dropdown{width:100%;margin-bottom:0}\n"] }]
1205
- }], propDecorators: { title: [{
1206
- type: Input
1207
- }], error: [{
1208
- type: Input
1209
- }], scrollHeight: [{
1210
- type: Input
1211
- }], filter: [{
1212
- type: Input
1213
- }], name: [{
1214
- type: Input
1215
- }], options: [{
1216
- type: Input
1217
- }], style: [{
1218
- type: Input
1219
- }], panelStyle: [{
1220
- type: Input
1221
- }], styleClass: [{
1222
- type: Input
1223
- }], panelStyleClass: [{
1224
- type: Input
1225
- }], readonly: [{
1226
- type: Input
1227
- }], required: [{
1228
- type: Input
1229
- }], editable: [{
1230
- type: Input
1231
- }], appendTo: [{
1232
- type: Input
1233
- }], tabindex: [{
1234
- type: Input
1235
- }], placeholder: [{
1236
- type: Input
1237
- }], filterPlaceholder: [{
1238
- type: Input
1239
- }], filterLocale: [{
1240
- type: Input
1241
- }], inputId: [{
1242
- type: Input
1243
- }], selectId: [{
1244
- type: Input
1245
- }], dataKey: [{
1246
- type: Input
1247
- }], filterBy: [{
1248
- type: Input
1249
- }], autofocus: [{
1250
- type: Input
1251
- }], resetFilterOnHide: [{
1252
- type: Input
1253
- }], dropdownIcon: [{
1254
- type: Input
1255
- }], optionLabel: [{
1256
- type: Input
1257
- }], optionValue: [{
1258
- type: Input
1259
- }], optionDisabled: [{
1260
- type: Input
1261
- }], optionGroupLabel: [{
1262
- type: Input
1263
- }], optionGroupChildren: [{
1264
- type: Input
1265
- }], autoDisplayFirst: [{
1266
- type: Input
1267
- }], group: [{
1268
- type: Input
1269
- }], showClear: [{
1270
- type: Input
1271
- }], emptyFilterMessage: [{
1272
- type: Input
1273
- }], emptyMessage: [{
1274
- type: Input
1275
- }], lazy: [{
1276
- type: Input
1277
- }], virtualScroll: [{
1278
- type: Input
1279
- }], virtualScrollItemSize: [{
1280
- type: Input
1281
- }], virtualScrollOptions: [{
1282
- type: Input
1283
- }], overlayOptions: [{
1284
- type: Input
1285
- }], ariaFilterLabel: [{
1286
- type: Input
1287
- }], ariaLabel: [{
1288
- type: Input
1289
- }], ariaLabelledBy: [{
1290
- type: Input
1291
- }], filterMatchMode: [{
1292
- type: Input
1293
- }], maxlength: [{
1294
- type: Input
1295
- }], tooltip: [{
1296
- type: Input
1297
- }], tooltipPosition: [{
1298
- type: Input
1299
- }], tooltipPositionStyle: [{
1300
- type: Input
1301
- }], tooltipStyleClass: [{
1302
- type: Input
1303
- }], autofocusFilter: [{
1304
- type: Input
1305
- }], overlayDirection: [{
1306
- type: Input
1307
- }], onChange: [{
1308
- type: Output
1309
- }], onFilter: [{
1310
- type: Output
1311
- }], onFocus: [{
1312
- type: Output
1313
- }], onBlur: [{
1314
- type: Output
1315
- }], onClick: [{
1316
- type: Output
1317
- }], onShow: [{
1318
- type: Output
1319
- }], onHide: [{
1320
- type: Output
1321
- }], onClear: [{
1322
- type: Output
1323
- }], onLazyLoad: [{
1324
- type: Output
1325
- }], itemSize: [{
1326
- type: Input
1327
- }], autoZIndex: [{
1328
- type: Input
1329
- }], baseZIndex: [{
1330
- type: Input
1331
- }], showTransitionOptions: [{
1332
- type: Input
1333
- }], hideTransitionOptions: [{
1334
- type: Input
1335
- }] } });
1336
- class DropdownComponentModule {
1337
- }
1338
- DropdownComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1339
- 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] });
1340
- 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] });
1341
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponentModule, decorators: [{
1342
- type: NgModule,
1343
- args: [{
1344
- declarations: [
1345
- DropdownComponent,
1346
- DropdownItem,
1347
- ],
1348
- imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TranslateModule],
1349
- exports: [
1350
- DropdownComponent, OverlayModule, SharedModule, ScrollerModule
1351
- ],
1352
- entryComponents: [
1353
- DropdownComponent,
1354
- ]
1355
- }]
1356
- }] });
1357
-
1358
- class InsparkTemplate {
1359
- constructor(template) {
1360
- this.template = template;
1361
- }
1362
- getType() {
1363
- return this.name;
1364
- }
1365
- }
1366
- InsparkTemplate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkTemplate, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
1367
- InsparkTemplate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: InsparkTemplate, selector: "[inTemplate]", inputs: { type: "type", name: ["inTemplate", "name"] }, ngImport: i0 });
1368
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkTemplate, decorators: [{
1369
- type: Directive,
1370
- args: [{
1371
- selector: '[inTemplate]',
1372
- host: {}
1373
- }]
1374
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { type: [{
1375
- type: Input
1376
- }], name: [{
1377
- type: Input,
1378
- args: ['inTemplate']
1379
- }] } });
1380
-
1381
- class TableClickOutsideDirective {
1382
- constructor(element) {
1383
- this.element = element;
1384
- this.clickedOutside = new EventEmitter();
1385
- }
1386
- click(event) {
1387
- if (!this.element.nativeElement.contains(event.target)) {
1388
- // console.log('clicked outside');
1389
- this.clickedOutside.emit(event);
1390
- }
1391
- else {
1392
- // console.log('clicked inside');
1393
- }
1394
- }
1395
- }
1396
- TableClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1397
- 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 });
1398
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableClickOutsideDirective, decorators: [{
1399
- type: Directive,
1400
- args: [{
1401
- selector: '[inClickOutside]'
1402
- }]
1403
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { clickedOutside: [{
1404
- type: Output
1405
- }], click: [{
1406
- type: HostListener,
1407
- args: ['document:click', ['$event']]
1408
- }] } });
1409
-
1410
- class TableMenuOverlayComponent {
1411
- constructor(element) {
1412
- this.element = element;
1413
- this.isExpanded = false;
1414
- }
1415
- isClickedOutsideOverlay(event) {
1416
- if (!this.element.nativeElement.contains(event.target)) {
1417
- this.isExpanded = false;
1418
- }
1419
- }
1420
- }
1421
- TableMenuOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableMenuOverlayComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
1422
- 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\">\r\n <div (click)=\"isExpanded = !isExpanded;\"\r\n class=\"c-overlay__toggle\">\r\n <ng-content select=\"host\"></ng-content>\r\n </div>\r\n <ng-container *ngIf=\"isExpanded\">\r\n <div (clickedOutside)=\"isClickedOutsideOverlay($event)\" class=\"c-overlay__body\"\r\n inClickOutside>\r\n <!--{{positionClass}}-->\r\n <ng-content select=\"body\"></ng-content>\r\n </div>\r\n </ng-container>\r\n</div>\r\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 });
1423
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableMenuOverlayComponent, decorators: [{
1424
- type: Component,
1425
- args: [{ selector: 'in-table-menu-overlay', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"c-overlay is-dropdown_open\">\r\n <div (click)=\"isExpanded = !isExpanded;\"\r\n class=\"c-overlay__toggle\">\r\n <ng-content select=\"host\"></ng-content>\r\n </div>\r\n <ng-container *ngIf=\"isExpanded\">\r\n <div (clickedOutside)=\"isClickedOutsideOverlay($event)\" class=\"c-overlay__body\"\r\n inClickOutside>\r\n <!--{{positionClass}}-->\r\n <ng-content select=\"body\"></ng-content>\r\n </div>\r\n </ng-container>\r\n</div>\r\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"] }]
1426
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { isExpanded: [{
1427
- type: Input
1428
- }], positionClass: [{
1429
- type: Input
1430
- }] } });
1431
-
1432
- class TableColumnsMultiselectComponent {
1433
- constructor() {
1434
- this.isExpanded = false;
1435
- /**
1436
- * true - все активные чекбоксы становятся неактивными
1437
- * false - не влияет на чекбоксы
1438
- */
1439
- this.disableActiveCheckboxes = false;
1440
- this.columnsChange = new EventEmitter();
1441
- }
1442
- ngOnInit() {
1443
- }
1444
- }
1445
- TableColumnsMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableColumnsMultiselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1446
- 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\">\r\n <ng-container ngProjectAs=\"host\">\r\n <button class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i [title]=\"('column switch' | translate)\" class=\"in in-cog\"></i><i class=\"c-caret\"></i>\r\n </button>\r\n\r\n </ng-container>\r\n <ng-container ngProjectAs=\"body\">\r\n <ul class=\"o-list\">\r\n <li *ngFor=\"let column of columns\" class=\"c-dropdown-menu__listitem\" role=\"menuitem\">\r\n <div class=\"c-dropdown-menu__content\">\r\n <label class=\"c-checkbox c-checkbox_switch c-checkbox_compact\">\r\n <input (ngModelChange)=\"columnsChange.emit({event: $event, column: column})\"\r\n [disabled]=\"(!column.isHidden && disableActiveCheckboxes) || column.isRequired\"\r\n [ngModel]=\"!column.isHidden \"\r\n class=\"c-checkbox__input\"\r\n type=\"checkbox\">\r\n <i class=\"c-checkbox__icon\"></i>\r\n <span class=\"c-checkbox__label dropdown-label\">{{column.label | translate}}</span>\r\n </label>\r\n </div>\r\n </li>\r\n </ul>\r\n\r\n </ng-container>\r\n</in-table-menu-overlay>\r\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" }] });
1447
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableColumnsMultiselectComponent, decorators: [{
1448
- type: Component,
1449
- args: [{ selector: 'in-table-columns-multiselect', template: "<in-table-menu-overlay [isExpanded]=\"isExpanded\">\r\n <ng-container ngProjectAs=\"host\">\r\n <button class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i [title]=\"('column switch' | translate)\" class=\"in in-cog\"></i><i class=\"c-caret\"></i>\r\n </button>\r\n\r\n </ng-container>\r\n <ng-container ngProjectAs=\"body\">\r\n <ul class=\"o-list\">\r\n <li *ngFor=\"let column of columns\" class=\"c-dropdown-menu__listitem\" role=\"menuitem\">\r\n <div class=\"c-dropdown-menu__content\">\r\n <label class=\"c-checkbox c-checkbox_switch c-checkbox_compact\">\r\n <input (ngModelChange)=\"columnsChange.emit({event: $event, column: column})\"\r\n [disabled]=\"(!column.isHidden && disableActiveCheckboxes) || column.isRequired\"\r\n [ngModel]=\"!column.isHidden \"\r\n class=\"c-checkbox__input\"\r\n type=\"checkbox\">\r\n <i class=\"c-checkbox__icon\"></i>\r\n <span class=\"c-checkbox__label dropdown-label\">{{column.label | translate}}</span>\r\n </label>\r\n </div>\r\n </li>\r\n </ul>\r\n\r\n </ng-container>\r\n</in-table-menu-overlay>\r\n", styles: [".dropdown-label{color:var(--text-color)}\n"] }]
1450
- }], ctorParameters: function () { return []; }, propDecorators: { columns: [{
1451
- type: Input
1452
- }], disableActiveCheckboxes: [{
1453
- type: Input
1454
- }], columnsChange: [{
1455
- type: Output
1456
- }] } });
1457
-
1458
- // NEW Factory Function
1459
- function tableFactory(wrapper) {
1460
- return wrapper.dt;
1461
- }
1462
- class TableComponent {
1463
- constructor() {
1464
- this.columns = [];
1465
- this.filteredColumns = [];
1466
- this.globalFilteredColumns = [];
1467
- this.primaryColumns = [];
1468
- this.values = [];
1469
- this.checkboxSelection = true;
1470
- this.showHeader = true;
1471
- this.isMobileView = false;
1472
- this.resizableColumns = true;
1473
- this.isTextSearch = true;
1474
- this.isSortIcon = true;
1475
- this.columnResizeMode = 'expand';
1476
- this.activeChange = new EventEmitter();
1477
- this.selectionChange = new EventEmitter();
1478
- this.addAction = new EventEmitter();
1479
- this.treeAction = new EventEmitter();
1480
- this.csvAction = new EventEmitter();
1481
- this.saveAction = new EventEmitter();
1482
- this.removeAction = new EventEmitter();
1483
- this.unlinkAction = new EventEmitter();
1484
- this.linkAction = new EventEmitter();
1485
- this.groupEditAction = new EventEmitter();
1486
- this.paramsEditAction = new EventEmitter();
1487
- this.sortFunction = new EventEmitter();
1488
- this.filterFunction = new EventEmitter();
1489
- this.groupMode = 0;
1490
- this.groupInfo = {};
1491
- this.groupIndex = {};
1492
- this._selection = null;
1493
- }
1494
- set selection(val) {
1495
- this._selection = val;
1496
- }
1497
- get selectionValue() {
1498
- return this._selection;
1499
- }
1500
- set selectionValue(val) {
1501
- this._selection = val;
1502
- this.selectionChange.emit(val);
1503
- }
1504
- isRowActive(row) {
1505
- return this.active && this.active.id === row.id;
1506
- }
1507
- ngOnInit() {
1508
- this.updateData();
1509
- }
1510
- ngAfterViewInit() {
1511
- Object.entries(this.dt.filters).forEach(([key, value]) => {
1512
- this.dt.filter('', `${key}`, 'contains');
1513
- });
1514
- this.dt.filterGlobal(this.searchText, 'contains');
1515
- }
1516
- ngOnChanges(changes) {
1517
- this.resetColumnWidth();
1518
- this.visibleColumns();
1519
- }
1520
- updateData() {
1521
- this.primaryColumns = this.columns.filter(column => !column.isSecondary);
1522
- this.globalFilteredColumns = this.columns.filter(column => column.isFiltering !== false).map(val => val.field);
1523
- }
1524
- ngAfterContentInit() {
1525
- this.visibleColumns();
1526
- this.restoreSearchText();
1527
- this.templates.forEach((item) => {
1528
- switch (item.getType()) {
1529
- case 'caption':
1530
- this.captionTemplate = item.template;
1531
- break;
1532
- case 'header':
1533
- this.headerTemplate = item.template;
1534
- break;
1535
- case 'body':
1536
- this.bodyTemplate = item.template;
1537
- break;
1538
- case 'value':
1539
- this.valueTemplate = item.template;
1540
- break;
1541
- case 'loadingbody':
1542
- this.loadingBodyTemplate = item.template;
1543
- break;
1544
- case 'footer':
1545
- this.footerTemplate = item.template;
1546
- break;
1547
- case 'summary':
1548
- this.summaryTemplate = item.template;
1549
- break;
1550
- case 'colgroup':
1551
- this.colGroupTemplate = item.template;
1552
- break;
1553
- case 'rowexpansion':
1554
- this.expandedRowTemplate = item.template;
1555
- break;
1556
- case 'frozenrows':
1557
- this.frozenRowsTemplate = item.template;
1558
- break;
1559
- case 'frozenheader':
1560
- this.frozenHeaderTemplate = item.template;
1561
- break;
1562
- case 'frozenbody':
1563
- this.frozenBodyTemplate = item.template;
1564
- break;
1565
- case 'frozenfooter':
1566
- this.frozenFooterTemplate = item.template;
1567
- break;
1568
- case 'frozencolgroup':
1569
- this.frozenColGroupTemplate = item.template;
1570
- break;
1571
- case 'emptymessage':
1572
- this.emptyMessageTemplate = item.template;
1573
- break;
1574
- case 'paginatorleft':
1575
- this.paginatorLeftTemplate = item.template;
1576
- break;
1577
- case 'paginatorright':
1578
- this.paginatorRightTemplate = item.template;
1579
- break;
1580
- }
1581
- });
1582
- }
1583
- visibleColumns() {
1584
- this.restoreHiddenColumns();
1585
- this.filteredColumns = this.columns.filter(column => !column.isHidden);
1586
- return this.filteredColumns;
1587
- }
1588
- columnsChange(data) {
1589
- data.column.isHidden = !data.event;
1590
- this.resetColumnWidth();
1591
- this.saveHiddenColumns();
1592
- this.visibleColumns();
1593
- }
1594
- showTooltip(event) {
1595
- const target = event.target;
1596
- if (target.title === undefined || !target.textContent) {
1597
- return;
1598
- }
1599
- target.title = target.scrollWidth > target.clientWidth ? target.textContent : '';
1600
- }
1601
- colFilter(field) {
1602
- const found = this.toolbar.filter.cols.filter(item => item.field === field);
1603
- return found.length === 1 ? found[0] : undefined;
1604
- }
1605
- onFilterToolbar(event) {
1606
- if (this.toolbar && this.toolbar.filter) {
1607
- this.toolbar.filter.active = !this.toolbar.filter.active;
1608
- }
1609
- }
1610
- onFilter(event) {
1611
- this.onSort();
1612
- this.filterFunction.emit(event.filteredValue);
1613
- }
1614
- stateSave(state) {
1615
- }
1616
- saveToLocalStorage(state, key) {
1617
- if (key) {
1618
- window.localStorage.setItem(key, JSON.stringify(state));
1619
- }
1620
- }
1621
- isHiddenFieldsChanged() {
1622
- const hiddenFieldsSaved = this.getHiddenHiddenFieldsFromStorage();
1623
- const hiddenFieldsColumns = (this.columns || []).filter(_col => _col.isHidden).map(_col => _col.field);
1624
- if (hiddenFieldsSaved.length === hiddenFieldsColumns.length) {
1625
- const diff = hiddenFieldsSaved.filter(field => !hiddenFieldsColumns.includes(field));
1626
- diff.length !== 0;
1627
- }
1628
- return true;
1629
- }
1630
- saveHiddenColumns() {
1631
- if (this.stateKey) {
1632
- if (!this.isHiddenFieldsChanged()) {
1633
- return;
1634
- }
1635
- const hiddenFields = (this.columns || []).filter(_col => _col.isHidden).map(_col => _col.field).join(',');
1636
- this.saveToLocalStorage(hiddenFields, this.stateKey + 'HiddenFields');
1637
- window.localStorage.removeItem(this.stateKey);
1638
- if (this.searchText) {
1639
- window.localStorage.setItem(this.stateKey, JSON.stringify({
1640
- filters: { global: { value: this.searchText, matchMode: 'contains' } }
1641
- }));
1642
- }
1643
- if (this.dt) {
1644
- this.dt.restoreState();
1645
- }
1646
- }
1647
- }
1648
- countVisibleColumns() {
1649
- return (this.columns || []).filter(_col => !_col.isHidden).length;
1650
- }
1651
- restoreSearchText() {
1652
- const state = window.localStorage.getItem(this.stateKey);
1653
- if (state) {
1654
- const parsedState = JSON.parse(state);
1655
- this.searchText = (parsedState.filters || { global: { value: '' } }).global ? (parsedState.filters || { global: { value: '' } }).global.value : '';
1656
- this.sortField = parsedState.sortField || this.sortField;
1657
- }
1658
- else {
1659
- this.resetColumnWidth();
1660
- }
1661
- }
1662
- resetColumnWidthIfToWide() {
1663
- const visibleColumns = this.columns.filter(_column => !_column.isHidden);
1664
- const totalWidthInPercent = visibleColumns.reduce((s, column) => {
1665
- const percent = column.width.indexOf('%') > 0 ? parseInt(column.width, 10) : 0;
1666
- return s + percent;
1667
- }, 0);
1668
- if (totalWidthInPercent > 100) {
1669
- console.error(`Масимальная суммарная ширина столбцов таблицы 100%, текущая суммарная ширина ${totalWidthInPercent}%.`
1670
- + `Выполняется принудительный перерасчет ширины для таблицы ${this.stateKey}`);
1671
- this.resetColumnWidth();
1672
- }
1673
- if (totalWidthInPercent < 100 && this.columns.length > 0) {
1674
- // расширяем первый столбец, чтобы не тянулся столбец с чекбоксом
1675
- const percent = this.columns[0].width.indexOf('%') > 0 ? parseInt(this.columns[0].width, 10) : 0;
1676
- this.columns[0].width = 100 - totalWidthInPercent + percent + '%';
1677
- }
1678
- }
1679
- resetColumnWidth() {
1680
- const cvc = this.countVisibleColumns();
1681
- let percent = Math.floor(100 / cvc);
1682
- let firstColumnPercent = percent;
1683
- if (cvc > 10) {
1684
- percent = Math.floor(90 / (cvc - 1));
1685
- firstColumnPercent = Math.floor(100 - (percent * (cvc - 1)));
1686
- }
1687
- this.columns.forEach((column, index) => column.width = index === 0 ? firstColumnPercent + '%' : `${percent}%`);
1688
- }
1689
- getHiddenHiddenFieldsFromStorage() {
1690
- if (this.stateKey) {
1691
- const hiddenFields = window.localStorage.getItem(this.stateKey + 'HiddenFields');
1692
- if (hiddenFields) {
1693
- return JSON.parse(hiddenFields).split(',');
1694
- }
1695
- }
1696
- return [];
1697
- }
1698
- restoreHiddenColumns() {
1699
- if (this.stateKey && window.localStorage.getItem(this.stateKey + 'HiddenFields')) {
1700
- const hiddenFieldsArray = this.getHiddenHiddenFieldsFromStorage();
1701
- this.columns.forEach(_col => _col.isHidden = hiddenFieldsArray.includes(_col.field) || _col.col_invisible);
1702
- }
1703
- }
1704
- calcWidth(idx, label, width) {
1705
- return width && idx >= 0 ? width : 'auto';
1706
- }
1707
- onSort() {
1708
- if (this.isGrouped) {
1709
- Object.entries(this.groupInfo).forEach(([key, value]) => {
1710
- const cacheFlag = (this.groupInfo[key] || {}).isExpanded;
1711
- this.groupInfo[key] = { isExpanded: cacheFlag === undefined ? true : cacheFlag };
1712
- });
1713
- this.sortByGroup();
1714
- if (this.dt && this.dt.filteredValue) {
1715
- this.sortByGroup(this.dt.filteredValue, this.dt._sortOrder);
1716
- }
1717
- else if (this.dt && this.dt._value && this.dt._sortOrder) {
1718
- this.sortByGroup(this.dt._value, this.dt._sortOrder);
1719
- }
1720
- }
1721
- }
1722
- isShowGroup(key, rowIndex) {
1723
- if (rowIndex === 0) {
1724
- this.groupIndex = {};
1725
- }
1726
- if (!this.groupInfo[key]) {
1727
- this.groupInfo[key] = { isExpanded: this.isGroupedExpanded !== undefined ? this.isGroupedExpanded : true };
1728
- }
1729
- if (!this.groupIndex[key]) {
1730
- this.groupIndex[key] = { rowIndex };
1731
- }
1732
- return this.groupIndex[key].rowIndex === rowIndex;
1733
- }
1734
- toggleGroup(rowIndex, key) {
1735
- this.groupInfo[key].isExpanded = !this.groupInfo[key].isExpanded;
1736
- this.onSort();
1737
- }
1738
- clear() {
1739
- this.dt.filterGlobal('', 'contains');
1740
- this.searchText = '';
1741
- this.dt.saveState();
1742
- }
1743
- localSearch(dt, searchText) {
1744
- dt.filterGlobal(searchText, 'contains');
1745
- }
1746
- sortByGroup(values, sortOrder) {
1747
- const g = this.groupMode;
1748
- if (values) {
1749
- return values.sort((row1, row2) => {
1750
- if (typeof (row1.groupOrder[g]) === 'number') {
1751
- return sortOrder * (row1.groupOrder[g] - row2.groupOrder[g]);
1752
- }
1753
- else {
1754
- return sortOrder * row1.groupOrder[g].localeCompare(row2.groupOrder[g], undefined, { numeric: true, sensitivity: 'base' });
1755
- }
1756
- });
1757
- }
1758
- this.values.sort((row1, row2) => {
1759
- if (typeof (row1.groupOrder[g]) === 'number') {
1760
- return row1.groupOrder[g] - row2.groupOrder[g];
1761
- }
1762
- else {
1763
- return row1.groupOrder[g].localeCompare(row2.groupOrder[g], undefined, { numeric: true, sensitivity: 'base' });
1764
- }
1765
- });
1766
- }
1767
- countGroup(groupKey, g) {
1768
- return this.values.filter(_value => _value.groupKey[g] === groupKey).length;
1769
- }
1770
- toggleNodes(isExpanded) {
1771
- const g = this.groupMode;
1772
- this.values.forEach(v => {
1773
- if (this.groupInfo[v.groupKey[g]]) {
1774
- this.groupInfo[v.groupKey[g]].isExpanded = isExpanded;
1775
- }
1776
- });
1777
- }
1778
- toggleMode(item) {
1779
- this.groupMode = item;
1780
- this.groupInfo = {};
1781
- for (let i = 0; i < this.values.length; i++) {
1782
- this.isShowGroup(this.values[i].groupKey[this.groupMode], i);
1783
- }
1784
- if (this.searchText) {
1785
- this.dt.filterGlobal(this.searchText, 'contains');
1786
- }
1787
- this.sortByGroup();
1788
- }
1789
- }
1790
- TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1791
- 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", columnResizeMode: "columnResizeMode", selection: "selection" }, outputs: { activeChange: "activeChange", selectionChange: "selectionChange", addAction: "addAction", treeAction: "treeAction", csvAction: "csvAction", saveAction: "saveAction", removeAction: "removeAction", unlinkAction: "unlinkAction", linkAction: "linkAction", groupEditAction: "groupEditAction", paramsEditAction: "paramsEditAction", sortFunction: "sortFunction", filterFunction: "filterFunction" }, providers: [
1792
- DomHandler,
1793
- ObjectUtils,
1794
- TableService,
1795
- {
1796
- provide: Table,
1797
- useFactory: tableFactory,
1798
- deps: [TableComponent], // new function depends on your wrapper
1799
- },
1800
- ], 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\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n</span>\r\n<p-table #dt\r\n (onFilter) = onFilter($event)\r\n (onSort)=\"onSort()\"\r\n (onStateRestore)=\"restoreSearchText()\"\r\n (onStateSave)=\"stateSave($event)\"\r\n (sortFunction)=\"sortFunction? sortFunction.emit($event): null\"\r\n [(selection)]=\"selectionValue\"\r\n [class]=\"class\"\r\n [columns]=\"filteredColumns\"\r\n [customSort]=\"customSort\"\r\n [dataKey]=\"dataKey || 'id'\"\r\n [globalFilterFields]=\"globalFilteredColumns\"\r\n [resizableColumns]=\"resizableColumns\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [scrollable]=\"scrollable\"\r\n [selectionMode]=\"selectionMode\"\r\n [sortField]=\"sortField || 'id'\"\r\n [sortOrder]=\"isAscending ? 1 : -1\"\r\n [stateKey]=\"stateKey\"\r\n [stateStorage]=\"'local'\"\r\n [style]=\"style\"\r\n [value]=\"values\"\r\n [columnResizeMode]=\"columnResizeMode\"\r\n>\r\n <ng-template *ngIf=\"colGroupTemplate\" let-columns pTemplate=\"colgroup\">\r\n <ng-container\r\n *ngTemplateOutlet=\"colGroupTemplate; context: {$implicit: { columns: columns}}\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!colGroupTemplate\" let-columns pTemplate=\"colgroup\">\r\n <colgroup *ngIf=\"!isMobileView\">\r\n <col *ngIf=\"checkboxSelection\" style=\"width: 44px;\">\r\n <col *ngFor=\"let col of filteredColumns; let idx = index\">\r\n </colgroup>\r\n </ng-template>\r\n\r\n <ng-template let-columns pTemplate=\"header\">\r\n <ng-container *ngIf=\"showHeader\">\r\n <tr>\r\n <th *ngIf=\"checkboxSelection\" class=\"u-position-relative u-text_center\" pResizableColumn style=\"width: 44px;\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <th *ngFor=\"let col of filteredColumns\" [pSortableColumn]=\"col.field\" class=\"u-position-relative\"\r\n pResizableColumn>\r\n <div class=\"p-table-thead-title\"\r\n title=\"{{col.label | translate}}\">\r\n {{col.label | translate}}\r\n </div>\r\n <p-sortIcon *ngIf=\"isSortIcon\" [field]=\"col.field\"\r\n class=\"u-position-absolute u-position-absolute-right c-sorticon\"\r\n style=\"display: flex; width: 18px; top: 0; height: 100%;\"></p-sortIcon>\r\n </th>\r\n </tr>\r\n <tr *ngIf=\"toolbar && toolbar.filter && toolbar.filter.active\">\r\n <th *ngIf=\"checkboxSelection\" class=\"u-position-relative u-text_center\" pResizableColumn\r\n style=\"width: 44px;\"></th>\r\n <th *ngFor=\"let col of columns\" [ngSwitch]=\"col.field\">\r\n <input\r\n (input)=\"dt.filter($event.target.value, col.field, 'contains')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'text' ? col.field : ''\"\r\n autofocus=\"\"\r\n class=\"c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n type=\"text\">\r\n\r\n <p-dropdown (onChange)=\"dt.filter($event.value, col.field, 'equals')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'dropdown' ? col.field : ''\"\r\n [options]=\"colFilter(col.field)?.options\"\r\n [style]=\"{ width: '100%', overflow: 'visible' }\"\r\n appendTo=\"body\"></p-dropdown>\r\n\r\n <p-multiSelect (onChange)=\"dt.filter($event.value, col.field, 'in')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'multiselect' ? col.field : ''\"\r\n [options]=\"colFilter(col.field)?.options\"\r\n [style]=\"{ width: '100%', overflow: 'visible' }\" appendTo=\"body\"\r\n defaultLabel=\"{{'All' | translate}}\"></p-multiSelect>\r\n <input\r\n (input)=\"dt.filter($event.target.value, col.field + '2filter', 'contains')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'datetext' ? col.field : ''\"\r\n autofocus=\"\"\r\n class=\"c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n type=\"text\">\r\n </th>\r\n </tr>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"bodyTemplate\" let-columns=\"columns\" let-rowData let-rowIndex=\"rowIndex\" pTemplate=\"body\">\r\n <ng-container\r\n *ngTemplateOutlet=\"bodyTemplate; context: {$implicit: { rowIndex: rowIndex, rowData: rowData, columns: columns}}\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!bodyTemplate\" let-columns=\"columns\" let-index=\"rowIndex\" let-rowData pTemplate=\"body\">\r\n <tr\r\n (click)=\"toggleGroup(index, rowData.groupKey[groupMode])\"\r\n *ngIf=\"isGrouped && isShowGroup(rowData.groupKey[groupMode], index)\"\r\n class=\"row_hover_highlight\">\r\n <td [colSpan]=\"countVisibleColumns() + 1\">\r\n <span>\r\n <i\r\n [ngClass]=\"groupInfo[rowData.groupKey[groupMode]].isExpanded ? 'in fa-fw in-chevron-down' : 'in fa-fw in-chevron-right'\"></i>\r\n <span>{{rowData.groupKey[groupMode] | translate }} ({{countGroup(rowData.groupKey[groupMode], groupMode)}}\r\n )</span>\r\n </span>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"!isGrouped || groupInfo[(rowData.groupKey[groupMode])].isExpanded\"\r\n [ngClass]=\"{row_active: isRowActive(rowData)}\"\r\n [pSelectableRow]=\"rowData\"\r\n class=\"row\">\r\n <td *ngIf=\"checkboxSelection\" [ngClass]=\"{\r\n 'row_status_success': rowData.sdirparamstatecolor === 'success',\r\n 'row_status_error': rowData.sdirparamstatecolor === 'error',\r\n 'row_status_warning': rowData.sdirparamstatecolor === 'warning',\r\n 'row_status_critical': rowData.sdirparamstatecolor === 'critical',\r\n 'row_status_falsevalue': rowData.sdirparamstatecolor === 'falsevalue',\r\n 'row_status_pending': rowData.sdirparamstatecolor === 'pending'\r\n }\" class=\"u-text_center\"\r\n style=\"width: 44px\"\r\n >\r\n <p-tableCheckbox [value]=\"rowData\"\r\n [ngStyle]=\"{ 'pointer-events': selectionMode === 'single' || selectionMode === 'multiple' && checkboxSelection ? 'none' : 'auto'}\"\r\n ></p-tableCheckbox>\r\n </td>\r\n <td (click)=\"activeChange.emit(rowData)\"\r\n *ngFor=\"let col of filteredColumns\"\r\n class=\"u-overflow-visible\">\r\n <div (mouseover)=\"showTooltip($event)\" *ngIf=\"!valueTemplate\" class=\"p-table-tbody-content\" title>\r\n {{col.translatable ? (rowData | propertyValue: col.field | translate) : (rowData | propertyValue: col.field)}}\r\n </div>\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTemplate; context: {$implicit: { data: rowData, col: col}}\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"toolbar\" pTemplate=\"caption\">\r\n\r\n <div class=\"o-grid o-grid_no-gutter\">\r\n <div class=\"c-tree-table__toolbar-content u-display-inline-flex\">\r\n <div *ngIf=\"isTextSearch\" class=\"c-form c-form_inline u-display-inline-block\">\r\n <form class=\"c-label\">\r\n <div class=\"input-wrapper u-margin-right-tiny\">\r\n <input #searchTextInput\r\n (input)=\"localSearch(dt, searchText)\"\r\n [(ngModel)]=\"searchText\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n autofocus=\"\"\r\n class=\"search-box c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n placeholder=\"{{('SHARED.SEARCH' | translate) + ':'}}\"\r\n required\r\n style=\"padding-right: 28px\"\r\n tabindex=\"1\"\r\n type=\"search\"\r\n >\r\n <button (click)=\"clear()\" class=\"button-reset\" type=\"reset\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"in in-close\"></i>\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"c-btn c-btn_border-free c-btn_small\">\r\n <in-table-columns-multiselect (columnsChange)=\"columnsChange($event)\"\r\n [columns]=\"primaryColumns\"\r\n [disableActiveCheckboxes]=\"countVisibleColumns() === 1\"></in-table-columns-multiselect>\r\n </div>\r\n\r\n <button (click)=\"onFilterToolbar($event)\" *ngIf=\"toolbar.filter\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-filter\" title=\"{{'Service filter' | translate}}\"></i>\r\n </button>\r\n\r\n <button (click)=\"treeAction.emit($event)\" *ngIf=\"toolbar.tree\" [disabled]=\"toolbar.tree.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-list\" title=\"{{'Filter by rubric' | translate}}\"></i>\r\n </button>\r\n\r\n <button (click)=\"addAction.emit($event)\" *ngIf=\"toolbar.add\" [disabled]=\"toolbar.add.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-plus\" title=\"{{'Add' | translate}}\"></i>\r\n </button>\r\n\r\n <button (click)=\"linkAction.emit($event)\" *ngIf=\"toolbar.link\" [disabled]=\"toolbar.link.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-link\" title=\"{{'Link' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"csvAction.emit($event)\" *ngIf=\"toolbar.csv\" [disabled]=\"toolbar.csv.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <!--Todo: \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430 in-file-csv-->\r\n <i class=\"in in-file-excel-outline\" title=\"{{'LOGS.SAVE_TO_CSV' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"saveAction.emit($event)\" *ngIf=\"toolbar.save\"\r\n [disabled]=\"toolbar.save.disabled\"\r\n class=\"c-btn c-btn_primary c-btn_small\"\r\n title=\"{{'Save' | translate}}\"\r\n >\r\n {{'Save' | translate}}\r\n </button>\r\n <button (click)=\"groupEditAction.emit($event)\" *ngIf=\"toolbar.groupEdit && toolbar.groupEdit.active\"\r\n [disabled]=\"toolbar.groupEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'groupEdit' | translate}}\"></i>\r\n </button>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n <button (click)=\"paramsEditAction.emit($event)\" *ngIf=\"toolbar.paramsEdit && toolbar.paramsEdit.active\"\r\n [disabled]=\"toolbar.paramsEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'paramsEdit' | translate}}\"></i>\r\n </button>\r\n\r\n\r\n <button (click)=\"removeAction.emit($event)\" *ngIf=\"toolbar.remove && toolbar.remove.active\"\r\n [disabled]=\"toolbar.remove.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-trash\" title=\"{{'Delete' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"unlinkAction.emit($event)\" *ngIf=\"toolbar.unlink\" [disabled]=\"toolbar.unlink.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-link-off\" title=\"{{'Detach tag from selected items' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"toggleNodes(true)\"\r\n *ngIf=\"toolbar.expandAll\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n title=\"{{'Expand all' | translate}}\">\r\n <svg fill=\"currentColor\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z\"/>\r\n </svg>\r\n </button>\r\n <button (click)=\"toggleNodes(false)\"\r\n *ngIf=\"toolbar.expandAll\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n title=\"{{'Collapse all' | translate}}\">\r\n <svg fill=\"currentColor\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path clip-rule=\"evenodd\" d=\"M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z\" fill-rule=\"evenodd\"/>\r\n </svg>\r\n </button>\r\n\r\n <div *ngIf=\"toolbar.groupSort\"\r\n class=\"c-btn-group\"\r\n container=\"body\"\r\n ngbDropdown>\r\n\r\n <button class=\"c-btn c-btn_border-free c-btn_small\"\r\n id=\"dropdownGroupType\"\r\n ngbDropdownToggle\r\n title=\"{{'Change the way parameters are grouped' | translate}}\">\r\n <i aria-hidden=\"true\" class=\"in in-object-group\"></i>\r\n <i aria-hidden=\"true\" class=\"c-caret\"></i>\r\n </button>\r\n\r\n <ul aria-labelledby=\"dropdownGroupType\"\r\n class=\"c-dropdown-menu c-dropdown-menu_right ng-star-inserted\"\r\n ngbDropdownMenu\r\n role=\"menu\">\r\n <li *ngFor=\"let item of toolbar.groupSort.label\"\r\n [ngClass]=\"{'is-dropdown-menu__listitem_active': item.value === groupMode}\"\r\n class=\"c-dropdown-menu__listitem is-dropdown-menu__listitem_active\"\r\n ngbDropdownItem\r\n role=\"menuitem\">\r\n <a (click)=\"toggleMode(item.value)\" class=\"c-dropdown-menu__content\">\r\n {{item.label}}\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-table>\r\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}.row_status_pending{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-pending, #1f85ff)}.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.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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" }] });
1801
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableComponent, decorators: [{
1802
- type: Component,
1803
- args: [{ selector: 'in-table', entryComponents: [], providers: [
1804
- DomHandler,
1805
- ObjectUtils,
1806
- TableService,
1807
- {
1808
- provide: Table,
1809
- useFactory: tableFactory,
1810
- deps: [TableComponent], // new function depends on your wrapper
1811
- },
1812
- ], template: "<span *ngIf=\"label\" class=\"c-label\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n</span>\r\n<p-table #dt\r\n (onFilter) = onFilter($event)\r\n (onSort)=\"onSort()\"\r\n (onStateRestore)=\"restoreSearchText()\"\r\n (onStateSave)=\"stateSave($event)\"\r\n (sortFunction)=\"sortFunction? sortFunction.emit($event): null\"\r\n [(selection)]=\"selectionValue\"\r\n [class]=\"class\"\r\n [columns]=\"filteredColumns\"\r\n [customSort]=\"customSort\"\r\n [dataKey]=\"dataKey || 'id'\"\r\n [globalFilterFields]=\"globalFilteredColumns\"\r\n [resizableColumns]=\"resizableColumns\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [scrollable]=\"scrollable\"\r\n [selectionMode]=\"selectionMode\"\r\n [sortField]=\"sortField || 'id'\"\r\n [sortOrder]=\"isAscending ? 1 : -1\"\r\n [stateKey]=\"stateKey\"\r\n [stateStorage]=\"'local'\"\r\n [style]=\"style\"\r\n [value]=\"values\"\r\n [columnResizeMode]=\"columnResizeMode\"\r\n>\r\n <ng-template *ngIf=\"colGroupTemplate\" let-columns pTemplate=\"colgroup\">\r\n <ng-container\r\n *ngTemplateOutlet=\"colGroupTemplate; context: {$implicit: { columns: columns}}\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!colGroupTemplate\" let-columns pTemplate=\"colgroup\">\r\n <colgroup *ngIf=\"!isMobileView\">\r\n <col *ngIf=\"checkboxSelection\" style=\"width: 44px;\">\r\n <col *ngFor=\"let col of filteredColumns; let idx = index\">\r\n </colgroup>\r\n </ng-template>\r\n\r\n <ng-template let-columns pTemplate=\"header\">\r\n <ng-container *ngIf=\"showHeader\">\r\n <tr>\r\n <th *ngIf=\"checkboxSelection\" class=\"u-position-relative u-text_center\" pResizableColumn style=\"width: 44px;\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <th *ngFor=\"let col of filteredColumns\" [pSortableColumn]=\"col.field\" class=\"u-position-relative\"\r\n pResizableColumn>\r\n <div class=\"p-table-thead-title\"\r\n title=\"{{col.label | translate}}\">\r\n {{col.label | translate}}\r\n </div>\r\n <p-sortIcon *ngIf=\"isSortIcon\" [field]=\"col.field\"\r\n class=\"u-position-absolute u-position-absolute-right c-sorticon\"\r\n style=\"display: flex; width: 18px; top: 0; height: 100%;\"></p-sortIcon>\r\n </th>\r\n </tr>\r\n <tr *ngIf=\"toolbar && toolbar.filter && toolbar.filter.active\">\r\n <th *ngIf=\"checkboxSelection\" class=\"u-position-relative u-text_center\" pResizableColumn\r\n style=\"width: 44px;\"></th>\r\n <th *ngFor=\"let col of columns\" [ngSwitch]=\"col.field\">\r\n <input\r\n (input)=\"dt.filter($event.target.value, col.field, 'contains')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'text' ? col.field : ''\"\r\n autofocus=\"\"\r\n class=\"c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n type=\"text\">\r\n\r\n <p-dropdown (onChange)=\"dt.filter($event.value, col.field, 'equals')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'dropdown' ? col.field : ''\"\r\n [options]=\"colFilter(col.field)?.options\"\r\n [style]=\"{ width: '100%', overflow: 'visible' }\"\r\n appendTo=\"body\"></p-dropdown>\r\n\r\n <p-multiSelect (onChange)=\"dt.filter($event.value, col.field, 'in')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'multiselect' ? col.field : ''\"\r\n [options]=\"colFilter(col.field)?.options\"\r\n [style]=\"{ width: '100%', overflow: 'visible' }\" appendTo=\"body\"\r\n defaultLabel=\"{{'All' | translate}}\"></p-multiSelect>\r\n <input\r\n (input)=\"dt.filter($event.target.value, col.field + '2filter', 'contains')\"\r\n *ngSwitchCase=\"colFilter(col.field)?.type === 'datetext' ? col.field : ''\"\r\n autofocus=\"\"\r\n class=\"c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n type=\"text\">\r\n </th>\r\n </tr>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"bodyTemplate\" let-columns=\"columns\" let-rowData let-rowIndex=\"rowIndex\" pTemplate=\"body\">\r\n <ng-container\r\n *ngTemplateOutlet=\"bodyTemplate; context: {$implicit: { rowIndex: rowIndex, rowData: rowData, columns: columns}}\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!bodyTemplate\" let-columns=\"columns\" let-index=\"rowIndex\" let-rowData pTemplate=\"body\">\r\n <tr\r\n (click)=\"toggleGroup(index, rowData.groupKey[groupMode])\"\r\n *ngIf=\"isGrouped && isShowGroup(rowData.groupKey[groupMode], index)\"\r\n class=\"row_hover_highlight\">\r\n <td [colSpan]=\"countVisibleColumns() + 1\">\r\n <span>\r\n <i\r\n [ngClass]=\"groupInfo[rowData.groupKey[groupMode]].isExpanded ? 'in fa-fw in-chevron-down' : 'in fa-fw in-chevron-right'\"></i>\r\n <span>{{rowData.groupKey[groupMode] | translate }} ({{countGroup(rowData.groupKey[groupMode], groupMode)}}\r\n )</span>\r\n </span>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"!isGrouped || groupInfo[(rowData.groupKey[groupMode])].isExpanded\"\r\n [ngClass]=\"{row_active: isRowActive(rowData)}\"\r\n [pSelectableRow]=\"rowData\"\r\n class=\"row\">\r\n <td *ngIf=\"checkboxSelection\" [ngClass]=\"{\r\n 'row_status_success': rowData.sdirparamstatecolor === 'success',\r\n 'row_status_error': rowData.sdirparamstatecolor === 'error',\r\n 'row_status_warning': rowData.sdirparamstatecolor === 'warning',\r\n 'row_status_critical': rowData.sdirparamstatecolor === 'critical',\r\n 'row_status_falsevalue': rowData.sdirparamstatecolor === 'falsevalue',\r\n 'row_status_pending': rowData.sdirparamstatecolor === 'pending'\r\n }\" class=\"u-text_center\"\r\n style=\"width: 44px\"\r\n >\r\n <p-tableCheckbox [value]=\"rowData\"\r\n [ngStyle]=\"{ 'pointer-events': selectionMode === 'single' || selectionMode === 'multiple' && checkboxSelection ? 'none' : 'auto'}\"\r\n ></p-tableCheckbox>\r\n </td>\r\n <td (click)=\"activeChange.emit(rowData)\"\r\n *ngFor=\"let col of filteredColumns\"\r\n class=\"u-overflow-visible\">\r\n <div (mouseover)=\"showTooltip($event)\" *ngIf=\"!valueTemplate\" class=\"p-table-tbody-content\" title>\r\n {{col.translatable ? (rowData | propertyValue: col.field | translate) : (rowData | propertyValue: col.field)}}\r\n </div>\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTemplate; context: {$implicit: { data: rowData, col: col}}\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"toolbar\" pTemplate=\"caption\">\r\n\r\n <div class=\"o-grid o-grid_no-gutter\">\r\n <div class=\"c-tree-table__toolbar-content u-display-inline-flex\">\r\n <div *ngIf=\"isTextSearch\" class=\"c-form c-form_inline u-display-inline-block\">\r\n <form class=\"c-label\">\r\n <div class=\"input-wrapper u-margin-right-tiny\">\r\n <input #searchTextInput\r\n (input)=\"localSearch(dt, searchText)\"\r\n [(ngModel)]=\"searchText\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n autofocus=\"\"\r\n class=\"search-box c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n placeholder=\"{{('SHARED.SEARCH' | translate) + ':'}}\"\r\n required\r\n style=\"padding-right: 28px\"\r\n tabindex=\"1\"\r\n type=\"search\"\r\n >\r\n <button (click)=\"clear()\" class=\"button-reset\" type=\"reset\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"in in-close\"></i>\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"c-btn c-btn_border-free c-btn_small\">\r\n <in-table-columns-multiselect (columnsChange)=\"columnsChange($event)\"\r\n [columns]=\"primaryColumns\"\r\n [disableActiveCheckboxes]=\"countVisibleColumns() === 1\"></in-table-columns-multiselect>\r\n </div>\r\n\r\n <button (click)=\"onFilterToolbar($event)\" *ngIf=\"toolbar.filter\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-filter\" title=\"{{'Service filter' | translate}}\"></i>\r\n </button>\r\n\r\n <button (click)=\"treeAction.emit($event)\" *ngIf=\"toolbar.tree\" [disabled]=\"toolbar.tree.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-list\" title=\"{{'Filter by rubric' | translate}}\"></i>\r\n </button>\r\n\r\n <button (click)=\"addAction.emit($event)\" *ngIf=\"toolbar.add\" [disabled]=\"toolbar.add.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-plus\" title=\"{{'Add' | translate}}\"></i>\r\n </button>\r\n\r\n <button (click)=\"linkAction.emit($event)\" *ngIf=\"toolbar.link\" [disabled]=\"toolbar.link.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-link\" title=\"{{'Link' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"csvAction.emit($event)\" *ngIf=\"toolbar.csv\" [disabled]=\"toolbar.csv.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <!--Todo: \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430 in-file-csv-->\r\n <i class=\"in in-file-excel-outline\" title=\"{{'LOGS.SAVE_TO_CSV' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"saveAction.emit($event)\" *ngIf=\"toolbar.save\"\r\n [disabled]=\"toolbar.save.disabled\"\r\n class=\"c-btn c-btn_primary c-btn_small\"\r\n title=\"{{'Save' | translate}}\"\r\n >\r\n {{'Save' | translate}}\r\n </button>\r\n <button (click)=\"groupEditAction.emit($event)\" *ngIf=\"toolbar.groupEdit && toolbar.groupEdit.active\"\r\n [disabled]=\"toolbar.groupEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'groupEdit' | translate}}\"></i>\r\n </button>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n <button (click)=\"paramsEditAction.emit($event)\" *ngIf=\"toolbar.paramsEdit && toolbar.paramsEdit.active\"\r\n [disabled]=\"toolbar.paramsEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'paramsEdit' | translate}}\"></i>\r\n </button>\r\n\r\n\r\n <button (click)=\"removeAction.emit($event)\" *ngIf=\"toolbar.remove && toolbar.remove.active\"\r\n [disabled]=\"toolbar.remove.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-trash\" title=\"{{'Delete' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"unlinkAction.emit($event)\" *ngIf=\"toolbar.unlink\" [disabled]=\"toolbar.unlink.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-link-off\" title=\"{{'Detach tag from selected items' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"toggleNodes(true)\"\r\n *ngIf=\"toolbar.expandAll\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n title=\"{{'Expand all' | translate}}\">\r\n <svg fill=\"currentColor\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z\"/>\r\n </svg>\r\n </button>\r\n <button (click)=\"toggleNodes(false)\"\r\n *ngIf=\"toolbar.expandAll\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n title=\"{{'Collapse all' | translate}}\">\r\n <svg fill=\"currentColor\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path clip-rule=\"evenodd\" d=\"M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z\" fill-rule=\"evenodd\"/>\r\n </svg>\r\n </button>\r\n\r\n <div *ngIf=\"toolbar.groupSort\"\r\n class=\"c-btn-group\"\r\n container=\"body\"\r\n ngbDropdown>\r\n\r\n <button class=\"c-btn c-btn_border-free c-btn_small\"\r\n id=\"dropdownGroupType\"\r\n ngbDropdownToggle\r\n title=\"{{'Change the way parameters are grouped' | translate}}\">\r\n <i aria-hidden=\"true\" class=\"in in-object-group\"></i>\r\n <i aria-hidden=\"true\" class=\"c-caret\"></i>\r\n </button>\r\n\r\n <ul aria-labelledby=\"dropdownGroupType\"\r\n class=\"c-dropdown-menu c-dropdown-menu_right ng-star-inserted\"\r\n ngbDropdownMenu\r\n role=\"menu\">\r\n <li *ngFor=\"let item of toolbar.groupSort.label\"\r\n [ngClass]=\"{'is-dropdown-menu__listitem_active': item.value === groupMode}\"\r\n class=\"c-dropdown-menu__listitem is-dropdown-menu__listitem_active\"\r\n ngbDropdownItem\r\n role=\"menuitem\">\r\n <a (click)=\"toggleMode(item.value)\" class=\"c-dropdown-menu__content\">\r\n {{item.label}}\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-table>\r\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}.row_status_pending{padding-left:9px!important;border-left:4px solid var(--ids-theme-status-pending, #1f85ff)}.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"] }]
1813
- }], propDecorators: { columns: [{
1814
- type: Input
1815
- }], values: [{
1816
- type: Input
1817
- }], scrollHeight: [{
1818
- type: Input
1819
- }], scrollable: [{
1820
- type: Input
1821
- }], selectionMode: [{
1822
- type: Input
1823
- }], label: [{
1824
- type: Input
1825
- }], error: [{
1826
- type: Input
1827
- }], class: [{
1828
- type: Input
1829
- }], required: [{
1830
- type: Input
1831
- }], style: [{
1832
- type: Input
1833
- }], toolbar: [{
1834
- type: Input
1835
- }], checkboxSelection: [{
1836
- type: Input
1837
- }], active: [{
1838
- type: Input
1839
- }], sortField: [{
1840
- type: Input
1841
- }], isAscending: [{
1842
- type: Input
1843
- }], dataKey: [{
1844
- type: Input
1845
- }], stateKey: [{
1846
- type: Input
1847
- }], isGrouped: [{
1848
- type: Input
1849
- }], customSort: [{
1850
- type: Input
1851
- }], isGroupedExpanded: [{
1852
- type: Input
1853
- }], showHeader: [{
1854
- type: Input
1855
- }], isMobileView: [{
1856
- type: Input
1857
- }], resizableColumns: [{
1858
- type: Input
1859
- }], isTextSearch: [{
1860
- type: Input
1861
- }], isSortIcon: [{
1862
- type: Input
1863
- }], columnResizeMode: [{
1864
- type: Input
1865
- }], activeChange: [{
1866
- type: Output
1867
- }], templates: [{
1868
- type: ContentChildren,
1869
- args: [InsparkTemplate]
1870
- }], selectionChange: [{
1871
- type: Output
1872
- }], addAction: [{
1873
- type: Output
1874
- }], treeAction: [{
1875
- type: Output
1876
- }], csvAction: [{
1877
- type: Output
1878
- }], saveAction: [{
1879
- type: Output
1880
- }], removeAction: [{
1881
- type: Output
1882
- }], unlinkAction: [{
1883
- type: Output
1884
- }], linkAction: [{
1885
- type: Output
1886
- }], groupEditAction: [{
1887
- type: Output
1888
- }], paramsEditAction: [{
1889
- type: Output
1890
- }], sortFunction: [{
1891
- type: Output
1892
- }], filterFunction: [{
1893
- type: Output
1894
- }], dt: [{
1895
- type: ViewChild,
1896
- args: ['dt', { static: false }]
1897
- }], selection: [{
1898
- type: Input
1899
- }] } });
1900
- class TableComponentModule {
1901
- }
1902
- TableComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1903
- 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] });
1904
- 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] });
1905
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableComponentModule, decorators: [{
1906
- type: NgModule,
1907
- args: [{
1908
- imports: [CommonModule, TableModule, PipesModule, TranslateModule, FormsModule, DropdownModule, MultiSelectModule, NgbDropdownModule, CheckboxModule],
1909
- exports: [TableComponent, TableColumnsMultiselectComponent],
1910
- declarations: [TableComponent, TableColumnsMultiselectComponent, TableMenuOverlayComponent, TableClickOutsideDirective]
1911
- }]
1912
- }] });
1913
-
1914
- class EmptyComponent {
1915
- }
1916
- EmptyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EmptyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1917
- EmptyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: EmptyComponent, selector: "in-empty", ngImport: i0, template: "<div class=\"status-text\">\r\n {{'no_records' | translate}}\r\n</div>\r\n", styles: [".status-text{font-size:16px;opacity:.8}\n"], dependencies: [{ kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
1918
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EmptyComponent, decorators: [{
1919
- type: Component,
1920
- args: [{ selector: 'in-empty', template: "<div class=\"status-text\">\r\n {{'no_records' | translate}}\r\n</div>\r\n", styles: [".status-text{font-size:16px;opacity:.8}\n"] }]
1921
- }] });
1922
-
1923
- class InsparkStickyComponent {
1924
- constructor(cdr) {
1925
- this.cdr = cdr;
1926
- this.top = 100;
1927
- this.isInline = false;
1928
- this.isFloated = true;
1929
- this.zIndex = 10;
1930
- this.class = '';
1931
- this.isSticky = false;
1932
- this.height = 0;
1933
- this.width = 0;
1934
- this.left = 0;
1935
- this.right = 0;
1936
- this.resize = () => {
1937
- const rect = this.stickyRef.nativeElement.getBoundingClientRect();
1938
- this.width = rect.width;
1939
- this.left = rect.x;
1940
- this.cdr.detectChanges();
1941
- };
1942
- this.scroll = () => {
1943
- const rect = this.stickyRef.nativeElement.getBoundingClientRect();
1944
- const isSticky = rect.top < this.top;
1945
- if (isSticky !== this.isSticky) {
1946
- this.height = rect.height;
1947
- this.isSticky = rect.top < this.top;
1948
- this.left = rect.x;
1949
- this.width = rect.width;
1950
- this.right = rect.right;
1951
- this.cdr.detectChanges();
1952
- }
1953
- };
1954
- }
1955
- ngOnInit() {
1956
- document.addEventListener('scroll', this.scroll);
1957
- window.addEventListener('resize', this.resize);
1958
- }
1959
- ngOnDestroy() {
1960
- document.removeEventListener('scroll', this.scroll);
1961
- window.removeEventListener('resize', this.resize);
1962
- }
1963
- }
1964
- InsparkStickyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkStickyComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1965
- 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'}\"\r\n class=\"sticky-container\">\r\n <div [ngClass]=\"{sticky: isSticky, floated: isFloated && isSticky}\"\r\n [ngStyle]=\"{zIndex:this.zIndex, top: (this.top) + 'px', left: this.left+ 'px', width: this.width?this.width+'px':'auto'}\">\r\n <div [ngClass]=\"class + ' u-overflow-hidden'\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\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 });
1966
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkStickyComponent, decorators: [{
1967
- type: Component,
1968
- args: [{ selector: 'in-sticky', encapsulation: ViewEncapsulation.Emulated, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #sticky [ngClass]=\"{inline:isInline}\" [ngStyle]=\"{height: this.height?this.height+'px':'auto'}\"\r\n class=\"sticky-container\">\r\n <div [ngClass]=\"{sticky: isSticky, floated: isFloated && isSticky}\"\r\n [ngStyle]=\"{zIndex:this.zIndex, top: (this.top) + 'px', left: this.left+ 'px', width: this.width?this.width+'px':'auto'}\">\r\n <div [ngClass]=\"class + ' u-overflow-hidden'\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".sticky{position:fixed;display:inline-block}.floated{box-shadow:0 0 4px 2px #0000004d}.inline{display:inline-block}\n"] }]
1969
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { stickyRef: [{
1970
- type: ViewChild,
1971
- args: ['sticky', { static: false }]
1972
- }], top: [{
1973
- type: Input
1974
- }], isInline: [{
1975
- type: Input
1976
- }], isFloated: [{
1977
- type: Input
1978
- }], zIndex: [{
1979
- type: Input
1980
- }], class: [{
1981
- type: Input
1982
- }] } });
1983
-
1984
- class InsparkHeaderComponent {
1985
- constructor() {
1986
- this.level = 1;
1987
- this.label = '';
1988
- this.isWrappable = false;
1989
- this.lineClamp = 4;
1990
- }
1991
- ngOnInit() {
1992
- this.level = Math.max(Math.min(this.level, 6), 1);
1993
- }
1994
- }
1995
- InsparkHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1996
- InsparkHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: InsparkHeaderComponent, selector: "in-header", inputs: { level: "level", label: "label", isWrappable: "isWrappable", lineClamp: "lineClamp" }, ngImport: i0, template: "<div [ngClass]=\"{ h1: level === 1, h2: level === 2, h3: level === 3,\r\n h4: level === 4, h5: level === 5, h6:level === 6,\r\n 'is-wrappable': isWrappable }\"\r\n class=\"header u-margin-bottom-tiny u-margin-top-small line-clamp-{{lineClamp}}\">\r\n <div *ngIf=\"level === 1\" [title]=\"label\" class=\"u-h1 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 2\" [title]=\"label\" class=\"u-h2 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 3\" [title]=\"label\" class=\"u-h3 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 4\" [title]=\"label\" class=\"u-h4 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 5\" [title]=\"label\" class=\"u-h5 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 6\" [title]=\"label\" class=\"u-h6 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div class=\"buttons\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\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}.is-wrappable .header__wrapper{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;white-space:normal}.line-clamp-1 .header__wrapper{-webkit-line-clamp:1}.line-clamp-2 .header__wrapper{-webkit-line-clamp:2}.line-clamp-3 .header__wrapper{-webkit-line-clamp:3}.line-clamp-4 .header__wrapper{-webkit-line-clamp:4}\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"] }] });
1997
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkHeaderComponent, decorators: [{
1998
- type: Component,
1999
- args: [{ selector: 'in-header', encapsulation: ViewEncapsulation.Emulated, template: "<div [ngClass]=\"{ h1: level === 1, h2: level === 2, h3: level === 3,\r\n h4: level === 4, h5: level === 5, h6:level === 6,\r\n 'is-wrappable': isWrappable }\"\r\n class=\"header u-margin-bottom-tiny u-margin-top-small line-clamp-{{lineClamp}}\">\r\n <div *ngIf=\"level === 1\" [title]=\"label\" class=\"u-h1 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 2\" [title]=\"label\" class=\"u-h2 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 3\" [title]=\"label\" class=\"u-h3 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 4\" [title]=\"label\" class=\"u-h4 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 5\" [title]=\"label\" class=\"u-h5 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div *ngIf=\"level === 6\" [title]=\"label\" class=\"u-h6 header__wrapper\">\r\n {{label}}\r\n </div>\r\n <div class=\"buttons\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\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}.is-wrappable .header__wrapper{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;white-space:normal}.line-clamp-1 .header__wrapper{-webkit-line-clamp:1}.line-clamp-2 .header__wrapper{-webkit-line-clamp:2}.line-clamp-3 .header__wrapper{-webkit-line-clamp:3}.line-clamp-4 .header__wrapper{-webkit-line-clamp:4}\n"] }]
2000
- }], ctorParameters: function () { return []; }, propDecorators: { level: [{
2001
- type: Input
2002
- }], label: [{
2003
- type: Input
2004
- }], isWrappable: [{
2005
- type: Input
2006
- }], lineClamp: [{
2007
- type: Input
2008
- }] } });
2009
-
2010
- class ToolbarComponent {
2011
- constructor(element, cdRef, router) {
2012
- this.element = element;
2013
- this.cdRef = cdRef;
2014
- this.router = router;
2015
- this.display = false;
2016
- }
2017
- ngOnInit() {
2018
- }
2019
- clickedOutsideOverlay(event) {
2020
- if (!this.element.nativeElement.contains(event.target)) {
2021
- this.display = false;
2022
- this.cdRef.detectChanges();
2023
- }
2024
- }
2025
- }
2026
- 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 });
2027
- ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ToolbarComponent, selector: "in-toolbar", inputs: { title: "title" }, ngImport: i0, template: "<div class=\"toolbar-wrapper\">\r\n <in-sticky top=\"60\">\r\n\r\n <div class=\"c-panel toolbar-container\">\r\n <div class=\"c-toolbar\">\r\n <div class=\"c-toolbar__side-left\">\r\n <div class=\"c-toolbar__title\">{{title}}</div>\r\n </div>\r\n <div class=\"c-toolbar__side-center\">\r\n\r\n </div>\r\n <div class=\"c-toolbar__side-right\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </in-sticky>\r\n</div>\r\n", styles: [".toolbar-wrapper{padding-bottom:4px}.toolbar-container{padding:8px;position:relative}:host{position:sticky;z-index:2}.c-toolbar{display:inline-flex;width:100%;flex-wrap:wrap}.c-toolbar__side-left{flex:100%;text-align:left}@media screen and (min-width: 1200px){.c-toolbar__side-left{flex:1}}.c-toolbar__title{display:inline-flex;vertical-align:middle;font-size:22px}.c-toolbar__side-right{display:flex;text-align:right}.add-widget{position:fixed;right:16px;bottom:16px}.widget-container{position:absolute;inset:40px 0 0;overflow:auto}.widget-block{position:absolute;inset:5px}.sidebar{background:var(--main-background);position:absolute;left:0;top:35px;bottom:0;height:100vh;z-index:100;width:300px;box-shadow:0 0 3px 8px #0000001a;overflow:auto}.right-side{display:flex;align-items:center;justify-content:flex-end;flex:1}.right-side>*{margin-left:5px}.left-side{white-space:nowrap;display:flex;align-items:center;justify-content:flex-start}.left-side>*{margin-right:5px}.controls-panel{height:41px;border-radius:2px;padding:4px 0;margin:0 5px 5px;display:flex}.dashboard-list{position:relative}.title{font-size:22px}\n"], dependencies: [{ kind: "component", type: InsparkStickyComponent, selector: "in-sticky", inputs: ["top", "isInline", "isFloated", "zIndex", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2028
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ToolbarComponent, decorators: [{
2029
- type: Component,
2030
- args: [{ selector: 'in-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, entryComponents: [], template: "<div class=\"toolbar-wrapper\">\r\n <in-sticky top=\"60\">\r\n\r\n <div class=\"c-panel toolbar-container\">\r\n <div class=\"c-toolbar\">\r\n <div class=\"c-toolbar__side-left\">\r\n <div class=\"c-toolbar__title\">{{title}}</div>\r\n </div>\r\n <div class=\"c-toolbar__side-center\">\r\n\r\n </div>\r\n <div class=\"c-toolbar__side-right\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </in-sticky>\r\n</div>\r\n", styles: [".toolbar-wrapper{padding-bottom:4px}.toolbar-container{padding:8px;position:relative}:host{position:sticky;z-index:2}.c-toolbar{display:inline-flex;width:100%;flex-wrap:wrap}.c-toolbar__side-left{flex:100%;text-align:left}@media screen and (min-width: 1200px){.c-toolbar__side-left{flex:1}}.c-toolbar__title{display:inline-flex;vertical-align:middle;font-size:22px}.c-toolbar__side-right{display:flex;text-align:right}.add-widget{position:fixed;right:16px;bottom:16px}.widget-container{position:absolute;inset:40px 0 0;overflow:auto}.widget-block{position:absolute;inset:5px}.sidebar{background:var(--main-background);position:absolute;left:0;top:35px;bottom:0;height:100vh;z-index:100;width:300px;box-shadow:0 0 3px 8px #0000001a;overflow:auto}.right-side{display:flex;align-items:center;justify-content:flex-end;flex:1}.right-side>*{margin-left:5px}.left-side{white-space:nowrap;display:flex;align-items:center;justify-content:flex-start}.left-side>*{margin-right:5px}.controls-panel{height:41px;border-radius:2px;padding:4px 0;margin:0 5px 5px;display:flex}.dashboard-list{position:relative}.title{font-size:22px}\n"] }]
2031
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$3.Router }]; }, propDecorators: { title: [{
2032
- type: Input
2033
- }] } });
2034
-
2035
- class BreadcrumbComponent {
2036
- constructor() {
2037
- }
2038
- ngOnInit() {
2039
- }
2040
- }
2041
- BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2042
- BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: BreadcrumbComponent, selector: "in-breadcrumb", inputs: { items: "items" }, ngImport: i0, template: "<div>\r\n <ul class=\"c-crumb\">\r\n <li class=\"c-crumb__item\">\r\n <a [routerLink]=\"['/main/page/home']\" translate=\"\">{{'Home' | translate }}</a>\r\n </li>\r\n <li *ngFor=\"let item of items; last as isLast\" class=\"c-crumb__item\">\r\n <a *ngIf=\"item.url && !isLast; else noUrl\" [routerLink]=\"item.url\" translate=\"\">{{item.label}}</a>\r\n <ng-template #noUrl>\r\n <span translate=\"\">{{item.label}}</span>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n</div>\r\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 });
2043
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BreadcrumbComponent, decorators: [{
2044
- type: Component,
2045
- args: [{ selector: 'in-breadcrumb', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\r\n <ul class=\"c-crumb\">\r\n <li class=\"c-crumb__item\">\r\n <a [routerLink]=\"['/main/page/home']\" translate=\"\">{{'Home' | translate }}</a>\r\n </li>\r\n <li *ngFor=\"let item of items; last as isLast\" class=\"c-crumb__item\">\r\n <a *ngIf=\"item.url && !isLast; else noUrl\" [routerLink]=\"item.url\" translate=\"\">{{item.label}}</a>\r\n <ng-template #noUrl>\r\n <span translate=\"\">{{item.label}}</span>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n</div>\r\n" }]
2046
- }], ctorParameters: function () { return []; }, propDecorators: { items: [{
2047
- type: Input
2048
- }] } });
2049
-
2050
- class FileComponent {
2051
- constructor() {
2052
- this.name = null;
2053
- this.label = null;
2054
- this.accept = null;
2055
- this.required = false;
2056
- this.error = null;
2057
- this.onChange = new EventEmitter();
2058
- this.file = null;
2059
- }
2060
- onClear() {
2061
- this.file = null;
2062
- this.onChange.emit(this.file);
2063
- this.el.nativeElement.value = '';
2064
- }
2065
- onClickChoose() {
2066
- this.el.nativeElement.click();
2067
- }
2068
- onChangeFile(e) {
2069
- e.preventDefault();
2070
- if (e.srcElement.files[0]) {
2071
- this.file = e.srcElement.files[0];
2072
- this.onChange.emit(this.file);
2073
- }
2074
- }
2075
- }
2076
- FileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2077
- 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\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n </span>\r\n<in-button (click)=\"onClickChoose()\" *ngIf=\"file\" [label]=\"file.name\"></in-button>\r\n<in-button (click)=\"onClear()\" *ngIf=\"file\" label=\"X\"></in-button>\r\n<in-button (click)=\"onClickChoose()\" *ngIf=\"!file\" [label]=\"'Select file' | translate\"></in-button>\r\n\r\n<div class=\"hide\"><input #fileInput (change)=\"onChangeFile($event)\" [accept]=\"accept\" type=\"file\"/></div>\r\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" }] });
2078
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileComponent, decorators: [{
2079
- type: Component,
2080
- args: [{ selector: 'in-file', template: "<span *ngIf=\"label\" class=\"c-label__content\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\r\n </span>\r\n<in-button (click)=\"onClickChoose()\" *ngIf=\"file\" [label]=\"file.name\"></in-button>\r\n<in-button (click)=\"onClear()\" *ngIf=\"file\" label=\"X\"></in-button>\r\n<in-button (click)=\"onClickChoose()\" *ngIf=\"!file\" [label]=\"'Select file' | translate\"></in-button>\r\n\r\n<div class=\"hide\"><input #fileInput (change)=\"onChangeFile($event)\" [accept]=\"accept\" type=\"file\"/></div>\r\n", styles: [".hide{display:none}\n"] }]
2081
- }], propDecorators: { name: [{
2082
- type: Input
2083
- }], label: [{
2084
- type: Input
2085
- }], accept: [{
2086
- type: Input
2087
- }], required: [{
2088
- type: Input
2089
- }], error: [{
2090
- type: Input
2091
- }], onChange: [{
2092
- type: Output
2093
- }], el: [{
2094
- type: ViewChild,
2095
- args: ['fileInput', { static: false }]
2096
- }] } });
2097
-
2098
- class SelectButtonComponent {
2099
- constructor(cdRef) {
2100
- this.cdRef = cdRef;
2101
- this.name = '';
2102
- this.testId = '';
2103
- this.label = '';
2104
- this.icon = '';
2105
- this.error = '';
2106
- this.iconPos = 'left';
2107
- this.options = [];
2108
- this.disabled = false;
2109
- this.required = false;
2110
- this.multiple = false;
2111
- this.focus = new EventEmitter();
2112
- this.blur = new EventEmitter();
2113
- this.click = new EventEmitter();
2114
- this.change = new EventEmitter();
2115
- // хранит выбранные ЗНАЧЕНИЯ, а не объекты
2116
- this.selected = [];
2117
- // то, что отдаем наружу в форму
2118
- this.value = null;
2119
- this.propagateChange = () => { };
2120
- this.propagateTouched = () => { };
2121
- }
2122
- ngOnInit() { }
2123
- ngOnChanges(changes) {
2124
- // применяем initial только когда он реально поменялся
2125
- if (changes['initial'] && this.initial) {
2126
- this.selected = [...this.initial];
2127
- this.value = this.multiple ? [...this.initial] : this.initial[0] ?? null;
2128
- this.cdRef.detectChanges();
2129
- }
2130
- // если меняется список опций, надо попытаться восстановить выделение
2131
- if (changes['options'] && this.options && this.options.length > 0) {
2132
- this.syncSelectedWithOptions();
2133
- }
2134
- }
2135
- clickButton(option) {
2136
- if (option.readonly || this.disabled) {
2137
- return;
2138
- }
2139
- this.click.emit(option);
2140
- if (this.multiple) {
2141
- if (this.selected.includes(option.value)) {
2142
- // убираем
2143
- this.selected = this.selected.filter(v => v !== option.value);
2144
- }
2145
- else {
2146
- // добавляем
2147
- this.selected = [...this.selected, option.value];
2148
- }
2149
- this.value = [...this.selected];
2150
- }
2151
- else {
2152
- this.selected = [option.value];
2153
- this.value = option.value;
2154
- }
2155
- this.cdRef.detectChanges();
2156
- this.onChange();
2157
- }
2158
- // ControlValueAccessor: model -> view
2159
- writeValue(value) {
2160
- this.value = value;
2161
- if (value === null || value === undefined) {
2162
- this.selected = [];
2163
- }
2164
- else if (Array.isArray(value)) {
2165
- // multiple
2166
- this.selected = [...value];
2167
- }
2168
- else {
2169
- // single
2170
- this.selected = [value];
2171
- }
2172
- // когда значение пришло извне, надо убедиться что такие опции есть
2173
- this.syncSelectedWithOptions();
2174
- this.cdRef.detectChanges();
2175
- }
2176
- // ControlValueAccessor
2177
- registerOnChange(fn) {
2178
- this.propagateChange = fn;
2179
- }
2180
- // ControlValueAccessor
2181
- registerOnTouched(fn) {
2182
- this.propagateTouched = fn;
2183
- }
2184
- // ControlValueAccessor: disabled
2185
- setDisabledState(isDisabled) {
2186
- this.disabled = isDisabled;
2187
- this.cdRef.detectChanges();
2188
- }
2189
- // пробросить наружу
2190
- onChange() {
2191
- this.propagateChange(this.value);
2192
- this.change.emit(this.value);
2193
- }
2194
- onBlur() {
2195
- this.propagateTouched();
2196
- this.blur.emit();
2197
- }
2198
- onFocus() {
2199
- this.focus.emit();
2200
- }
2201
- // синхронизируем текущее выбранное со свежими options
2202
- syncSelectedWithOptions() {
2203
- if (!this.options || this.options.length === 0) {
2204
- return;
2205
- }
2206
- if (this.multiple) {
2207
- // оставляем только те выбранные, которые реально есть в новых options
2208
- const optionValues = this.options.map(o => o.value);
2209
- this.selected = this.selected.filter(v => optionValues.includes(v));
2210
- this.value = [...this.selected];
2211
- }
2212
- else {
2213
- if (this.selected.length > 0) {
2214
- const current = this.selected[0];
2215
- const found = this.options.find(o => o.value === current);
2216
- if (!found) {
2217
- // выбранного больше нет в списке
2218
- this.selected = [];
2219
- this.value = null;
2220
- }
2221
- else {
2222
- this.selected = [found.value];
2223
- this.value = found.value;
2224
- }
2225
- }
2226
- }
2227
- }
2228
- // для *ngFor trackBy
2229
- trackByValue(index, item) {
2230
- return item.value;
2231
- }
2232
- }
2233
- SelectButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectButtonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2234
- 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: [
2235
- {
2236
- provide: NG_VALUE_ACCESSOR,
2237
- useExisting: forwardRef(() => SelectButtonComponent),
2238
- multi: true,
2239
- },
2240
- ], usesOnChanges: true, ngImport: i0, template: "<span *ngIf=\"label\" class=\"c-label__content\">\r\n {{ label }}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{ error }}</span>\r\n</span>\r\n\r\n<div class=\"container\">\r\n <!-- \u0444\u0438\u043A\u0442\u0438\u0432\u043D\u0430\u044F \u043A\u043D\u043E\u043F\u043A\u0430 \u0435\u0441\u043B\u0438 \u043D\u0443\u0436\u043D\u0430 \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0430 -->\r\n <in-button class=\"button-none\"></in-button>\r\n\r\n <in-button\r\n *ngFor=\"let option of options; trackBy: trackByValue\"\r\n (click)=\"clickButton(option)\"\r\n [color]=\"selected.includes(option.value) ? 'primary' : 'normal'\"\r\n [icon]=\"option.icon\"\r\n [label]=\"option.label | translate\"\r\n [testId]=\"'filter-buttons-' + option.value\"\r\n [title]=\"option.title ? (option.title | translate) : ''\"\r\n [name]=\"option.label\"\r\n [disabled]=\"option.readonly || disabled\"\r\n >\r\n </in-button>\r\n</div>\r\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" }] });
2241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectButtonComponent, decorators: [{
2242
- type: Component,
2243
- args: [{ selector: 'in-select-button', providers: [
2244
- {
2245
- provide: NG_VALUE_ACCESSOR,
2246
- useExisting: forwardRef(() => SelectButtonComponent),
2247
- multi: true,
2248
- },
2249
- ], template: "<span *ngIf=\"label\" class=\"c-label__content\">\r\n {{ label }}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{ error }}</span>\r\n</span>\r\n\r\n<div class=\"container\">\r\n <!-- \u0444\u0438\u043A\u0442\u0438\u0432\u043D\u0430\u044F \u043A\u043D\u043E\u043F\u043A\u0430 \u0435\u0441\u043B\u0438 \u043D\u0443\u0436\u043D\u0430 \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0430 -->\r\n <in-button class=\"button-none\"></in-button>\r\n\r\n <in-button\r\n *ngFor=\"let option of options; trackBy: trackByValue\"\r\n (click)=\"clickButton(option)\"\r\n [color]=\"selected.includes(option.value) ? 'primary' : 'normal'\"\r\n [icon]=\"option.icon\"\r\n [label]=\"option.label | translate\"\r\n [testId]=\"'filter-buttons-' + option.value\"\r\n [title]=\"option.title ? (option.title | translate) : ''\"\r\n [name]=\"option.label\"\r\n [disabled]=\"option.readonly || disabled\"\r\n >\r\n </in-button>\r\n</div>\r\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"] }]
2250
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { name: [{
2251
- type: Input
2252
- }], testId: [{
2253
- type: Input
2254
- }], label: [{
2255
- type: Input
2256
- }], icon: [{
2257
- type: Input
2258
- }], error: [{
2259
- type: Input
2260
- }], iconPos: [{
2261
- type: Input
2262
- }], options: [{
2263
- type: Input
2264
- }], disabled: [{
2265
- type: Input
2266
- }], required: [{
2267
- type: Input
2268
- }], multiple: [{
2269
- type: Input
2270
- }], initial: [{
2271
- type: Input
2272
- }], focus: [{
2273
- type: Output
2274
- }], blur: [{
2275
- type: Output
2276
- }], click: [{
2277
- type: Output
2278
- }], change: [{
2279
- type: Output
2280
- }] } });
2281
-
2282
- class StatusCircleComponent {
2283
- constructor() {
2284
- this.label = '';
2285
- this.title = '';
2286
- this.icon = '';
2287
- this.inIcon = '';
2288
- this.showLabel = true;
2289
- this.mode = 'success';
2290
- this.size = 'normal';
2291
- this.content = '';
2292
- }
2293
- }
2294
- StatusCircleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StatusCircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2295
- 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", inIcon: "inIcon", showLabel: "showLabel", mode: "mode", size: "size", content: "content" }, ngImport: i0, template: "<div [ngClass]=\"{'icon': icon ,'has-content': content!==''}\"\r\n class=\"circle-container {{size}}\"\r\n title=\"{{title ? title : label}}\">\r\n <span class=\"circle {{mode}}\">\r\n <in-svg *ngIf=\"icon\" [src]=\"icon\"></in-svg>\r\n <i *ngIf=\"inIcon\" [ngClass]=\"inIcon\" class=\"in\"></i>\r\n <span *ngIf=\"content!==''\" class=\"content\">{{content}}</span>\r\n </span>\r\n <span *ngIf=\"showLabel && label\" class=\"label\">{{label}}</span>\r\n</div>\r\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-grid;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)}.maintenance{background:var(--colorMaintenance)}.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"] }] });
2296
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StatusCircleComponent, decorators: [{
2297
- type: Component,
2298
- args: [{ selector: 'in-status-circle', encapsulation: ViewEncapsulation.Emulated, template: "<div [ngClass]=\"{'icon': icon ,'has-content': content!==''}\"\r\n class=\"circle-container {{size}}\"\r\n title=\"{{title ? title : label}}\">\r\n <span class=\"circle {{mode}}\">\r\n <in-svg *ngIf=\"icon\" [src]=\"icon\"></in-svg>\r\n <i *ngIf=\"inIcon\" [ngClass]=\"inIcon\" class=\"in\"></i>\r\n <span *ngIf=\"content!==''\" class=\"content\">{{content}}</span>\r\n </span>\r\n <span *ngIf=\"showLabel && label\" class=\"label\">{{label}}</span>\r\n</div>\r\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-grid;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)}.maintenance{background:var(--colorMaintenance)}.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"] }]
2299
- }], propDecorators: { label: [{
2300
- type: Input
2301
- }], title: [{
2302
- type: Input
2303
- }], icon: [{
2304
- type: Input
2305
- }], inIcon: [{
2306
- type: Input
2307
- }], showLabel: [{
2308
- type: Input
2309
- }], mode: [{
2310
- type: Input
2311
- }], size: [{
2312
- type: Input
2313
- }], content: [{
2314
- type: Input
2315
- }] } });
2316
-
2317
- class SwitcherComponent {
2318
- constructor(element, cdRef, router) {
2319
- this.element = element;
2320
- this.cdRef = cdRef;
2321
- this.router = router;
2322
- this.name = null;
2323
- this.label = null;
2324
- this.error = null;
2325
- this.iconOff = '';
2326
- this.iconOn = '';
2327
- this.labelOff = 'Off';
2328
- this.labelOn = 'On';
2329
- this.faIconOn = '';
2330
- this.faIconOff = '';
2331
- this.id = null;
2332
- this.change = new EventEmitter();
2333
- this._isBoolean = false;
2334
- this.propagateChange = (_) => {
2335
- };
2336
- }
2337
- ngOnInit() {
2338
- this._isBoolean = typeof this.value === 'boolean';
2339
- this.value = typeof this.value === 'string' ? JSON.parse(this.value) : !!this.value;
2340
- }
2341
- ngOnChanges(changes) {
2342
- }
2343
- /**
2344
- * Write form value to the DOM element (model => view)
2345
- */
2346
- writeValue(value) {
2347
- this._isBoolean = typeof value === 'boolean';
2348
- this.value = value;
2349
- this.cdRef.detectChanges();
2350
- }
2351
- /**
2352
- * Write form disabled state to the DOM element (model => view)
2353
- */
2354
- setDisabledState(isDisabled) {
2355
- this.disabled = isDisabled;
2356
- }
2357
- /**
2358
- * Update form when DOM element value changes (view => model)
2359
- */
2360
- registerOnChange(fn) {
2361
- // Store the provided function as an internal method.
2362
- this.propagateChange = fn;
2363
- }
2364
- /**
2365
- * Update form when DOM element is blurred (view => model)
2366
- */
2367
- registerOnTouched(fn) {
2368
- // Store the provided function as an internal method.
2369
- this.onTouched = fn;
2370
- }
2371
- onChange(e) {
2372
- e.stopPropagation();
2373
- e.preventDefault();
2374
- if (this._isBoolean) {
2375
- this.propagateChange(this.value);
2376
- this.change.emit(this.value);
2377
- }
2378
- else {
2379
- this.propagateChange(this.value ? 1 : 0);
2380
- this.change.emit(this.value ? 1 : 0);
2381
- }
2382
- }
2383
- onTouched() {
2384
- }
2385
- }
2386
- 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 });
2387
- 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: [
2388
- {
2389
- provide: NG_VALUE_ACCESSOR,
2390
- useExisting: forwardRef(() => SwitcherComponent),
2391
- multi: true,
2392
- }
2393
- ], usesOnChanges: true, ngImport: i0, template: "<label class=\"c-checkbox c-checkbox_switch container\">\r\n <span *ngIf=\"label\" class=\"label\">{{label}}</span>\r\n <span class=\"switcher-container\">\r\n <span class=\"c-checkbox__label u-vertical-align-middle u-text_center\">\r\n <span *ngIf=\"!iconOff\">{{labelOff | translate}}</span>\r\n <span *ngIf=\"faIconOff\"><i class=\"fa\" [ngClass]=\"faIconOff\"></i></span>\r\n <in-svg *ngIf=\"iconOff\" [src]=\"iconOff\" height=\"48px\" size=\"large\" width=\"48px\"></in-svg>\r\n </span>\r\n <input *ngIf=\"!waiting\" (change)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [checked]=\"value\" [disabled]=\"disabled\"\r\n class=\"c-checkbox__input\"\r\n name=\"element_name\"\r\n type=\"checkbox\"/>\r\n <i *ngIf=\"!waiting\" class=\"c-checkbox__icon u-margin-left-tiny u-vertical-align-baseline\"></i>\r\n <span *ngIf=\"waiting\" style = \"display: inline-block; width:50px; text-align: center\"><i class=\"in in-spinner fa-spin \"></i></span>\r\n <span class=\"c-spinner c-checkbox__label u-vertical-align-middle u-text_center\">\r\n <span *ngIf=\"!iconOn\">{{labelOn | translate}}</span>\r\n <span *ngIf=\"faIconOn\"><i class=\"fa\" [ngClass]=\"faIconOn\"></i></span>\r\n <in-svg *ngIf=\"iconOn\" [src]=\"iconOn\" height=\"48px\" size=\"large\" width=\"48px\"></in-svg>\r\n </span>\r\n </span>\r\n</label>\r\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" }] });
2394
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SwitcherComponent, decorators: [{
2395
- type: Component,
2396
- args: [{ selector: 'in-switcher', providers: [
2397
- {
2398
- provide: NG_VALUE_ACCESSOR,
2399
- useExisting: forwardRef(() => SwitcherComponent),
2400
- multi: true,
2401
- }
2402
- ], template: "<label class=\"c-checkbox c-checkbox_switch container\">\r\n <span *ngIf=\"label\" class=\"label\">{{label}}</span>\r\n <span class=\"switcher-container\">\r\n <span class=\"c-checkbox__label u-vertical-align-middle u-text_center\">\r\n <span *ngIf=\"!iconOff\">{{labelOff | translate}}</span>\r\n <span *ngIf=\"faIconOff\"><i class=\"fa\" [ngClass]=\"faIconOff\"></i></span>\r\n <in-svg *ngIf=\"iconOff\" [src]=\"iconOff\" height=\"48px\" size=\"large\" width=\"48px\"></in-svg>\r\n </span>\r\n <input *ngIf=\"!waiting\" (change)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [checked]=\"value\" [disabled]=\"disabled\"\r\n class=\"c-checkbox__input\"\r\n name=\"element_name\"\r\n type=\"checkbox\"/>\r\n <i *ngIf=\"!waiting\" class=\"c-checkbox__icon u-margin-left-tiny u-vertical-align-baseline\"></i>\r\n <span *ngIf=\"waiting\" style = \"display: inline-block; width:50px; text-align: center\"><i class=\"in in-spinner fa-spin \"></i></span>\r\n <span class=\"c-spinner c-checkbox__label u-vertical-align-middle u-text_center\">\r\n <span *ngIf=\"!iconOn\">{{labelOn | translate}}</span>\r\n <span *ngIf=\"faIconOn\"><i class=\"fa\" [ngClass]=\"faIconOn\"></i></span>\r\n <in-svg *ngIf=\"iconOn\" [src]=\"iconOn\" height=\"48px\" size=\"large\" width=\"48px\"></in-svg>\r\n </span>\r\n </span>\r\n</label>\r\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"] }]
2403
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$3.Router }]; }, propDecorators: { name: [{
2404
- type: Input
2405
- }], label: [{
2406
- type: Input
2407
- }], error: [{
2408
- type: Input
2409
- }], iconOff: [{
2410
- type: Input
2411
- }], iconOn: [{
2412
- type: Input
2413
- }], labelOff: [{
2414
- type: Input
2415
- }], labelOn: [{
2416
- type: Input
2417
- }], faIconOn: [{
2418
- type: Input
2419
- }], faIconOff: [{
2420
- type: Input
2421
- }], id: [{
2422
- type: Input
2423
- }], disabled: [{
2424
- type: Input
2425
- }], waiting: [{
2426
- type: Input
2427
- }], change: [{
2428
- type: Output
2429
- }] } });
2430
-
2431
- class InlineMessageComponent {
2432
- constructor() {
2433
- this.message = '';
2434
- this.align = 'center';
2435
- }
2436
- }
2437
- InlineMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InlineMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2438
- 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\">\r\n {{message}}\r\n <ng-content></ng-content>\r\n</div>\r\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"] }] });
2439
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InlineMessageComponent, decorators: [{
2440
- type: Component,
2441
- args: [{ selector: 'in-inline-message', template: "<div [ngClass]=\"align\" class=\"message\">\r\n {{message}}\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".message{padding:12px 0;text-align:center;color:#aaa}.message.left{text-align:left}.message.right{text-align:right}\n"] }]
2442
- }], propDecorators: { message: [{
2443
- type: Input
2444
- }], align: [{
2445
- type: Input
2446
- }] } });
2447
-
2448
- class LinkComponent {
2449
- constructor() {
2450
- this.color = 'normal';
2451
- this.name = '';
2452
- this.testId = '';
2453
- this.label = '';
2454
- this.icon = '';
2455
- this.className = '';
2456
- this.svg = '';
2457
- this.link = '';
2458
- /**
2459
- * external - ссылка на внешний источник
2460
- * internal - ссылка внутри приложения
2461
- * auto - определяется автоматически исходя из link
2462
- */
2463
- this.linkType = 'auto';
2464
- /**
2465
- * self - открывается в этом же окне
2466
- * blank - открывается в новом окне
2467
- * auto - определяется автоматически исходя из linkType
2468
- */
2469
- this.linkTarget = 'auto';
2470
- // Отображает кнопку нажатой
2471
- this.pressed = false;
2472
- this.disabled = false;
2473
- this.iconPos = 'left';
2474
- this.menuItems = [];
2475
- this.focus = new EventEmitter();
2476
- this.blur = new EventEmitter();
2477
- this.click = new EventEmitter();
2478
- this.style = {};
2479
- this._target = '_self';
2480
- this._linkType = 'auto';
2481
- this.isMaterialIcon = false;
2482
- }
2483
- ngOnInit() {
2484
- this.updateData();
2485
- }
2486
- ngOnChanges(changes) {
2487
- this.updateData();
2488
- }
2489
- updateData() {
2490
- this._linkType = this.linkType;
2491
- if (this._linkType === 'auto') {
2492
- if ((this.link.indexOf('://') !== -1 || this.link.indexOf('//') === 0)) {
2493
- this._linkType = 'external';
2494
- }
2495
- else {
2496
- this._linkType = 'internal';
2497
- }
2498
- }
2499
- if (this.linkTarget === 'auto') {
2500
- if (this._linkType === 'external') {
2501
- this._target = '_blank';
2502
- }
2503
- else {
2504
- this._target = '_self';
2505
- }
2506
- }
2507
- else {
2508
- this._target = this.linkTarget === 'self' ? '_self' : 'blank';
2509
- }
2510
- if (this.icon && this.icon.indexOf('in-') === -1 && this.icon.indexOf('fa-') === -1) {
2511
- this.isMaterialIcon = true;
2512
- }
2513
- else {
2514
- this.isMaterialIcon = false;
2515
- }
2516
- }
2517
- _onClick($event) {
2518
- // if (!this.link) {
2519
- // $event.stopPropagation();
2520
- // $event.preventDefault();
2521
- // this.click.emit($event);
2522
- // }
2523
- if (this.menuItems.length) {
2524
- this._menu.toggle($event);
2525
- }
2526
- }
2527
- }
2528
- LinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2529
- 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)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"link &&_linkType ==='external'\"\r\n [class]=\"className\"\r\n [href]=\"link\"\r\n [ngClass]=\"{'p-link p-state-default p-corner-all p-link-transparency':true,\r\n 'p-link-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-link-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-link-text-only': (!(icon || svg) && label),\r\n 'p-link-text-empty': (!(icon || svg) && !label),\r\n 'p-link-svg': svg,\r\n 'p-link-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-link-primary': color === 'primary',\r\n 'p-link-secondary': color === 'secondary',\r\n 'p-link-danger': color === 'danger'}\"\r\n [style]=\"style\" [target]=\"_target\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</a>\r\n<a (blur)=\"blur.emit($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"link && _linkType ==='internal'\"\r\n [class]=\"className\"\r\n [ngClass]=\"{'p-link p-state-default p-corner-all p-link-transparency':true,\r\n 'p-link-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-link-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-link-text-only': (!(icon || svg) && label),\r\n 'p-link-text-empty': (!(icon || svg) && !label),\r\n 'p-link-svg': svg,\r\n 'p-link-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-link-primary': color === 'primary',\r\n 'p-link-secondary': color === 'secondary',\r\n 'p-link-danger': color === 'danger'}\"\r\n [routerLink]=\"link\"\r\n [style]=\"style\" [target]=\"_target\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</a>\r\n<span (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"!link\"\r\n [class]=\"className\"\r\n [ngClass]=\"{'p-link p-state-default p-corner-all p-link-transparency':true,\r\n 'p-link-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-link-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-link-text-only': (!(icon || svg) && label),\r\n 'p-link-text-empty': (!(icon || svg) && !label),\r\n 'p-link-svg': svg,\r\n 'p-link-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-link-primary': color === 'primary',\r\n 'p-link-secondary': color === 'secondary',\r\n 'p-link-danger': color === 'danger'}\" [style]=\"style\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</span>\r\n<p-menu *ngIf=\"menuItems.length\" [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\" styleClass=\"button-menu\"></p-menu>\r\n\r\n<ng-template #content>\r\n <span *ngIf=\"!isMaterialIcon && icon\" [class]=\"icon\"\r\n [ngClass]=\"{'p-clickable': true,\r\n 'p-link-icon-left': (iconPos === 'left'),\r\n 'p-link-icon-right': (iconPos === 'right')}\"></span>\r\n <span *ngIf=\"isMaterialIcon && icon\" [ngClass]=\"{'p-clickable': true,\r\n 'p-link-icon-left': (iconPos === 'left'),\r\n 'p-link-icon-right': (iconPos === 'right')}\"\r\n ><i class=\"material-icons\">{{icon}}</i></span>\r\n <span *ngIf=\"svg\" [ngClass]=\"{'p-clickable': true,\r\n 'p-link-icon-left': (iconPos === 'left'),\r\n 'p-link-icon-right': (iconPos === 'right')}\">\r\n <in-svg [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\r\n </span>\r\n <span class=\"p-link-text p-clickable\">{{label}}</span>\r\n\r\n</ng-template>\r\n", styles: [".p-link{text-decoration:none;color:var(--colorLink);cursor:pointer}.p-link.p-link-secondary{color:var(--colorTextSecondary)}.p-link:hover{color:var(--colorLink)}.p-link:hover .p-link-text{text-decoration:underline;color:var(--colorLink)}button{outline:none}.p-link-icon-only .p-link-icon-left{margin-top:-9px}.p-link-text{vertical-align:middle}.p-link{margin-right:0;display:inline-flex;align-items:center;justify-content:center}.p-link-text-icon-left .p-link-text{padding-left:.6em}.p-link-icon-only{font-size:18px;display:inline-flex;align-items:center;justify-content:center}.p-link-icon-only .svg{display:inline-block;line-height:0}.p-link-transparency{background:none}.p-link.p-link-svg .p-clickable{height:20px}.p-link.p-link-svg .p-link-icon-left{left:6px;margin-top:-2px}.p-link.p-link-svg.p-link-icon-only .p-link-icon-left{left:50%;width:auto;transform:translate(-50%,-50%);margin-left:0;margin-top:0}.p-link-material .material-icons{font-size:16px}:host .p-menu .p-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"] }] });
2530
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LinkComponent, decorators: [{
2531
- type: Component,
2532
- args: [{ selector: 'in-link', template: "<a (blur)=\"blur.emit($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"link &&_linkType ==='external'\"\r\n [class]=\"className\"\r\n [href]=\"link\"\r\n [ngClass]=\"{'p-link p-state-default p-corner-all p-link-transparency':true,\r\n 'p-link-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-link-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-link-text-only': (!(icon || svg) && label),\r\n 'p-link-text-empty': (!(icon || svg) && !label),\r\n 'p-link-svg': svg,\r\n 'p-link-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-link-primary': color === 'primary',\r\n 'p-link-secondary': color === 'secondary',\r\n 'p-link-danger': color === 'danger'}\"\r\n [style]=\"style\" [target]=\"_target\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</a>\r\n<a (blur)=\"blur.emit($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"link && _linkType ==='internal'\"\r\n [class]=\"className\"\r\n [ngClass]=\"{'p-link p-state-default p-corner-all p-link-transparency':true,\r\n 'p-link-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-link-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-link-text-only': (!(icon || svg) && label),\r\n 'p-link-text-empty': (!(icon || svg) && !label),\r\n 'p-link-svg': svg,\r\n 'p-link-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-link-primary': color === 'primary',\r\n 'p-link-secondary': color === 'secondary',\r\n 'p-link-danger': color === 'danger'}\"\r\n [routerLink]=\"link\"\r\n [style]=\"style\" [target]=\"_target\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</a>\r\n<span (blur)=\"blur.emit($event)\"\r\n (click)=\"_onClick($event)\"\r\n (focus)=\"focus.emit($event)\"\r\n *ngIf=\"!link\"\r\n [class]=\"className\"\r\n [ngClass]=\"{'p-link p-state-default p-corner-all p-link-transparency':true,\r\n 'p-link-text-icon-left': ((icon || svg) && label && iconPos === 'left'),\r\n 'p-link-text-icon-right': ((icon || svg) && label && iconPos === 'right'),\r\n 'p-link-text-only': (!(icon || svg) && label),\r\n 'p-link-text-empty': (!(icon || svg) && !label),\r\n 'p-link-svg': svg,\r\n 'p-link-material': isMaterialIcon,\r\n 'p-state-disabled': disabled,\r\n 'p-link-primary': color === 'primary',\r\n 'p-link-secondary': color === 'secondary',\r\n 'p-link-danger': color === 'danger'}\" [style]=\"style\">\r\n <ng-container *ngTemplateOutlet=\"content;\"></ng-container>\r\n</span>\r\n<p-menu *ngIf=\"menuItems.length\" [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\" styleClass=\"button-menu\"></p-menu>\r\n\r\n<ng-template #content>\r\n <span *ngIf=\"!isMaterialIcon && icon\" [class]=\"icon\"\r\n [ngClass]=\"{'p-clickable': true,\r\n 'p-link-icon-left': (iconPos === 'left'),\r\n 'p-link-icon-right': (iconPos === 'right')}\"></span>\r\n <span *ngIf=\"isMaterialIcon && icon\" [ngClass]=\"{'p-clickable': true,\r\n 'p-link-icon-left': (iconPos === 'left'),\r\n 'p-link-icon-right': (iconPos === 'right')}\"\r\n ><i class=\"material-icons\">{{icon}}</i></span>\r\n <span *ngIf=\"svg\" [ngClass]=\"{'p-clickable': true,\r\n 'p-link-icon-left': (iconPos === 'left'),\r\n 'p-link-icon-right': (iconPos === 'right')}\">\r\n <in-svg [src]=\"svg\" height=\"20px\" width=\"20px\"></in-svg>\r\n </span>\r\n <span class=\"p-link-text p-clickable\">{{label}}</span>\r\n\r\n</ng-template>\r\n", styles: [".p-link{text-decoration:none;color:var(--colorLink);cursor:pointer}.p-link.p-link-secondary{color:var(--colorTextSecondary)}.p-link:hover{color:var(--colorLink)}.p-link:hover .p-link-text{text-decoration:underline;color:var(--colorLink)}button{outline:none}.p-link-icon-only .p-link-icon-left{margin-top:-9px}.p-link-text{vertical-align:middle}.p-link{margin-right:0;display:inline-flex;align-items:center;justify-content:center}.p-link-text-icon-left .p-link-text{padding-left:.6em}.p-link-icon-only{font-size:18px;display:inline-flex;align-items:center;justify-content:center}.p-link-icon-only .svg{display:inline-block;line-height:0}.p-link-transparency{background:none}.p-link.p-link-svg .p-clickable{height:20px}.p-link.p-link-svg .p-link-icon-left{left:6px;margin-top:-2px}.p-link.p-link-svg.p-link-icon-only .p-link-icon-left{left:50%;width:auto;transform:translate(-50%,-50%);margin-left:0;margin-top:0}.p-link-material .material-icons{font-size:16px}:host .p-menu .p-menuitem-link{font-size:16px}\n"] }]
2533
- }], propDecorators: { color: [{
2534
- type: Input
2535
- }], name: [{
2536
- type: Input
2537
- }], testId: [{
2538
- type: Input
2539
- }], label: [{
2540
- type: Input
2541
- }], icon: [{
2542
- type: Input
2543
- }], className: [{
2544
- type: Input
2545
- }], svg: [{
2546
- type: Input
2547
- }], link: [{
2548
- type: Input
2549
- }], linkType: [{
2550
- type: Input
2551
- }], linkTarget: [{
2552
- type: Input
2553
- }], pressed: [{
2554
- type: Input
2555
- }], disabled: [{
2556
- type: Input
2557
- }], iconPos: [{
2558
- type: Input
2559
- }], menuItems: [{
2560
- type: Input
2561
- }], _menu: [{
2562
- type: ViewChild,
2563
- args: [Menu, { static: false }]
2564
- }], focus: [{
2565
- type: Output
2566
- }], blur: [{
2567
- type: Output
2568
- }], click: [{
2569
- type: Output
2570
- }] } });
2571
-
2572
- class TooltipComponent {
2573
- constructor() { }
2574
- ngOnInit() {
2575
- }
2576
- }
2577
- TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2578
- TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TooltipComponent, selector: "in-tooltip", ngImport: i0, template: "<div class=\"c-tooltip c-tooltip_left\">\r\n <ng-content></ng-content>\r\n <div class=\"c-tooltip__content\" style=\"width: 12em;\" >\r\n <ng-content select=\"tooltip_content\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n", styles: [".c-tooltip{display:inline-block;position:relative;text-align:left;overflow:visible}.c-tooltip:hover .c-tooltip__content{visibility:visible;opacity:1}.c-tooltip_left>.c-tooltip__content{inset:50% 100% auto auto;margin-right:12px;border-top-right-radius:0}.c-tooltip_left>.c-tooltip__content:before{border-top-color:var(--colorBgLevel2, #282A31);border-left-color:var(--colorBgLevel2, #282A31)}.c-tooltip__content{position:absolute;width:auto;margin:0 0 12px;padding:9px 12px;font-size:13px;font-weight:400;letter-spacing:normal;border-radius:3px;line-height:1.64286;visibility:hidden;opacity:0;transition:opacity .3s linear;z-index:1070;background:var(--colorBgLevel2, #282A31);color:var(--ids-theme-text-color, #fff);white-space:normal;text-transform:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2579
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TooltipComponent, decorators: [{
2580
- type: Component,
2581
- args: [{ selector: 'in-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"c-tooltip c-tooltip_left\">\r\n <ng-content></ng-content>\r\n <div class=\"c-tooltip__content\" style=\"width: 12em;\" >\r\n <ng-content select=\"tooltip_content\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n", styles: [".c-tooltip{display:inline-block;position:relative;text-align:left;overflow:visible}.c-tooltip:hover .c-tooltip__content{visibility:visible;opacity:1}.c-tooltip_left>.c-tooltip__content{inset:50% 100% auto auto;margin-right:12px;border-top-right-radius:0}.c-tooltip_left>.c-tooltip__content:before{border-top-color:var(--colorBgLevel2, #282A31);border-left-color:var(--colorBgLevel2, #282A31)}.c-tooltip__content{position:absolute;width:auto;margin:0 0 12px;padding:9px 12px;font-size:13px;font-weight:400;letter-spacing:normal;border-radius:3px;line-height:1.64286;visibility:hidden;opacity:0;transition:opacity .3s linear;z-index:1070;background:var(--colorBgLevel2, #282A31);color:var(--ids-theme-text-color, #fff);white-space:normal;text-transform:none}\n"] }]
2582
- }], ctorParameters: function () { return []; } });
2583
-
2584
- class TreeTableComponent {
2585
- constructor() {
2586
- this.columns = [];
2587
- this.values = [];
2588
- this.checkboxSelection = true;
2589
- this.activeChange = new EventEmitter();
2590
- this.selectionChange = new EventEmitter();
2591
- this.addAction = new EventEmitter();
2592
- this.csvAction = new EventEmitter();
2593
- this.saveAction = new EventEmitter();
2594
- this.collapseAction = new EventEmitter();
2595
- this.removeAction = new EventEmitter();
2596
- this.unlinkAction = new EventEmitter();
2597
- this.groupEditAction = new EventEmitter();
2598
- this.groupAddAction = new EventEmitter();
2599
- this.rowIndex = 0;
2600
- this.isCollapse = true;
2601
- this._selection = null;
2602
- }
2603
- set selection(val) {
2604
- this._selection = val;
2605
- }
2606
- get selectionValue() {
2607
- return this._selection;
2608
- }
2609
- set selectionValue(val) {
2610
- this._selection = val;
2611
- this.selectionChange.emit(val);
2612
- }
2613
- isRowActive(row) {
2614
- return this.active && this.active.id === row.id;
2615
- }
2616
- visibleColumns() {
2617
- return this.columns.filter(column => !column.isHidden);
2618
- }
2619
- columnsChange(data) {
2620
- data.column.isHidden = !data.event;
2621
- }
2622
- ngAfterContentInit() {
2623
- this.templates.forEach((item) => {
2624
- switch (item.getType()) {
2625
- case 'caption':
2626
- this.captionTemplate = item.template;
2627
- break;
2628
- case 'header':
2629
- this.headerTemplate = item.template;
2630
- break;
2631
- case 'body':
2632
- this.bodyTemplate = item.template;
2633
- break;
2634
- case 'value':
2635
- this.valueTemplate = item.template;
2636
- break;
2637
- case 'loadingbody':
2638
- this.loadingBodyTemplate = item.template;
2639
- break;
2640
- case 'footer':
2641
- this.footerTemplate = item.template;
2642
- break;
2643
- case 'summary':
2644
- this.summaryTemplate = item.template;
2645
- break;
2646
- case 'colgroup':
2647
- this.colGroupTemplate = item.template;
2648
- break;
2649
- case 'rowexpansion':
2650
- this.expandedRowTemplate = item.template;
2651
- break;
2652
- case 'frozenrows':
2653
- this.frozenRowsTemplate = item.template;
2654
- break;
2655
- case 'frozenheader':
2656
- this.frozenHeaderTemplate = item.template;
2657
- break;
2658
- case 'frozenbody':
2659
- this.frozenBodyTemplate = item.template;
2660
- break;
2661
- case 'frozenfooter':
2662
- this.frozenFooterTemplate = item.template;
2663
- break;
2664
- case 'frozencolgroup':
2665
- this.frozenColGroupTemplate = item.template;
2666
- break;
2667
- case 'emptymessage':
2668
- this.emptyMessageTemplate = item.template;
2669
- break;
2670
- case 'paginatorleft':
2671
- this.paginatorLeftTemplate = item.template;
2672
- break;
2673
- case 'paginatorright':
2674
- this.paginatorRightTemplate = item.template;
2675
- break;
2676
- }
2677
- });
2678
- }
2679
- collapse(event, dt) {
2680
- this.values.forEach((node) => {
2681
- this.toggleCollapse(node, this.isCollapse);
2682
- });
2683
- this.isCollapse = !this.isCollapse;
2684
- dt.filterGlobal(this.searchText, 'contains');
2685
- }
2686
- toggleCollapse(node, isCollapsed) {
2687
- if (node.children) {
2688
- node.expanded = isCollapsed;
2689
- for (const cn of node.children) {
2690
- if (cn) {
2691
- this.toggleCollapse(cn, isCollapsed);
2692
- }
2693
- }
2694
- }
2695
- }
2696
- }
2697
- TreeTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2698
- TreeTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TreeTableComponent, selector: "in-tree-table", inputs: { columns: "columns", values: "values", scrollHeight: "scrollHeight", scrollable: "scrollable", selectionMode: "selectionMode", label: "label", error: "error", class: "class", required: "required", style: "style", toolbar: "toolbar", checkboxSelection: "checkboxSelection", active: "active", sortField: "sortField", isAscending: "isAscending", dataKey: "dataKey", selection: "selection" }, outputs: { activeChange: "activeChange", selectionChange: "selectionChange", addAction: "addAction", csvAction: "csvAction", saveAction: "saveAction", collapseAction: "collapseAction", removeAction: "removeAction", unlinkAction: "unlinkAction", groupEditAction: "groupEditAction", groupAddAction: "groupAddAction" }, queries: [{ propertyName: "templates", predicate: InsparkTemplate }], ngImport: i0, template: "<p-treeTable #dt\r\n [(selection)]=\"selectionValue\"\r\n [class]=\"class\"\r\n [columns]=\"visibleColumns()\"\r\n [resizableColumns]=\"true\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [scrollable]=\"scrollable\"\r\n [selectionMode]=\"selectionMode\"\r\n [sortField]=\"sortField || 'id'\"\r\n [sortOrder]=\"isAscending ? 1 : -1\"\r\n [style]=\"style\"\r\n [value]=\"values\"\r\n columnResizeMode=\"expand\"\r\n>\r\n <ng-template let-columns pTemplate=\"colgroup\">\r\n <colgroup>\r\n <col *ngIf=\"checkboxSelection\" style=\"width:44px;\">\r\n <col *ngFor=\"let col of visibleColumns()\" [style.width]=\"col.width ? col.width : '10px'\">\r\n </colgroup>\r\n </ng-template>\r\n <ng-template let-columns pTemplate=\"header\">\r\n <tr>\r\n <th *ngIf=\"checkboxSelection\">\r\n <p-treeTableHeaderCheckbox></p-treeTableHeaderCheckbox>\r\n </th>\r\n <th *ngFor=\"let col of columns; let i = index\" [ttSortableColumn]=\"col.field\" class=\"u-position-relative\"\r\n ttResizableColumn>\r\n <div class=\"p-treetable-thead-title\" title=\"{{col.label | translate}}\">\r\n {{col.label | translate}}\r\n </div>\r\n <p-treeTableSortIcon [field]=\"col.field\" class=\"p-sortable-column-buttons\"></p-treeTableSortIcon>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template let-columns=\"columns\" let-rowData=\"rowData\" let-rowNode pTemplate=\"body\">\r\n <tr [ngClass]=\"{row_active: isRowActive(rowData)}\" [ttSelectableRow]=\"rowNode\" class=\"row\">\r\n <td *ngIf=\"checkboxSelection\">\r\n <p-treeTableCheckbox [value]=\"rowNode\"></p-treeTableCheckbox>\r\n </td>\r\n <td (click)=\"activeChange.emit(rowData)\" *ngFor=\"let col of columns; let i = index\"\r\n class=\"_u-overflow-visible\">\r\n <div class=\"\" style=\"display: flex; flex-wrap: nowrap;\">\r\n <ng-template [ngIf]=\"i == 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" style=\"align-self: center;\"></p-treeTableToggler>\r\n </ng-template>\r\n <div [ngClass]=\"{ 'p-treetable-tbody-content_has-toggler ': i == 0 }\"\r\n class=\"p-treetable-tbody-content cell-content_hover\"\r\n style=\"flex-grow: 1;\"\r\n title=\"{{rowData | propertyValue: col.field}}\">\r\n <ng-container *ngIf=\"!valueTemplate\">\r\n <i *ngIf=\"rowData.icon && i == 0\" [ngClass]=\"rowData.icon\" class=\"u-margin-right-tiny\"></i>\r\n {{rowData | propertyValue: col.field}}\r\n </ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTemplate; context: {$implicit: { data: rowData, col: col}}\"></ng-container>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"toolbar\" pTemplate=\"caption\">\r\n\r\n <div class=\"o-grid o-grid_no-gutter\">\r\n <div class=\"c-tree-table__toolbar-content u-display-inline-flex\">\r\n <div class=\"c-form c-form_inline u-display-inline-block\">\r\n <form class=\"c-label\">\r\n <div class=\"input-wrapper u-margin-right-tiny\">\r\n <input #searchTextInput\r\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\r\n [(ngModel)]=\"searchText\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n autofocus=\"\"\r\n class=\"search-box c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n placeholder=\"{{('SHARED.SEARCH' | translate) + ':'}}\"\r\n required\r\n style=\"padding-right: 28px\"\r\n tabindex=\"1\"\r\n type=\"search\"\r\n >\r\n <button (click)=\"dt.filterGlobal($event.target.value, 'contains')\" class=\"button-reset\" type=\"reset\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"in in-close\"></i>\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"c-btn c-btn_border-free c-btn_small\">\r\n <in-table-columns-multiselect (columnsChange)=\"columnsChange($event)\"\r\n [columns]=\"columns\"></in-table-columns-multiselect>\r\n </div>\r\n\r\n <button (click)=\"addAction.emit($event)\" *ngIf=\"toolbar.add\" [disabled]=\"toolbar.add.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-plus\" [title]=\"toolbar.add.title || '\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C'\"></i>\r\n </button>\r\n\r\n <button (click)=\"groupAddAction.emit($event)\" *ngIf=\"toolbar.groupAdd\" [disabled]=\"toolbar.groupAdd.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-folder-closed\" [title]=\"toolbar.groupAdd.title || '\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443'\"></i>\r\n </button>\r\n\r\n\r\n <button (click)=\"saveAction.emit($event)\" *ngIf=\"toolbar.save\"\r\n [disabled]=\"toolbar.save.disabled\"\r\n class=\"c-btn c-btn_primary c-btn_small\"\r\n title=\"{{'Save' | translate}}\"\r\n >\r\n {{'Save' | translate}}\r\n </button>\r\n <button (click)=\"groupEditAction.emit($event)\" *ngIf=\"toolbar.groupEdit && toolbar.groupEdit.active\"\r\n [disabled]=\"toolbar.groupEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'groupEdit' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"removeAction.emit($event)\" *ngIf=\"toolbar.remove && toolbar.remove.active\"\r\n [disabled]=\"toolbar.remove.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-trash\" [title]=\"toolbar.remove?.title || '\u0423\u0434\u0430\u043B\u0438\u0442\u044C'\"></i>\r\n </button>\r\n <button (click)=\"unlinkAction.emit($event)\" *ngIf=\"toolbar.unlink\" [disabled]=\"toolbar.unlink.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-link-off\" title=\"{{'Detach tag from selected items' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"csvAction.emit($event)\" *ngIf=\"toolbar.csv\" [disabled]=\"toolbar.csv.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n<!-- Todo: \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430 in-file-csv-->\r\n <i class=\"in in-file-excel-outline\" title=\"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u0430\u043A CSV\"></i>\r\n </button>\r\n <button *ngIf=\"toolbar.collapse\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n (click)=\"collapse($event, dt)\"\r\n title=\"{{(isCollapse ? 'Expand all' : 'Collapse all') | translate}}\">\r\n <svg *ngIf=\"isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path d=\"M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z\"/>\r\n </svg>\r\n <svg *ngIf=\"!isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fill-rule=\"evenodd\" d=\"M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-treeTable>\r\n", styles: ["@charset \"UTF-8\";.p-sortable-column{cursor:pointer;position:relative}.p-sortable-column-buttons{position:absolute;top:0;right:0;width:18px;height:100%;display:inline-flex;align-items:center;z-index:10000}.p-sortable-column-buttons>a{position:absolute;top:50%;right:0;left:0;transform:translateY(-50%)}.u-overflow-visible{overflow:visible!important}.button-reset{display:flex;align-items:center;position:absolute;right:6px;top:5px;padding:6px;font-size:15px;border:none;outline:0;cursor:pointer;color:var(--colorTextMuted);background-color:transparent}.button-reset:hover{color:var(--colorIcon)}.input-wrapper{position:relative;display:flex;align-items:baseline}.c-input:not(:valid)~.button-reset{display:none}\n"], dependencies: [{ kind: "directive", type: i1$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" }] });
2699
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponent, decorators: [{
2700
- type: Component,
2701
- args: [{ selector: 'in-tree-table', entryComponents: [], template: "<p-treeTable #dt\r\n [(selection)]=\"selectionValue\"\r\n [class]=\"class\"\r\n [columns]=\"visibleColumns()\"\r\n [resizableColumns]=\"true\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [scrollable]=\"scrollable\"\r\n [selectionMode]=\"selectionMode\"\r\n [sortField]=\"sortField || 'id'\"\r\n [sortOrder]=\"isAscending ? 1 : -1\"\r\n [style]=\"style\"\r\n [value]=\"values\"\r\n columnResizeMode=\"expand\"\r\n>\r\n <ng-template let-columns pTemplate=\"colgroup\">\r\n <colgroup>\r\n <col *ngIf=\"checkboxSelection\" style=\"width:44px;\">\r\n <col *ngFor=\"let col of visibleColumns()\" [style.width]=\"col.width ? col.width : '10px'\">\r\n </colgroup>\r\n </ng-template>\r\n <ng-template let-columns pTemplate=\"header\">\r\n <tr>\r\n <th *ngIf=\"checkboxSelection\">\r\n <p-treeTableHeaderCheckbox></p-treeTableHeaderCheckbox>\r\n </th>\r\n <th *ngFor=\"let col of columns; let i = index\" [ttSortableColumn]=\"col.field\" class=\"u-position-relative\"\r\n ttResizableColumn>\r\n <div class=\"p-treetable-thead-title\" title=\"{{col.label | translate}}\">\r\n {{col.label | translate}}\r\n </div>\r\n <p-treeTableSortIcon [field]=\"col.field\" class=\"p-sortable-column-buttons\"></p-treeTableSortIcon>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template let-columns=\"columns\" let-rowData=\"rowData\" let-rowNode pTemplate=\"body\">\r\n <tr [ngClass]=\"{row_active: isRowActive(rowData)}\" [ttSelectableRow]=\"rowNode\" class=\"row\">\r\n <td *ngIf=\"checkboxSelection\">\r\n <p-treeTableCheckbox [value]=\"rowNode\"></p-treeTableCheckbox>\r\n </td>\r\n <td (click)=\"activeChange.emit(rowData)\" *ngFor=\"let col of columns; let i = index\"\r\n class=\"_u-overflow-visible\">\r\n <div class=\"\" style=\"display: flex; flex-wrap: nowrap;\">\r\n <ng-template [ngIf]=\"i == 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" style=\"align-self: center;\"></p-treeTableToggler>\r\n </ng-template>\r\n <div [ngClass]=\"{ 'p-treetable-tbody-content_has-toggler ': i == 0 }\"\r\n class=\"p-treetable-tbody-content cell-content_hover\"\r\n style=\"flex-grow: 1;\"\r\n title=\"{{rowData | propertyValue: col.field}}\">\r\n <ng-container *ngIf=\"!valueTemplate\">\r\n <i *ngIf=\"rowData.icon && i == 0\" [ngClass]=\"rowData.icon\" class=\"u-margin-right-tiny\"></i>\r\n {{rowData | propertyValue: col.field}}\r\n </ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTemplate; context: {$implicit: { data: rowData, col: col}}\"></ng-container>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"toolbar\" pTemplate=\"caption\">\r\n\r\n <div class=\"o-grid o-grid_no-gutter\">\r\n <div class=\"c-tree-table__toolbar-content u-display-inline-flex\">\r\n <div class=\"c-form c-form_inline u-display-inline-block\">\r\n <form class=\"c-label\">\r\n <div class=\"input-wrapper u-margin-right-tiny\">\r\n <input #searchTextInput\r\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\r\n [(ngModel)]=\"searchText\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n autofocus=\"\"\r\n class=\"search-box c-input c-input_small ng-pristine ng-valid ng-scope ng-empty ng-touched\"\r\n pInputText\r\n placeholder=\"{{('SHARED.SEARCH' | translate) + ':'}}\"\r\n required\r\n style=\"padding-right: 28px\"\r\n tabindex=\"1\"\r\n type=\"search\"\r\n >\r\n <button (click)=\"dt.filterGlobal($event.target.value, 'contains')\" class=\"button-reset\" type=\"reset\"\r\n [attr.title]=\"'Reset' | translate\">\r\n <i class=\"in in-close\"></i>\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"c-btn c-btn_border-free c-btn_small\">\r\n <in-table-columns-multiselect (columnsChange)=\"columnsChange($event)\"\r\n [columns]=\"columns\"></in-table-columns-multiselect>\r\n </div>\r\n\r\n <button (click)=\"addAction.emit($event)\" *ngIf=\"toolbar.add\" [disabled]=\"toolbar.add.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-plus\" [title]=\"toolbar.add.title || '\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C'\"></i>\r\n </button>\r\n\r\n <button (click)=\"groupAddAction.emit($event)\" *ngIf=\"toolbar.groupAdd\" [disabled]=\"toolbar.groupAdd.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n <i class=\"in in-folder-closed\" [title]=\"toolbar.groupAdd.title || '\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443'\"></i>\r\n </button>\r\n\r\n\r\n <button (click)=\"saveAction.emit($event)\" *ngIf=\"toolbar.save\"\r\n [disabled]=\"toolbar.save.disabled\"\r\n class=\"c-btn c-btn_primary c-btn_small\"\r\n title=\"{{'Save' | translate}}\"\r\n >\r\n {{'Save' | translate}}\r\n </button>\r\n <button (click)=\"groupEditAction.emit($event)\" *ngIf=\"toolbar.groupEdit && toolbar.groupEdit.active\"\r\n [disabled]=\"toolbar.groupEdit.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-pencil\" title=\"{{'groupEdit' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"removeAction.emit($event)\" *ngIf=\"toolbar.remove && toolbar.remove.active\"\r\n [disabled]=\"toolbar.remove.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-trash\" [title]=\"toolbar.remove?.title || '\u0423\u0434\u0430\u043B\u0438\u0442\u044C'\"></i>\r\n </button>\r\n <button (click)=\"unlinkAction.emit($event)\" *ngIf=\"toolbar.unlink\" [disabled]=\"toolbar.unlink.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\">\r\n <i class=\"in in-link-off\" title=\"{{'Detach tag from selected items' | translate}}\"></i>\r\n </button>\r\n <button (click)=\"csvAction.emit($event)\" *ngIf=\"toolbar.csv\" [disabled]=\"toolbar.csv.disabled\"\r\n class=\"c-btn c-btn_border-free c-btn_small\"\r\n >\r\n<!-- Todo: \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430 in-file-csv-->\r\n <i class=\"in in-file-excel-outline\" title=\"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u0430\u043A CSV\"></i>\r\n </button>\r\n <button *ngIf=\"toolbar.collapse\"\r\n class=\"c-btn c-btn_small c-btn_svg-24 c-icon c-icon_svg c-icon_svg-24 c-btn_border-free\"\r\n (click)=\"collapse($event, dt)\"\r\n title=\"{{(isCollapse ? 'Expand all' : 'Collapse all') | translate}}\">\r\n <svg *ngIf=\"isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path d=\"M20 2H4v2h16V2zM4 20v2h16v-2H4zM12 5l5 6H7l5-6zM17 13l-5 6-5-6h10z\"/>\r\n </svg>\r\n <svg *ngIf=\"!isCollapse\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fill-rule=\"evenodd\" d=\"M17 3l-5 6-5-6h10zM4 13v-2h16v2H4zm8 2l5 6H7l5-6z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-treeTable>\r\n", styles: ["@charset \"UTF-8\";.p-sortable-column{cursor:pointer;position:relative}.p-sortable-column-buttons{position:absolute;top:0;right:0;width:18px;height:100%;display:inline-flex;align-items:center;z-index:10000}.p-sortable-column-buttons>a{position:absolute;top:50%;right:0;left:0;transform:translateY(-50%)}.u-overflow-visible{overflow:visible!important}.button-reset{display:flex;align-items:center;position:absolute;right:6px;top:5px;padding:6px;font-size:15px;border:none;outline:0;cursor:pointer;color:var(--colorTextMuted);background-color:transparent}.button-reset:hover{color:var(--colorIcon)}.input-wrapper{position:relative;display:flex;align-items:baseline}.c-input:not(:valid)~.button-reset{display:none}\n"] }]
2702
- }], propDecorators: { columns: [{
2703
- type: Input
2704
- }], values: [{
2705
- type: Input
2706
- }], scrollHeight: [{
2707
- type: Input
2708
- }], scrollable: [{
2709
- type: Input
2710
- }], selectionMode: [{
2711
- type: Input
2712
- }], label: [{
2713
- type: Input
2714
- }], error: [{
2715
- type: Input
2716
- }], class: [{
2717
- type: Input
2718
- }], required: [{
2719
- type: Input
2720
- }], style: [{
2721
- type: Input
2722
- }], toolbar: [{
2723
- type: Input
2724
- }], checkboxSelection: [{
2725
- type: Input
2726
- }], active: [{
2727
- type: Input
2728
- }], sortField: [{
2729
- type: Input
2730
- }], isAscending: [{
2731
- type: Input
2732
- }], dataKey: [{
2733
- type: Input
2734
- }], activeChange: [{
2735
- type: Output
2736
- }], templates: [{
2737
- type: ContentChildren,
2738
- args: [InsparkTemplate]
2739
- }], selectionChange: [{
2740
- type: Output
2741
- }], addAction: [{
2742
- type: Output
2743
- }], csvAction: [{
2744
- type: Output
2745
- }], saveAction: [{
2746
- type: Output
2747
- }], collapseAction: [{
2748
- type: Output
2749
- }], removeAction: [{
2750
- type: Output
2751
- }], unlinkAction: [{
2752
- type: Output
2753
- }], groupEditAction: [{
2754
- type: Output
2755
- }], groupAddAction: [{
2756
- type: Output
2757
- }], selection: [{
2758
- type: Input
2759
- }] } });
2760
- class TreeTableComponentModule {
2761
- }
2762
- TreeTableComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2763
- 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] });
2764
- TreeTableComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponentModule, imports: [CommonModule, TreeTableModule, PipesModule, TranslateModule, FormsModule, TableComponentModule] });
2765
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TreeTableComponentModule, decorators: [{
2766
- type: NgModule,
2767
- args: [{
2768
- imports: [CommonModule, TreeTableModule, PipesModule, TranslateModule, FormsModule, TableComponentModule],
2769
- exports: [TreeTableComponent],
2770
- declarations: [TreeTableComponent]
2771
- }]
2772
- }] });
2773
-
2774
- class RadiobuttonComponent {
2775
- constructor() {
2776
- this.name = null;
2777
- this.label = null;
2778
- this.required = false;
2779
- this.error = null;
2780
- this.placeholder = '';
2781
- this.id = null;
2782
- this.change = new EventEmitter();
2783
- }
2784
- onChangeEvent(value) {
2785
- this.change.next({ name: this.name, value });
2786
- }
2787
- }
2788
- RadiobuttonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RadiobuttonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2789
- 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\">\r\n <p-radioButton\r\n class=\"u-margin-left-tiny u-vertical-align-middle field_{{name}}\"\r\n (onClick)=\"onChangeEvent(element)\"\r\n [id]=\"element[keyLabel]\"\r\n [(ngModel)]=\"item\"\r\n [name]=\"name\"\r\n [value]=\"element.id\"\r\n [disabled]=\"disabled\"\r\n [label]=\"element[keyLabel]\">\r\n </p-radioButton>\r\n</ng-container>\r\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 });
2790
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RadiobuttonComponent, decorators: [{
2791
- type: Component,
2792
- args: [{ selector: 'in-radiobutton', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let element of values\">\r\n <p-radioButton\r\n class=\"u-margin-left-tiny u-vertical-align-middle field_{{name}}\"\r\n (onClick)=\"onChangeEvent(element)\"\r\n [id]=\"element[keyLabel]\"\r\n [(ngModel)]=\"item\"\r\n [name]=\"name\"\r\n [value]=\"element.id\"\r\n [disabled]=\"disabled\"\r\n [label]=\"element[keyLabel]\">\r\n </p-radioButton>\r\n</ng-container>\r\n" }]
2793
- }], ctorParameters: function () { return []; }, propDecorators: { name: [{
2794
- type: Input
2795
- }], label: [{
2796
- type: Input
2797
- }], required: [{
2798
- type: Input
2799
- }], error: [{
2800
- type: Input
2801
- }], placeholder: [{
2802
- type: Input
2803
- }], id: [{
2804
- type: Input
2805
- }], disabled: [{
2806
- type: Input
2807
- }], value: [{
2808
- type: Input
2809
- }], values: [{
2810
- type: Input
2811
- }], keyLabel: [{
2812
- type: Input
2813
- }], item: [{
2814
- type: Input
2815
- }], change: [{
2816
- type: Output
2817
- }] } });
2818
-
2819
- class SelectListComponent {
2820
- constructor(ref, config, messageService, router) {
2821
- this.ref = ref;
2822
- this.config = config;
2823
- this.messageService = messageService;
2824
- this.router = router;
2825
- this.options = null;
2826
- this.isShowSpinner = false;
2827
- }
2828
- ngOnInit() {
2829
- this.options = this.config.data.command.options.map(item => {
2830
- return { value: item, checked: false };
2831
- });
2832
- this.selected = Array(this.options.length).fill(false);
2833
- }
2834
- closeModal(val = null) {
2835
- this.ref.close(val);
2836
- }
2837
- applySelection() {
2838
- if (!this.selected) {
2839
- this.messageService.message(gettext('Select object'));
2840
- return;
2841
- }
2842
- else {
2843
- this.closeModal({ selected: this.options.filter(o => o.checked) });
2844
- }
2845
- }
2846
- select(i) {
2847
- this.options[i].checked = !this.options[i].checked;
2848
- }
2849
- highlight(value, text) {
2850
- const regex = new RegExp('(' + text + ')', 'gi');
2851
- return value.replace(regex, '<span class="u-text-highlight">$1</span>');
2852
- }
2853
- }
2854
- 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 });
2855
- 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\">\r\n {{'Select objects for which to execute the command' | translate}}\r\n</div>\r\n<span *ngIf=\"isShowSpinner\"><ng-container *ngTemplateOutlet=\"spinner\"></ng-container></span>\r\n<div class=\"container\">\r\n <div class=\"c-form-group type_treeblock\">\r\n <div style=\"overflow: hidden; width: 100%; white-space: nowrap; display: inline-flex;\" *ngFor=\"let item of options; let i = index\">\r\n <span class=\"c-label c-label__content\" style=\"width: 100px; min-height: 30px;\">{{item.value}}</span>\r\n <input class=\"c-checkbox__input\" type=\"checkbox\" [checked]=\"options[i].checked\" >\r\n <i class=\"p-chkbox-box c-checkbox__icon\" (click)=\"select(i)\"></i>\r\n </div>\r\n\r\n </div>\r\n <div class=\"buttons\">\r\n <in-component-container>\r\n <in-button id=\"close\" (click)=\"closeModal()\"\r\n label=\"{{'Cancel' | translate}}\"></in-button>\r\n <in-button id=\"edit\" (click)=\"applySelection()\" type=\"submit\"\r\n label=\"{{'Apply' | translate}}\"\r\n color=\"primary\" [disabled]=\"\" [title]=\"'Select an action' | translate\"></in-button>\r\n </in-component-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #spinner><span class=\"c-spinner\">\r\n <i class=\"in in-spinner fa-spin \"></i>\r\n</span></ng-template>\r\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" }] });
2856
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectListComponent, decorators: [{
2857
- type: Component,
2858
- args: [{ selector: 'app-select-list', template: "<div class=\"c-panel__heading-title h4\">\r\n {{'Select objects for which to execute the command' | translate}}\r\n</div>\r\n<span *ngIf=\"isShowSpinner\"><ng-container *ngTemplateOutlet=\"spinner\"></ng-container></span>\r\n<div class=\"container\">\r\n <div class=\"c-form-group type_treeblock\">\r\n <div style=\"overflow: hidden; width: 100%; white-space: nowrap; display: inline-flex;\" *ngFor=\"let item of options; let i = index\">\r\n <span class=\"c-label c-label__content\" style=\"width: 100px; min-height: 30px;\">{{item.value}}</span>\r\n <input class=\"c-checkbox__input\" type=\"checkbox\" [checked]=\"options[i].checked\" >\r\n <i class=\"p-chkbox-box c-checkbox__icon\" (click)=\"select(i)\"></i>\r\n </div>\r\n\r\n </div>\r\n <div class=\"buttons\">\r\n <in-component-container>\r\n <in-button id=\"close\" (click)=\"closeModal()\"\r\n label=\"{{'Cancel' | translate}}\"></in-button>\r\n <in-button id=\"edit\" (click)=\"applySelection()\" type=\"submit\"\r\n label=\"{{'Apply' | translate}}\"\r\n color=\"primary\" [disabled]=\"\" [title]=\"'Select an action' | translate\"></in-button>\r\n </in-component-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #spinner><span class=\"c-spinner\">\r\n <i class=\"in in-spinner fa-spin \"></i>\r\n</span></ng-template>\r\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"] }]
2859
- }], ctorParameters: function () { return [{ type: i1$5.DynamicDialogRef }, { type: i1$5.DynamicDialogConfig }, { type: InsparkMessageService }, { type: i1$3.Router }]; } });
2860
-
2861
- class ObjectTreeComponent {
2862
- constructor() { }
2863
- ngOnInit() {
2864
- }
2865
- }
2866
- ObjectTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2867
- 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>\r\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2868
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectTreeComponent, decorators: [{
2869
- type: Component,
2870
- args: [{ selector: 'in-object-tree', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p>object-tree works!</p>\r\n" }]
2871
- }], ctorParameters: function () { return []; } });
2872
-
2873
- class ModalInputTextComponent {
2874
- constructor(ref, config, translateService, messageService, router) {
2875
- this.ref = ref;
2876
- this.config = config;
2877
- this.translateService = translateService;
2878
- this.messageService = messageService;
2879
- this.router = router;
2880
- this.options = null;
2881
- this.isShowSpinner = false;
2882
- this.maxLength = 0;
2883
- }
2884
- ngOnInit() {
2885
- this.param = this.config.data.command.param;
2886
- this.options = this.config.data.command.options.map(item => {
2887
- return { value: item, checked: false };
2888
- });
2889
- if (this.options && this.options.length > 0) {
2890
- this.calculateWidth();
2891
- }
2892
- this.selected = Array(this.options.length).fill(false);
2893
- }
2894
- closeModal(val = null) {
2895
- this.ref.close(val);
2896
- }
2897
- applySelection() {
2898
- if (!this.selected) {
2899
- this.messageService.message(gettext('Select object'));
2900
- return;
2901
- }
2902
- else {
2903
- this.closeModal({
2904
- selected: this.options.filter(o => o.checked),
2905
- param: this.param ? this.param.value : undefined
2906
- });
2907
- }
2908
- }
2909
- select(i) {
2910
- this.options[i].checked = !this.options[i].checked;
2911
- }
2912
- checkSelected() {
2913
- if (this.param) {
2914
- return !this.param.value;
2915
- }
2916
- else if (this.options) {
2917
- return this.options.filter(opt => opt.checked).length === 0;
2918
- }
2919
- return false;
2920
- }
2921
- highlight(value, text) {
2922
- const regex = new RegExp('(' + text + ')', 'gi');
2923
- return value.replace(regex, '<span class="u-text-highlight">$1</span>');
2924
- }
2925
- calculateWidth() {
2926
- this.options.forEach(opt => {
2927
- if (opt.value.length * 7 > this.maxLength) {
2928
- this.maxLength = opt.value.length * 7 + 100;
2929
- }
2930
- });
2931
- }
2932
- translate(str) {
2933
- const splited = str.split('\n');
2934
- let translated = '';
2935
- splited.forEach(s => translated += this.translateService.instant(s) + '\n');
2936
- return translated;
2937
- }
2938
- }
2939
- 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 });
2940
- 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\">\r\n {{'Enter parameter value' | translate}}\r\n</div>\r\n<span *ngIf=\"isShowSpinner\"><ng-container *ngTemplateOutlet=\"spinner\"></ng-container></span>\r\n<div class=\"container\">\r\n <div *ngIf = this.options class=\"c-form-group type_treeblock\">\r\n <div *ngFor=\"let item of options; let i = index\">\r\n <label class=\"c-label type_bool\" style=\"overflow: hidden; width: 100%; white-space: nowrap; display: inline-flex;\">\r\n <span class=\"c-onecolumn-form_label__content\" [style.width]=\"maxLength + 'px'\" style=\"position: relative; top: 5px; min-height: 30px;\">\r\n {{item.value}}\r\n </span>\r\n <span class=\"c-onecolumn-form_label__content field_{{item.value}}\" style=\"min-height: 30px;\">\r\n <input class=\"c-checkbox__input field_{{item.value}}\" type=\"checkbox\" [checked]=\"options[i].checked\" (click)=\"select(i)\">\r\n <i class=\"p-chkbox-box c-checkbox__icon\" ></i>\r\n </span>\r\n </label>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=this.param class=\"o-grid o-grid_wrap\">\r\n <div class=\"o-grid__cell o-grid__cell_width-100 o-grid__cell_width-100@medium o-grid__cell_width-100@large\">\r\n <div class=\"c-form-group\">\r\n <label class=\"c-label type_varchars\">\r\n <span class=\"c-label__content\" style=\"width: 500px;white-space: pre-line\">{{translate(param.title)}}</span>\r\n <input [(ngModel)]=\"param.value\" class=\"c-input c-input_block field_{{config.data.command.label}}\" type=\"text\" maxlength=\"60\">\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"buttons\">\r\n <in-component-container>\r\n <in-button id=\"close\" (click)=\"closeModal()\"\r\n label=\"{{'Cancel' | translate}}\"\r\n [name]=\"'Cancel'\"\r\n ></in-button>\r\n <in-button id=\"edit\" (click)=\"applySelection()\" type=\"submit\"\r\n label=\"{{'Apply' | translate}}\"\r\n [name]=\"'Apply'\"\r\n color=\"primary\" [disabled]=\"checkSelected()\" [title]=\"'Select an action' | translate\"></in-button>\r\n </in-component-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #spinner><span class=\"c-spinner\">\r\n <i class=\"in in-spinner fa-spin \"></i>\r\n</span></ng-template>\r\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" }] });
2941
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ModalInputTextComponent, decorators: [{
2942
- type: Component,
2943
- args: [{ selector: 'app-modal-input-text', template: "<div class=\"c-panel__heading-title h4\">\r\n {{'Enter parameter value' | translate}}\r\n</div>\r\n<span *ngIf=\"isShowSpinner\"><ng-container *ngTemplateOutlet=\"spinner\"></ng-container></span>\r\n<div class=\"container\">\r\n <div *ngIf = this.options class=\"c-form-group type_treeblock\">\r\n <div *ngFor=\"let item of options; let i = index\">\r\n <label class=\"c-label type_bool\" style=\"overflow: hidden; width: 100%; white-space: nowrap; display: inline-flex;\">\r\n <span class=\"c-onecolumn-form_label__content\" [style.width]=\"maxLength + 'px'\" style=\"position: relative; top: 5px; min-height: 30px;\">\r\n {{item.value}}\r\n </span>\r\n <span class=\"c-onecolumn-form_label__content field_{{item.value}}\" style=\"min-height: 30px;\">\r\n <input class=\"c-checkbox__input field_{{item.value}}\" type=\"checkbox\" [checked]=\"options[i].checked\" (click)=\"select(i)\">\r\n <i class=\"p-chkbox-box c-checkbox__icon\" ></i>\r\n </span>\r\n </label>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=this.param class=\"o-grid o-grid_wrap\">\r\n <div class=\"o-grid__cell o-grid__cell_width-100 o-grid__cell_width-100@medium o-grid__cell_width-100@large\">\r\n <div class=\"c-form-group\">\r\n <label class=\"c-label type_varchars\">\r\n <span class=\"c-label__content\" style=\"width: 500px;white-space: pre-line\">{{translate(param.title)}}</span>\r\n <input [(ngModel)]=\"param.value\" class=\"c-input c-input_block field_{{config.data.command.label}}\" type=\"text\" maxlength=\"60\">\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"buttons\">\r\n <in-component-container>\r\n <in-button id=\"close\" (click)=\"closeModal()\"\r\n label=\"{{'Cancel' | translate}}\"\r\n [name]=\"'Cancel'\"\r\n ></in-button>\r\n <in-button id=\"edit\" (click)=\"applySelection()\" type=\"submit\"\r\n label=\"{{'Apply' | translate}}\"\r\n [name]=\"'Apply'\"\r\n color=\"primary\" [disabled]=\"checkSelected()\" [title]=\"'Select an action' | translate\"></in-button>\r\n </in-component-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #spinner><span class=\"c-spinner\">\r\n <i class=\"in in-spinner fa-spin \"></i>\r\n</span></ng-template>\r\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"] }]
2944
- }], ctorParameters: function () { return [{ type: i1$5.DynamicDialogRef }, { type: i1$5.DynamicDialogConfig }, { type: i1.TranslateService }, { type: InsparkMessageService }, { type: i1$3.Router }]; } });
2945
-
2946
- class ContentToggleComponent {
2947
- constructor(cdr) {
2948
- this.cdr = cdr;
2949
- this.defaultOpen = true;
2950
- this.isOpen = this.defaultOpen;
2951
- this.icon = null;
2952
- this.manualArrow = true;
2953
- this.toggle = new EventEmitter();
2954
- }
2955
- ngOnInit() {
2956
- this.isOpen = this.defaultOpen;
2957
- }
2958
- toggleOpen(e) {
2959
- // Получаем родительский элемент div
2960
- const parentElement = this.elementButtons.nativeElement;
2961
- // Проверяем, входит ли цель события в родительский элемент
2962
- if (!parentElement.contains(e.target) || e.target === parentElement) {
2963
- this.isOpen = !this.isOpen;
2964
- this.toggle.emit(this.isOpen);
2965
- this.cdr.detectChanges();
2966
- }
2967
- }
2968
- }
2969
- ContentToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContentToggleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2970
- 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\">\r\n <span [ngClass]=\"{arrow: true, close: !isOpen}\">\r\n <in-svg *ngIf=\"manualArrow\" [src]=\"'arrow-down.svg'\" width=\"48px\" height=\"48px\"></in-svg>\r\n <ng-content select=\"[arrow]\"></ng-content>\r\n </span>\r\n <span class=\"label\">\r\n <in-svg *ngIf=\"icon\" class=\"label-icon\" [src]=\"icon\"></in-svg>\r\n {{label}}\r\n </span>\r\n <span class=\"counter\">\r\n <ng-content select=\"[header]\"></ng-content>\r\n </span>\r\n <div class=\"buttons\" #buttons>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n </div>\r\n</div>\r\n<div class=\"container\" *ngIf=\"isOpen\">\r\n <ng-content select=\"[body]\"></ng-content>\r\n</div>\r\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"] }] });
2971
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContentToggleComponent, decorators: [{
2972
- type: Component,
2973
- args: [{ selector: 'in-content-toggle', template: "<div class=\"block\" (click)=\"toggleOpen($event)\" tabIndex=\"1\">\r\n <span [ngClass]=\"{arrow: true, close: !isOpen}\">\r\n <in-svg *ngIf=\"manualArrow\" [src]=\"'arrow-down.svg'\" width=\"48px\" height=\"48px\"></in-svg>\r\n <ng-content select=\"[arrow]\"></ng-content>\r\n </span>\r\n <span class=\"label\">\r\n <in-svg *ngIf=\"icon\" class=\"label-icon\" [src]=\"icon\"></in-svg>\r\n {{label}}\r\n </span>\r\n <span class=\"counter\">\r\n <ng-content select=\"[header]\"></ng-content>\r\n </span>\r\n <div class=\"buttons\" #buttons>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n </div>\r\n</div>\r\n<div class=\"container\" *ngIf=\"isOpen\">\r\n <ng-content select=\"[body]\"></ng-content>\r\n</div>\r\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"] }]
2974
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { label: [{
2975
- type: Input
2976
- }], defaultOpen: [{
2977
- type: Input
2978
- }], isOpen: [{
2979
- type: Input
2980
- }], icon: [{
2981
- type: Input
2982
- }], manualArrow: [{
2983
- type: Input
2984
- }], toggle: [{
2985
- type: Output
2986
- }], elementButtons: [{
2987
- type: ViewChild,
2988
- args: ['buttons', { static: true }]
2989
- }] } });
2990
-
2991
- class InputGroupComponent {
2992
- constructor() {
2993
- this.name = null;
2994
- this.measureunit = null;
2995
- this.autocomplete = true;
2996
- this.label = null;
2997
- this.required = false;
2998
- this.error = null;
2999
- this.size = 100000;
3000
- this.maxlength = 100000;
3001
- this.width = 'auto';
3002
- this.placeholder = '';
3003
- this.id = null;
3004
- this.testId = null;
3005
- this.opacity = true;
3006
- this.shadow = false;
3007
- this.isEditMode = true;
3008
- this.isMeasurementVisible = true;
3009
- this.focus = new EventEmitter();
3010
- this.blur = new EventEmitter();
3011
- this.updateValue = new EventEmitter();
3012
- this.disableEditableView = new EventEmitter();
3013
- this.validators = [/^-?\d*\.?\d*$/];
3014
- this.isEditable = true;
3015
- this.propagateChange = (_) => {
3016
- };
3017
- }
3018
- ngOnInit() {
3019
- this._value = this.value;
3020
- }
3021
- /**
3022
- * Write form value to the DOM element (model => view)
3023
- */
3024
- writeValue(value) {
3025
- this.value = value ? value : this.name;
3026
- this._value = this.value;
3027
- }
3028
- /**
3029
- * Write form disabled state to the DOM element (model => view)
3030
- */
3031
- setDisabledState(isDisabled) {
3032
- this.disabled = isDisabled;
3033
- }
3034
- /**
3035
- * Update form when DOM element value changes (view => model)
3036
- */
3037
- registerOnChange(fn) {
3038
- // Store the provided function as an internal method.
3039
- this.propagateChange = fn;
3040
- }
3041
- /**
3042
- * Update form when DOM element is blurred (view => model)
3043
- */
3044
- registerOnTouched(fn) {
3045
- // Store the provided function as an internal method.
3046
- this.onTouched = fn;
3047
- }
3048
- onChange(_) {
3049
- this.propagateChange(this.value);
3050
- }
3051
- onTouched() {
3052
- }
3053
- cancel() {
3054
- this.isEditable = false;
3055
- this.disableEditableView.emit(false);
3056
- this.value = this._value;
3057
- }
3058
- numberOnly(event) {
3059
- if (event.keyCode === 8) {
3060
- return true;
3061
- }
3062
- let test = '';
3063
- if (this.value) {
3064
- test = this.value + event.key;
3065
- }
3066
- else {
3067
- test = event.key;
3068
- }
3069
- return this.validators[0].test(test);
3070
- }
3071
- changeEditMode() {
3072
- this.isEditable = !this.isEditable;
3073
- }
3074
- //
3075
- // disableEditableView() {
3076
- // this.isEditableView.emit(false);
3077
- // }
3078
- changeValue(value) {
3079
- this.value = value;
3080
- this._value = this.value;
3081
- // this.isEditable = false;
3082
- this.updateValue.emit(value);
3083
- this.disableEditableView.emit(false);
3084
- }
3085
- isApplyDisabled() {
3086
- return this.value != null ? false : true;
3087
- }
3088
- }
3089
- InputGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InputGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3090
- 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", isMeasurementVisible: "isMeasurementVisible" }, outputs: { focus: "focus", blur: "blur", updateValue: "updateValue", disableEditableView: "disableEditableView" }, providers: [
3091
- {
3092
- provide: NG_VALUE_ACCESSOR,
3093
- useExisting: forwardRef(() => InputGroupComponent),
3094
- multi: true,
3095
- }
3096
- ], ngImport: i0, template: "<label class=\"label type_varchars\">\r\n <div class=\"p-inputgroup\">\r\n <span *ngIf=\"isMeasurementVisible\" class=\"p-inputgroup-addon p-inputgroup-addon_trancated\" title=\"{{measureunit}}\">\r\n <span class=\"p-inputgroup-addon__content\">{{measureunit}}</span>\r\n </span>\r\n <input (focus)=\"this.focus.emit($event)\"\r\n (keydown)=\"numberOnly($event)\"\r\n [(ngModel)]=\"value\"\r\n [autocomplete]=\"autocomplete? 'on':'off'\"\r\n [disabled]=\"disabled || !isEditable\"\r\n [id]=\"id\"\r\n [maxlength]=\"30\"\r\n [ngStyle]=\"{minWidth: '48px', textAlign: 'left', width: '100%'}\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [size]=\"size\"\r\n class=\"p-inputtext c-input c-input_large field_{{id}}\"\r\n type=\"text\"/>\r\n <in-button (click)=\"changeValue(value)\"\r\n [color]=\"'primary'\"\r\n [disabled]=\"isApplyDisabled()\"\r\n [isIconOnly]=\"true\"\r\n [label]=\"\"\r\n [name]=\"'apply'\"\r\n [size]=\"'tiny'\"\r\n [title]=\"'Apply' | translate\"\r\n icon=\"in in-check\"></in-button>\r\n <in-button (click)=\"cancel()\"\r\n [isIconOnly]=\"true\"\r\n [label]=\"\"\r\n [name]=\"'cancel'\"\r\n [size]=\"'tiny'\"\r\n [title]=\"'Cancel' | translate\"\r\n color=\"transparent\"\r\n icon=\"in in-close\"></in-button>\r\n </div>\r\n\r\n</label>\r\n\r\n<!--<div *ngIf=\"!disabled\" class=\"button\">-->\r\n<!-- <in-button (click)=\"changeValue(value)\" [color]=\"'primary'\"-->\r\n<!-- [disabled]=\"isApplyDisabled()\"-->\r\n<!-- [isIconOnly]=\"true\"-->\r\n<!-- [label]=\"\"-->\r\n<!-- [name]=\"'apply'\"-->\r\n<!-- [ngStyle]=\"{'font-size':'1px', 'display': 'inline-block', 'line-height': '2px', position: 'relative', left: '70px',-->\r\n<!-- opacity: !isEditable ? '0' : '1',-->\r\n<!-- visibility: !isEditable ? 'hidden' : 'visible'-->\r\n<!-- }\"-->\r\n<!-- [size]=\"'tiny'\"-->\r\n<!-- [title]=\"'Apply' | translate\" color=\"transparent\" icon=\"fa fa-check\"></in-button>-->\r\n<!-- <in-button (click)=\"cancel()\" [isIconOnly]=\"true\" [label]=\"\"-->\r\n<!-- [name]=\"'cancel'\"-->\r\n<!-- [ngStyle]=\"{'font-size':'1px', 'display': 'inline-block', 'line-height': '2px', position: 'relative', left: '90px',-->\r\n<!-- opacity: !isEditable ? '0' : '1',-->\r\n<!-- visibility: !isEditable ? 'hidden' : 'visible'-->\r\n<!-- }\"-->\r\n<!-- [size]=\"'tiny'\"-->\r\n<!-- [title]=\"'Cancel' | translate\" color=\"transparent\" icon=\"fa fa-times\"></in-button>-->\r\n<!-- <in-button (click)=\"changeEditMode()\" [isIconOnly]=\"true\" [label]=\"\"-->\r\n<!-- [ngStyle]=\"{'font-size':'1px',-->\r\n<!-- 'display': 'inline-block',-->\r\n<!-- 'line-height': '2px',-->\r\n<!-- position: 'relative',-->\r\n<!-- left: '80px',-->\r\n<!-- top: '2px',-->\r\n<!-- opacity: isEditable ? '0' : '1',-->\r\n<!-- visibility: isEditable ? 'hidden' : 'visible'-->\r\n<!-- }\"-->\r\n<!-- [size]=\"'tiny'\"-->\r\n<!-- [title]=\"'Edit' | translate\"-->\r\n<!-- color=\"transparent\" icon=\"fa fa-pencil\" name=\"edit\"></in-button>-->\r\n<!--</div>-->\r\n\r\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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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" }] });
3097
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InputGroupComponent, decorators: [{
3098
- type: Component,
3099
- args: [{ selector: 'in-input-group', providers: [
3100
- {
3101
- provide: NG_VALUE_ACCESSOR,
3102
- useExisting: forwardRef(() => InputGroupComponent),
3103
- multi: true,
3104
- }
3105
- ], template: "<label class=\"label type_varchars\">\r\n <div class=\"p-inputgroup\">\r\n <span *ngIf=\"isMeasurementVisible\" class=\"p-inputgroup-addon p-inputgroup-addon_trancated\" title=\"{{measureunit}}\">\r\n <span class=\"p-inputgroup-addon__content\">{{measureunit}}</span>\r\n </span>\r\n <input (focus)=\"this.focus.emit($event)\"\r\n (keydown)=\"numberOnly($event)\"\r\n [(ngModel)]=\"value\"\r\n [autocomplete]=\"autocomplete? 'on':'off'\"\r\n [disabled]=\"disabled || !isEditable\"\r\n [id]=\"id\"\r\n [maxlength]=\"30\"\r\n [ngStyle]=\"{minWidth: '48px', textAlign: 'left', width: '100%'}\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [size]=\"size\"\r\n class=\"p-inputtext c-input c-input_large field_{{id}}\"\r\n type=\"text\"/>\r\n <in-button (click)=\"changeValue(value)\"\r\n [color]=\"'primary'\"\r\n [disabled]=\"isApplyDisabled()\"\r\n [isIconOnly]=\"true\"\r\n [label]=\"\"\r\n [name]=\"'apply'\"\r\n [size]=\"'tiny'\"\r\n [title]=\"'Apply' | translate\"\r\n icon=\"in in-check\"></in-button>\r\n <in-button (click)=\"cancel()\"\r\n [isIconOnly]=\"true\"\r\n [label]=\"\"\r\n [name]=\"'cancel'\"\r\n [size]=\"'tiny'\"\r\n [title]=\"'Cancel' | translate\"\r\n color=\"transparent\"\r\n icon=\"in in-close\"></in-button>\r\n </div>\r\n\r\n</label>\r\n\r\n<!--<div *ngIf=\"!disabled\" class=\"button\">-->\r\n<!-- <in-button (click)=\"changeValue(value)\" [color]=\"'primary'\"-->\r\n<!-- [disabled]=\"isApplyDisabled()\"-->\r\n<!-- [isIconOnly]=\"true\"-->\r\n<!-- [label]=\"\"-->\r\n<!-- [name]=\"'apply'\"-->\r\n<!-- [ngStyle]=\"{'font-size':'1px', 'display': 'inline-block', 'line-height': '2px', position: 'relative', left: '70px',-->\r\n<!-- opacity: !isEditable ? '0' : '1',-->\r\n<!-- visibility: !isEditable ? 'hidden' : 'visible'-->\r\n<!-- }\"-->\r\n<!-- [size]=\"'tiny'\"-->\r\n<!-- [title]=\"'Apply' | translate\" color=\"transparent\" icon=\"fa fa-check\"></in-button>-->\r\n<!-- <in-button (click)=\"cancel()\" [isIconOnly]=\"true\" [label]=\"\"-->\r\n<!-- [name]=\"'cancel'\"-->\r\n<!-- [ngStyle]=\"{'font-size':'1px', 'display': 'inline-block', 'line-height': '2px', position: 'relative', left: '90px',-->\r\n<!-- opacity: !isEditable ? '0' : '1',-->\r\n<!-- visibility: !isEditable ? 'hidden' : 'visible'-->\r\n<!-- }\"-->\r\n<!-- [size]=\"'tiny'\"-->\r\n<!-- [title]=\"'Cancel' | translate\" color=\"transparent\" icon=\"fa fa-times\"></in-button>-->\r\n<!-- <in-button (click)=\"changeEditMode()\" [isIconOnly]=\"true\" [label]=\"\"-->\r\n<!-- [ngStyle]=\"{'font-size':'1px',-->\r\n<!-- 'display': 'inline-block',-->\r\n<!-- 'line-height': '2px',-->\r\n<!-- position: 'relative',-->\r\n<!-- left: '80px',-->\r\n<!-- top: '2px',-->\r\n<!-- opacity: isEditable ? '0' : '1',-->\r\n<!-- visibility: isEditable ? 'hidden' : 'visible'-->\r\n<!-- }\"-->\r\n<!-- [size]=\"'tiny'\"-->\r\n<!-- [title]=\"'Edit' | translate\"-->\r\n<!-- color=\"transparent\" icon=\"fa fa-pencil\" name=\"edit\"></in-button>-->\r\n<!--</div>-->\r\n\r\n" }]
3106
- }], propDecorators: { name: [{
3107
- type: Input
3108
- }], measureunit: [{
3109
- type: Input
3110
- }], autocomplete: [{
3111
- type: Input
3112
- }], label: [{
3113
- type: Input
3114
- }], required: [{
3115
- type: Input
3116
- }], error: [{
3117
- type: Input
3118
- }], size: [{
3119
- type: Input
3120
- }], maxlength: [{
3121
- type: Input
3122
- }], width: [{
3123
- type: Input
3124
- }], placeholder: [{
3125
- type: Input
3126
- }], id: [{
3127
- type: Input
3128
- }], testId: [{
3129
- type: Input
3130
- }], disabled: [{
3131
- type: Input
3132
- }], opacity: [{
3133
- type: Input
3134
- }], shadow: [{
3135
- type: Input
3136
- }], isEditMode: [{
3137
- type: Input
3138
- }], isMeasurementVisible: [{
3139
- type: Input
3140
- }], focus: [{
3141
- type: Output
3142
- }], blur: [{
3143
- type: Output
3144
- }], updateValue: [{
3145
- type: Output
3146
- }], disableEditableView: [{
3147
- type: Output
3148
- }] } });
3149
-
3150
- class PrimengComponentsModule {
3151
- }
3152
- PrimengComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PrimengComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3153
- PrimengComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PrimengComponentsModule, imports: [DropdownModule], exports: [DropdownModule] });
3154
- PrimengComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PrimengComponentsModule, imports: [DropdownModule, DropdownModule] });
3155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PrimengComponentsModule, decorators: [{
3156
- type: NgModule,
3157
- args: [{
3158
- imports: [
3159
- DropdownModule,
3160
- ],
3161
- declarations: [],
3162
- exports: [
3163
- DropdownModule
3164
- ],
3165
- entryComponents: []
3166
- }]
3167
- }] });
3168
-
3169
- class AutoCompleteComponent extends AutoComplete {
3170
- constructor() {
3171
- super(...arguments);
3172
- this.minLength = 1;
3173
- this.delay = 300;
3174
- this.type = 'text';
3175
- this.autoZIndex = true;
3176
- this.baseZIndex = 0;
3177
- this.dropdownIcon = "pi pi-caret-down";
3178
- this.unique = true;
3179
- this.completeMethod = new EventEmitter();
3180
- this.onSelect = new EventEmitter();
3181
- this.onUnselect = new EventEmitter();
3182
- this.onFocus = new EventEmitter();
3183
- this.onBlur = new EventEmitter();
3184
- this.onDropdownClick = new EventEmitter();
3185
- this.onClear = new EventEmitter();
3186
- this.onKeyUp = new EventEmitter();
3187
- this.scrollHeight = '200px';
3188
- this.dropdownMode = 'blank';
3189
- this.immutable = true;
3190
- this.showTransitionOptions = '225ms ease-out';
3191
- this.hideTransitionOptions = '195ms ease-in';
3192
- this.autocomplete = 'off';
3193
- }
3194
- ngAfterContentInit() {
3195
- this.templates.forEach((item) => {
3196
- switch (item.getType()) {
3197
- case 'item':
3198
- this.itemTemplate = item.template;
3199
- break;
3200
- case 'selectedItem':
3201
- this.selectedItemTemplate = item.template;
3202
- break;
3203
- default:
3204
- this.itemTemplate = item.template;
3205
- break;
3206
- }
3207
- });
3208
- }
3209
- }
3210
- AutoCompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3211
- 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: [{
3212
- provide: NG_VALUE_ACCESSOR,
3213
- useExisting: forwardRef(() => AutoCompleteComponent),
3214
- multi: true
3215
- }], 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\">\r\n <input\r\n pAutoFocus\r\n [autofocus]=\"autofocus\"\r\n *ngIf=\"!multiple\"\r\n #in\r\n [attr.type]=\"type\"\r\n [attr.id]=\"inputId\"\r\n [ngStyle]=\"inputStyle\"\r\n [class]=\"inputStyleClass\"\r\n [autocomplete]=\"autocomplete\"\r\n [attr.required]=\"required\"\r\n [attr.name]=\"name\"\r\n class=\"p-autocomplete-input p-inputtext p-component\"\r\n [ngClass]=\"{ 'p-autocomplete-dd-input': dropdown, 'p-disabled': disabled }\"\r\n [value]=\"inputFieldValue\"\r\n aria-autocomplete=\"list\"\r\n role=\"searchbox\"\r\n (click)=\"onInputClick($event)\"\r\n (input)=\"onInput($event)\"\r\n (keydown)=\"onKeydown($event)\"\r\n (keyup)=\"onKeyup($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (change)=\"onInputChange($event)\"\r\n (paste)=\"onInputPaste($event)\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.size]=\"size\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.tabindex]=\"tabindex\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"required\"\r\n />\r\n <i *ngIf=\"!multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\r\n <i *ngIf=\"multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\r\n <ul *ngIf=\"multiple\" #multiContainer class=\"p-autocomplete-multiple-container p-component p-inputtext\" [ngClass]=\"{ 'p-disabled': disabled, 'p-focus': focus }\" (click)=\"multiIn.focus()\">\r\n <li #token *ngFor=\"let val of value\" class=\"p-autocomplete-token\">\r\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: val }\"></ng-container>\r\n <span *ngIf=\"!selectedItemTemplate\" class=\"p-autocomplete-token-label\">{{ resolveFieldData(val) }}</span>\r\n <span class=\"p-autocomplete-token-icon pi pi-times-circle\" (click)=\"removeItem(token)\" *ngIf=\"!disabled && !readonly\"></span>\r\n </li>\r\n <li class=\"p-autocomplete-input-token\">\r\n <input\r\n pAutoFocus\r\n [autofocus]=\"autofocus\"\r\n #multiIn\r\n [attr.type]=\"type\"\r\n [attr.id]=\"inputId\"\r\n [disabled]=\"disabled\"\r\n [attr.placeholder]=\"value && value.length ? null : placeholder\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.maxlength]=\"maxlength\"\r\n (input)=\"onInput($event)\"\r\n (click)=\"onInputClick($event)\"\r\n (keydown)=\"onKeydown($event)\"\r\n [readonly]=\"readonly\"\r\n (keyup)=\"onKeyup($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (change)=\"onInputChange($event)\"\r\n (paste)=\"onInputPaste($event)\"\r\n [autocomplete]=\"autocomplete\"\r\n [ngStyle]=\"inputStyle\"\r\n [class]=\"inputStyleClass\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"required\"\r\n aria-autocomplete=\"list\"\r\n [attr.aria-controls]=\"listId\"\r\n role=\"searchbox\"\r\n [attr.aria-expanded]=\"overlayVisible\"\r\n aria-haspopup=\"true\"\r\n [attr.aria-activedescendant]=\"'p-highlighted-option'\"\r\n />\r\n </li>\r\n </ul>\r\n <i *ngIf=\"loading\" class=\"p-autocomplete-loader pi pi-spinner pi-spin\"></i\r\n ><button\r\n #ddBtn\r\n type=\"button\"\r\n pButton\r\n [icon]=\"dropdownIcon\"\r\n [attr.aria-label]=\"dropdownAriaLabel\"\r\n class=\"p-autocomplete-dropdown\"\r\n [disabled]=\"disabled\"\r\n pRipple\r\n (click)=\"handleDropdownClick($event)\"\r\n *ngIf=\"dropdown\"\r\n [attr.tabindex]=\"tabindex\"\r\n></button>\r\n <div\r\n #panel\r\n *ngIf=\"overlayVisible\"\r\n (click)=\"onOverlayClick($event)\"\r\n [ngClass]=\"['p-autocomplete-panel p-component']\"\r\n [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight\"\r\n [ngStyle]=\"panelStyle\"\r\n [class]=\"panelStyleClass\"\r\n [@overlayAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\r\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n <p-scroller\r\n *ngIf=\"virtualScroll\"\r\n #scroller\r\n [items]=\"suggestions\"\r\n [style]=\"{ height: scrollHeight }\"\r\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\r\n [autoSize]=\"true\"\r\n [lazy]=\"lazy\"\r\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\r\n [options]=\"virtualScrollOptions\"\r\n >\r\n <ng-template pTemplate=\"content\" let-items let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"loaderTemplate\">\r\n <ng-template pTemplate=\"loader\" let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n </p-scroller>\r\n <ng-container *ngIf=\"!virtualScroll\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: suggestions, options: {} }\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\r\n <ul #items role=\"listbox\" [attr.id]=\"listId\" class=\"p-autocomplete-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\">\r\n <ng-container *ngIf=\"group\">\r\n <ng-template ngFor let-optgroup [ngForOf]=\"items\">\r\n <li class=\"p-autocomplete-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\r\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || 'empty' }}</span>\r\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\r\n </li>\r\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup) }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"!group\">\r\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: items }\"></ng-container>\r\n </ng-container>\r\n <ng-template #itemslist let-suggestionsToDisplay>\r\n <li\r\n role=\"option\"\r\n *ngFor=\"let option of suggestionsToDisplay; let idx = index\"\r\n class=\"p-autocomplete-item\"\r\n pRipple\r\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\r\n [ngClass]=\"{ 'p-highlight': option === highlightOption }\"\r\n [id]=\"highlightOption == option ? 'p-highlighted-option' : ''\"\r\n (click)=\"selectItem(option)\"\r\n >\r\n <span *ngIf=\"!itemTemplate\"\r\n [attr.title]=\"resolveFieldData(option)\">{{ resolveFieldData(option) }}</span>\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: option, index: scrollerOptions.getOptions ? scrollerOptions.getOptions(idx) : idx }\"></ng-container>\r\n </li>\r\n </ng-template>\r\n <li *ngIf=\"noResults && showEmptyMessage\" class=\"p-autocomplete-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\r\n <ng-container *ngIf=\"!emptyTemplate\">\r\n {{ emptyMessageLabel }}\r\n </ng-container>\r\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </span>\r\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({
3216
- opacity: 0,
3217
- transform: 'scaleY(0.8)'
3218
- }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({ opacity: 0 }))])])] });
3219
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponent, decorators: [{
3220
- type: Component,
3221
- args: [{ selector: 'in-autocomplete', animations: [trigger('overlayAnimation', [transition(':enter', [style({
3222
- opacity: 0,
3223
- transform: 'scaleY(0.8)'
3224
- }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({ opacity: 0 }))])])], providers: [{
3225
- provide: NG_VALUE_ACCESSOR,
3226
- useExisting: forwardRef(() => AutoCompleteComponent),
3227
- multi: true
3228
- }], template: "<span #container [ngClass]=\"{ 'p-autocomplete p-component': true, 'p-autocomplete-dd': dropdown, 'p-autocomplete-multiple': multiple }\" [ngStyle]=\"style\" [class]=\"styleClass\">\r\n <input\r\n pAutoFocus\r\n [autofocus]=\"autofocus\"\r\n *ngIf=\"!multiple\"\r\n #in\r\n [attr.type]=\"type\"\r\n [attr.id]=\"inputId\"\r\n [ngStyle]=\"inputStyle\"\r\n [class]=\"inputStyleClass\"\r\n [autocomplete]=\"autocomplete\"\r\n [attr.required]=\"required\"\r\n [attr.name]=\"name\"\r\n class=\"p-autocomplete-input p-inputtext p-component\"\r\n [ngClass]=\"{ 'p-autocomplete-dd-input': dropdown, 'p-disabled': disabled }\"\r\n [value]=\"inputFieldValue\"\r\n aria-autocomplete=\"list\"\r\n role=\"searchbox\"\r\n (click)=\"onInputClick($event)\"\r\n (input)=\"onInput($event)\"\r\n (keydown)=\"onKeydown($event)\"\r\n (keyup)=\"onKeyup($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (change)=\"onInputChange($event)\"\r\n (paste)=\"onInputPaste($event)\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.size]=\"size\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.tabindex]=\"tabindex\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"required\"\r\n />\r\n <i *ngIf=\"!multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\r\n <i *ngIf=\"multiple && filled && !disabled && showClear\" class=\"p-autocomplete-clear-icon pi pi-times\" (click)=\"clear()\"></i>\r\n <ul *ngIf=\"multiple\" #multiContainer class=\"p-autocomplete-multiple-container p-component p-inputtext\" [ngClass]=\"{ 'p-disabled': disabled, 'p-focus': focus }\" (click)=\"multiIn.focus()\">\r\n <li #token *ngFor=\"let val of value\" class=\"p-autocomplete-token\">\r\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: val }\"></ng-container>\r\n <span *ngIf=\"!selectedItemTemplate\" class=\"p-autocomplete-token-label\">{{ resolveFieldData(val) }}</span>\r\n <span class=\"p-autocomplete-token-icon pi pi-times-circle\" (click)=\"removeItem(token)\" *ngIf=\"!disabled && !readonly\"></span>\r\n </li>\r\n <li class=\"p-autocomplete-input-token\">\r\n <input\r\n pAutoFocus\r\n [autofocus]=\"autofocus\"\r\n #multiIn\r\n [attr.type]=\"type\"\r\n [attr.id]=\"inputId\"\r\n [disabled]=\"disabled\"\r\n [attr.placeholder]=\"value && value.length ? null : placeholder\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.maxlength]=\"maxlength\"\r\n (input)=\"onInput($event)\"\r\n (click)=\"onInputClick($event)\"\r\n (keydown)=\"onKeydown($event)\"\r\n [readonly]=\"readonly\"\r\n (keyup)=\"onKeyup($event)\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (change)=\"onInputChange($event)\"\r\n (paste)=\"onInputPaste($event)\"\r\n [autocomplete]=\"autocomplete\"\r\n [ngStyle]=\"inputStyle\"\r\n [class]=\"inputStyleClass\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"required\"\r\n aria-autocomplete=\"list\"\r\n [attr.aria-controls]=\"listId\"\r\n role=\"searchbox\"\r\n [attr.aria-expanded]=\"overlayVisible\"\r\n aria-haspopup=\"true\"\r\n [attr.aria-activedescendant]=\"'p-highlighted-option'\"\r\n />\r\n </li>\r\n </ul>\r\n <i *ngIf=\"loading\" class=\"p-autocomplete-loader pi pi-spinner pi-spin\"></i\r\n ><button\r\n #ddBtn\r\n type=\"button\"\r\n pButton\r\n [icon]=\"dropdownIcon\"\r\n [attr.aria-label]=\"dropdownAriaLabel\"\r\n class=\"p-autocomplete-dropdown\"\r\n [disabled]=\"disabled\"\r\n pRipple\r\n (click)=\"handleDropdownClick($event)\"\r\n *ngIf=\"dropdown\"\r\n [attr.tabindex]=\"tabindex\"\r\n></button>\r\n <div\r\n #panel\r\n *ngIf=\"overlayVisible\"\r\n (click)=\"onOverlayClick($event)\"\r\n [ngClass]=\"['p-autocomplete-panel p-component']\"\r\n [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight\"\r\n [ngStyle]=\"panelStyle\"\r\n [class]=\"panelStyleClass\"\r\n [@overlayAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\r\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n <p-scroller\r\n *ngIf=\"virtualScroll\"\r\n #scroller\r\n [items]=\"suggestions\"\r\n [style]=\"{ height: scrollHeight }\"\r\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\r\n [autoSize]=\"true\"\r\n [lazy]=\"lazy\"\r\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\r\n [options]=\"virtualScrollOptions\"\r\n >\r\n <ng-template pTemplate=\"content\" let-items let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"loaderTemplate\">\r\n <ng-template pTemplate=\"loader\" let-scrollerOptions=\"options\">\r\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n </p-scroller>\r\n <ng-container *ngIf=\"!virtualScroll\">\r\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: suggestions, options: {} }\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\r\n <ul #items role=\"listbox\" [attr.id]=\"listId\" class=\"p-autocomplete-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\">\r\n <ng-container *ngIf=\"group\">\r\n <ng-template ngFor let-optgroup [ngForOf]=\"items\">\r\n <li class=\"p-autocomplete-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\r\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || 'empty' }}</span>\r\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\r\n </li>\r\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup) }\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"!group\">\r\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: items }\"></ng-container>\r\n </ng-container>\r\n <ng-template #itemslist let-suggestionsToDisplay>\r\n <li\r\n role=\"option\"\r\n *ngFor=\"let option of suggestionsToDisplay; let idx = index\"\r\n class=\"p-autocomplete-item\"\r\n pRipple\r\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\r\n [ngClass]=\"{ 'p-highlight': option === highlightOption }\"\r\n [id]=\"highlightOption == option ? 'p-highlighted-option' : ''\"\r\n (click)=\"selectItem(option)\"\r\n >\r\n <span *ngIf=\"!itemTemplate\"\r\n [attr.title]=\"resolveFieldData(option)\">{{ resolveFieldData(option) }}</span>\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: option, index: scrollerOptions.getOptions ? scrollerOptions.getOptions(idx) : idx }\"></ng-container>\r\n </li>\r\n </ng-template>\r\n <li *ngIf=\"noResults && showEmptyMessage\" class=\"p-autocomplete-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\r\n <ng-container *ngIf=\"!emptyTemplate\">\r\n {{ emptyMessageLabel }}\r\n </ng-container>\r\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </span>\r\n" }]
3229
- }], propDecorators: { minLength: [{
3230
- type: Input
3231
- }], delay: [{
3232
- type: Input
3233
- }], style: [{
3234
- type: Input
3235
- }], panelStyle: [{
3236
- type: Input
3237
- }], styleClass: [{
3238
- type: Input
3239
- }], panelStyleClass: [{
3240
- type: Input
3241
- }], inputStyle: [{
3242
- type: Input
3243
- }], inputId: [{
3244
- type: Input
3245
- }], inputStyleClass: [{
3246
- type: Input
3247
- }], placeholder: [{
3248
- type: Input
3249
- }], readonly: [{
3250
- type: Input
3251
- }], disabled: [{
3252
- type: Input
3253
- }], maxlength: [{
3254
- type: Input
3255
- }], name: [{
3256
- type: Input
3257
- }], required: [{
3258
- type: Input
3259
- }], size: [{
3260
- type: Input
3261
- }], appendTo: [{
3262
- type: Input
3263
- }], autoHighlight: [{
3264
- type: Input
3265
- }], forceSelection: [{
3266
- type: Input
3267
- }], type: [{
3268
- type: Input
3269
- }], autoZIndex: [{
3270
- type: Input
3271
- }], baseZIndex: [{
3272
- type: Input
3273
- }], ariaLabel: [{
3274
- type: Input
3275
- }], ariaLabelledBy: [{
3276
- type: Input
3277
- }], dropdownIcon: [{
3278
- type: Input
3279
- }], unique: [{
3280
- type: Input
3281
- }], completeMethod: [{
3282
- type: Output
3283
- }], onSelect: [{
3284
- type: Output
3285
- }], onUnselect: [{
3286
- type: Output
3287
- }], onFocus: [{
3288
- type: Output
3289
- }], onBlur: [{
3290
- type: Output
3291
- }], onDropdownClick: [{
3292
- type: Output
3293
- }], onClear: [{
3294
- type: Output
3295
- }], onKeyUp: [{
3296
- type: Output
3297
- }], field: [{
3298
- type: Input
3299
- }], scrollHeight: [{
3300
- type: Input
3301
- }], dropdown: [{
3302
- type: Input
3303
- }], dropdownMode: [{
3304
- type: Input
3305
- }], multiple: [{
3306
- type: Input
3307
- }], tabindex: [{
3308
- type: Input
3309
- }], dataKey: [{
3310
- type: Input
3311
- }], emptyMessage: [{
3312
- type: Input
3313
- }], immutable: [{
3314
- type: Input
3315
- }], showTransitionOptions: [{
3316
- type: Input
3317
- }], hideTransitionOptions: [{
3318
- type: Input
3319
- }], autofocus: [{
3320
- type: Input
3321
- }], autocomplete: [{
3322
- type: Input
3323
- }], inputEL: [{
3324
- type: ViewChild,
3325
- args: ['in', { static: false }]
3326
- }], multiInputEL: [{
3327
- type: ViewChild,
3328
- args: ['multiIn', { static: false }]
3329
- }], multiContainerEL: [{
3330
- type: ViewChild,
3331
- args: ['multiContainer', { static: false }]
3332
- }], dropdownButton: [{
3333
- type: ViewChild,
3334
- args: ['ddBtn', { static: false }]
3335
- }], templates: [{
3336
- type: ContentChildren,
3337
- args: [InsparkTemplate]
3338
- }] } });
3339
- class AutoCompleteComponentModule {
3340
- }
3341
- AutoCompleteComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3342
- AutoCompleteComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponentModule, declarations: [AutoCompleteComponent], imports: [TooltipModule,
3343
- ScrollingModule,
3344
- CommonModule,
3345
- PrimengComponentsModule,
3346
- ButtonModule], exports: [AutoCompleteComponent] });
3347
- AutoCompleteComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponentModule, imports: [TooltipModule,
3348
- ScrollingModule,
3349
- CommonModule,
3350
- PrimengComponentsModule,
3351
- ButtonModule] });
3352
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AutoCompleteComponentModule, decorators: [{
3353
- type: NgModule,
3354
- args: [{
3355
- declarations: [
3356
- AutoCompleteComponent,
3357
- ],
3358
- imports: [
3359
- TooltipModule,
3360
- ScrollingModule,
3361
- CommonModule,
3362
- PrimengComponentsModule,
3363
- ButtonModule,
3364
- ],
3365
- exports: [
3366
- AutoCompleteComponent,
3367
- ],
3368
- entryComponents: [
3369
- AutoCompleteComponent,
3370
- ]
3371
- }]
3372
- }] });
3373
-
3374
- class PieService {
3375
- constructor() {
3376
- this.colorArray = ['-1', 0, 1, 2, 3, 4]; // Цвета и последовательность в которой они будут отображены
3377
- this.colors = {
3378
- 1: '#31ac51',
3379
- 2: '#EE9946',
3380
- 3: '#F95C5D',
3381
- 4: '#a20000',
3382
- 0: '#7E8087',
3383
- '-1': '#85B3CB'
3384
- };
3385
- }
3386
- create(statuses, size) {
3387
- const data = [];
3388
- let allCount = 0;
3389
- this.colorArray.forEach((color) => {
3390
- allCount += statuses[color] || 0;
3391
- });
3392
- let cumulativePercent = 0;
3393
- this.colorArray.forEach((color) => {
3394
- const count = statuses[color];
3395
- if (!count) {
3396
- return;
3397
- }
3398
- const percent = count / allCount;
3399
- const [startX, startY] = this.getCoordinatesForPercent(size, cumulativePercent);
3400
- cumulativePercent += percent;
3401
- const [endX, endY] = this.getCoordinatesForPercent(size, cumulativePercent);
3402
- const largeArcFlag = percent > .5 ? 1 : 0;
3403
- const pathData = [
3404
- `M ${startX} ${startY}`,
3405
- `A 20 20 0 ${largeArcFlag} 1 ${endX} ${endY}`,
3406
- `L 0 0`, // Line
3407
- ].join(' ');
3408
- data.push({
3409
- path: pathData,
3410
- color: this.colors[color + '']
3411
- });
3412
- });
3413
- return data;
3414
- }
3415
- getCoordinatesForPercent(size, percent) {
3416
- const x = size / 2 * Math.cos(2 * Math.PI * percent);
3417
- const y = size / 2 * Math.sin(2 * Math.PI * percent);
3418
- return [x, y];
3419
- }
3420
- }
3421
- PieService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PieService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3422
- PieService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PieService });
3423
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PieService, decorators: [{
3424
- type: Injectable
3425
- }] });
3426
-
3427
- // @ts-nocheck
3428
- class ObjectPieComponent {
3429
- constructor(translate, pieService, cdr) {
3430
- this.translate = translate;
3431
- this.pieService = pieService;
3432
- this.cdr = cdr;
3433
- this.count = 30;
3434
- this.size = 40;
3435
- this.statuses = {
3436
- '-1': 20,
3437
- 0: 4,
3438
- 1: 3,
3439
- 2: 4,
3440
- 3: 5
3441
- };
3442
- }
3443
- ngOnInit() {
3444
- this.data = this.pieService.create(this.statuses, this.size);
3445
- }
3446
- ngOnDestroy() {
3447
- }
3448
- ngOnChanges(changes) {
3449
- }
3450
- }
3451
- 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 });
3452
- 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\">\r\n <svg viewBox=\"-20 -20 40 40\">\r\n <defs>\r\n <clipPath id=\"cut-off-bottom\">\r\n <circle cx=\"0\" cy=\"0\" r=\"12\"></circle>\r\n </clipPath>\r\n </defs>\r\n <mask id=\"re8-clip\">\r\n <circle cx=\"0\" cy=\"0\" r=\"20\" fill=\"white\"></circle>\r\n <circle cx=\"0\" cy=\"0\" r=\"14\" fill=\"black\"></circle>\r\n </mask>\r\n <path *ngFor=\"let path of data\" [attr.d]=\"path.path\" [attr.fill]=\"path.color\" mask=\"url(#re8-clip)\"></path>\r\n <text x=\"0\" y=\"4\" text-anchor=\"middle\" fill=\"currentColor\">{{count}}</text>\r\n </svg>\r\n</div>\r\n\r\n\r\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 });
3453
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectPieComponent, decorators: [{
3454
- type: Component,
3455
- args: [{ selector: 'in-pie', encapsulation: ViewEncapsulation.Emulated, providers: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"pie-block\">\r\n <svg viewBox=\"-20 -20 40 40\">\r\n <defs>\r\n <clipPath id=\"cut-off-bottom\">\r\n <circle cx=\"0\" cy=\"0\" r=\"12\"></circle>\r\n </clipPath>\r\n </defs>\r\n <mask id=\"re8-clip\">\r\n <circle cx=\"0\" cy=\"0\" r=\"20\" fill=\"white\"></circle>\r\n <circle cx=\"0\" cy=\"0\" r=\"14\" fill=\"black\"></circle>\r\n </mask>\r\n <path *ngFor=\"let path of data\" [attr.d]=\"path.path\" [attr.fill]=\"path.color\" mask=\"url(#re8-clip)\"></path>\r\n <text x=\"0\" y=\"4\" text-anchor=\"middle\" fill=\"currentColor\">{{count}}</text>\r\n </svg>\r\n</div>\r\n\r\n\r\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"] }]
3456
- }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: PieService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { count: [{
3457
- type: Input
3458
- }], size: [{
3459
- type: Input
3460
- }], statuses: [{
3461
- type: Input
3462
- }] } });
3463
-
3464
- class InsparkComponentsModule {
3465
- }
3466
- InsparkComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3467
- InsparkComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: InsparkComponentsModule, declarations: [ButtonComponent,
3468
- InputTextComponent,
3469
- TextareaComponent,
3470
- PanelComponent,
3471
- ComponentContainerComponent,
3472
- CheckboxComponent,
3473
- EmptyComponent,
3474
- PreloaderComponent,
3475
- InsparkStickyComponent,
3476
- InsparkHeaderComponent,
3477
- ToolbarComponent,
3478
- BreadcrumbComponent,
3479
- FileComponent,
3480
- SelectButtonComponent,
3481
- ModalInputTextComponent,
3482
- SelectListComponent,
3483
- StatusCircleComponent,
3484
- SvgComponent,
3485
- SwitcherComponent,
3486
- InlineMessageComponent,
3487
- LinkComponent,
3488
- InsparkTemplate,
3489
- TooltipComponent,
3490
- RadiobuttonComponent,
3491
- ObjectTreeComponent,
3492
- ContentToggleComponent,
3493
- InputGroupComponent,
3494
- ObjectPieComponent], imports: [AutoCompleteComponentModule,
3495
- FormsModule,
3496
- ReactiveFormsModule,
3497
- CommonModule,
3498
- DropdownComponentModule,
3499
- TableComponentModule,
3500
- TreeTableComponentModule,
3501
- RadioButtonModule,
3502
- TranslateModule,
3503
- MenuModule,
3504
- SliderModule,
3505
- NgbModule, i2$1.InlineSVGModule, BreadcrumbModule,
3506
- TreeModule,
3507
- SharedModule], exports: [ButtonComponent,
3508
- InputTextComponent,
3509
- TextareaComponent,
3510
- PanelComponent,
3511
- ComponentContainerComponent,
3512
- CheckboxComponent,
3513
- DropdownComponentModule,
3514
- TableComponentModule,
3515
- TreeTableComponentModule,
3516
- EmptyComponent,
3517
- PreloaderComponent,
3518
- InsparkStickyComponent,
3519
- InsparkHeaderComponent,
3520
- ToolbarComponent,
3521
- BreadcrumbComponent,
3522
- FileComponent,
3523
- SelectButtonComponent,
3524
- ModalInputTextComponent,
3525
- SelectListComponent,
3526
- StatusCircleComponent,
3527
- SvgComponent,
3528
- SwitcherComponent,
3529
- MenuModule,
3530
- SliderModule,
3531
- InlineMessageComponent,
3532
- LinkComponent,
3533
- InsparkTemplate,
3534
- NgbModule,
3535
- TooltipComponent,
3536
- RadiobuttonComponent,
3537
- ObjectTreeComponent,
3538
- ContentToggleComponent,
3539
- ObjectPieComponent,
3540
- InputGroupComponent,
3541
- AutoCompleteComponentModule] });
3542
- InsparkComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkComponentsModule, imports: [AutoCompleteComponentModule,
3543
- FormsModule,
3544
- ReactiveFormsModule,
3545
- CommonModule,
3546
- DropdownComponentModule,
3547
- TableComponentModule,
3548
- TreeTableComponentModule,
3549
- RadioButtonModule,
3550
- TranslateModule,
3551
- MenuModule,
3552
- SliderModule,
3553
- NgbModule,
3554
- InlineSVGModule.forRoot({ baseUrl: 'assets/images/' }),
3555
- BreadcrumbModule,
3556
- TreeModule,
3557
- SharedModule, DropdownComponentModule,
3558
- TableComponentModule,
3559
- TreeTableComponentModule,
3560
- MenuModule,
3561
- SliderModule,
3562
- NgbModule,
3563
- AutoCompleteComponentModule] });
3564
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkComponentsModule, decorators: [{
3565
- type: NgModule,
3566
- args: [{
3567
- imports: [
3568
- AutoCompleteComponentModule,
3569
- FormsModule,
3570
- ReactiveFormsModule,
3571
- CommonModule,
3572
- DropdownComponentModule,
3573
- TableComponentModule,
3574
- TreeTableComponentModule,
3575
- RadioButtonModule,
3576
- TranslateModule,
3577
- MenuModule,
3578
- SliderModule,
3579
- NgbModule,
3580
- InlineSVGModule.forRoot({ baseUrl: 'assets/images/' }),
3581
- BreadcrumbModule,
3582
- TreeModule,
3583
- SharedModule
3584
- ],
3585
- declarations: [
3586
- ButtonComponent,
3587
- InputTextComponent,
3588
- TextareaComponent,
3589
- PanelComponent,
3590
- ComponentContainerComponent,
3591
- CheckboxComponent,
3592
- EmptyComponent,
3593
- PreloaderComponent,
3594
- InsparkStickyComponent,
3595
- InsparkHeaderComponent,
3596
- ToolbarComponent,
3597
- BreadcrumbComponent,
3598
- FileComponent,
3599
- SelectButtonComponent,
3600
- ModalInputTextComponent,
3601
- SelectListComponent,
3602
- StatusCircleComponent,
3603
- SvgComponent,
3604
- SwitcherComponent,
3605
- InlineMessageComponent,
3606
- LinkComponent,
3607
- InsparkTemplate,
3608
- TooltipComponent,
3609
- RadiobuttonComponent,
3610
- ObjectTreeComponent,
3611
- ContentToggleComponent,
3612
- InputGroupComponent,
3613
- ObjectPieComponent,
3614
- ],
3615
- exports: [
3616
- ButtonComponent,
3617
- InputTextComponent,
3618
- TextareaComponent,
3619
- PanelComponent,
3620
- ComponentContainerComponent,
3621
- CheckboxComponent,
3622
- DropdownComponentModule,
3623
- TableComponentModule,
3624
- TreeTableComponentModule,
3625
- EmptyComponent,
3626
- PreloaderComponent,
3627
- InsparkStickyComponent,
3628
- InsparkHeaderComponent,
3629
- ToolbarComponent,
3630
- BreadcrumbComponent,
3631
- FileComponent,
3632
- SelectButtonComponent,
3633
- ModalInputTextComponent,
3634
- SelectListComponent,
3635
- StatusCircleComponent,
3636
- SvgComponent,
3637
- SwitcherComponent,
3638
- MenuModule,
3639
- SliderModule,
3640
- InlineMessageComponent,
3641
- LinkComponent,
3642
- InsparkTemplate,
3643
- NgbModule,
3644
- TooltipComponent,
3645
- RadiobuttonComponent,
3646
- ObjectTreeComponent,
3647
- ContentToggleComponent,
3648
- ObjectPieComponent,
3649
- InputGroupComponent,
3650
- AutoCompleteComponentModule
3651
- ],
3652
- entryComponents: [SelectListComponent, ModalInputTextComponent],
3653
- schemas: [NO_ERRORS_SCHEMA]
3654
- }]
3655
- }] });
3656
-
3657
- /*
3658
- * Public API Surface of inspark-components
3659
- */
3660
-
3661
- /**
3662
- * Generated bundle index. Do not edit.
3663
- */
3664
-
3665
- 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 };
3666
- //# sourceMappingURL=inspark-inspark-components.mjs.map