ps-toolkit-ui 1.20.91 → 1.21.32

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 (169) hide show
  1. package/fesm2022/ps-toolkit-ui.mjs +9415 -0
  2. package/fesm2022/ps-toolkit-ui.mjs.map +1 -0
  3. package/package.json +16 -12
  4. package/types/ps-toolkit-ui.d.ts +1671 -0
  5. package/bundles/ps-toolkit-ui.umd.js +0 -10321
  6. package/bundles/ps-toolkit-ui.umd.js.map +0 -1
  7. package/bundles/ps-toolkit-ui.umd.min.js +0 -2
  8. package/bundles/ps-toolkit-ui.umd.min.js.map +0 -1
  9. package/esm2015/lib/classes/addModal.class.js +0 -36
  10. package/esm2015/lib/classes/chart.class.js +0 -165
  11. package/esm2015/lib/classes/currentDataClass.js +0 -17
  12. package/esm2015/lib/classes/enum.class.js +0 -253
  13. package/esm2015/lib/classes/excel.class.js +0 -56
  14. package/esm2015/lib/classes/form.class.js +0 -667
  15. package/esm2015/lib/classes/header.class.js +0 -16
  16. package/esm2015/lib/classes/helper.class.js +0 -650
  17. package/esm2015/lib/classes/lang.class.js +0 -35
  18. package/esm2015/lib/classes/login.class.js +0 -29
  19. package/esm2015/lib/classes/modal.class.js +0 -49
  20. package/esm2015/lib/classes/permission.class.js +0 -63
  21. package/esm2015/lib/classes/request.class.js +0 -155
  22. package/esm2015/lib/classes/safehtml.class.js +0 -17
  23. package/esm2015/lib/classes/safestyle.class.js +0 -17
  24. package/esm2015/lib/classes/sidebar.class.js +0 -16
  25. package/esm2015/lib/classes/steps.class.js +0 -45
  26. package/esm2015/lib/classes/string.class.js +0 -251
  27. package/esm2015/lib/classes/table.class.js +0 -593
  28. package/esm2015/lib/components/accordion/accordion.component.js +0 -45
  29. package/esm2015/lib/components/alert/alert.component.js +0 -39
  30. package/esm2015/lib/components/base.component.js +0 -54
  31. package/esm2015/lib/components/calendar/calendar.component.js +0 -98
  32. package/esm2015/lib/components/chart/chart.component.js +0 -17
  33. package/esm2015/lib/components/clock/clock.component.js +0 -33
  34. package/esm2015/lib/components/confirm/confirm.component.js +0 -50
  35. package/esm2015/lib/components/error/error.component.js +0 -26
  36. package/esm2015/lib/components/footer/footer.component.js +0 -23
  37. package/esm2015/lib/components/form/bank-card/form.bank-card.component.js +0 -200
  38. package/esm2015/lib/components/form/button/form.button.component.js +0 -68
  39. package/esm2015/lib/components/form/checkbox/form.checkbox.component.js +0 -67
  40. package/esm2015/lib/components/form/ckeditor/form.ckeditor.component.js +0 -90
  41. package/esm2015/lib/components/form/date/form.date.component.js +0 -314
  42. package/esm2015/lib/components/form/datetime/form.datetime.component.js +0 -106
  43. package/esm2015/lib/components/form/file/form.file.component.js +0 -124
  44. package/esm2015/lib/components/form/finger/form.finger.component.js +0 -140
  45. package/esm2015/lib/components/form/hidden/form.hidden.component.js +0 -31
  46. package/esm2015/lib/components/form/icon/form.icon.component.js +0 -84
  47. package/esm2015/lib/components/form/index/form.component.js +0 -51
  48. package/esm2015/lib/components/form/label/form.label.component.js +0 -32
  49. package/esm2015/lib/components/form/plaque/form.plaque.component.js +0 -258
  50. package/esm2015/lib/components/form/plaque/select/form.plaque.select.component.js +0 -468
  51. package/esm2015/lib/components/form/radio/form.radio.component.js +0 -82
  52. package/esm2015/lib/components/form/select/form.select.component.js +0 -452
  53. package/esm2015/lib/components/form/select/item/form.select.item.component.js +0 -27
  54. package/esm2015/lib/components/form/slide/form.slide.component.js +0 -84
  55. package/esm2015/lib/components/form/star/form.star.component.js +0 -66
  56. package/esm2015/lib/components/form/table/form.table.component.js +0 -96
  57. package/esm2015/lib/components/form/tag/form.tag.component.js +0 -100
  58. package/esm2015/lib/components/form/textarea/form.textarea.component.js +0 -83
  59. package/esm2015/lib/components/form/textbox/form.textbox.component.js +0 -227
  60. package/esm2015/lib/components/form/time/form.time.component.js +0 -149
  61. package/esm2015/lib/components/form/toggle/form.toggle.component.js +0 -72
  62. package/esm2015/lib/components/form/tree/form.tree.component.js +0 -157
  63. package/esm2015/lib/components/form/tree/item/form.tree.item.component.js +0 -50
  64. package/esm2015/lib/components/form/uploader/form.uploader.component.js +0 -159
  65. package/esm2015/lib/components/form/vehicle/form.vehicle.component.js +0 -104
  66. package/esm2015/lib/components/form/vehicle/search/form.vehicle.search.component.js +0 -237
  67. package/esm2015/lib/components/header/header.component.js +0 -28
  68. package/esm2015/lib/components/header/sub/sub.header.component.js +0 -14
  69. package/esm2015/lib/components/layout/layout.component.js +0 -18
  70. package/esm2015/lib/components/loading/loading.component.js +0 -22
  71. package/esm2015/lib/components/login/login.component.js +0 -159
  72. package/esm2015/lib/components/modal/modal.component.js +0 -25
  73. package/esm2015/lib/components/notfound/notfound.component.js +0 -29
  74. package/esm2015/lib/components/notification/notification.component.js +0 -14
  75. package/esm2015/lib/components/sidebar/item/sidebar.item.component.js +0 -55
  76. package/esm2015/lib/components/sidebar/sidebar.component.js +0 -98
  77. package/esm2015/lib/components/steps/steps.component.js +0 -88
  78. package/esm2015/lib/components/table/loading/table.loading.component.js +0 -17
  79. package/esm2015/lib/components/table/pagination/table.pagination.component.js +0 -84
  80. package/esm2015/lib/components/table/row/table.row.component.js +0 -450
  81. package/esm2015/lib/components/table/table.component.js +0 -240
  82. package/esm2015/lib/components/tooltip/tooltip.component.js +0 -19
  83. package/esm2015/lib/ps-toolkit-ui.module.js +0 -105
  84. package/esm2015/lib/services/config.service.js +0 -14
  85. package/esm2015/lib/services/sidebar.service.js +0 -21
  86. package/esm2015/ps-toolkit-ui.js +0 -21
  87. package/esm2015/public-api.js +0 -64
  88. package/fesm2015/ps-toolkit-ui.js +0 -8926
  89. package/fesm2015/ps-toolkit-ui.js.map +0 -1
  90. package/lib/classes/addModal.class.d.ts +0 -14
  91. package/lib/classes/chart.class.d.ts +0 -15
  92. package/lib/classes/currentDataClass.d.ts +0 -10
  93. package/lib/classes/enum.class.d.ts +0 -221
  94. package/lib/classes/excel.class.d.ts +0 -8
  95. package/lib/classes/form.class.d.ts +0 -193
  96. package/lib/classes/header.class.d.ts +0 -8
  97. package/lib/classes/helper.class.d.ts +0 -50
  98. package/lib/classes/lang.class.d.ts +0 -5
  99. package/lib/classes/login.class.d.ts +0 -21
  100. package/lib/classes/modal.class.d.ts +0 -19
  101. package/lib/classes/permission.class.d.ts +0 -35
  102. package/lib/classes/request.class.d.ts +0 -10
  103. package/lib/classes/safehtml.class.d.ts +0 -7
  104. package/lib/classes/safestyle.class.d.ts +0 -7
  105. package/lib/classes/sidebar.class.d.ts +0 -14
  106. package/lib/classes/steps.class.d.ts +0 -31
  107. package/lib/classes/string.class.d.ts +0 -249
  108. package/lib/classes/table.class.d.ts +0 -88
  109. package/lib/components/accordion/accordion.component.d.ts +0 -7
  110. package/lib/components/alert/alert.component.d.ts +0 -10
  111. package/lib/components/base.component.d.ts +0 -17
  112. package/lib/components/calendar/calendar.component.d.ts +0 -26
  113. package/lib/components/chart/chart.component.d.ts +0 -5
  114. package/lib/components/clock/clock.component.d.ts +0 -11
  115. package/lib/components/confirm/confirm.component.d.ts +0 -14
  116. package/lib/components/error/error.component.d.ts +0 -7
  117. package/lib/components/footer/footer.component.d.ts +0 -6
  118. package/lib/components/form/bank-card/form.bank-card.component.d.ts +0 -28
  119. package/lib/components/form/button/form.button.component.d.ts +0 -15
  120. package/lib/components/form/checkbox/form.checkbox.component.d.ts +0 -14
  121. package/lib/components/form/ckeditor/form.ckeditor.component.d.ts +0 -14
  122. package/lib/components/form/date/form.date.component.d.ts +0 -45
  123. package/lib/components/form/datetime/form.datetime.component.d.ts +0 -13
  124. package/lib/components/form/file/form.file.component.d.ts +0 -18
  125. package/lib/components/form/finger/form.finger.component.d.ts +0 -15
  126. package/lib/components/form/hidden/form.hidden.component.d.ts +0 -7
  127. package/lib/components/form/icon/form.icon.component.d.ts +0 -16
  128. package/lib/components/form/index/form.component.d.ts +0 -10
  129. package/lib/components/form/label/form.label.component.d.ts +0 -8
  130. package/lib/components/form/plaque/form.plaque.component.d.ts +0 -21
  131. package/lib/components/form/plaque/select/form.plaque.select.component.d.ts +0 -38
  132. package/lib/components/form/radio/form.radio.component.d.ts +0 -13
  133. package/lib/components/form/select/form.select.component.d.ts +0 -45
  134. package/lib/components/form/select/item/form.select.item.component.d.ts +0 -12
  135. package/lib/components/form/slide/form.slide.component.d.ts +0 -13
  136. package/lib/components/form/star/form.star.component.d.ts +0 -13
  137. package/lib/components/form/table/form.table.component.d.ts +0 -9
  138. package/lib/components/form/tag/form.tag.component.d.ts +0 -16
  139. package/lib/components/form/textarea/form.textarea.component.d.ts +0 -13
  140. package/lib/components/form/textbox/form.textbox.component.d.ts +0 -20
  141. package/lib/components/form/time/form.time.component.d.ts +0 -25
  142. package/lib/components/form/toggle/form.toggle.component.d.ts +0 -13
  143. package/lib/components/form/tree/form.tree.component.d.ts +0 -21
  144. package/lib/components/form/tree/item/form.tree.item.component.d.ts +0 -19
  145. package/lib/components/form/uploader/form.uploader.component.d.ts +0 -21
  146. package/lib/components/form/vehicle/form.vehicle.component.d.ts +0 -18
  147. package/lib/components/form/vehicle/search/form.vehicle.search.component.d.ts +0 -22
  148. package/lib/components/header/header.component.d.ts +0 -10
  149. package/lib/components/header/sub/sub.header.component.d.ts +0 -3
  150. package/lib/components/layout/layout.component.d.ts +0 -7
  151. package/lib/components/loading/loading.component.d.ts +0 -5
  152. package/lib/components/login/login.component.d.ts +0 -15
  153. package/lib/components/modal/modal.component.d.ts +0 -9
  154. package/lib/components/notfound/notfound.component.d.ts +0 -8
  155. package/lib/components/notification/notification.component.d.ts +0 -3
  156. package/lib/components/sidebar/item/sidebar.item.component.d.ts +0 -14
  157. package/lib/components/sidebar/sidebar.component.d.ts +0 -22
  158. package/lib/components/steps/steps.component.d.ts +0 -16
  159. package/lib/components/table/loading/table.loading.component.d.ts +0 -5
  160. package/lib/components/table/pagination/table.pagination.component.d.ts +0 -15
  161. package/lib/components/table/row/table.row.component.d.ts +0 -44
  162. package/lib/components/table/table.component.d.ts +0 -43
  163. package/lib/components/tooltip/tooltip.component.d.ts +0 -5
  164. package/lib/ps-toolkit-ui.module.d.ts +0 -4
  165. package/lib/services/config.service.d.ts +0 -6
  166. package/lib/services/sidebar.service.d.ts +0 -9
  167. package/ps-toolkit-ui.d.ts +0 -20
  168. package/ps-toolkit-ui.metadata.json +0 -1
  169. package/public-api.d.ts +0 -60
