ps-toolkit-ui 1.21.42 → 1.21.51
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.
- package/bundles/ps-toolkit-ui.umd.js +10321 -0
- package/bundles/ps-toolkit-ui.umd.js.map +1 -0
- package/bundles/ps-toolkit-ui.umd.min.js +2 -0
- package/bundles/ps-toolkit-ui.umd.min.js.map +1 -0
- package/esm2015/lib/classes/addModal.class.js +36 -0
- package/esm2015/lib/classes/chart.class.js +165 -0
- package/esm2015/lib/classes/currentDataClass.js +17 -0
- package/esm2015/lib/classes/enum.class.js +253 -0
- package/esm2015/lib/classes/excel.class.js +56 -0
- package/esm2015/lib/classes/form.class.js +667 -0
- package/esm2015/lib/classes/header.class.js +16 -0
- package/esm2015/lib/classes/helper.class.js +650 -0
- package/esm2015/lib/classes/lang.class.js +35 -0
- package/esm2015/lib/classes/login.class.js +29 -0
- package/esm2015/lib/classes/modal.class.js +49 -0
- package/esm2015/lib/classes/permission.class.js +63 -0
- package/esm2015/lib/classes/request.class.js +155 -0
- package/esm2015/lib/classes/safehtml.class.js +17 -0
- package/esm2015/lib/classes/safestyle.class.js +17 -0
- package/esm2015/lib/classes/sidebar.class.js +16 -0
- package/esm2015/lib/classes/steps.class.js +45 -0
- package/esm2015/lib/classes/string.class.js +251 -0
- package/esm2015/lib/classes/table.class.js +593 -0
- package/esm2015/lib/components/accordion/accordion.component.js +45 -0
- package/esm2015/lib/components/alert/alert.component.js +39 -0
- package/esm2015/lib/components/base.component.js +54 -0
- package/esm2015/lib/components/calendar/calendar.component.js +98 -0
- package/esm2015/lib/components/chart/chart.component.js +17 -0
- package/esm2015/lib/components/clock/clock.component.js +33 -0
- package/esm2015/lib/components/confirm/confirm.component.js +50 -0
- package/esm2015/lib/components/error/error.component.js +26 -0
- package/esm2015/lib/components/footer/footer.component.js +23 -0
- package/esm2015/lib/components/form/bank-card/form.bank-card.component.js +200 -0
- package/esm2015/lib/components/form/button/form.button.component.js +68 -0
- package/esm2015/lib/components/form/checkbox/form.checkbox.component.js +67 -0
- package/esm2015/lib/components/form/ckeditor/form.ckeditor.component.js +90 -0
- package/esm2015/lib/components/form/date/form.date.component.js +314 -0
- package/esm2015/lib/components/form/datetime/form.datetime.component.js +106 -0
- package/esm2015/lib/components/form/file/form.file.component.js +124 -0
- package/esm2015/lib/components/form/finger/form.finger.component.js +140 -0
- package/esm2015/lib/components/form/hidden/form.hidden.component.js +31 -0
- package/esm2015/lib/components/form/icon/form.icon.component.js +84 -0
- package/esm2015/lib/components/form/index/form.component.js +51 -0
- package/esm2015/lib/components/form/label/form.label.component.js +32 -0
- package/esm2015/lib/components/form/plaque/form.plaque.component.js +258 -0
- package/esm2015/lib/components/form/plaque/select/form.plaque.select.component.js +468 -0
- package/esm2015/lib/components/form/radio/form.radio.component.js +82 -0
- package/esm2015/lib/components/form/select/form.select.component.js +452 -0
- package/esm2015/lib/components/form/select/item/form.select.item.component.js +27 -0
- package/esm2015/lib/components/form/slide/form.slide.component.js +84 -0
- package/esm2015/lib/components/form/star/form.star.component.js +66 -0
- package/esm2015/lib/components/form/table/form.table.component.js +96 -0
- package/esm2015/lib/components/form/tag/form.tag.component.js +100 -0
- package/esm2015/lib/components/form/textarea/form.textarea.component.js +83 -0
- package/esm2015/lib/components/form/textbox/form.textbox.component.js +227 -0
- package/esm2015/lib/components/form/time/form.time.component.js +149 -0
- package/esm2015/lib/components/form/toggle/form.toggle.component.js +72 -0
- package/esm2015/lib/components/form/tree/form.tree.component.js +157 -0
- package/esm2015/lib/components/form/tree/item/form.tree.item.component.js +50 -0
- package/esm2015/lib/components/form/uploader/form.uploader.component.js +159 -0
- package/esm2015/lib/components/form/vehicle/form.vehicle.component.js +104 -0
- package/esm2015/lib/components/form/vehicle/search/form.vehicle.search.component.js +237 -0
- package/esm2015/lib/components/header/header.component.js +28 -0
- package/esm2015/lib/components/header/sub/sub.header.component.js +14 -0
- package/esm2015/lib/components/layout/layout.component.js +18 -0
- package/esm2015/lib/components/loading/loading.component.js +22 -0
- package/esm2015/lib/components/login/login.component.js +159 -0
- package/esm2015/lib/components/modal/modal.component.js +25 -0
- package/esm2015/lib/components/notfound/notfound.component.js +29 -0
- package/esm2015/lib/components/notification/notification.component.js +14 -0
- package/esm2015/lib/components/sidebar/item/sidebar.item.component.js +55 -0
- package/esm2015/lib/components/sidebar/sidebar.component.js +98 -0
- package/esm2015/lib/components/steps/steps.component.js +88 -0
- package/esm2015/lib/components/table/loading/table.loading.component.js +17 -0
- package/esm2015/lib/components/table/pagination/table.pagination.component.js +84 -0
- package/esm2015/lib/components/table/row/table.row.component.js +450 -0
- package/esm2015/lib/components/table/table.component.js +240 -0
- package/esm2015/lib/components/tooltip/tooltip.component.js +19 -0
- package/esm2015/lib/ps-toolkit-ui.module.js +105 -0
- package/esm2015/lib/services/config.service.js +14 -0
- package/esm2015/lib/services/sidebar.service.js +21 -0
- package/esm2015/ps-toolkit-ui.js +21 -0
- package/esm2015/public-api.js +64 -0
- package/fesm2015/ps-toolkit-ui.js +8926 -0
- package/fesm2015/ps-toolkit-ui.js.map +1 -0
- package/lib/classes/addModal.class.d.ts +14 -0
- package/lib/classes/chart.class.d.ts +15 -0
- package/lib/classes/currentDataClass.d.ts +10 -0
- package/lib/classes/enum.class.d.ts +221 -0
- package/lib/classes/excel.class.d.ts +8 -0
- package/lib/classes/form.class.d.ts +193 -0
- package/lib/classes/header.class.d.ts +8 -0
- package/lib/classes/helper.class.d.ts +50 -0
- package/lib/classes/lang.class.d.ts +5 -0
- package/lib/classes/login.class.d.ts +21 -0
- package/lib/classes/modal.class.d.ts +19 -0
- package/lib/classes/permission.class.d.ts +35 -0
- package/lib/classes/request.class.d.ts +10 -0
- package/lib/classes/safehtml.class.d.ts +7 -0
- package/lib/classes/safestyle.class.d.ts +7 -0
- package/lib/classes/sidebar.class.d.ts +14 -0
- package/lib/classes/steps.class.d.ts +31 -0
- package/lib/classes/string.class.d.ts +249 -0
- package/lib/classes/table.class.d.ts +88 -0
- package/lib/components/accordion/accordion.component.d.ts +7 -0
- package/lib/components/alert/alert.component.d.ts +10 -0
- package/lib/components/base.component.d.ts +17 -0
- package/lib/components/calendar/calendar.component.d.ts +26 -0
- package/lib/components/chart/chart.component.d.ts +5 -0
- package/lib/components/clock/clock.component.d.ts +11 -0
- package/lib/components/confirm/confirm.component.d.ts +14 -0
- package/lib/components/error/error.component.d.ts +7 -0
- package/lib/components/footer/footer.component.d.ts +6 -0
- package/lib/components/form/bank-card/form.bank-card.component.d.ts +28 -0
- package/lib/components/form/button/form.button.component.d.ts +15 -0
- package/lib/components/form/checkbox/form.checkbox.component.d.ts +14 -0
- package/lib/components/form/ckeditor/form.ckeditor.component.d.ts +14 -0
- package/lib/components/form/date/form.date.component.d.ts +45 -0
- package/lib/components/form/datetime/form.datetime.component.d.ts +13 -0
- package/lib/components/form/file/form.file.component.d.ts +18 -0
- package/lib/components/form/finger/form.finger.component.d.ts +15 -0
- package/lib/components/form/hidden/form.hidden.component.d.ts +7 -0
- package/lib/components/form/icon/form.icon.component.d.ts +16 -0
- package/lib/components/form/index/form.component.d.ts +10 -0
- package/lib/components/form/label/form.label.component.d.ts +8 -0
- package/lib/components/form/plaque/form.plaque.component.d.ts +21 -0
- package/lib/components/form/plaque/select/form.plaque.select.component.d.ts +38 -0
- package/lib/components/form/radio/form.radio.component.d.ts +13 -0
- package/lib/components/form/select/form.select.component.d.ts +45 -0
- package/lib/components/form/select/item/form.select.item.component.d.ts +12 -0
- package/lib/components/form/slide/form.slide.component.d.ts +13 -0
- package/lib/components/form/star/form.star.component.d.ts +13 -0
- package/lib/components/form/table/form.table.component.d.ts +9 -0
- package/lib/components/form/tag/form.tag.component.d.ts +16 -0
- package/lib/components/form/textarea/form.textarea.component.d.ts +13 -0
- package/lib/components/form/textbox/form.textbox.component.d.ts +20 -0
- package/lib/components/form/time/form.time.component.d.ts +25 -0
- package/lib/components/form/toggle/form.toggle.component.d.ts +13 -0
- package/lib/components/form/tree/form.tree.component.d.ts +21 -0
- package/lib/components/form/tree/item/form.tree.item.component.d.ts +19 -0
- package/lib/components/form/uploader/form.uploader.component.d.ts +21 -0
- package/lib/components/form/vehicle/form.vehicle.component.d.ts +18 -0
- package/lib/components/form/vehicle/search/form.vehicle.search.component.d.ts +22 -0
- package/lib/components/header/header.component.d.ts +10 -0
- package/lib/components/header/sub/sub.header.component.d.ts +3 -0
- package/lib/components/layout/layout.component.d.ts +7 -0
- package/lib/components/loading/loading.component.d.ts +5 -0
- package/lib/components/login/login.component.d.ts +15 -0
- package/lib/components/modal/modal.component.d.ts +9 -0
- package/lib/components/notfound/notfound.component.d.ts +8 -0
- package/lib/components/notification/notification.component.d.ts +3 -0
- package/lib/components/sidebar/item/sidebar.item.component.d.ts +14 -0
- package/lib/components/sidebar/sidebar.component.d.ts +22 -0
- package/lib/components/steps/steps.component.d.ts +16 -0
- package/lib/components/table/loading/table.loading.component.d.ts +5 -0
- package/lib/components/table/pagination/table.pagination.component.d.ts +15 -0
- package/lib/components/table/row/table.row.component.d.ts +44 -0
- package/lib/components/table/table.component.d.ts +43 -0
- package/lib/components/tooltip/tooltip.component.d.ts +5 -0
- package/lib/ps-toolkit-ui.module.d.ts +4 -0
- package/lib/services/config.service.d.ts +6 -0
- package/lib/services/sidebar.service.d.ts +9 -0
- package/package.json +12 -16
- package/ps-toolkit-ui.d.ts +20 -0
- package/ps-toolkit-ui.metadata.json +1 -0
- package/public-api.d.ts +60 -0
- package/fesm2022/ps-toolkit-ui.mjs +0 -9472
- package/fesm2022/ps-toolkit-ui.mjs.map +0 -1
- package/types/ps-toolkit-ui.d.ts +0 -1671
|
@@ -0,0 +1,237 @@
|
|
|
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=
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
|
@@ -0,0 +1,14 @@
|
|
|
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
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
|
@@ -0,0 +1,22 @@
|
|
|
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
|