@@ -1,237 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { InputClass } from '../../../../classes/form.class';
3
- import { InputError, InputType, VehicleType } from '../../../../classes/enum.class';
4
- import { HelperClass } from '../../../../classes/helper.class';
5
- export class FormVehicleSearchComponent {
6
- constructor() {
7
- this.changeIndex = new EventEmitter();
8
- this.type = null;
9
- this.wsAuth = null;
10
- }
11
- get vehicleType() { return VehicleType; }
12
- ngOnInit() {
13
- var _a;
14
- this.type = this.inp.rows.find(_ => true);
15
- this.car = new InputClass(this.inp.environment, this.inp.l, this.inp.name + 'Item', 'fa-user', InputType.SelectAutoCompletePlaque, 'plaque-inp');
16
- this.motor = new InputClass(this.inp.environment, this.inp.l, this.inp.name + 'Item', 'fa-motorcycle', InputType.SelectAutoCompletePlaqueM, 'plaque-inp');
17
- this.carF = new InputClass(this.inp.environment, this.inp.l, this.inp.name + 'Item', 'fa-earth-asia', InputType.SelectAutoCompletePlaqueF, 'plaque-inp');
18
- this.carG = new InputClass(this.inp.environment, this.inp.l, this.inp.name + 'Item', 'fa-globe', InputType.SelectAutoCompletePlaqueG, 'plaque-inp');
19
- this.driver = new InputClass(this.inp.environment, this.inp.l, this.inp.name + 'Item', null, InputType.SelectAutoComplete, 'plaque-inp');
20
- this.driver.placeholder = this.inp.l('DriverName');
21
- this.fingerprint = new InputClass(this.inp.environment, this.inp.l, this.inp.name + 'Item', null, InputType.Select, 'plaque-inp');
22
- this.car.displayLabel = this.motor.displayLabel = this.carF.displayLabel = this.carG.displayLabel = this.driver.displayLabel = this.fingerprint.displayLabel = false;
23
- this.car.url = this.motor.url = this.carF.url = this.carG.url = this.driver.url = this.inp.url.replace('_{}', '_' + this.type);
24
- this.car.onChange = () => {
25
- this.inp.error = null;
26
- this.changeIndex.emit('Tab');
27
- if (this.inp.onChange) {
28
- this.inp.onChange(this.car.data());
29
- }
30
- };
31
- this.motor.onChange = () => {
32
- this.inp.error = null;
33
- this.changeIndex.emit('Tab');
34
- if (this.inp.onChange) {
35
- this.inp.onChange(this.motor.data());
36
- }
37
- };
38
- this.carF.onChange = () => {
39
- this.inp.error = null;
40
- this.changeIndex.emit('Tab');
41
- if (this.inp.onChange) {
42
- this.inp.onChange(this.carF.data());
43
- }
44
- };
45
- this.carG.onChange = () => {
46
- this.inp.error = null;
47
- this.changeIndex.emit('Tab');
48
- if (this.inp.onChange) {
49
- this.inp.onChange(this.carG.data());
50
- }
51
- };
52
- this.driver.onChange = (e) => {
53
- this.inp.error = null;
54
- if (e.value != null) {
55
- this.changeIndex.emit('Tab');
56
- if (this.inp.onChange) {
57
- this.inp.onChange(this.driver.data());
58
- }
59
- }
60
- };
61
- this.fingerprint.onChange = () => {
62
- this.inp.error = null;
63
- this.changeIndex.emit('Tab');
64
- if (this.inp.onChange) {
65
- this.inp.onChange(this.fingerprint.data());
66
- }
67
- };
68
- this.fingerprint.disabled = true;
69
- this.fingerprint.placeholder = this.inp.l('LoadingText', 'Waiting');
70
- this.inp.setValue = (v, isEdit = false) => {
71
- if (v != null && v.Search) {
72
- this.changeType(v.Type, isEdit);
73
- setTimeout(() => {
74
- if (v.Type === VehicleType.Motorcycle) {
75
- this.motor.setValue(v.Value, false);
76
- this.motor.setSearch(v.Search);
77
- }
78
- else if (v.Type === VehicleType.CarF) {
79
- this.carF.setValue(v.Value, false);
80
- this.carF.setSearch(v.Search);
81
- }
82
- else if (v.Type === VehicleType.Car) {
83
- this.car.setValue(v.Value, false);
84
- this.car.setSearch(v.Search);
85
- }
86
- else if (v.Type === VehicleType.CarG) {
87
- this.carG.setValue(v.Value, false);
88
- this.carG.setSearch(v.Search);
89
- }
90
- else if (v.Type === VehicleType.Driver) {
91
- this.driver.setValue(v.Value, false);
92
- this.driver.setSearch(v.Search);
93
- }
94
- });
95
- }
96
- };
97
- this.inp.focus = () => {
98
- this.onFocusIn();
99
- };
100
- this.inp.isValid = () => {
101
- this.inp.error = null;
102
- if (this.inp.required && this.type === VehicleType.Car && !this.car.isValid()) {
103
- this.inp.error = InputError.Required;
104
- return false;
105
- }
106
- if (this.inp.required && this.type === VehicleType.Motorcycle && !this.motor.isValid()) {
107
- this.inp.error = InputError.Required;
108
- return false;
109
- }
110
- if (this.inp.required && this.type === VehicleType.CarF && !this.carF.isValid()) {
111
- this.inp.error = InputError.Required;
112
- return false;
113
- }
114
- if (this.inp.required && this.type === VehicleType.CarG && !this.carG.isValid()) {
115
- this.inp.error = InputError.Required;
116
- return false;
117
- }
118
- if (this.inp.required && this.type === VehicleType.Driver && !this.driver.isValid()) {
119
- this.inp.error = InputError.Required;
120
- return false;
121
- }
122
- if (this.inp.required && this.type === VehicleType.Fingerprint && !this.fingerprint.isValid()) {
123
- this.inp.error = InputError.Required;
124
- return false;
125
- }
126
- return true;
127
- };
128
- this.inp.clear = () => {
129
- this.inp.error = null;
130
- this.inp.setValue(null, false);
131
- this.changeType(VehicleType.Car);
132
- this.car.clear();
133
- this.motor.clear();
134
- this.carF.clear();
135
- this.carG.clear();
136
- this.driver.clear();
137
- this.fingerprint.clear();
138
- };
139
- this.inp.data = () => {
140
- const d = this.type === VehicleType.Car ? this.car.data() :
141
- this.type === VehicleType.Motorcycle ? this.motor.data() :
142
- this.type === VehicleType.CarF ? this.carF.data() :
143
- this.type === VehicleType.CarG ? this.carG.data() :
144
- this.type === VehicleType.Driver ? this.driver.data() :
145
- this.type === VehicleType.Fingerprint ? this.fingerprint.data() : null;
146
- const r = {};
147
- r[this.inp.name] = d[this.inp.name + 'Item'];
148
- r[this.inp.name + 'Name'] = d[this.inp.name + 'ItemName'];
149
- r.Type = this.type;
150
- return r;
151
- };
152
- if (this.inp.addModal) {
153
- if ((_a = this.inp.addModal.form) === null || _a === void 0 ? void 0 : _a.permission) {
154
- this.addIcon = new InputClass(this.inp.environment, this.inp.l, 'Add' + this.inp.name, 'fad fa-plus', InputType.Icon, 'blue m-b-2');
155
- this.addIcon.onClick = () => {
156
- this.inp.addModal.show();
157
- };
158
- }
159
- }
160
- }
161
- changeType(t, isEdit = false) {
162
- this.type = t;
163
- if (this.wsAuth != null) {
164
- this.wsAuth.close();
165
- }
166
- if (t === VehicleType.Fingerprint) {
167
- this.fingerprint.loading = true;
168
- this.fingerprint.placeholder = this.inp.l('LoadingText', 'Waiting');
169
- this.fingerprint.value = null;
170
- this.fingerprint.search = null;
171
- this.wsAuth = new WebSocket('ws://localhost:7890/Auth');
172
- this.wsAuth.onopen = () => {
173
- };
174
- this.wsAuth.onmessage = (evt) => {
175
- if (this.wsAuth != null) {
176
- this.wsAuth.close();
177
- }
178
- if (evt.data === 'Notfound') {
179
- HelperClass.addNotification(this.inp.l('NotfoundTitle'));
180
- this.fingerprint.placeholder = this.inp.l('NotfoundTitle');
181
- this.fingerprint.value = null;
182
- this.fingerprint.search = null;
183
- this.fingerprint.loading = false;
184
- }
185
- else if (evt.data.startsWith('Error')) {
186
- HelperClass.addNotification(evt.data);
187
- this.fingerprint.placeholder = this.inp.l('NotfoundTitle');
188
- this.fingerprint.value = null;
189
- this.fingerprint.search = null;
190
- this.fingerprint.loading = false;
191
- }
192
- else {
193
- const user = JSON.parse(evt.data);
194
- this.fingerprint.value = user.Id;
195
- this.fingerprint.search = user.Name;
196
- this.fingerprint.loading = false;
197
- }
198
- this.wsAuth.close();
199
- this.wsAuth = null;
200
- };
201
- this.wsAuth.onclose = () => {
202
- };
203
- }
204
- this.car.url = this.motor.url = this.carF.url = this.carG.url = this.driver.url = this.inp.url.replace('_{}', '_' + this.type);
205
- if (!isEdit) {
206
- this.onFocusIn();
207
- }
208
- }
209
- onFocusIn() {
210
- if (this.type === VehicleType.Car || this.type === VehicleType.Motorcycle || this.type === VehicleType.CarF || this.type === VehicleType.CarG) {
211
- setTimeout(() => {
212
- $('#' + this.inp.id + 'VehicleSearchInput .plaque-inp').click();
213
- $('#' + this.inp.id + 'VehicleSearchInput #Part1TextInput .control').focus();
214
- }, 100);
215
- }
216
- else if (this.type === VehicleType.Driver) {
217
- this.driver.focus();
218
- }
219
- else if (this.type === VehicleType.Fingerprint) {
220
- this.fingerprint.focus();
221
- }
222
- }
223
- }
224
- FormVehicleSearchComponent.decorators = [
225
- { type: Component, args: [{
226
- selector: 'lib-form-vehicle-search',
227
- template: "<div #inputDiv [id]=\"inp.id + 'VehicleSearchInput'\" [style]=\"inp.style\" [className]=\"inp.class + (inp.error == null ? '' : ' error') + (inp.icon != null ? '' : ' without-icon') + (inp.addModal != null ? ' add-modal' : '') + ' form-input-con w-100 vehicle-search'\">\r\n <div class=\"form-input\">\r\n <div class=\"label\">\r\n <i *ngIf=\"inp.required\" class=\"f-r fas fa-star-of-life required-icon\"></i>\r\n <i *ngIf=\"inp.rows.includes(vehicleType.Car)\" [className]=\"(type == vehicleType.Car ? 'active ' : '') + 'change-type-btn fas fa-car'\" (click)=\"changeType(vehicleType.Car)\"></i>\r\n <i *ngIf=\"inp.rows.includes(vehicleType.Motorcycle)\" [className]=\"(type == vehicleType.Motorcycle ? 'active ' : '') + 'change-type-btn fas fa-motorcycle'\" (click)=\"changeType(vehicleType.Motorcycle)\"></i>\r\n <i *ngIf=\"inp.rows.includes(vehicleType.Driver)\" [className]=\"(type == vehicleType.Driver ? 'active ' : '') + 'change-type-btn fas fa-user'\" (click)=\"changeType(vehicleType.Driver)\"></i>\r\n <i *ngIf=\"inp.rows.includes(vehicleType.Fingerprint)\" [className]=\"(type == vehicleType.Fingerprint ? 'active ' : '') + 'change-type-btn fas fa-fingerprint'\" (click)=\"changeType(vehicleType.Fingerprint)\"></i>\r\n <i *ngIf=\"inp.rows.includes(vehicleType.CarF)\" [className]=\"(type == vehicleType.CarF ? 'active ' : '') + 'change-type-btn fas fa-earth-asia'\" (click)=\"changeType(vehicleType.CarF)\"></i>\r\n <i *ngIf=\"inp.rows.includes(vehicleType.CarG)\" [className]=\"(type == vehicleType.CarG ? 'active ' : '') + 'change-type-btn fas fa-earth-asia'\" (click)=\"changeType(vehicleType.CarG)\"></i>\r\n </div>\r\n <div class=\"w-100 p-r\">\r\n <lib-form-plaque-select (changeIndex)=\"changeIndex.emit($event)\" [inp]=\"car\" *ngIf=\"type === vehicleType.Car\"></lib-form-plaque-select>\r\n <lib-form-plaque-select (changeIndex)=\"changeIndex.emit($event)\" [inp]=\"motor\" *ngIf=\"type === vehicleType.Motorcycle\"></lib-form-plaque-select>\r\n <lib-form-plaque-select (changeIndex)=\"changeIndex.emit($event)\" [inp]=\"carF\" *ngIf=\"type === vehicleType.CarF\"></lib-form-plaque-select>\r\n <lib-form-plaque-select (changeIndex)=\"changeIndex.emit($event)\" [inp]=\"carG\" *ngIf=\"type === vehicleType.CarG\"></lib-form-plaque-select>\r\n <lib-form-select (changeIndex)=\"changeIndex.emit($event)\" [inp]=\"driver\" *ngIf=\"type === vehicleType.Driver\"></lib-form-select>\r\n <lib-form-select (changeIndex)=\"changeIndex.emit($event)\" [inp]=\"fingerprint\" *ngIf=\"type === vehicleType.Fingerprint\"></lib-form-select>\r\n </div>\r\n </div>\r\n <lib-form-icon *ngIf=\"addIcon != null\" [inp]=\"addIcon\"></lib-form-icon>\r\n</div>\r\n<lib-modal *ngIf=\"inp.addModal != null\" [modal]=\"inp.addModal\"></lib-modal>\r\n",
228
- styles: [".form-input-con.vehicle-search{align-items:end;display:flex;float:right;justify-content:center;position:relative}.form-input-con.vehicle-search .form-input{float:right;position:relative;width:198px}.form-input-con.vehicle-search .form-input .label{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;direction:rtl;float:right;font-size:12px;height:20px;line-height:20px;margin-bottom:3px;padding:0 10px;text-align:right;width:100%}.form-input-con.vehicle-search.error .form-input .label{color:var(--red);font-size:10px}.form-input-con.vehicle-search .form-input .label .required-icon{color:var(--red);font-size:9px;height:20px;line-height:20px;text-align:center;width:20px}.form-input-con.vehicle-search .form-input .label .change-type-btn{cursor:pointer;float:right;font-size:16px;height:20px;line-height:20px;text-align:center;width:30px}.form-input-con.vehicle-search .form-input .label .change-type-btn.fa-user{font-size:14px;line-height:18px}.form-input-con.vehicle-search .form-input .label .change-type-btn.active,.form-input-con.vehicle-search .form-input .label .change-type-btn:hover{color:var(--primary)}.form-input-con.vehicle-search .form-input .control{background-color:#fff;background-image:none;border:none;border-radius:var(--border-radius-base);box-shadow:0 1px 3px 0 rgba(0,0,0,.4);color:var(--black);display:block;font-size:11px;height:35px;padding:5px 35px;position:relative;text-align:center;width:100%;z-index:2}.form-input-con.vehicle-search .form-input .control:focus,.form-input-con.vehicle-search:hover .form-input .control{box-shadow:0 1px 5px 0 rgba(0,0,0,.7)}.form-input-con.vehicle-search .form-input span.icon{bottom:0;color:var(--primary);cursor:text;font-size:14px;height:35px;left:0;line-height:38px;position:absolute;text-align:center;transition:all .35s ease-in-out;width:35px;z-index:2}.form-input-con.vehicle-search .form-input span.icon.button{background-color:var(--base);border-radius:var(--border-radius-base) 0 0 var(--border-radius-base);color:#fff;cursor:pointer}.form-input-con.vehicle-search .form-input span.icon.button:hover{background-color:var(--base-dark)}.form-input-con.vehicle-search .form-input span.icon.button.blue{background-color:var(--blue)}.form-input-con.vehicle-search .form-input span.icon.button.blue:hover{background-color:var(--blue-dark)}.form-input-con.vehicle-search .form-input span.icon.button.green{background-color:var(--green)}.form-input-con.vehicle-search .form-input span.icon.button.green:hover{background-color:var(--green-dark)}.form-input-con.vehicle-search .form-input span.icon.button.red{background-color:var(--red)}.form-input-con.vehicle-search .form-input span.icon.button.red:hover{background-color:var(--red-dark)}.form-input-con.vehicle-search .form-input span.icon.button.yellow{background-color:var(--yellow)}.form-input-con.vehicle-search .form-input span.icon.button.yellow:hover{background-color:var(--yellow-dark)}.form-input-con.vehicle-search.disabled .form-input .control,.form-input-con.vehicle-search.disabled .form-input .label,.form-input-con.vehicle-search.disabled .form-input span.icon{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-shadow:unset;cursor:default;filter:blur(.5px);opacity:.7}.form-input-con.vehicle-search.error .form-input .control{box-shadow:0 1px 3px 0 var(--red)}.form-input-con.vehicle-search.error .form-input .control,.form-input-con.vehicle-search.error .form-input span.icon{color:var(--red-light)}.form-input-con.vehicle-search .form-input .progress{background-color:var(--primary);border-radius:var(--border-radius-base);bottom:0;height:3px;line-height:3px;position:absolute;right:0;transition:width .5s ease-in-out;width:100%;z-index:2}.form-input-con.vehicle-search.without-icon .form-input .control{padding:5px 10px}.form-input-con.vehicle-search.h-50 .form-input .control{height:50px}.form-input-con.vehicle-search.h-50 .form-input span.icon{height:50px;line-height:50px}.form-input-con.vehicle-search.h-45 .form-input .control{height:45px}.form-input-con.vehicle-search.h-45 .form-input span.icon{height:45px;line-height:45px}.form-input-con.vehicle-search.h-30 .form-input .control{font-size:10px;height:30px;padding:0}.form-input-con.vehicle-search.h-30 .form-input span.icon{height:30px;line-height:30px}.form-input-con.vehicle-search.h-35 .form-input{height:35px}.form-input-con.vehicle-search.h-35 .form-input .control{height:35px;padding:0 35px}.form-input-con.vehicle-search.h-35 .form-input span.icon{height:35px;line-height:35px}.form-input-con.vehicle-search.h-25 .form-input .control{height:25px;padding:0}.form-input-con.vehicle-search.h-25 .form-input span.icon{height:25px;line-height:25px}.form-input-con.vehicle-search.table-search .form-input{float:right;margin-right:10%;margin-top:4px;width:80%}.form-input-con.vehicle-search.h-22 .form-input .control{height:22px;padding:0}.form-input-con.vehicle-search.h-22 .form-input span.icon{height:22px;line-height:22px}.form-input-con.vehicle-search.plaque-part-1 .form-input{float:left;padding:0!important;width:35px!important}.form-input-con.vehicle-search.plaque-part-1 .form-input .plaque-part-m{width:49px!important}.form-input-con.vehicle-search.plaque-part-3 .form-input{float:left;padding:0!important;width:49px!important}.form-input-con.vehicle-search.plaque-part-3 .form-input .plaque-part-m{width:69px!important}.form-input-con.vehicle-search.plaque-part-4 .form-input{float:left;margin-top:10px;padding:0!important;width:34px!important}.form-input-con.vehicle-search.plaque-part-4 .form-input .control{height:25px!important}.form-input-con.vehicle-search.plaque-part-4 .form-input .plaque-part-m{display:none!important}.form-input-con.vehicle-search.bank-card-part-item .form-input{float:left;padding:0!important;width:25%}.form-input-con.vehicle-search.bank-card-part-item .form-input :not(.bank-card-part-4):after{content:\"\\f068\";font-family:Font Awesome\\ 5 Free;font-size:6px;font-weight:900;height:20px;line-height:20px;position:absolute;right:-10px;text-align:center;top:calc(50% - 10px);width:20px}.form-input-con.vehicle-search.bank-card-part-item .form-input .control{background-color:initial!important;box-shadow:unset!important;font-size:13px!important;padding:0!important}"]
229
- },] }
230
- ];
231
- FormVehicleSearchComponent.ctorParameters = () => [];
232
- FormVehicleSearchComponent.propDecorators = {
233
- inp: [{ type: Input }],
234
- changeIndex: [{ type: Output }],
235
- inputDiv: [{ type: ViewChild, args: ['inputDiv',] }]
236
- };
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS52ZWhpY2xlLnNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiRDovUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZm9ybS92ZWhpY2xlL3NlYXJjaC9mb3JtLnZlaGljbGUuc2VhcmNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUQsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBTzdELE1BQU0sT0FBTywwQkFBMEI7SUFnQnJDO1FBWkEsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3pDLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBUXpCLFdBQU0sR0FBRyxJQUFJLENBQUM7SUFJZCxDQUFDO0lBSEQsSUFBSSxXQUFXLEtBQXlCLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQztJQUk3RCxRQUFROztRQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxNQUFNLEVBQ2hGLFNBQVMsRUFBRSxTQUFTLENBQUMsd0JBQXdCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxNQUFNLEVBQ2xGLGVBQWUsRUFBRSxTQUFTLENBQUMseUJBQXlCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxNQUFNLEVBQ2pGLGVBQWUsRUFBRSxTQUFTLENBQUMseUJBQXlCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxNQUFNLEVBQ2pGLFVBQVUsRUFBRSxTQUFTLENBQUMseUJBQXlCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxNQUFNLEVBQ25GLElBQUksRUFBRSxTQUFTLENBQUMsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFVBQVUsQ0FB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QUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxVQUFVLEVBQUM7d0JBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7d0JBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztxQkFDaEM7eUJBQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxJQUFJLEVBQUU7d0JBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7d0JBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztxQkFDL0I7eUJBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxHQUFHLEVBQUM7d0JBQ25DLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7d0JBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztxQkFDOUI7eUJBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxJQUFJLEVBQUM7d0JBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7d0JBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztxQkFDL0I7eUJBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxNQUFNLEVBQUM7d0JBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7d0JBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMs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SW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0lucHV0Q2xhc3N9IGZyb20gJy4uLy4uLy4uLy4uL2NsYXNzZXMvZm9ybS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRFcnJvciwgSW5wdXRUeXBlLCBWZWhpY2xlVHlwZX0gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9lbnVtLmNsYXNzJztcclxuaW1wb3J0IHtIZWxwZXJDbGFzc30gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9oZWxwZXIuY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZm9ybS12ZWhpY2xlLXNlYXJjaCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0udmVoaWNsZS5zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm0udmVoaWNsZS5zZWFyY2guY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtVmVoaWNsZVNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KClcclxuICBpbnA6IElucHV0Q2xhc3M7XHJcbiAgQE91dHB1dCgpXHJcbiAgY2hhbmdlSW5kZXggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICB0eXBlOiBWZWhpY2xlVHlwZSA9IG51bGw7XHJcbiAgY2FyOiBJbnB1dENsYXNzO1xyXG4gIG1vdG9yOiBJbnB1dENsYXNzO1xyXG4gIGNhckY6IElucHV0Q2xhc3M7XHJcbiAgY2FyRzogSW5wdXRDbGFzcztcclxuICBkcml2ZXI6IElucHV0Q2xhc3M7XHJcbiAgZmluZ2VycHJpbnQ6IElucHV0Q2xhc3M7XHJcbiAgYWRkSWNvbjogSW5wdXRDbGFzcztcclxuICB3c0F1dGggPSBudWxsO1xyXG4gIGdldCB2ZWhpY2xlVHlwZSgpOiB0eXBlb2YgVmVoaWNsZVR5cGUgeyByZXR1cm4gVmVoaWNsZVR5cGU7IH1cclxuICBAVmlld0NoaWxkKCdpbnB1dERpdicpIGlucHV0RGl2OiBFbGVtZW50UmVmO1xyXG4gIGNvbnN0cnVjdG9yKCl7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50eXBlID0gdGhpcy5pbnAucm93cy5maW5kKF8gPT4gdHJ1ZSk7XHJcbiAgICB0aGlzLmNhciA9IG5ldyBJbnB1dENsYXNzKHRoaXMuaW5wLmVudmlyb25tZW50LCB0aGlzLmlucC5sLCB0aGlzLmlucC5uYW1lICsgJ0l0ZW0nLFxyXG4gICAgICAnZmEtdXNlcicsIElucHV0VHlwZS5TZWxlY3RBdXRvQ29tcGxldGVQbGFxdWUsICdwbGFxdWUtaW5wJyk7XHJcbiAgICB0aGlzLm1vdG9yID0gbmV3IElucHV0Q2xhc3ModGhpcy5pbnAuZW52aXJvbm1lbnQsIHRoaXMuaW5wLmwsIHRoaXMuaW5wLm5hbWUgKyAnSXRlbScsXHJcbiAgICAgICdmYS1tb3RvcmN5Y2xlJywgSW5wdXRUeXBlLlNlbGVjdEF1dG9Db21wbGV0ZVBsYXF1ZU0sICdwbGFxdWUtaW5wJyk7XHJcbiAgICB0aGlzLmNhckYgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmlucC5lbnZpcm9ubWVudCwgdGhpcy5pbnAubCwgdGhpcy5pbnAubmFtZSArICdJdGVtJyxcclxuICAgICAgJ2ZhLWVhcnRoLWFzaWEnLCBJbnB1dFR5cGUuU2VsZWN0QXV0b0NvbXBsZXRlUGxhcXVlRiwgJ3BsYXF1ZS1pbnAnKTtcclxuICAgIHRoaXMuY2FyRyA9IG5ldyBJbnB1dENsYXNzKHRoaXMuaW5wLmVudmlyb25tZW50LCB0aGlzLmlucC5sLCB0aGlzLmlucC5uYW1lICsgJ0l0ZW0nLFxyXG4gICAgICAnZmEtZ2xvYmUnLCBJbnB1dFR5cGUuU2VsZWN0QXV0b0NvbXBsZXRlUGxhcXVlRywgJ3BsYXF1ZS1pbnAnKTtcclxuICAgIHRoaXMuZHJpdmVyID0gbmV3IElucHV0Q2xhc3ModGhpcy5pbnAuZW52aXJvbm1lbnQsIHRoaXMuaW5wLmwsIHRoaXMuaW5wLm5hbWUgKyAnSXRlbScsXHJcbiAgICAgIG51bGwsIElucHV0VHlwZS5TZWxlY3RBdXRvQ29tcGxldGUsICdwbGFxdWUtaW5wJyk7XHJcbiAgICB0aGlzLmRyaXZlci5wbGFjZWhvbGRlciA9IHRoaXMuaW5wLmwoJ0RyaXZlck5hbWUnKTtcclxuICAgIHRoaXMuZmluZ2VycHJpbnQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmlucC5lbnZpcm9ubWVudCwgdGhpcy5pbnAubCwgdGhpcy5pbnAubmFtZSArICdJdGVtJywgbnVsbCwgSW5wdXRUeXBlLlNlbGVjdCwgJ3BsYXF1ZS1pbnAnKTtcclxuICAgIHRoaXMuY2FyLmRpc3BsYXlMYWJlbCA9IHRoaXMubW90b3IuZGlzcGxheUxhYmVsID0gdGhpcy5jYXJGLmRpc3BsYXlMYWJlbCA9IHRoaXMuY2FyRy5kaXNwbGF5TGFiZWwgPSB0aGlzLmRyaXZlci5kaXNwbGF5TGFiZWwgPSB0aGlzLmZpbmdlcnByaW50LmRpc3BsYXlMYWJlbCA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXIudXJsID0gdGhpcy5tb3Rvci51cmwgPSB0aGlzLmNhckYudXJsID0gdGhpcy5jYXJHLnVybCA9IHRoaXMuZHJpdmVyLnVybCA9IHRoaXMuaW5wLnVybC5yZXBsYWNlKCdfe30nLCAnXycgKyB0aGlzLnR5cGUpO1xyXG4gICAgdGhpcy5jYXIub25DaGFuZ2UgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wLmVycm9yID0gbnVsbDtcclxuICAgICAgdGhpcy5jaGFuZ2VJbmRleC5lbWl0KCdUYWInKTtcclxuICAgICAgaWYgKHRoaXMuaW5wLm9uQ2hhbmdlKXtcclxuICAgICAgICB0aGlzLmlucC5vbkNoYW5nZSh0aGlzLmNhci5kYXRhKCkpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5tb3Rvci5vbkNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gICAgICB0aGlzLmNoYW5nZUluZGV4LmVtaXQoJ1RhYicpO1xyXG4gICAgICBpZiAodGhpcy5pbnAub25DaGFuZ2Upe1xyXG4gICAgICAgIHRoaXMuaW5wLm9uQ2hhbmdlKHRoaXMubW90b3IuZGF0YSgpKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMuY2FyRi5vbkNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gICAgICB0aGlzLmNoYW5nZUluZGV4LmVtaXQoJ1RhYicpO1xyXG4gICAgICBpZiAodGhpcy5pbnAub25DaGFuZ2Upe1xyXG4gICAgICAgIHRoaXMuaW5wLm9uQ2hhbmdlKHRoaXMuY2FyRi5kYXRhKCkpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5jYXJHLm9uQ2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmlucC5lcnJvciA9IG51bGw7XHJcbiAgICAgIHRoaXMuY2hhbmdlSW5kZXguZW1pdCgnVGFiJyk7XHJcbiAgICAgIGlmICh0aGlzLmlucC5vbkNoYW5nZSl7XHJcbiAgICAgICAgdGhpcy5pbnAub25DaGFuZ2UodGhpcy5jYXJHLmRhdGEoKSk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aGlzLmRyaXZlci5vbkNoYW5nZSA9IChlKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wLmVycm9yID0gbnVsbDtcclxuICAgICAgaWYgKGUudmFsdWUgIT0gbnVsbCl7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VJbmRleC5lbWl0KCdUYWInKTtcclxuICAgICAgICBpZiAodGhpcy5pbnAub25DaGFuZ2Upe1xyXG4gICAgICAgICAgdGhpcy5pbnAub25DaGFuZ2UodGhpcy5kcml2ZXIuZGF0YSgpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aGlzLmZpbmdlcnByaW50Lm9uQ2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmlucC5lcnJvciA9IG51bGw7XHJcbiAgICAgIHRoaXMuY2hhbmdlSW5kZXguZW1pdCgnVGFiJyk7XHJcbiAgICAgIGlmICh0aGlzLmlucC5vbkNoYW5nZSl7XHJcbiAgICAgICAgdGhpcy5pbnAub25DaGFuZ2UodGhpcy5maW5nZXJwcmludC5kYXRhKCkpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5maW5nZXJwcmludC5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICB0aGlzLmZpbmdlcnByaW50LnBsYWNlaG9sZGVyID0gdGhpcy5pbnAubCgnTG9hZGluZ1RleHQnLCAnV2FpdGluZycpO1xyXG4gICAgdGhpcy5pbnAuc2V0VmFsdWUgPSAodiwgaXNFZGl0ID0gZmFsc2UpID0+IHtcclxuICAgICAgaWYgKHYgIT0gbnVsbCAmJiB2LlNlYXJjaCl7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VUeXBlKHYuVHlwZSwgaXNFZGl0KTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIGlmICh2LlR5cGUgPT09IFZlaGljbGVUeXBlLk1vdG9yY3ljbGUpe1xyXG4gICAgICAgICAgICB0aGlzLm1vdG9yLnNldFZhbHVlKHYuVmFsdWUsIGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5tb3Rvci5zZXRTZWFyY2godi5TZWFyY2gpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh2LlR5cGUgPT09IFZlaGljbGVUeXBlLkNhckYpIHtcclxuICAgICAgICAgICAgdGhpcy5jYXJGLnNldFZhbHVlKHYuVmFsdWUsIGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5jYXJGLnNldFNlYXJjaCh2LlNlYXJjaCk7XHJcbiAgICAgICAgICB9ZWxzZSBpZiAodi5UeXBlID09PSBWZWhpY2xlVHlwZS5DYXIpe1xyXG4gICAgICAgICAgICB0aGlzLmNhci5zZXRWYWx1ZSh2LlZhbHVlLCBmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMuY2FyLnNldFNlYXJjaCh2LlNlYXJjaCk7XHJcbiAgICAgICAgICB9ZWxzZSBpZiAodi5UeXBlID09PSBWZWhpY2xlVHlwZS5DYXJHKXtcclxuICAgICAgICAgICAgdGhpcy5jYXJHLnNldFZhbHVlKHYuVmFsdWUsIGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5jYXJHLnNldFNlYXJjaCh2LlNlYXJjaCk7XHJcbiAgICAgICAgICB9ZWxzZSBpZiAodi5UeXBlID09PSBWZWhpY2xlVHlwZS5Ecml2ZXIpe1xyXG4gICAgICAgICAgICB0aGlzLmRyaXZlci5zZXRWYWx1ZSh2LlZhbHVlLCBmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMuZHJpdmVyLnNldFNlYXJjaCh2LlNlYXJjaCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aGlzLmlucC5mb2N1cyA9ICgpID0+IHtcclxuICAgICAgdGhpcy5vbkZvY3VzSW4oKTtcclxuICAgIH07XHJcbiAgICB0aGlzLmlucC5pc1ZhbGlkID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmlucC5lcnJvciA9IG51bGw7XHJcbiAgICAgIGlmICh0aGlzLmlucC5yZXF1aXJlZCAmJiB0aGlzLnR5cGUgPT09IFZlaGljbGVUeXBlLkNhciAmJiAhdGhpcy5jYXIuaXNWYWxpZCgpKSB7XHJcbiAgICAgICAgdGhpcy5pbnAuZXJyb3IgPSBJbnB1dEVycm9yLlJlcXVpcmVkO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5pbnAucmVxdWlyZWQgJiYgdGhpcy50eXBlID09PSBWZWhpY2xlVHlwZS5Nb3RvcmN5Y2xlICYmICF0aGlzLm1vdG9yLmlzVmFsaWQoKSkge1xyXG4gICAgICAgIHRoaXMuaW5wLmVycm9yID0gSW5wdXRFcnJvci5SZXF1aXJlZDtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuaW5wLnJlcXVpcmVkICYmIHRoaXMudHlwZSA9PT0gVmVoaWNsZVR5cGUuQ2FyRiAmJiAhdGhpcy5jYXJGLmlzVmFsaWQoKSkge1xyXG4gICAgICAgIHRoaXMuaW5wLmVycm9yID0gSW5wdXRFcnJvci5SZXF1aXJlZDtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuaW5wLnJlcXVpcmVkICYmIHRoaXMudHlwZSA9PT0gVmVoaWNsZVR5cGUuQ2FyRyAmJiAhdGhpcy5jYXJHLmlzVmFsaWQoKSkge1xyXG4gICAgICAgIHRoaXMuaW5wLmVycm9yID0gSW5wdXRFcnJvci5SZXF1aXJlZDtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuaW5wLnJlcXVpcmVkICYmIHRoaXMudHlwZSA9PT0gVmVoaWNsZVR5cGUuRHJpdmVyICYmICF0aGlzLmRyaXZlci5pc1ZhbGlkKCkpIHtcclxuICAgICAgICB0aGlzLmlucC5lcnJvciA9IElucHV0RXJyb3IuUmVxdWlyZWQ7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmlucC5yZXF1aXJlZCAmJiB0aGlzLnR5cGUgPT09IFZlaGljbGVUeXBlLkZpbmdlcnByaW50ICYmICF0aGlzLmZpbmdlcnByaW50LmlzVmFsaWQoKSkge1xyXG4gICAgICAgIHRoaXMuaW5wLmVycm9yID0gSW5wdXRFcnJvci5SZXF1aXJlZDtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuY2xlYXIgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wLmVycm9yID0gbnVsbDtcclxuICAgICAgdGhpcy5pbnAuc2V0VmFsdWUobnVsbCwgZmFsc2UpO1xyXG4gICAgICB0aGlzLmNoYW5nZVR5cGUoVmVoaWNsZVR5cGUuQ2FyKTtcclxuICAgICAgdGhpcy5jYXIuY2xlYXIoKTtcclxuICAgICAgdGhpcy5tb3Rvci5jbGVhcigpO1xyXG4gICAgICB0aGlzLmNhckYuY2xlYXIoKTtcclxuICAgICAgdGhpcy5jYXJHLmNsZWFyKCk7XHJcbiAgICAgIHRoaXMuZHJpdmVyLmNsZWFyKCk7XHJcbiAgICAgIHRoaXMuZmluZ2VycHJpbnQuY2xlYXIoKTtcclxuICAgIH07XHJcbiAgICB0aGlzLmlucC5kYXRhID0gKCkgPT4ge1xyXG4gICAgICBjb25zdCBkID0gdGhpcy50eXBlID09PSBWZWhpY2xlVHlwZS5DYXIgPyB0aGlzLmNhci5kYXRhKCkgOlxyXG4gICAgICAgIHRoaXMudHlwZSA9PT0gVmVoaWNsZVR5cGUuTW90b3JjeWNsZSA/IHRoaXMubW90b3IuZGF0YSgpIDpcclxuICAgICAgICAgIHRoaXMudHlwZSA9PT0gVmVoaWNsZVR5cGUuQ2FyRiA/IHRoaXMuY2FyRi5kYXRhKCkgOlxyXG4gICAgICAgICAgICB0aGlzLnR5cGUgPT09IFZlaGljbGVUeXBlLkNhckcgPyB0aGlzLmNhckcuZGF0YSgpIDpcclxuICAgICAgICAgICAgICB0aGlzLnR5cGUgPT09IFZlaGljbGVUeXBlLkRyaXZlciA/IHRoaXMuZHJpdmVyLmRhdGEoKSA6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnR5cGUgPT09IFZlaGljbGVUeXBlLkZpbmdlcnByaW50ID8gdGhpcy5maW5nZXJwcmludC5kYXRhKCkgOiBudWxsO1xyXG4gICAgICBjb25zdCByOiBhbnkgPSB7fTtcclxuICAgICAgclt0aGlzLmlucC5uYW1lXSA9IGRbdGhpcy5pbnAubmFtZSArICdJdGVtJ107XHJcbiAgICAgIHJbdGhpcy5pbnAubmFtZSArICdOYW1lJ10gPSBkW3RoaXMuaW5wLm5hbWUgKyAnSXRlbU5hbWUnXTtcclxuICAgICAgci5UeXBlID0gdGhpcy50eXBlO1xyXG4gICAgICByZXR1cm4gcjtcclxuICAgIH07XHJcbiAgICBpZiAodGhpcy5pbnAuYWRkTW9kYWwpe1xyXG4gICAgICBpZiAodGhpcy5pbnAuYWRkTW9kYWwuZm9ybT8ucGVybWlzc2lvbil7XHJcbiAgICAgICAgdGhpcy5hZGRJY29uID0gbmV3IElucHV0Q2xhc3ModGhpcy5pbnAuZW52aXJvbm1lbnQsIHRoaXMuaW5wLmwsICdBZGQnICsgdGhpcy5pbnAubmFtZSwgJ2ZhZCBmYS1wbHVzJywgSW5wdXRUeXBlLkljb24sICdibHVlIG0tYi0yJyk7XHJcbiAgICAgICAgdGhpcy5hZGRJY29uLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmlucC5hZGRNb2RhbC5zaG93KCk7XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjaGFuZ2VUeXBlKHQ6IFZlaGljbGVUeXBlLCBpc0VkaXQgPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgdGhpcy50eXBlID0gdDtcclxuICAgIGlmICh0aGlzLndzQXV0aCAhPSBudWxsKXtcclxuICAgICAgdGhpcy53c0F1dGguY2xvc2UoKTtcclxuICAgIH1cclxuICAgIGlmICh0ID09PSBWZWhpY2xlVHlwZS5GaW5nZXJwcmludCl7XHJcbiAgICAgIHRoaXMuZmluZ2VycHJpbnQubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuZmluZ2VycHJpbnQucGxhY2Vob2xkZXIgPSB0aGlzLmlucC5sKCdMb2FkaW5nVGV4dCcsICdXYWl0aW5nJyk7XHJcbiAgICAgIHRoaXMuZmluZ2VycHJpbnQudmFsdWUgPSBudWxsO1xyXG4gICAgICB0aGlzLmZpbmdlcnByaW50LnNlYXJjaCA9IG51bGw7XHJcbiAgICAgIHRoaXMud3NBdXRoID0gbmV3IFdlYlNvY2tldCgnd3M6Ly9sb2NhbGhvc3Q6Nzg5MC9BdXRoJyk7XHJcbiAgICAgIHRoaXMud3NBdXRoLm9ub3BlbiA9ICgpID0+IHtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHRoaXMud3NBdXRoLm9ubWVzc2FnZSA9IChldnQpID0+IHtcclxuICAgICAgICBpZiAodGhpcy53c0F1dGggIT0gbnVsbCl7XHJcbiAgICAgICAgICB0aGlzLndzQXV0aC5jbG9zZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZXZ0LmRhdGEgPT09ICdOb3Rmb3VuZCcpe1xyXG4gICAgICAgICAgSGVscGVyQ2xhc3MuYWRkTm90aWZpY2F0aW9uKHRoaXMuaW5wLmwoJ05vdGZvdW5kVGl0bGUnKSk7XHJcbiAgICAgICAgICB0aGlzLmZpbmdlcnByaW50LnBsYWNlaG9sZGVyID0gdGhpcy5pbnAubCgnTm90Zm91bmRUaXRsZScpO1xyXG4gICAgICAgICAgdGhpcy5maW5nZXJwcmludC52YWx1ZSA9IG51bGw7XHJcbiAgICAgICAgICB0aGlzLmZpbmdlcnByaW50LnNlYXJjaCA9IG51bGw7XHJcbiAgICAgICAgICB0aGlzLmZpbmdlcnByaW50LmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9IGVsc2UgaWYgKGV2dC5kYXRhLnN0YXJ0c1dpdGgoJ0Vycm9yJykpe1xyXG4gICAgICAgICAgSGVscGVyQ2xhc3MuYWRkTm90aWZpY2F0aW9uKGV2dC5kYXRhKTtcclxuICAgICAgICAgIHRoaXMuZmluZ2VycHJpbnQucGxhY2Vob2xkZXIgPSB0aGlzLmlucC5sKCdOb3Rmb3VuZFRpdGxlJyk7XHJcbiAgICAgICAgICB0aGlzLmZpbmdlcnByaW50LnZhbHVlID0gbnVsbDtcclxuICAgICAgICAgIHRoaXMuZmluZ2VycHJpbnQuc2VhcmNoID0gbnVsbDtcclxuICAgICAgICAgIHRoaXMuZmluZ2VycHJpbnQubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCB1c2VyID0gSlNPTi5wYXJzZShldnQuZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLmZpbmdlcnByaW50LnZhbHVlID0gdXNlci5JZDtcclxuICAgICAgICAgIHRoaXMuZmluZ2VycHJpbnQuc2VhcmNoID0gdXNlci5OYW1lO1xyXG4gICAgICAgICAgdGhpcy5maW5nZXJwcmludC5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMud3NBdXRoLmNsb3NlKCk7XHJcbiAgICAgICAgdGhpcy53c0F1dGggPSBudWxsO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLndzQXV0aC5vbmNsb3NlID0gKCkgPT4ge1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgdGhpcy5jYXIudXJsID0gdGhpcy5tb3Rvci51cmwgPSB0aGlzLmNhckYudXJsID0gdGhpcy5jYXJHLnVybCA9IHRoaXMuZHJpdmVyLnVybCA9IHRoaXMuaW5wLnVybC5yZXBsYWNlKCdfe30nLCAnXycgKyB0aGlzLnR5cGUpO1xyXG4gICAgaWYgKCFpc0VkaXQpe1xyXG4gICAgICB0aGlzLm9uRm9jdXNJbigpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbkZvY3VzSW4oKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50eXBlID09PSBWZWhpY2xlVHlwZS5DYXIgfHwgdGhpcy50eXBlID09PSBWZWhpY2xlVHlwZS5Nb3RvcmN5Y2xlIHx8IHRoaXMudHlwZSA9PT0gVmVoaWNsZVR5cGUuQ2FyRiB8fCB0aGlzLnR5cGUgPT09IFZlaGljbGVUeXBlLkNhckcpe1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAkKCcjJyArIHRoaXMuaW5wLmlkICsgJ1ZlaGljbGVTZWFyY2hJbnB1dCAucGxhcXVlLWlucCcpLmNsaWNrKCk7XHJcbiAgICAgICAgJCgnIycgKyB0aGlzLmlucC5pZCArICdWZWhpY2xlU2VhcmNoSW5wdXQgI1BhcnQxVGV4dElucHV0IC5jb250cm9sJykuZm9jdXMoKTtcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSBWZWhpY2xlVHlwZS5Ecml2ZXIpe1xyXG4gICAgICB0aGlzLmRyaXZlci5mb2N1cygpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09IFZlaGljbGVUeXBlLkZpbmdlcnByaW50KXtcclxuICAgICAgdGhpcy5maW5nZXJwcmludC5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,28 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { PsToolkitUiConfigService } from '../../services/config.service';
3
- import * as $ from 'jquery';
4
- import { InputType } from '../../classes/enum.class';
5
- export class HeaderComponent {
6
- constructor(config) {
7
- this.config = config;
8
- this.header = null;
9
- }
10
- get type() { return InputType; }
11
- showUserDropDown(e) {
12
- $(e.target).closest('#Header').find('.user-drop-down').slideToggle(100);
13
- }
14
- }
15
- HeaderComponent.decorators = [
16
- { type: Component, args: [{
17
- selector: 'lib-header',
18
- template: "<div id=\"Header\" class=\"underline\">\r\n <div class=\"content\"><ng-content></ng-content></div>\r\n <div class=\"user-con\">\r\n <i (click)=\"showUserDropDown($event)\" class=\"fad fa-user user\"></i>\r\n <div class=\"user-drop-down\">\r\n <div class=\"username underline\" *ngIf=\"header.username != null\">{{header.username}}</div>\r\n <div class=\"info\" *ngIf=\"header.info != null\" [innerHTML]=\"header.info\"></div>\r\n <span *ngFor=\"let btn of header.buttons\">\r\n <lib-form-button [inp]=\"btn\" *ngIf=\"btn.type == type.Button\"></lib-form-button>\r\n <lib-form-icon [inp]=\"btn\" *ngIf=\"btn.type == type.Icon\"></lib-form-icon>\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n",
19
- styles: ["#Header{background-color:#fff;float:right;height:50px;position:relative;width:100%;z-index:110}#Header .content{float:right;height:100%;margin-right:50px;text-align:center;width:calc(100% - 150px)}#Header .user-con{align-items:center;display:flex;float:right;height:100%;justify-content:center;position:relative;width:100px}#Header .user-con .user{border-radius:50%;color:var(--primary);cursor:pointer;float:right;font-size:18px;height:30px;line-height:30px;text-align:center;width:30px}#Header .user-con .user:hover{color:var(--primary-dark)}#Header .user-con .user-drop-down{background-color:#fff;border-radius:var(--border-radius-base);box-shadow:var(--box-shadow);display:none;left:20px;overflow:hidden;position:absolute;top:55px;width:150px}#Header .user-con .user-drop-down .username{float:right;font-weight:var(--font-bold);line-height:35px;position:relative;text-align:center;width:100%}#Header .user-con .user-drop-down .info{float:right;width:100%}::ng-deep #Header .user-drop-down .form-input-con.button .control{border-radius:0}@media (max-width:399.98px){#Header .content{font-size:12px;width:calc(100% - 100px)}#Header .user-con{width:50px}}@media (min-width:400px) and (max-width:499.98px){#Header .content{font-size:12px;width:calc(100% - 100px)}#Header .user-con{width:50px}}"]
20
- },] }
21
- ];
22
- HeaderComponent.ctorParameters = () => [
23
- { type: PsToolkitUiConfigService }
24
- ];
25
- HeaderComponent.propDecorators = {
26
- header: [{ type: Input }]
27
- };
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFPbkQsTUFBTSxPQUFPLGVBQWU7SUFJMUIsWUFBbUIsTUFBZ0M7UUFBaEMsV0FBTSxHQUFOLE1BQU0sQ0FBMEI7UUFGbkQsV0FBTSxHQUFnQixJQUFJLENBQUM7SUFHM0IsQ0FBQztJQUZELElBQUksSUFBSSxLQUFzQixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFHakQsZ0JBQWdCLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUUsQ0FBQzs7O1lBYkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0Qiw2dUJBQXNDOzthQUV2Qzs7O1lBVE8sd0JBQXdCOzs7cUJBVzdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7UHNUb29sa2l0VWlDb25maWdTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCAqIGFzICQgZnJvbSAnanF1ZXJ5JztcclxuaW1wb3J0IHtIZWFkZXJDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9oZWFkZXIuY2xhc3MnO1xyXG5pbXBvcnQge0lucHV0VHlwZX0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnVtLmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWhlYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaGVhZGVyLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50e1xyXG4gIEBJbnB1dCgpXHJcbiAgaGVhZGVyOiBIZWFkZXJDbGFzcyA9IG51bGw7XHJcbiAgZ2V0IHR5cGUoKTogdHlwZW9mIElucHV0VHlwZXsgcmV0dXJuIElucHV0VHlwZTsgfVxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWc6IFBzVG9vbGtpdFVpQ29uZmlnU2VydmljZSl7XHJcbiAgfVxyXG4gIHNob3dVc2VyRHJvcERvd24oZSk6IHZvaWR7XHJcbiAgICAkKGUudGFyZ2V0KS5jbG9zZXN0KCcjSGVhZGVyJykuZmluZCgnLnVzZXItZHJvcC1kb3duJykuc2xpZGVUb2dnbGUoMTAwKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,14 +0,0 @@
1
- import { Component } from '@angular/core';
2
- export class SubHeaderComponent {
3
- constructor() {
4
- }
5
- }
6
- SubHeaderComponent.decorators = [
7
- { type: Component, args: [{
8
- selector: 'lib-sub-header',
9
- template: "<!--<div id=\"SubHeader\">-->\r\n<!-- <div class=\"breadcrumb\" *ngIf=\"app.breadcrumb != null\">-->\r\n<!-- <a class=\"item\"><div class=\"name\">{{app.breadcrumb[app.breadcrumb.length - 1].Name}}</div></a>-->\r\n<!-- <a class=\"item\" [routerLink]=\"b.Url\" *ngFor=\"let b of (app.breadcrumb.length == 1 ? [] : app.breadcrumb)\"><div class=\"name\">{{b.Name}}</div><i class=\"fad fa-angle-left\"></i></a>-->\r\n<!-- </div>-->\r\n<!-- <div class=\"breadcrumb\" *ngIf=\"app.breadcrumb == null\" [innerHTML]=\"this.l('LoadingDot')\">-->\r\n<!-- </div>-->\r\n<!--</div>-->\r\n",
10
- styles: ["#SubHeader{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-color:#fff;box-shadow:var(--box-shadow-header);position:relative;z-index:10}#SubHeader,#SubHeader .breadcrumb{float:right;height:40px;width:100%}#SubHeader .breadcrumb{line-height:40px;padding:0 40px}#SubHeader .breadcrumb .item{float:right}#SubHeader .breadcrumb .item .name{cursor:pointer;font-size:12px;font-weight:var(--font-light);padding:0 20px;position:relative}#SubHeader .breadcrumb .item .name,#SubHeader .breadcrumb .item i{color:var(--black-light)!important;float:right;height:40px;line-height:40px}#SubHeader .breadcrumb .item i{cursor:default;font-size:15px;text-align:center;width:20px}#SubHeader .breadcrumb .item:not(:first-of-type) .name:hover{color:var(--primary)!important}#SubHeader .breadcrumb .item:first-of-type .name{color:var(--black)!important;cursor:default;font-size:16px;font-weight:var(--font-bold);margin-left:30px;padding:0;pointer-events:none}#SubHeader .breadcrumb .item:last-of-type i{display:none}"]
11
- },] }
12
- ];
13
- SubHeaderComponent.ctorParameters = () => [];
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLmhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiRDovUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvaGVhZGVyL3N1Yi9zdWIuaGVhZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBT3hDLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7SUFDQSxDQUFDOzs7WUFQRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsb2xCQUEwQzs7YUFFM0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1zdWItaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3ViLmhlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3ViLmhlYWRlci5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFN1YkhlYWRlckNvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IoKXtcclxuICB9XHJcbn1cclxuIl19
@@ -1,18 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- export class LayoutComponent {
3
- constructor() {
4
- }
5
- }
6
- LayoutComponent.decorators = [
7
- { type: Component, args: [{
8
- selector: 'lib-layout',
9
- template: "<div id=\"Layout\">\r\n <div class=\"layout-con\">\r\n <div class=\"panel\" *ngIf=\"currentData.user != null\">\r\n <lib-sidebar [currentData]=\"currentData\">\r\n <ng-content select=\"[slot=sidebar]\"></ng-content>\r\n </lib-sidebar>\r\n <div class=\"content\">\r\n <lib-header [header]=\"header\">\r\n <ng-content select=\"[slot=header]\"></ng-content>\r\n </lib-header>\r\n\r\n <div class=\"content-scroll-con\">\r\n <div class=\"content-scroll\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <lib-footer></lib-footer>\r\n </div>\r\n</div>\r\n",
10
- styles: ["#Layout,#Layout .layout-con,#Layout .panel{float:right;width:100%}#Layout .panel{display:flex;flex-direction:row;position:relative}#Layout .panel .content{background-color:var(--base-white);direction:rtl;float:left;overflow:hidden;position:relative;transition:width .3s;width:100%}#Layout .panel .content .content-scroll-con{height:calc(100vh - 85px);min-height:calc(100vh - 85px);overflow-y:auto;width:100%}#Layout .panel .content .content-scroll-con .content-scroll{float:right;padding:20px;width:100%}@media (max-width:599.98px){#Layout .panel .content .content-scroll-con{height:calc(100vh - 50px);min-height:calc(100vh - 50px)}}"]
11
- },] }
12
- ];
13
- LayoutComponent.ctorParameters = () => [];
14
- LayoutComponent.propDecorators = {
15
- currentData: [{ type: Input }],
16
- header: [{ type: Input }]
17
- };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFnQixLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFTckUsTUFBTSxPQUFPLGVBQWU7SUFLMUI7SUFDQSxDQUFDOzs7WUFYRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLDZyQkFBc0M7O2FBRXZDOzs7OzBCQUVFLEtBQUs7cUJBRUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0N1cnJlbnREYXRhQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvY3VycmVudERhdGFDbGFzcyc7XHJcbmltcG9ydCB7SGVhZGVyQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvaGVhZGVyLmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxheW91dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbGF5b3V0LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGF5b3V0Q29tcG9uZW50IHtcclxuICBASW5wdXQoKVxyXG4gIGN1cnJlbnREYXRhOiBDdXJyZW50RGF0YUNsYXNzO1xyXG4gIEBJbnB1dCgpXHJcbiAgaGVhZGVyOiBIZWFkZXJDbGFzcztcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcbn1cclxuIl19
@@ -1,22 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { LangClass } from '../../classes/lang.class';
3
- import { PsToolkitUiConfigService } from '../../services/config.service';
4
- export class LoadingComponent {
5
- constructor(config) {
6
- const lang = new LangClass(config.currentLang, config.strings);
7
- this.l = (key, v = null) => {
8
- return lang.get('Public', null, key, v);
9
- };
10
- }
11
- }
12
- LoadingComponent.decorators = [
13
- { type: Component, args: [{
14
- selector: 'lib-loading',
15
- template: "<div id=\"Loading\">\r\n <div class=\"content\">\r\n <div class=\"loading-cell\">\r\n <div class=\"icon\"><i class=\"fas fa-spin fa-spinner\"></i></div>\r\n <div class=\"title\" [innerHTML]=\"l('Loading', 'Process')\"></div>\r\n </div>\r\n </div>\r\n</div>\r\n",
16
- styles: ["#Loading{background-color:var(--black);display:table;height:100vh;overflow-y:auto;position:fixed;right:0;top:0;width:100%;z-index:105}#Loading .content{display:table-cell;height:100%;vertical-align:middle;width:100%}#Loading .content .loading-cell{float:right;width:100%}#Loading .content .loading-cell .icon{color:#fff;float:right;font-size:40px;height:70px;line-height:70px;text-align:center;width:100%}#Loading .content .loading-cell .title{color:#fff;float:right;font-size:20px;height:50px;line-height:50px;text-align:center;width:100%}"]
17
- },] }
18
- ];
19
- LoadingComponent.ctorParameters = () => [
20
- { type: PsToolkitUiConfigService }
21
- ];
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiRDovUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQU92RSxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQVksTUFBZ0M7UUFDMUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQVcsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFVLEVBQUU7WUFDekMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQztJQUNKLENBQUM7OztZQVpGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsa1NBQXVDOzthQUV4Qzs7O1lBTk8sd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0xhbmdDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9sYW5nLmNsYXNzJztcclxuaW1wb3J0IHtQc1Rvb2xraXRVaUNvbmZpZ1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxvYWRpbmcnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2FkaW5nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sb2FkaW5nLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9hZGluZ0NvbXBvbmVudCB7XHJcbiAgbDogKGssIHY/KSA9PiBzdHJpbmc7XHJcbiAgY29uc3RydWN0b3IoY29uZmlnOiBQc1Rvb2xraXRVaUNvbmZpZ1NlcnZpY2Upe1xyXG4gICAgY29uc3QgbGFuZyA9IG5ldyBMYW5nQ2xhc3MoY29uZmlnLmN1cnJlbnRMYW5nLCBjb25maWcuc3RyaW5ncyk7XHJcbiAgICB0aGlzLmwgPSAoa2V5OiBzdHJpbmcsIHYgPSBudWxsKTogc3RyaW5nID0+IHtcclxuICAgICAgcmV0dXJuIGxhbmcuZ2V0KCdQdWJsaWMnLCBudWxsLCBrZXksIHYpO1xyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19