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,240 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { InputType, Method, TableCollType, TableExportType, TableOptionType } from '../../classes/enum.class';
|
|
4
|
+
import { InputClass } from '../../classes/form.class';
|
|
5
|
+
import * as $ from 'jquery';
|
|
6
|
+
import { ModalClass } from '../../classes/modal.class';
|
|
7
|
+
import 'jquery-ui-dist/jquery-ui';
|
|
8
|
+
import { RequestClass } from '../../classes/request.class';
|
|
9
|
+
import { PermissionClass } from '../../classes/permission.class';
|
|
10
|
+
export class TableComponent {
|
|
11
|
+
constructor(router) {
|
|
12
|
+
this.router = router;
|
|
13
|
+
this.changeRows = new EventEmitter();
|
|
14
|
+
this.export = null;
|
|
15
|
+
}
|
|
16
|
+
get type() { return InputType; }
|
|
17
|
+
get tableOptionType() { return TableOptionType; }
|
|
18
|
+
get colType() { return TableCollType; }
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.reload = new InputClass(this.table.environment, this.table.l, 'Reload', 'fad fa-sync-alt', InputType.Icon, 'm-r-10-p');
|
|
21
|
+
this.export = new InputClass(this.table.environment, this.table.l, 'ExportTable', 'fad fa-download f-s-21', InputType.Icon, 'm-r-10-p export-dropdown-icon');
|
|
22
|
+
this.excel = new InputClass(this.table.environment, this.table.l, 'ExportExcel', 'fad fa-file-excel f-s-21', InputType.Button, 'white f-s-11 h-35 p-0');
|
|
23
|
+
this.excelUi = new InputClass(this.table.environment, this.table.l, 'ExportExcel', 'fad fa-file-excel f-s-21', InputType.Icon, 'm-r-10-p');
|
|
24
|
+
this.pdf = new InputClass(this.table.environment, this.table.l, 'ExportPdf', 'fad fa-file-pdf f-s-21', InputType.Button, 'white f-s-11 h-35 p-0');
|
|
25
|
+
this.print = new InputClass(this.table.environment, this.table.l, 'ExportPrint', 'fad fa-file-lines f-s-21', InputType.Button, 'white f-s-11 h-35 p-0');
|
|
26
|
+
this.maximum = new InputClass(this.table.environment, this.table.l, 'Maximum', 'fad fa-arrows-maximize', InputType.Icon, 'm-r-10-p');
|
|
27
|
+
this.expertSearch = new InputClass(this.table.environment, this.table.l, 'ExpertSearch', 'fad fa-magnifying-glass', InputType.Icon, 'm-r-10-p');
|
|
28
|
+
this.table.setCols();
|
|
29
|
+
if (this.table.sortable) {
|
|
30
|
+
this.table.perPage = -1;
|
|
31
|
+
this.table.onLoad = () => {
|
|
32
|
+
this.setSortable();
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
this.table.set(this.changeRows);
|
|
36
|
+
if (this.table.searchForm) {
|
|
37
|
+
this.table.searchForm.displayLabel = this.table.expertSearch;
|
|
38
|
+
this.table.searchForm.class = (this.table.searchForm.class ? this.table.searchForm.class : '') + (this.table.expertSearch ? '' : ' p-0');
|
|
39
|
+
if (this.table.expertSearch) {
|
|
40
|
+
const s = new InputClass(this.table.environment, this.table.l, 'Search', 'fad fa-magnifying-glass', InputType.Submit, 'blue h-30');
|
|
41
|
+
s.style = { top: '20px', left: '5px', position: 'absolute', width: '50%' };
|
|
42
|
+
this.table.searchForm.inputs.push(s);
|
|
43
|
+
this.table.searchForm.name = 'ExpertSearch';
|
|
44
|
+
}
|
|
45
|
+
this.table.searchForm.inputs.forEach(x => {
|
|
46
|
+
const hasSubmit = this.table.searchForm.inputs.some(s => s.type === InputType.Submit);
|
|
47
|
+
x.required = false;
|
|
48
|
+
x.displayLabel = this.table.expertSearch;
|
|
49
|
+
x.class = x.class + ' search-form-inp' + (this.table.expertSearch && x.type !== InputType.Submit ? ' p-0' : '');
|
|
50
|
+
x.withClear = !hasSubmit || this.table.expertSearch;
|
|
51
|
+
if (!hasSubmit) {
|
|
52
|
+
if (x.onChange == null) {
|
|
53
|
+
x.onChange = () => {
|
|
54
|
+
this.table.load();
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (x.type === InputType.Submit) {
|
|
59
|
+
x.onClick = () => {
|
|
60
|
+
if (this.table.searchForm.onBeforeSubmit && !this.table.searchForm.onBeforeSubmit()) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
this.table.load(x);
|
|
64
|
+
};
|
|
65
|
+
// this.table.searchForm.submit = () => {
|
|
66
|
+
// console.log('this.table.searchForm.submit');
|
|
67
|
+
// if (this.table.searchForm.onBeforeSubmit && !this.table.searchForm.onBeforeSubmit()){
|
|
68
|
+
// return;
|
|
69
|
+
// }
|
|
70
|
+
// this.table.load(x);
|
|
71
|
+
// $(this.tableDiv.nativeElement).removeClass('show-expert-search');
|
|
72
|
+
// };
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
this.options = this.getOptions();
|
|
77
|
+
this.reload.onClick = () => {
|
|
78
|
+
this.table.load(this.reload);
|
|
79
|
+
};
|
|
80
|
+
this.export.onClick = () => {
|
|
81
|
+
$(this.exportDropDown.nativeElement).slideToggle();
|
|
82
|
+
};
|
|
83
|
+
this.pdf.onClick = () => {
|
|
84
|
+
this.exportTable(TableExportType.Pdf, this.pdf);
|
|
85
|
+
};
|
|
86
|
+
this.excel.onClick = () => {
|
|
87
|
+
this.exportTable(TableExportType.Excel, this.excel);
|
|
88
|
+
};
|
|
89
|
+
this.excelUi.onClick = () => {
|
|
90
|
+
this.table.excel();
|
|
91
|
+
};
|
|
92
|
+
this.print.onClick = () => {
|
|
93
|
+
this.exportTable(TableExportType.Print, this.print);
|
|
94
|
+
};
|
|
95
|
+
this.maximum.onClick = () => {
|
|
96
|
+
$(this.tableDiv.nativeElement).toggleClass('maximum');
|
|
97
|
+
this.maximum.icon = this.maximum.name === 'Minimum' ? 'fad fa-arrows-maximize' : 'fad fa-arrows-minimize';
|
|
98
|
+
this.maximum.name = this.maximum.name === 'Minimum' ? 'Maximum' : 'Minimum';
|
|
99
|
+
};
|
|
100
|
+
this.expertSearch.onClick = () => {
|
|
101
|
+
$(this.tableDiv.nativeElement).addClass('show-expert-search');
|
|
102
|
+
};
|
|
103
|
+
this.table.showConfirm = (l, url, data, accept) => {
|
|
104
|
+
this.confirm.show(l, url, data, accept);
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
exportTable(type, btn) {
|
|
108
|
+
const getWidthValue = (str) => {
|
|
109
|
+
const matches = [...str.matchAll(/w-(\d+)(?:-(\d+))?/g)];
|
|
110
|
+
if (!matches.length) {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
const max = matches.reduce((best, m) => {
|
|
114
|
+
const first = +m[1];
|
|
115
|
+
const second = +m[2] || null;
|
|
116
|
+
if (!best || first > best.first) {
|
|
117
|
+
return { first, second };
|
|
118
|
+
}
|
|
119
|
+
return best;
|
|
120
|
+
}, null);
|
|
121
|
+
const s = (max.second || max.first);
|
|
122
|
+
return s == null ? 100 : s;
|
|
123
|
+
};
|
|
124
|
+
const url = this.table.url;
|
|
125
|
+
const data = this.table.searchData();
|
|
126
|
+
data.Page = 1;
|
|
127
|
+
data.PerPage = -1;
|
|
128
|
+
data.ReportType = type;
|
|
129
|
+
data.Cols = this.table.cols.map(x => {
|
|
130
|
+
return {
|
|
131
|
+
Name: x.name,
|
|
132
|
+
TrnName: this.table.l(x.name),
|
|
133
|
+
Width: getWidthValue(x.class),
|
|
134
|
+
Type: x.type,
|
|
135
|
+
};
|
|
136
|
+
});
|
|
137
|
+
new RequestClass(this.table.environment, this.table.l).send(url, Method.Post, data, btn, (result) => {
|
|
138
|
+
window.open(this.table.environment.url + '/report/{}/{}'.replace('{}', type).replace('{}', result), '_blank');
|
|
139
|
+
}, () => { });
|
|
140
|
+
}
|
|
141
|
+
allChecked() {
|
|
142
|
+
return this.table.rows.filter(x => !x.checked).length === 0;
|
|
143
|
+
}
|
|
144
|
+
isChecked() {
|
|
145
|
+
return this.table.rows.filter(x => x.checked).length > 0;
|
|
146
|
+
}
|
|
147
|
+
checkAll() {
|
|
148
|
+
if (this.table.rows.filter(x => !x.checked).length === 0) {
|
|
149
|
+
this.table.rows.forEach(x => x.checked = false);
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
this.table.rows.forEach(x => x.checked = true);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
getOptions() {
|
|
156
|
+
return [];
|
|
157
|
+
}
|
|
158
|
+
setSortable() {
|
|
159
|
+
setTimeout(() => {
|
|
160
|
+
// @ts-ignore
|
|
161
|
+
$(this.rows.nativeElement).sortable({
|
|
162
|
+
axis: 'y',
|
|
163
|
+
items: '.row',
|
|
164
|
+
handle: '> .handle-con > .handle.handle-sortable',
|
|
165
|
+
update: () => {
|
|
166
|
+
const data = [];
|
|
167
|
+
// @ts-ignore
|
|
168
|
+
$(this.rows.nativeElement).sortable('toArray', { attribute: 'data-id' }).forEach(x => {
|
|
169
|
+
data.push(parseInt(x, 10));
|
|
170
|
+
});
|
|
171
|
+
const p = new PermissionClass();
|
|
172
|
+
p.Area = this.table.permissions.Area;
|
|
173
|
+
p.Controller = this.table.permissions.Controller;
|
|
174
|
+
p.RelatedId = this.table.permissions.RelatedId;
|
|
175
|
+
p.Action = this.table.permissions.Action ? this.table.permissions.Action + '-sort' : 'sort';
|
|
176
|
+
new RequestClass(this.table.environment, this.table.l).send(p.getUrl().toLowerCase(), Method.Post, { Ids: data }, null, () => {
|
|
177
|
+
if (this.table.onSort) {
|
|
178
|
+
this.table.onSort();
|
|
179
|
+
}
|
|
180
|
+
}, () => { });
|
|
181
|
+
}
|
|
182
|
+
}).disableSelection();
|
|
183
|
+
}, 500);
|
|
184
|
+
}
|
|
185
|
+
getRows() {
|
|
186
|
+
const c = this.table.rows.filter(x => !x.Data.ParentId);
|
|
187
|
+
c.forEach((x, i) => x.RowNum = c.length - i + 1);
|
|
188
|
+
return c;
|
|
189
|
+
}
|
|
190
|
+
// getOptionModals(): InputClass[]{
|
|
191
|
+
// const modals = [];
|
|
192
|
+
// for (const [key, value] of Object.entries(this.table.optionActions)) {
|
|
193
|
+
// if (this.table.optionActions[key].modal){
|
|
194
|
+
// modals.push(this.table.optionActions[key].modal);
|
|
195
|
+
// }
|
|
196
|
+
// }
|
|
197
|
+
// return modals;
|
|
198
|
+
// }
|
|
199
|
+
onChangeRows(e) {
|
|
200
|
+
return this.changeRows.emit(e);
|
|
201
|
+
}
|
|
202
|
+
onConfirmShow(e) {
|
|
203
|
+
this.confirm.show(this.table.l(e.action + 'Confirm'), e.url, e.data, e.accept);
|
|
204
|
+
}
|
|
205
|
+
changeSort(e, s) {
|
|
206
|
+
if ($(e.target).closest('.header-search').hasClass('header-search')) {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
this.table.sortType = this.table.sort === s ? this.table.sortType === 'ASC' ? 'DESC' : null : 'ASC';
|
|
210
|
+
this.table.sort = this.table.sortType == null ? null : s;
|
|
211
|
+
this.table.load();
|
|
212
|
+
}
|
|
213
|
+
getModals() {
|
|
214
|
+
return this.table.optionsActions.filter(x => x instanceof ModalClass);
|
|
215
|
+
}
|
|
216
|
+
hideExpertSearch(e) {
|
|
217
|
+
if (this.table.expertSearch && $(e.target).hasClass('search-form')) {
|
|
218
|
+
$(this.tableDiv.nativeElement).removeClass('show-expert-search');
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
TableComponent.decorators = [
|
|
223
|
+
{ type: Component, args: [{
|
|
224
|
+
selector: 'lib-table',
|
|
225
|
+
template: "<div [id]=\"table.id + 'Table'\" [style]=\"table.style\" #tableDiv [className]=\"(table.class ? table.class : '') + (table.sortable ? 'sortable' : '') + (table.hasChildren || table.subTable != null ? ' has-children' : '') + (table.vertical ? ' vertical' : '') + (table.expertSearch ? ' expert-search' : '') + ' table-con w-100'\">\r\n <div *ngIf=\"table.displayLabel\" class=\"title\">\r\n <div class=\"f-r\" [innerHTML]=\"this.table.title ? this.table.title : table.l('List')\"></div>\r\n <span class=\"description\" *ngIf=\"this.table.description != null\" [innerHTML]=\"'( ' + this.table.description + ' )'\"></span>\r\n <div class=\"extra-buttons\" *ngIf=\"table.showExtraButtons\">\r\n <lib-form-icon *ngFor=\"let btn of table.extraButtons\" [inp]=\"btn\"></lib-form-icon>\r\n <span *ngIf=\"isChecked()\">\r\n <lib-form-icon *ngFor=\"let btn of table.optionButtons\" [inp]=\"btn\"></lib-form-icon>\r\n </span>\r\n <span *ngIf=\"!isChecked()\">\r\n <lib-form-icon *ngIf=\"table.expertSearch\" [inp]=\"expertSearch\"></lib-form-icon>\r\n<!-- <lib-form-icon [inp]=\"excelUi\"></lib-form-icon>-->\r\n <lib-form-icon [inp]=\"export\"></lib-form-icon>\r\n <div #exportDropDown class=\"export-dropdown-con\">\r\n <lib-form-button [inp]=\"print\"></lib-form-button>\r\n <lib-form-button [inp]=\"excel\"></lib-form-button>\r\n <lib-form-button [inp]=\"pdf\"></lib-form-button>\r\n </div>\r\n <lib-form-icon [inp]=\"reload\"></lib-form-icon>\r\n <lib-form-icon [inp]=\"maximum\"></lib-form-icon>\r\n </span>\r\n </div>\r\n <div *ngIf=\"table.buttons.length > 0\" class=\"buttons\">\r\n <span *ngFor=\"let btn of table.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 <lib-form-label [inp]=\"btn\" *ngIf=\"btn.type == type.Label\"></lib-form-label>\r\n <lib-form-select [inp]=\"btn\" *ngIf=\"btn.type == type.Select\"></lib-form-select>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"search-form\" *ngIf=\"table.searchForm\" (click)=\"hideExpertSearch($event)\">\r\n <lib-form [form]=\"table.searchForm\"></lib-form>\r\n </div>\r\n <lib-form *ngIf=\"table.form && table.form.onTop\" [form]=\"table.form\"></lib-form>\r\n <div class=\"table\">\r\n <div class=\"header\">\r\n <div [className]=\"(table.hasChildren || table.subTable != null ? 'with-handle-children ' : '') + (table.sortable ? 'with-handle-sortable ' : '') + (table.withCheck ? 'with-handle-check ' : '') + 'row'\">\r\n <div class=\"handle-con\">\r\n <div class=\"handle handle-sortable\" *ngIf=\"table.sortable\"></div>\r\n <div class=\"handle handle-check\" *ngIf=\"table.hasChildren || table.subTable != null\"></div>\r\n <div class=\"handle handle-children\" *ngIf=\"table.withCheck\">\r\n <i (click)=\"checkAll()\" [className]=\"(allChecked() ? 'fa-solid fa-square-check c-green' : isChecked() ? 'fa-solid fa-square-minus c-green' : 'fa-regular fa-square') + ' check-row'\" *ngIf=\"table.rows.length > 0\"></i>\r\n </div>\r\n </div>\r\n <div (click)=\"!table.sortable && col.sort && changeSort($event, col.name)\" [className]=\"(!table.sortable && col.sort ? 'sort ' : '') + col.class + ' ' + col.name + '-cell cell w-100'\" *ngFor=\"let col of table.cols\">\r\n <div class=\"header-title\" *ngIf=\"col.search == null || table.sortable\" [innerHTML]=\"table.l(col.name)\"></div>\r\n <div class=\"header-search\" *ngIf=\"!table.sortable && col.search != null\">\r\n <lib-form-textbox *ngIf=\"col.type != colType.Date && col.type != colType.DateTime && col.type != colType.DateDif && col.type != colType.DateRemain && col.type != colType.Month && col.type != colType.Year && col.enum == null\" [inp]=\"col.search\"></lib-form-textbox>\r\n <lib-form-date *ngIf=\"(col.type == colType.Date || col.type == colType.DateTime || col.type === colType.DateDif || col.type === colType.DateRemain || col.type == colType.Month || col.type == colType.Year) && col.enum == null\" [inp]=\"col.search\"></lib-form-date>\r\n <lib-form-select *ngIf=\"col.enum != null\" [inp]=\"col.search\"></lib-form-select>\r\n </div>\r\n <i *ngIf=\"!table.sortable && col.sort\" [className]=\"'sort-icon fas' + (table.sort === col.name ? (table.sortType === 'ASC' ? ' fa-sort-up' : ' fa-sort-down') : ' fa-sort')\"></i>\r\n </div>\r\n <div class=\"cell options\" *ngIf=\"table.optionType == tableOptionType.Show\">{{table.l('Options')}}</div>\r\n </div>\r\n </div>\r\n <div class=\"body\" #rows [style]=\"table.perPage > 0 ? {minHeight: table.height * table.perPage + 'px'} : {minHeight: '250px'}\">\r\n <lib-table-row (confirmShow)=\"onConfirmShow($event)\" [level]=\"1\" (changeRows)=\"onChangeRows($event)\" [id]=\"row.id ? row.id : ''\" [table]=\"table\" [row]=\"row\" *ngFor=\"let row of getRows()\"></lib-table-row>\r\n <lib-table-loading [table]=\"table\"></lib-table-loading>\r\n </div>\r\n </div>\r\n <lib-table-pagination [table]=\"table\" *ngIf=\"table.perPage > 0\"></lib-table-pagination>\r\n <lib-modal *ngIf=\"table.modal != null\" [modal]=\"table.modal\"></lib-modal>\r\n <lib-modal [modal]=\"opt\" *ngFor=\"let opt of getModals()\"></lib-modal>\r\n <lib-confirm #confirm [tableId]=\"table.name\"></lib-confirm>\r\n</div>\r\n",
|
|
226
|
+
styles: [".table-con{background-color:#fff;border-radius:var(--border-radius-base);box-shadow:var(--box-shadow-table);float:right;padding:20px;position:relative}.table-con.maximum{border-radius:0;height:100%;overflow-y:auto;position:fixed;right:0;top:0;width:100%;z-index:102}.table-con>.title{float:right;font-size:16px;font-weight:var(--font-bold);line-height:40px;margin-bottom:10px;position:relative;text-align:right;width:100%;z-index:3}.table-con>.title .description{font-size:13px;font-weight:var(--font-light);margin-right:10px}.table-con>.title .buttons,.table-con>.title .extra-buttons{float:left;margin-top:5px;position:relative;z-index:1}.table-con>.title .extra-buttons{min-width:80px}.table-con>.title .extra-buttons .export-dropdown-con{background-color:var(--white);border-radius:var(--border-radius-base);display:none;left:20px;position:absolute;top:30px;width:150px;z-index:1}::ng-deep .table-con>.title .extra-buttons .export-dropdown-con lib-form-button .form-input-con.button .form-input .control{border-radius:0}::ng-deep .table-con>.title .extra-buttons .export-dropdown-con lib-form-button:first-of-type .form-input-con.button .form-input .control{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0}::ng-deep .table-con>.title .extra-buttons .export-dropdown-con lib-form-button:last-of-type .form-input-con.button .form-input .control{border-radius:0 0 var(--border-radius-base) var(--border-radius-base)}.table-con>.search-form{border-radius:var(--border-radius-base);float:right;margin-bottom:10px;width:100%}.table-con.expert-search>.search-form{background-color:rgba(51,51,51,.4);height:100%;left:0;margin-bottom:0;opacity:0;overflow:hidden;position:absolute;top:0;transition:all .35s ease-in-out;visibility:hidden;width:100%;z-index:4}.table-con.expert-search.show-expert-search>.search-form{opacity:1;visibility:visible}::ng-deep .table-con.expert-search>.search-form .form{background-color:var(--white);box-shadow:var(--box-shadow-right);height:100%;left:calc(-20% - 20px);padding:20px;position:absolute;top:0;transition:all .35s ease-in-out;width:20%;z-index:4}::ng-deep .table-con.expert-search>.search-form .form .inputs{float:right;height:calc(100% - 50px);margin:0;overflow-y:auto;width:100%}::ng-deep .table-con.expert-search.show-expert-search>.search-form .form{left:0}.table-con .table,.table-con .table .header{float:right;width:100%}.table-con .table .header .row{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;align-items:center;background-color:var(--base-white);border-radius:var(--border-radius-base);display:flex;flex-wrap:wrap;float:right;justify-content:right;position:relative;width:100%}.table-con .table .header .row.with-handle-check,.table-con .table .header .row.with-handle-children,.table-con .table .header .row.with-handle-sortable{padding-right:30px}.table-con .table .header .row.with-handle-children.with-handle-check,.table-con .table .header .row.with-handle-sortable.with-handle-check,.table-con .table .header .row.with-handle-sortable.with-handle-children{padding-right:60px}.table-con .table .header .row.with-handle-sortable.with-handle-children.with-handle-check{padding-right:90px}.table-con .table .header .row .cell{align-items:center;color:var(--black-light);display:flex;float:right;font-size:12px;font-weight:var(--font-normal);height:45px;justify-content:center;position:relative}.table-con .table .header .row .cell.options{margin-left:auto;margin-right:auto}.table-con .table .header .row .handle-con{height:100%;position:absolute;right:0;top:0}.table-con .table .header .row .handle-con .handle{align-items:center;display:flex;float:right;height:100%;justify-content:center;width:30px}.table-con .table .header .row .handle-con .handle i{cursor:pointer;font-size:18px}.table-con .table .header .row .cell.sort{cursor:pointer}.table-con .table .header .row .cell .header-title{float:right;padding:0 15px;text-align:center;width:calc(100% - 20px)}.table-con .table .header .row .cell .header-search{float:right;width:calc(100% - 20px)}.table-con .table .header .row .cell .sort-icon{float:right;font-size:13px;height:20px;left:5px;line-height:20px;opacity:.6;top:calc(50% - 10px);width:20px}.table-con .table .body{float:right;position:relative;width:100%}::ng-deep .table-con .table .header .row .cell .check-row{cursor:pointer;font-size:18px;height:30px;line-height:30px}::ng-deep .table-con.vertical .table lib-table-row>.row-con>.row:after{background-image:linear-gradient(180deg,rgba(0,0,0,.05),rgba(50,50,50,.15),rgba(0,0,0,.05));height:100%;left:0;right:unset;width:1px}::ng-deep .table-con.vertical:not(.sortable) .table lib-table-row:first-of-type>.row-con>.row:after,::ng-deep .table-con:not(.sortable) .table lib-table-row:last-of-type>.row-con>.row:after{background-image:unset}.table-con.vertical .table .header{display:none}::ng-deep .table-con .table lib-table-row{display:contents}.table-con.vertical .table .body{display:flex}::ng-deep .table-con.vertical .table lib-table-row:first-of-type>.row-con{background-color:var(--base-white);border-radius:var(--border-radius-base);max-width:150px}@media (max-width:499.99px){::ng-deep .table-con.expert-search>.search-form .form{left:calc(-100% - 20px);width:100%}}@media (min-width:500px) and (max-width:699.99px){::ng-deep .table-con.expert-search>.search-form .form{left:calc(-50% - 20px);width:50%}}@media (min-width:700px) and (max-width:999.99px){::ng-deep .table-con.expert-search>.search-form .form{left:calc(-40% - 20px);width:40%}}@media (min-width:1000px) and (max-width:1599.99px){::ng-deep .table-con.expert-search>.search-form .form{left:calc(-30% - 20px);width:30%}}"]
|
|
227
|
+
},] }
|
|
228
|
+
];
|
|
229
|
+
TableComponent.ctorParameters = () => [
|
|
230
|
+
{ type: Router }
|
|
231
|
+
];
|
|
232
|
+
TableComponent.propDecorators = {
|
|
233
|
+
table: [{ type: Input }],
|
|
234
|
+
changeRows: [{ type: Output }],
|
|
235
|
+
rows: [{ type: ViewChild, args: ['rows',] }],
|
|
236
|
+
tableDiv: [{ type: ViewChild, args: ['tableDiv',] }],
|
|
237
|
+
exportDropDown: [{ type: ViewChild, args: ['exportDropDown',] }],
|
|
238
|
+
confirm: [{ type: ViewChild, args: ['confirm',] }]
|
|
239
|
+
};
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFdkMsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQTRCLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdEksT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRCxPQUFPLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFPL0QsTUFBTSxPQUFPLGNBQWM7SUFvQnpCLFlBQW1CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBaEJqQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQWV4QyxXQUFNLEdBQWUsSUFBSSxDQUFDO0lBRTFCLENBQUM7SUFoQkQsSUFBSSxJQUFJLEtBQXNCLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNqRCxJQUFJLGVBQWUsS0FBNEIsT0FBTyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLElBQUksT0FBTyxLQUEwQixPQUFPLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFnQjVE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QUFJLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFDbEU7WUFDRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUNsRTtJQUNILENBQUM7OztZQXhPRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLGk5S0FBcUM7O2FBRXRDOzs7WUFmTyxNQUFNOzs7b0JBaUJYLEtBQUs7eUJBRUwsTUFBTTttQkFLTixTQUFTLFNBQUMsTUFBTTt1QkFDaEIsU0FBUyxTQUFDLFVBQVU7NkJBQ3BCLFNBQVMsU0FBQyxnQkFBZ0I7c0JBQzFCLFNBQVMsU0FBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHtUYWJsZUNsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RhYmxlLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dFR5cGUsIE1ldGhvZCwgUGVybWlzc2lvbkFjY2Vzc1R5cGVFbnVtLCBUYWJsZUNvbGxUeXBlLCBUYWJsZUV4cG9ydFR5cGUsIFRhYmxlT3B0aW9uVHlwZX0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnVtLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dENsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm0uY2xhc3MnO1xyXG5pbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcbmltcG9ydCB7Q29uZmlybUNvbXBvbmVudH0gZnJvbSAnLi4vY29uZmlybS9jb25maXJtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TW9kYWxDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9tb2RhbC5jbGFzcyc7XHJcbmltcG9ydCAnanF1ZXJ5LXVpLWRpc3QvanF1ZXJ5LXVpJztcclxuaW1wb3J0IHtSZXF1ZXN0Q2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvcmVxdWVzdC5jbGFzcyc7XHJcbmltcG9ydCB7UGVybWlzc2lvbkNsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL3Blcm1pc3Npb24uY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBASW5wdXQoKVxyXG4gIHRhYmxlOiBUYWJsZUNsYXNzO1xyXG4gIEBPdXRwdXQoKVxyXG4gIGNoYW5nZVJvd3MgPSBuZXcgRXZlbnRFbWl0dGVyPG9iamVjdD4oKTtcclxuICBnZXQgdHlwZSgpOiB0eXBlb2YgSW5wdXRUeXBleyByZXR1cm4gSW5wdXRUeXBlOyB9XHJcbiAgZ2V0IHRhYmxlT3B0aW9uVHlwZSgpOiB0eXBlb2YgVGFibGVPcHRpb25UeXBleyByZXR1cm4gVGFibGVPcHRpb25UeXBlOyB9XHJcbiAgZ2V0IGNvbFR5cGUoKTogdHlwZW9mIFRhYmxlQ29sbFR5cGV7IHJldHVybiBUYWJsZUNvbGxUeXBlOyB9XHJcbiAgQFZpZXdDaGlsZCgncm93cycpIHJvd3M6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgndGFibGVEaXYnKSB0YWJsZURpdjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdleHBvcnREcm9wRG93bicpIGV4cG9ydERyb3BEb3duOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbmZpcm0nKSBjb25maXJtOiBDb25maXJtQ29tcG9uZW50O1xyXG4gIHJlbG9hZDogSW5wdXRDbGFzcztcclxuICBleGNlbDogSW5wdXRDbGFzcztcclxuICBleGNlbFVpOiBJbnB1dENsYXNzO1xyXG4gIHBkZjogSW5wdXRDbGFzcztcclxuICBwcmludDogSW5wdXRDbGFzcztcclxuICBtYXhpbXVtOiBJbnB1dENsYXNzO1xyXG4gIGV4cGVydFNlYXJjaDogSW5wdXRDbGFzcztcclxuICBleHBvcnQ6IElucHV0Q2xhc3MgPSBudWxsO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByb3V0ZXI6IFJvdXRlcikge1xyXG4gIH1cclxuICBvcHRpb25zOiBJbnB1dENsYXNzW107XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbG9hZCA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ1JlbG9hZCcsICdmYWQgZmEtc3luYy1hbHQnLCBJbnB1dFR5cGUuSWNvbiwgJ20tci0xMC1wJyk7XHJcbiAgICB0aGlzLmV4cG9ydCA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ0V4cG9ydFRhYmxlJywgJ2ZhZCBmYS1kb3dubG9hZCBmLXMtMjEnLCBJbnB1dFR5cGUuSWNvbiwgJ20tci0xMC1wIGV4cG9ydC1kcm9wZG93bi1pY29uJyk7XHJcbiAgICB0aGlzLmV4Y2VsID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnRXhwb3J0RXhjZWwnLCAnZmFkIGZhLWZpbGUtZXhjZWwgZi1zLTIxJywgSW5wdXRUeXBlLkJ1dHRvbiwgJ3doaXRlIGYtcy0xMSBoLTM1IHAtMCcpO1xyXG4gICAgdGhpcy5leGNlbFVpID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnRXhwb3J0RXhjZWwnLCAnZmFkIGZhLWZpbGUtZXhjZWwgZi1zLTIxJywgSW5wdXRUeXBlLkljb24sICdtLXItMTAtcCcpO1xyXG4gICAgdGhpcy5wZGYgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdFeHBvcnRQZGYnLCAnZmFkIGZhLWZpbGUtcGRmIGYtcy0yMScsIElucHV0VHlwZS5CdXR0b24sICd3aGl0ZSBmLXMtMTEgaC0zNSBwLTAnKTtcclxuICAgIHRoaXMucHJpbnQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdFeHBvcnRQcmludCcsICdmYWQgZmEtZmlsZS1saW5lcyBmLXMtMjEnLCBJbnB1dFR5cGUuQnV0dG9uLCAnd2hpdGUgZi1zLTExIGgtMzUgcC0wJyk7XHJcbiAgICB0aGlzLm1heGltdW0gPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdNYXhpbXVtJywgJ2ZhZCBmYS1hcnJvd3MtbWF4aW1pemUnLCBJbnB1dFR5cGUuSWNvbiwgJ20tci0xMC1wJyk7XHJcbiAgICB0aGlzLmV4cGVydFNlYXJjaCA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ0V4cGVydFNlYXJjaCcsICdmYWQgZmEtbWFnbmlmeWluZy1nbGFzcycsIElucHV0VHlwZS5JY29uLCAnbS1yLTEwLXAnKTtcclxuICAgIHRoaXMudGFibGUuc2V0Q29scygpO1xyXG4gICAgaWYgKHRoaXMudGFibGUuc29ydGFibGUpe1xyXG4gICAgICB0aGlzLnRhYmxlLnBlclBhZ2UgPSAtMTtcclxuICAgICAgdGhpcy50YWJsZS5vbkxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRTb3J0YWJsZSgpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgdGhpcy50YWJsZS5zZXQodGhpcy5jaGFuZ2VSb3dzKTtcclxuICAgIGlmICh0aGlzLnRhYmxlLnNlYXJjaEZvcm0pe1xyXG4gICAgICB0aGlzLnRhYmxlLnNlYXJjaEZvcm0uZGlzcGxheUxhYmVsID0gdGhpcy50YWJsZS5leHBlcnRTZWFyY2g7XHJcbiAgICAgIHRoaXMudGFibGUuc2VhcmNoRm9ybS5jbGFzcyA9ICh0aGlzLnRhYmxlLnNlYXJjaEZvcm0uY2xhc3MgPyB0aGlzLnRhYmxlLnNlYXJjaEZvcm0uY2xhc3MgOiAnJykgKyAodGhpcy50YWJsZS5leHBlcnRTZWFyY2ggPyAnJyA6ICcgcC0wJyk7XHJcbiAgICAgIGlmICh0aGlzLnRhYmxlLmV4cGVydFNlYXJjaCl7XHJcbiAgICAgICAgY29uc3QgcyA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ1NlYXJjaCcsICdmYWQgZmEtbWFnbmlmeWluZy1nbGFzcycsIElucHV0VHlwZS5TdWJtaXQsICdibHVlIGgtMzAnKTtcclxuICAgICAgICBzLnN0eWxlID0ge3RvcDogJzIwcHgnLCBsZWZ0OiAnNXB4JywgcG9zaXRpb246ICdhYnNvbHV0ZScsIHdpZHRoOiAnNTAlJ307XHJcbiAgICAgICAgdGhpcy50YWJsZS5zZWFyY2hGb3JtLmlucHV0cy5wdXNoKHMpO1xyXG4gICAgICAgIHRoaXMudGFibGUuc2VhcmNoRm9ybS5uYW1lID0gJ0V4cGVydFNlYXJjaCc7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50YWJsZS5zZWFyY2hGb3JtLmlucHV0cy5mb3JFYWNoKHggPT4ge1xyXG4gICAgICAgIGNvbnN0IGhhc1N1Ym1pdCA9IHRoaXMudGFibGUuc2VhcmNoRm9ybS5pbnB1dHMuc29tZShzID0+IHMudHlwZSA9PT0gSW5wdXRUeXBlLlN1Ym1pdCk7XHJcbiAgICAgICAgeC5yZXF1aXJlZCA9IGZhbHNlO1xyXG4gICAgICAgIHguZGlzcGxheUxhYmVsID0gdGhpcy50YWJsZS5leHBlcnRTZWFyY2g7XHJcbiAgICAgICAgeC5jbGFzcyA9IHguY2xhc3MgKyAnIHNlYXJjaC1mb3JtLWlucCcgKyAodGhpcy50YWJsZS5leHBlcnRTZWFyY2ggJiYgeC50eXBlICE9PSBJbnB1dFR5cGUuU3VibWl0ID8gJyBwLTAnIDogJycpO1xyXG4gICAgICAgIHgud2l0aENsZWFyID0gIWhhc1N1Ym1pdCB8fCB0aGlzLnRhYmxlLmV4cGVydFNlYXJjaDtcclxuICAgICAgICBpZiAoIWhhc1N1Ym1pdCl7XHJcbiAgICAgICAgICBpZiAoeC5vbkNoYW5nZSA9PSBudWxsKXtcclxuICAgICAgICAgICAgeC5vbkNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnRhYmxlLmxvYWQoKTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHgudHlwZSA9PT0gSW5wdXRUeXBlLlN1Ym1pdCl7XHJcbiAgICAgICAgICB4Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRhYmxlLnNlYXJjaEZvcm0ub25CZWZvcmVTdWJtaXQgJiYgIXRoaXMudGFibGUuc2VhcmNoRm9ybS5vbkJlZm9yZVN1Ym1pdCgpKXtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy50YWJsZS5sb2FkKHgpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIC8vIHRoaXMudGFibGUuc2VhcmNoRm9ybS5zdWJtaXQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAvLyAgIGNvbnNvbGUubG9nKCd0aGlzLnRhYmxlLnNlYXJjaEZvcm0uc3VibWl0Jyk7XHJcbiAgICAgICAgICAvLyAgIGlmICh0aGlzLnRhYmxlLnNlYXJjaEZvcm0ub25CZWZvcmVTdWJtaXQgJiYgIXRoaXMudGFibGUuc2VhcmNoRm9ybS5vbkJlZm9yZVN1Ym1pdCgpKXtcclxuICAgICAgICAgIC8vICAgICByZXR1cm47XHJcbiAgICAgICAgICAvLyAgIH1cclxuICAgICAgICAgIC8vICAgdGhpcy50YWJsZS5sb2FkKHgpO1xyXG4gICAgICAgICAgLy8gICAkKHRoaXMudGFibGVEaXYubmF0aXZlRWxlbWVudCkucmVtb3ZlQ2xhc3MoJ3Nob3ctZXhwZXJ0LXNlYXJjaCcpO1xyXG4gICAgICAgICAgLy8gfTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5nZXRPcHRpb25zKCk7XHJcbiAgICB0aGlzLnJlbG9hZC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLnRhYmxlLmxvYWQodGhpcy5yZWxvYWQpO1xyXG4gICAgfTtcclxuICAgIHRoaXMuZXhwb3J0Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICQodGhpcy5leHBvcnREcm9wRG93bi5uYXRpdmVFbGVtZW50KS5zbGlkZVRvZ2dsZSgpO1xyXG4gICAgfTtcclxuICAgIHRoaXMucGRmLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuZXhwb3J0VGFibGUoVGFibGVFeHBvcnRUeXBlLlBkZiwgdGhpcy5wZGYpO1xyXG4gICAgfTtcclxuICAgIHRoaXMuZXhjZWwub25DbGljayA9ICgpID0+IHtcclxuICAgICAgdGhpcy5leHBvcnRUYWJsZShUYWJsZUV4cG9ydFR5cGUuRXhjZWwsIHRoaXMuZXhjZWwpO1xyXG4gICAgfTtcclxuICAgIHRoaXMuZXhjZWxVaS5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLnRhYmxlLmV4Y2VsKCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5wcmludC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmV4cG9ydFRhYmxlKFRhYmxlRXhwb3J0VHlwZS5QcmludCwgdGhpcy5wcmludCk7XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMubWF4aW11bS5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAkKHRoaXMudGFibGVEaXYubmF0aXZlRWxlbWVudCkudG9nZ2xlQ2xhc3MoJ21heGltdW0nKTtcclxuICAgICAgdGhpcy5tYXhpbXVtLmljb24gPSB0aGlzLm1heGltdW0ubmFtZSA9PT0gJ01pbmltdW0nID8gJ2ZhZCBmYS1hcnJvd3MtbWF4aW1pemUnIDogJ2ZhZCBmYS1hcnJvd3MtbWluaW1pemUnO1xyXG4gICAgICB0aGlzLm1heGltdW0ubmFtZSA9IHRoaXMubWF4aW11bS5uYW1lID09PSAnTWluaW11bScgPyAnTWF4aW11bScgOiAnTWluaW11bSc7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5leHBlcnRTZWFyY2gub25DbGljayA9ICgpID0+IHtcclxuICAgICAgJCh0aGlzLnRhYmxlRGl2Lm5hdGl2ZUVsZW1lbnQpLmFkZENsYXNzKCdzaG93LWV4cGVydC1zZWFyY2gnKTtcclxuICAgIH07XHJcbiAgICB0aGlzLnRhYmxlLnNob3dDb25maXJtID0gKGw6IHN0cmluZywgdXJsOiBzdHJpbmcsIGRhdGEsIGFjY2VwdDogKHJlc3VsdDogYW55KSA9PiB2b2lkKSA9PiB7XHJcbiAgICAgIHRoaXMuY29uZmlybS5zaG93KGwsIHVybCwgZGF0YSwgYWNjZXB0KTtcclxuICAgIH07XHJcbiAgfVxyXG4gIGV4cG9ydFRhYmxlKHR5cGU6IFRhYmxlRXhwb3J0VHlwZSwgYnRuOiBJbnB1dENsYXNzKTogdm9pZHtcclxuICAgIGNvbnN0IGdldFdpZHRoVmFsdWUgPSAoc3RyKSA9PiB7XHJcbiAgICAgIGNvbnN0IG1hdGNoZXMgPSBbLi4uc3RyLm1hdGNoQWxsKC93LShcXGQrKSg/Oi0oXFxkKykpPy9nKV07XHJcbiAgICAgIGlmICghbWF0Y2hlcy5sZW5ndGgpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBtYXggPSBtYXRjaGVzLnJlZHVjZSgoYmVzdCwgbSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZpcnN0ID0gK21bMV07XHJcbiAgICAgICAgY29uc3Qgc2Vjb25kID0gK21bMl0gfHwgbnVsbDtcclxuICAgICAgICBpZiAoIWJlc3QgfHwgZmlyc3QgPiBiZXN0LmZpcnN0KXtcclxuICAgICAgICAgIHJldHVybiB7IGZpcnN0LCBzZWNvbmQgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGJlc3Q7XHJcbiAgICAgIH0sIG51bGwpO1xyXG4gICAgICBjb25zdCBzID0gKG1heC5zZWNvbmQgfHwgbWF4LmZpcnN0KTtcclxuICAgICAgcmV0dXJuIHMgPT0gbnVsbCA/IDEwMCA6IHM7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHVybCA9IHRoaXMudGFibGUudXJsO1xyXG4gICAgY29uc3QgZGF0YTogYW55ID0gdGhpcy50YWJsZS5zZWFyY2hEYXRhKCk7XHJcbiAgICBkYXRhLlBhZ2UgPSAxO1xyXG4gICAgZGF0YS5QZXJQYWdlID0gLTE7XHJcbiAgICBkYXRhLlJlcG9ydFR5cGUgPSB0eXBlO1xyXG4gICAgZGF0YS5Db2xzID0gdGhpcy50YWJsZS5jb2xzLm1hcCh4ID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBOYW1lOiB4Lm5hbWUsXHJcbiAgICAgICAgVHJuTmFtZTogdGhpcy50YWJsZS5sKHgubmFtZSksXHJcbiAgICAgICAgV2lkdGg6IGdldFdpZHRoVmFsdWUoeC5jbGFzcyksXHJcbiAgICAgICAgVHlwZTogeC50eXBlLFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcblxyXG4gICAgbmV3IFJlcXVlc3RDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwpLnNlbmQodXJsLCBNZXRob2QuUG9zdCwgZGF0YSwgYnRuLCAocmVzdWx0KSA9PiB7XHJcbiAgICAgIHdpbmRvdy5vcGVuKHRoaXMudGFibGUuZW52aXJvbm1lbnQudXJsICsgJy9yZXBvcnQve30ve30nLnJlcGxhY2UoJ3t9JywgdHlwZSkucmVwbGFjZSgne30nLCByZXN1bHQpLCAnX2JsYW5rJyk7XHJcbiAgICB9LCAoKSA9PiB7fSk7XHJcbiAgfVxyXG4gIGFsbENoZWNrZWQoKTogYm9vbGVhbntcclxuICAgIHJldHVybiB0aGlzLnRhYmxlLnJvd3MuZmlsdGVyKHggPT4gIXguY2hlY2tlZCkubGVuZ3RoID09PSAwO1xyXG4gIH1cclxuICBpc0NoZWNrZWQoKTogYm9vbGVhbntcclxuICAgIHJldHVybiB0aGlzLnRhYmxlLnJvd3MuZmlsdGVyKHggPT4geC5jaGVja2VkKS5sZW5ndGggPiAwO1xyXG4gIH1cclxuICBjaGVja0FsbCgpOiB2b2lke1xyXG4gICAgaWYgKHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiAheC5jaGVja2VkKS5sZW5ndGggPT09IDApe1xyXG4gICAgICB0aGlzLnRhYmxlLnJvd3MuZm9yRWFjaCh4ID0+IHguY2hlY2tlZCA9IGZhbHNlKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnRhYmxlLnJvd3MuZm9yRWFjaCh4ID0+IHguY2hlY2tlZCA9IHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRPcHRpb25zKCk6IElucHV0Q2xhc3NbXXtcclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcbiAgc2V0U29ydGFibGUoKTogdm9pZHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICQodGhpcy5yb3dzLm5hdGl2ZUVsZW1lbnQpLnNvcnRhYmxlKHtcclxuICAgICAgICBheGlzOiAneScsXHJcbiAgICAgICAgaXRlbXM6ICcucm93JyxcclxuICAgICAgICBoYW5kbGU6ICc+IC5oYW5kbGUtY29uID4gLmhhbmRsZS5oYW5kbGUtc29ydGFibGUnLFxyXG4gICAgICAgIHVwZGF0ZTogKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZGF0YSA9IFtdO1xyXG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgJCh0aGlzLnJvd3MubmF0aXZlRWxlbWVudCkuc29ydGFibGUoJ3RvQXJyYXknLCB7YXR0cmlidXRlOiAnZGF0YS1pZCd9KS5mb3JFYWNoKHggPT4ge1xyXG4gICAgICAgICAgICBkYXRhLnB1c2gocGFyc2VJbnQoeCwgMTApKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICAgIHAuQXJlYSA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICAgIHAuQ29udHJvbGxlciA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQ29udHJvbGxlcjtcclxuICAgICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5SZWxhdGVkSWQ7XHJcbiAgICAgICAgICBwLkFjdGlvbiA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQWN0aW9uID8gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5BY3Rpb24gKyAnLXNvcnQnIDogJ3NvcnQnO1xyXG4gICAgICAgICAgbmV3IFJlcXVlc3RDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwpLnNlbmQocC5nZXRVcmwoKS50b0xvd2VyQ2FzZSgpLCBNZXRob2QuUG9zdCwge0lkczogZGF0YX0sIG51bGwsICgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGFibGUub25Tb3J0KXtcclxuICAgICAgICAgICAgICB0aGlzLnRhYmxlLm9uU29ydCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LCAoKSA9PiB7fSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KS5kaXNhYmxlU2VsZWN0aW9uKCk7XHJcbiAgICB9LCA1MDApO1xyXG4gIH1cclxuICBnZXRSb3dzKCk6IGFueVtde1xyXG4gICAgY29uc3QgYyA9IHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiAheC5EYXRhLlBhcmVudElkKTtcclxuICAgIGMuZm9yRWFjaCgoeCwgaSkgPT4geC5Sb3dOdW0gPSBjLmxlbmd0aCAtIGkgKyAxKTtcclxuICAgIHJldHVybiBjO1xyXG4gIH1cclxuICAvLyBnZXRPcHRpb25Nb2RhbHMoKTogSW5wdXRDbGFzc1tde1xyXG4gIC8vICAgY29uc3QgbW9kYWxzID0gW107XHJcbiAgLy8gICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLnRhYmxlLm9wdGlvbkFjdGlvbnMpKSB7XHJcbiAgLy8gICAgIGlmICh0aGlzLnRhYmxlLm9wdGlvbkFjdGlvbnNba2V5XS5tb2RhbCl7XHJcbiAgLy8gICAgICAgbW9kYWxzLnB1c2godGhpcy50YWJsZS5vcHRpb25BY3Rpb25zW2tleV0ubW9kYWwpO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9XHJcbiAgLy8gICByZXR1cm4gbW9kYWxzO1xyXG4gIC8vIH1cclxuICBvbkNoYW5nZVJvd3MoZSk6IHZvaWR7XHJcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2VSb3dzLmVtaXQoZSk7XHJcbiAgfVxyXG4gIG9uQ29uZmlybVNob3coZSk6IHZvaWR7XHJcbiAgICB0aGlzLmNvbmZpcm0uc2hvdyh0aGlzLnRhYmxlLmwoZS5hY3Rpb24gKyAnQ29uZmlybScpLCBlLnVybCwgZS5kYXRhLCBlLmFjY2VwdCk7XHJcbiAgfVxyXG4gIGNoYW5nZVNvcnQoZSwgczogc3RyaW5nKTogdm9pZHtcclxuICAgIGlmICgkKGUudGFyZ2V0KS5jbG9zZXN0KCcuaGVhZGVyLXNlYXJjaCcpLmhhc0NsYXNzKCdoZWFkZXItc2VhcmNoJykpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlLnNvcnRUeXBlID0gdGhpcy50YWJsZS5zb3J0ID09PSBzID8gdGhpcy50YWJsZS5zb3J0VHlwZSA9PT0gJ0FTQycgPyAnREVTQycgOiBudWxsIDogJ0FTQyc7XHJcbiAgICB0aGlzLnRhYmxlLnNvcnQgPSB0aGlzLnRhYmxlLnNvcnRUeXBlID09IG51bGwgPyBudWxsIDogcztcclxuICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gIH1cclxuICBnZXRNb2RhbHMoKTogTW9kYWxDbGFzc1tde1xyXG4gICAgcmV0dXJuIHRoaXMudGFibGUub3B0aW9uc0FjdGlvbnMuZmlsdGVyKHggPT4geCBpbnN0YW5jZW9mIE1vZGFsQ2xhc3MpO1xyXG4gIH1cclxuICBoaWRlRXhwZXJ0U2VhcmNoKGUpOiB2b2lke1xyXG4gICAgaWYgKHRoaXMudGFibGUuZXhwZXJ0U2VhcmNoICYmICQoZS50YXJnZXQpLmhhc0NsYXNzKCdzZWFyY2gtZm9ybScpKVxyXG4gICAge1xyXG4gICAgICAkKHRoaXMudGFibGVEaXYubmF0aXZlRWxlbWVudCkucmVtb3ZlQ2xhc3MoJ3Nob3ctZXhwZXJ0LXNlYXJjaCcpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
export class TooltipComponent {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.position = 'bottom';
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
TooltipComponent.decorators = [
|
|
8
|
+
{ type: Component, args: [{
|
|
9
|
+
selector: 'lib-tooltip',
|
|
10
|
+
template: "<div></div>\r\n",
|
|
11
|
+
styles: ["[data-tooltip]{height:100%;position:relative;width:100%;z-index:10}[data-tooltip]:after,[data-tooltip]:before{bottom:calc(100% + 5px);left:50%;opacity:0;pointer-events:none;position:absolute;transition:.2s;visibility:hidden;will-change:transform}[data-tooltip]:before{background-color:var(--black);border-radius:var(--border-radius-base);color:#fff;content:attr(data-tooltip);font-size:13px;line-height:30px;max-width:300px;min-width:50px;padding:0 10px;text-align:center;transform:translate(-50%,-5px) scale(.5);white-space:pre-wrap;width:max-content;width:-moz-max-content;z-index:6}[data-tooltip]:after{border:solid var(--black);border-width:5px 5px 0;content:\"\";transform:translateX(-50%) scaleY(0);transform-origin:top;transition-duration:0s}[data-tooltip]:hover:after,[data-tooltip]:hover:before{opacity:1;visibility:visible}[data-tooltip]:hover:before{transform:translate(-50%,-5px) scale(1);transition-delay:.3s}[data-tooltip]:hover:after{transform:translateX(-50%) scaleY(1);transition-delay:.5s;transition-duration:.2s}[data-tooltip-location=left]:after,[data-tooltip-location=left]:before{bottom:50%;left:auto;right:calc(100% + 5px)}[data-tooltip-location=left]:before{transform:translate(-5px,50%) scale(.5)}[data-tooltip-location=left]:hover:before{transform:translate(-5px,50%) scale(1)}[data-tooltip-location=left]:after{border-color:transparent transparent transparent rgba(55,64,70,.9);border-width:5px 0 5px 5px;transform:translateY(50%) scaleX(0);transform-origin:left}[data-tooltip-location=left]:hover:after{transform:translateY(50%) scaleX(1)}[data-tooltip-location=right]:after,[data-tooltip-location=right]:before{bottom:50%;left:calc(100% + 5px)}[data-tooltip-location=right]:before{transform:translate(5px,50%) scale(.5)}[data-tooltip-location=right]:hover:before{transform:translate(5px,50%) scale(1)}[data-tooltip-location=right]:after{border-color:transparent rgba(55,64,70,.9) transparent transparent;border-width:5px 5px 5px 0;transform:translateY(50%) scaleX(0);transform-origin:right}[data-tooltip-location=right]:hover:after{transform:translateY(50%) scaleX(1)}[data-tooltip-location=bottom]:after,[data-tooltip-location=bottom]:before{bottom:auto;top:calc(100% + 5px)}[data-tooltip-location=bottom]:before{transform:translate(-50%,5px) scale(.5)}[data-tooltip-location=bottom]:hover:before{transform:translate(-50%,5px) scale(1)}[data-tooltip-location=bottom]:after{border-color:transparent transparent rgba(55,64,70,.9);border-width:0 5px 5px;transform-origin:bottom}"]
|
|
12
|
+
},] }
|
|
13
|
+
];
|
|
14
|
+
TooltipComponent.ctorParameters = () => [];
|
|
15
|
+
TooltipComponent.propDecorators = {
|
|
16
|
+
text: [{ type: Input }],
|
|
17
|
+
position: [{ type: Input }]
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiRDovUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU8vQyxNQUFNLE9BQU8sZ0JBQWdCO0lBSzNCO1FBREEsYUFBUSxHQUFHLFFBQVEsQ0FBQztJQUVwQixDQUFDOzs7WUFYRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLDJCQUF1Qzs7YUFFeEM7Ozs7bUJBRUUsS0FBSzt1QkFFTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRvb2x0aXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sdGlwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90b29sdGlwLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbXBvbmVudHtcclxuICBASW5wdXQoKVxyXG4gIHRleHQ6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIHBvc2l0aW9uID0gJ2JvdHRvbSc7XHJcbiAgY29uc3RydWN0b3IoKXtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { PsToolkitUiConfigService } from './services/config.service';
|
|
3
|
+
import { AccordionComponent } from './components/accordion/accordion.component';
|
|
4
|
+
import { FooterComponent } from './components/footer/footer.component';
|
|
5
|
+
import { HeaderComponent } from './components/header/header.component';
|
|
6
|
+
import { ModalComponent } from './components/modal/modal.component';
|
|
7
|
+
import { SidebarItemComponent } from './components/sidebar/item/sidebar.item.component';
|
|
8
|
+
import { SidebarComponent } from './components/sidebar/sidebar.component';
|
|
9
|
+
import { StepsComponent } from './components/steps/steps.component';
|
|
10
|
+
import { SubHeaderComponent } from './components/header/sub/sub.header.component';
|
|
11
|
+
import { TableLoadingComponent } from './components/table/loading/table.loading.component';
|
|
12
|
+
import { TablePaginationComponent } from './components/table/pagination/table.pagination.component';
|
|
13
|
+
import { TableRowComponent } from './components/table/row/table.row.component';
|
|
14
|
+
import { TableComponent } from './components/table/table.component';
|
|
15
|
+
import { TooltipComponent } from './components/tooltip/tooltip.component';
|
|
16
|
+
import { FormBankCardComponent } from './components/form/bank-card/form.bank-card.component';
|
|
17
|
+
import { FormButtonComponent } from './components/form/button/form.button.component';
|
|
18
|
+
import { FormCheckboxComponent } from './components/form/checkbox/form.checkbox.component';
|
|
19
|
+
import { FormDateComponent } from './components/form/date/form.date.component';
|
|
20
|
+
import { FormDatetimeComponent } from './components/form/datetime/form.datetime.component';
|
|
21
|
+
import { FormFileComponent } from './components/form/file/form.file.component';
|
|
22
|
+
import { FormIconComponent } from './components/form/icon/form.icon.component';
|
|
23
|
+
import { FormComponent } from './components/form/index/form.component';
|
|
24
|
+
import { FormLabelComponent } from './components/form/label/form.label.component';
|
|
25
|
+
import { FormPlaqueSelectComponent } from './components/form/plaque/select/form.plaque.select.component';
|
|
26
|
+
import { FormPlaqueComponent } from './components/form/plaque/form.plaque.component';
|
|
27
|
+
import { FormRadioComponent } from './components/form/radio/form.radio.component';
|
|
28
|
+
import { FormSelectItemComponent } from './components/form/select/item/form.select.item.component';
|
|
29
|
+
import { FormSelectComponent } from './components/form/select/form.select.component';
|
|
30
|
+
import { FormTableComponent } from './components/form/table/form.table.component';
|
|
31
|
+
import { FormTextareaComponent } from './components/form/textarea/form.textarea.component';
|
|
32
|
+
import { FormTextboxComponent } from './components/form/textbox/form.textbox.component';
|
|
33
|
+
import { FormTimeComponent } from './components/form/time/form.time.component';
|
|
34
|
+
import { FormTreeItemComponent } from './components/form/tree/item/form.tree.item.component';
|
|
35
|
+
import { FormTreeComponent } from './components/form/tree/form.tree.component';
|
|
36
|
+
import { AlertComponent } from './components/alert/alert.component';
|
|
37
|
+
import { ConfirmComponent } from './components/confirm/confirm.component';
|
|
38
|
+
import { NotfoundComponent } from './components/notfound/notfound.component';
|
|
39
|
+
import { ErrorComponent } from './components/error/error.component';
|
|
40
|
+
import { FormFingerComponent } from './components/form/finger/form.finger.component';
|
|
41
|
+
import { FormVehicleSearchComponent } from './components/form/vehicle/search/form.vehicle.search.component';
|
|
42
|
+
import { FormVehicleComponent } from './components/form/vehicle/form.vehicle.component';
|
|
43
|
+
import { RouterModule } from '@angular/router';
|
|
44
|
+
import { FormsModule } from '@angular/forms';
|
|
45
|
+
import { CommonModule } from '@angular/common';
|
|
46
|
+
import { SafeStylePipe } from './classes/safestyle.class';
|
|
47
|
+
import { LoginComponent } from './components/login/login.component';
|
|
48
|
+
import { LoadingComponent } from './components/loading/loading.component';
|
|
49
|
+
import { NotificationComponent } from './components/notification/notification.component';
|
|
50
|
+
import { LayoutComponent } from './components/layout/layout.component';
|
|
51
|
+
import { FormHiddenComponent } from './components/form/hidden/form.hidden.component';
|
|
52
|
+
import { CalendarComponent } from './components/calendar/calendar.component';
|
|
53
|
+
import { ClockComponent } from './components/clock/clock.component';
|
|
54
|
+
import { ChartComponent } from './components/chart/chart.component';
|
|
55
|
+
import { SafeHtmlPipe } from './classes/safehtml.class';
|
|
56
|
+
import { FormStarComponent } from './components/form/star/form.star.component';
|
|
57
|
+
import { FormTagComponent } from './components/form/tag/form.tag.component';
|
|
58
|
+
import { FormCkeditorComponent } from './components/form/ckeditor/form.ckeditor.component';
|
|
59
|
+
import { CKEditorModule } from 'ckeditor4-angular';
|
|
60
|
+
import { FormToggleComponent } from './components/form/toggle/form.toggle.component';
|
|
61
|
+
import { FormUploaderComponent } from './components/form/uploader/form.uploader.component';
|
|
62
|
+
import { FormSlideComponent } from './components/form/slide/form.slide.component';
|
|
63
|
+
export class PsToolkitUiModule {
|
|
64
|
+
static forRoot(config) {
|
|
65
|
+
return {
|
|
66
|
+
ngModule: PsToolkitUiModule,
|
|
67
|
+
providers: [
|
|
68
|
+
{ provide: PsToolkitUiConfigService, useValue: config }
|
|
69
|
+
]
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
PsToolkitUiModule.decorators = [
|
|
74
|
+
{ type: NgModule, args: [{
|
|
75
|
+
declarations: [
|
|
76
|
+
FormSelectItemComponent, FormCheckboxComponent, TablePaginationComponent, FormBankCardComponent, SidebarItemComponent, SidebarComponent,
|
|
77
|
+
FormDateComponent, FormPlaqueSelectComponent, TableLoadingComponent, FormTreeItemComponent, FormTextboxComponent, FormTextareaComponent,
|
|
78
|
+
FormIconComponent, FormButtonComponent, FormDatetimeComponent, FormPlaqueComponent, SubHeaderComponent, FooterComponent, StepsComponent,
|
|
79
|
+
FormFileComponent, FormSelectComponent, FormTableComponent, FormLabelComponent, AccordionComponent, FormRadioComponent, HeaderComponent,
|
|
80
|
+
TooltipComponent, ConfirmComponent, TableComponent, ModalComponent, FormComponent, TableRowComponent, FormTreeComponent, AlertComponent,
|
|
81
|
+
FormTimeComponent, NotificationComponent, FormFingerComponent, FormVehicleSearchComponent, FormCkeditorComponent, FormUploaderComponent,
|
|
82
|
+
LayoutComponent, LoadingComponent, NotfoundComponent, FormVehicleComponent, FormHiddenComponent, CalendarComponent, FormToggleComponent,
|
|
83
|
+
ClockComponent, ChartComponent, FormTagComponent, ErrorComponent, LoginComponent, FormStarComponent, FormSlideComponent,
|
|
84
|
+
SafeStylePipe, SafeHtmlPipe,
|
|
85
|
+
],
|
|
86
|
+
imports: [
|
|
87
|
+
CommonModule,
|
|
88
|
+
RouterModule,
|
|
89
|
+
FormsModule,
|
|
90
|
+
CKEditorModule
|
|
91
|
+
],
|
|
92
|
+
providers: [],
|
|
93
|
+
exports: [
|
|
94
|
+
FormSelectItemComponent, FormCheckboxComponent, TablePaginationComponent, FormBankCardComponent, SidebarItemComponent, SidebarComponent,
|
|
95
|
+
FormDateComponent, FormPlaqueSelectComponent, TableLoadingComponent, FormTreeItemComponent, FormTextboxComponent, FormTextareaComponent,
|
|
96
|
+
FormIconComponent, FormButtonComponent, FormDatetimeComponent, FormPlaqueComponent, SubHeaderComponent, FooterComponent, StepsComponent,
|
|
97
|
+
FormFileComponent, FormSelectComponent, FormTableComponent, FormLabelComponent, AccordionComponent, FormRadioComponent, HeaderComponent,
|
|
98
|
+
TooltipComponent, ConfirmComponent, TableComponent, ModalComponent, FormComponent, TableRowComponent, FormTreeComponent, AlertComponent,
|
|
99
|
+
FormTimeComponent, NotificationComponent, FormFingerComponent, FormVehicleSearchComponent, FormCkeditorComponent, FormUploaderComponent,
|
|
100
|
+
LayoutComponent, LoadingComponent, NotfoundComponent, FormVehicleComponent, FormHiddenComponent, CalendarComponent, FormToggleComponent,
|
|
101
|
+
ClockComponent, ChartComponent, FormTagComponent, ErrorComponent, LoginComponent, FormStarComponent, FormSlideComponent,
|
|
102
|
+
]
|
|
103
|
+
},] }
|
|
104
|
+
];
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHMtdG9vbGtpdC11aS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiRDovUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL3BzLXRvb2xraXQtdWkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0IsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUNsRyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDbEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDM0YsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDbkYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDN0UsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDN0UsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDN0UsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ25GLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ25GLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDbEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDbkYsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDMUcsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDbkYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDN0UsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDMUUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ25GLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBZ0NoRixNQUFNLE9BQU8saUJBQWlCO0lBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBVztRQUN4QixPQUFPO1lBQ0wsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixTQUFTLEVBQUU7Z0JBQ1QsRUFBQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTthQUN2RDtTQUNGLENBQUM7SUFDSixDQUFDOzs7WUF0Q0YsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWix1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0I7b0JBQ3ZJLGlCQUFpQixFQUFFLHlCQUF5QixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQjtvQkFDdkksaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGNBQWM7b0JBQ3ZJLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGVBQWU7b0JBQ3ZJLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGNBQWM7b0JBQ3ZJLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLDBCQUEwQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQjtvQkFDdkksZUFBZSxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLG1CQUFtQjtvQkFDdkksY0FBYyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQjtvQkFDdkgsYUFBYSxFQUFFLFlBQVk7aUJBQzVCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxjQUFjO2lCQUNmO2dCQUNELFNBQVMsRUFBRSxFQUFFO2dCQUNiLE9BQU8sRUFBRTtvQkFDUCx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0I7b0JBQ3ZJLGlCQUFpQixFQUFFLHlCQUF5QixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQjtvQkFDdkksaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGNBQWM7b0JBQ3ZJLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGVBQWU7b0JBQ3ZJLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGNBQWM7b0JBQ3ZJLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLDBCQUEwQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQjtvQkFDdkksZUFBZSxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLG1CQUFtQjtvQkFDdkksY0FBYyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQjtpQkFDeEg7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1BzVG9vbGtpdFVpQ29uZmlnU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7QWNjb3JkaW9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvb3RlckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtIZWFkZXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TW9kYWxDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1NpZGViYXJJdGVtQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc2lkZWJhci9pdGVtL3NpZGViYXIuaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1NpZGViYXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtTdGVwc0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3N0ZXBzL3N0ZXBzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U3ViSGVhZGVyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvaGVhZGVyL3N1Yi9zdWIuaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VGFibGVMb2FkaW5nQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvbG9hZGluZy90YWJsZS5sb2FkaW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VGFibGVQYWdpbmF0aW9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvcGFnaW5hdGlvbi90YWJsZS5wYWdpbmF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VGFibGVSb3dDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS9yb3cvdGFibGUucm93LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VGFibGVDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1Rvb2x0aXBDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcclxuaW1wb3J0IHtGb3JtQmFua0NhcmRDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL2JhbmstY2FyZC9mb3JtLmJhbmstY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1CdXR0b25Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL2J1dHRvbi9mb3JtLmJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1DaGVja2JveENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gvZm9ybS5jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1EYXRlQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS9kYXRlL2Zvcm0uZGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1EYXRldGltZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vZGF0ZXRpbWUvZm9ybS5kYXRldGltZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1GaWxlQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS9maWxlL2Zvcm0uZmlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1JY29uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS9pY29uL2Zvcm0uaWNvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL2luZGV4L2Zvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHtGb3JtTGFiZWxDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL2xhYmVsL2Zvcm0ubGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHtGb3JtUGxhcXVlU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS9wbGFxdWUvc2VsZWN0L2Zvcm0ucGxhcXVlLnNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1QbGFxdWVDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL3BsYXF1ZS9mb3JtLnBsYXF1ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1SYWRpb0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vcmFkaW8vZm9ybS5yYWRpby5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1TZWxlY3RJdGVtQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS9zZWxlY3QvaXRlbS9mb3JtLnNlbGVjdC5pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybVNlbGVjdENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L2Zvcm0uc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybVRhYmxlQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS90YWJsZS9mb3JtLnRhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybVRleHRhcmVhQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS90ZXh0YXJlYS9mb3JtLnRleHRhcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybVRleHRib3hDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL3RleHRib3gvZm9ybS50ZXh0Ym94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybVRpbWVDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL3RpbWUvZm9ybS50aW1lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybVRyZWVJdGVtQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS90cmVlL2l0ZW0vZm9ybS50cmVlLml0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHtGb3JtVHJlZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vdHJlZS9mb3JtLnRyZWUuY29tcG9uZW50JztcclxuaW1wb3J0IHtBbGVydENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Q29uZmlybUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm0vY29uZmlybS5jb21wb25lbnQnO1xyXG5pbXBvcnQge05vdGZvdW5kQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvbm90Zm91bmQvbm90Zm91bmQuY29tcG9uZW50JztcclxuaW1wb3J0IHtFcnJvckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Vycm9yL2Vycm9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybUZpbmdlckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vZmluZ2VyL2Zvcm0uZmluZ2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybVZlaGljbGVTZWFyY2hDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL3ZlaGljbGUvc2VhcmNoL2Zvcm0udmVoaWNsZS5zZWFyY2guY29tcG9uZW50JztcclxuaW1wb3J0IHtGb3JtVmVoaWNsZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vdmVoaWNsZS9mb3JtLnZlaGljbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7U2FmZVN0eWxlUGlwZX0gZnJvbSAnLi9jbGFzc2VzL3NhZmVzdHlsZS5jbGFzcyc7XHJcbmltcG9ydCB7TG9naW5Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0xvYWRpbmdDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHtOb3RpZmljYXRpb25Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TGF5b3V0Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvbGF5b3V0L2xheW91dC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1IaWRkZW5Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL2hpZGRlbi9mb3JtLmhpZGRlbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0NhbGVuZGFyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvY2FsZW5kYXIvY2FsZW5kYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtDbG9ja0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Nsb2NrL2Nsb2NrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Q2hhcnRDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9jaGFydC9jaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1NhZmVIdG1sUGlwZX0gZnJvbSAnLi9jbGFzc2VzL3NhZmVodG1sLmNsYXNzJztcclxuaW1wb3J0IHtGb3JtU3RhckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vc3Rhci9mb3JtLnN0YXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtGb3JtVGFnQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS90YWcvZm9ybS50YWcuY29tcG9uZW50JztcclxuaW1wb3J0IHtGb3JtQ2tlZGl0b3JDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL2NrZWRpdG9yL2Zvcm0uY2tlZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHtDS0VkaXRvck1vZHVsZX0gZnJvbSAnY2tlZGl0b3I0LWFuZ3VsYXInO1xyXG5pbXBvcnQge0Zvcm1Ub2dnbGVDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL3RvZ2dsZS9mb3JtLnRvZ2dsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1VcGxvYWRlckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vdXBsb2FkZXIvZm9ybS51cGxvYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1TbGlkZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vc2xpZGUvZm9ybS5zbGlkZS5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEZvcm1TZWxlY3RJdGVtQ29tcG9uZW50LCBGb3JtQ2hlY2tib3hDb21wb25lbnQsIFRhYmxlUGFnaW5hdGlvbkNvbXBvbmVudCwgRm9ybUJhbmtDYXJkQ29tcG9uZW50LCBTaWRlYmFySXRlbUNvbXBvbmVudCwgU2lkZWJhckNvbXBvbmVudCxcclxuICAgIEZvcm1EYXRlQ29tcG9uZW50LCBGb3JtUGxhcXVlU2VsZWN0Q29tcG9uZW50LCBUYWJsZUxvYWRpbmdDb21wb25lbnQsIEZvcm1UcmVlSXRlbUNvbXBvbmVudCwgRm9ybVRleHRib3hDb21wb25lbnQsIEZvcm1UZXh0YXJlYUNvbXBvbmVudCxcclxuICAgIEZvcm1JY29uQ29tcG9uZW50LCBGb3JtQnV0dG9uQ29tcG9uZW50LCBGb3JtRGF0ZXRpbWVDb21wb25lbnQsIEZvcm1QbGFxdWVDb21wb25lbnQsIFN1YkhlYWRlckNvbXBvbmVudCwgRm9vdGVyQ29tcG9uZW50LCBTdGVwc0NvbXBvbmVudCxcclxuICAgIEZvcm1GaWxlQ29tcG9uZW50LCBGb3JtU2VsZWN0Q29tcG9uZW50LCBGb3JtVGFibGVDb21wb25lbnQsIEZvcm1MYWJlbENvbXBvbmVudCwgQWNjb3JkaW9uQ29tcG9uZW50LCBGb3JtUmFkaW9Db21wb25lbnQsIEhlYWRlckNvbXBvbmVudCxcclxuICAgIFRvb2x0aXBDb21wb25lbnQsIENvbmZpcm1Db21wb25lbnQsIFRhYmxlQ29tcG9uZW50LCBNb2RhbENvbXBvbmVudCwgRm9ybUNvbXBvbmVudCwgVGFibGVSb3dDb21wb25lbnQsIEZvcm1UcmVlQ29tcG9uZW50LCBBbGVydENvbXBvbmVudCxcclxuICAgIEZvcm1UaW1lQ29tcG9uZW50LCBOb3RpZmljYXRpb25Db21wb25lbnQsIEZvcm1GaW5nZXJDb21wb25lbnQsIEZvcm1WZWhpY2xlU2VhcmNoQ29tcG9uZW50LCBGb3JtQ2tlZGl0b3JDb21wb25lbnQsIEZvcm1VcGxvYWRlckNvbXBvbmVudCxcclxuICAgIExheW91dENvbXBvbmVudCwgTG9hZGluZ0NvbXBvbmVudCwgTm90Zm91bmRDb21wb25lbnQsIEZvcm1WZWhpY2xlQ29tcG9uZW50LCBGb3JtSGlkZGVuQ29tcG9uZW50LCBDYWxlbmRhckNvbXBvbmVudCwgRm9ybVRvZ2dsZUNvbXBvbmVudCxcclxuICAgIENsb2NrQ29tcG9uZW50LCBDaGFydENvbXBvbmVudCwgRm9ybVRhZ0NvbXBvbmVudCwgRXJyb3JDb21wb25lbnQsIExvZ2luQ29tcG9uZW50LCBGb3JtU3RhckNvbXBvbmVudCwgRm9ybVNsaWRlQ29tcG9uZW50LFxyXG4gICAgU2FmZVN0eWxlUGlwZSwgU2FmZUh0bWxQaXBlLFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBDS0VkaXRvck1vZHVsZVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBGb3JtU2VsZWN0SXRlbUNvbXBvbmVudCwgRm9ybUNoZWNrYm94Q29tcG9uZW50LCBUYWJsZVBhZ2luYXRpb25Db21wb25lbnQsIEZvcm1CYW5rQ2FyZENvbXBvbmVudCwgU2lkZWJhckl0ZW1Db21wb25lbnQsIFNpZGViYXJDb21wb25lbnQsXHJcbiAgICBGb3JtRGF0ZUNvbXBvbmVudCwgRm9ybVBsYXF1ZVNlbGVjdENvbXBvbmVudCwgVGFibGVMb2FkaW5nQ29tcG9uZW50LCBGb3JtVHJlZUl0ZW1Db21wb25lbnQsIEZvcm1UZXh0Ym94Q29tcG9uZW50LCBGb3JtVGV4dGFyZWFDb21wb25lbnQsXHJcbiAgICBGb3JtSWNvbkNvbXBvbmVudCwgRm9ybUJ1dHRvbkNvbXBvbmVudCwgRm9ybURhdGV0aW1lQ29tcG9uZW50LCBGb3JtUGxhcXVlQ29tcG9uZW50LCBTdWJIZWFkZXJDb21wb25lbnQsIEZvb3RlckNvbXBvbmVudCwgU3RlcHNDb21wb25lbnQsXHJcbiAgICBGb3JtRmlsZUNvbXBvbmVudCwgRm9ybVNlbGVjdENvbXBvbmVudCwgRm9ybVRhYmxlQ29tcG9uZW50LCBGb3JtTGFiZWxDb21wb25lbnQsIEFjY29yZGlvbkNvbXBvbmVudCwgRm9ybVJhZGlvQ29tcG9uZW50LCBIZWFkZXJDb21wb25lbnQsXHJcbiAgICBUb29sdGlwQ29tcG9uZW50LCBDb25maXJtQ29tcG9uZW50LCBUYWJsZUNvbXBvbmVudCwgTW9kYWxDb21wb25lbnQsIEZvcm1Db21wb25lbnQsIFRhYmxlUm93Q29tcG9uZW50LCBGb3JtVHJlZUNvbXBvbmVudCwgQWxlcnRDb21wb25lbnQsXHJcbiAgICBGb3JtVGltZUNvbXBvbmVudCwgTm90aWZpY2F0aW9uQ29tcG9uZW50LCBGb3JtRmluZ2VyQ29tcG9uZW50LCBGb3JtVmVoaWNsZVNlYXJjaENvbXBvbmVudCwgRm9ybUNrZWRpdG9yQ29tcG9uZW50LCBGb3JtVXBsb2FkZXJDb21wb25lbnQsXHJcbiAgICBMYXlvdXRDb21wb25lbnQsIExvYWRpbmdDb21wb25lbnQsIE5vdGZvdW5kQ29tcG9uZW50LCBGb3JtVmVoaWNsZUNvbXBvbmVudCwgRm9ybUhpZGRlbkNvbXBvbmVudCwgQ2FsZW5kYXJDb21wb25lbnQsIEZvcm1Ub2dnbGVDb21wb25lbnQsXHJcbiAgICBDbG9ja0NvbXBvbmVudCwgQ2hhcnRDb21wb25lbnQsIEZvcm1UYWdDb21wb25lbnQsIEVycm9yQ29tcG9uZW50LCBMb2dpbkNvbXBvbmVudCwgRm9ybVN0YXJDb21wb25lbnQsIEZvcm1TbGlkZUNvbXBvbmVudCxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQc1Rvb2xraXRVaU1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBhbnkpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFBzVG9vbGtpdFVpTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogUHNUb29sa2l0VWlNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtwcm92aWRlOiBQc1Rvb2xraXRVaUNvbmZpZ1NlcnZpY2UsIHVzZVZhbHVlOiBjb25maWcgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG5cclxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Inject } from '@angular/core';
|
|
2
|
+
export class PsToolkitUiConfigService {
|
|
3
|
+
constructor(environment, strings, currentLang) {
|
|
4
|
+
this.environment = environment;
|
|
5
|
+
this.strings = strings;
|
|
6
|
+
this.currentLang = currentLang;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
PsToolkitUiConfigService.ctorParameters = () => [
|
|
10
|
+
{ type: undefined, decorators: [{ type: Inject, args: ['environment',] }] },
|
|
11
|
+
{ type: undefined, decorators: [{ type: Inject, args: ['strings',] }] },
|
|
12
|
+
{ type: String, decorators: [{ type: Inject, args: ['currentLang',] }] }
|
|
13
|
+
];
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiRDovUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFckMsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUEwQyxXQUFnQixFQUNwQixPQUFZLEVBQ1IsV0FBbUI7UUFGbkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFDcEIsWUFBTyxHQUFQLE9BQU8sQ0FBSztRQUNSLGdCQUFXLEdBQVgsV0FBVyxDQUFRO0lBQzdELENBQUM7Ozs0Q0FIWSxNQUFNLFNBQUMsYUFBYTs0Q0FDcEIsTUFBTSxTQUFDLFNBQVM7eUNBQ2hCLE1BQU0sU0FBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFBzVG9vbGtpdFVpQ29uZmlnU2VydmljZXtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdlbnZpcm9ubWVudCcpIHB1YmxpYyBlbnZpcm9ubWVudDogYW55LFxyXG4gICAgICAgICAgICAgIEBJbmplY3QoJ3N0cmluZ3MnKSBwdWJsaWMgc3RyaW5nczogYW55LFxyXG4gICAgICAgICAgICAgIEBJbmplY3QoJ2N1cnJlbnRMYW5nJykgcHVibGljIGN1cnJlbnRMYW5nOiBzdHJpbmcpIHtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
export class SidebarService {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.countSource = new BehaviorSubject(0);
|
|
6
|
+
this.countAllSource = new BehaviorSubject(0);
|
|
7
|
+
this.currentCount = this.countSource.asObservable();
|
|
8
|
+
this.currentCountAll = this.countAllSource.asObservable();
|
|
9
|
+
}
|
|
10
|
+
changeCount(count) {
|
|
11
|
+
this.countSource.next(count);
|
|
12
|
+
}
|
|
13
|
+
changeCountAll(countAll) {
|
|
14
|
+
this.countAllSource.next(countAll);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
SidebarService.decorators = [
|
|
18
|
+
{ type: Injectable }
|
|
19
|
+
];
|
|
20
|
+
SidebarService.ctorParameters = () => [];
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkQ6L1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9zaWRlYmFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBR3JDLE1BQU0sT0FBTyxjQUFjO0lBTXpCO1FBTFEsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hELGlCQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMvQyxvQkFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFckMsQ0FBQztJQUVqQixXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ0QsY0FBYyxDQUFDLFFBQWdCO1FBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OztZQWRGLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTaWRlYmFyU2VydmljZXtcclxuICBwcml2YXRlIGNvdW50U291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcclxuICBwcml2YXRlIGNvdW50QWxsU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcclxuICBjdXJyZW50Q291bnQgPSB0aGlzLmNvdW50U291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIGN1cnJlbnRDb3VudEFsbCA9IHRoaXMuY291bnRBbGxTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIGNoYW5nZUNvdW50KGNvdW50OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuY291bnRTb3VyY2UubmV4dChjb3VudCk7XHJcbiAgfVxyXG4gIGNoYW5nZUNvdW50QWxsKGNvdW50QWxsOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuY291bnRBbGxTb3VyY2UubmV4dChjb3VudEFsbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
export { SafeHtmlPipe as ɵp } from './lib/classes/safehtml.class';
|
|
6
|
+
export { SafeStylePipe as ɵo } from './lib/classes/safestyle.class';
|
|
7
|
+
export { CalendarComponent as ɵj } from './lib/components/calendar/calendar.component';
|
|
8
|
+
export { ChartComponent as ɵl } from './lib/components/chart/chart.component';
|
|
9
|
+
export { ClockComponent as ɵk } from './lib/components/clock/clock.component';
|
|
10
|
+
export { FormHiddenComponent as ɵi } from './lib/components/form/hidden/form.hidden.component';
|
|
11
|
+
export { FormSelectItemComponent as ɵa } from './lib/components/form/select/item/form.select.item.component';
|
|
12
|
+
export { FormTagComponent as ɵm } from './lib/components/form/tag/form.tag.component';
|
|
13
|
+
export { FormTreeItemComponent as ɵf } from './lib/components/form/tree/item/form.tree.item.component';
|
|
14
|
+
export { LoginComponent as ɵn } from './lib/components/login/login.component';
|
|
15
|
+
export { NotificationComponent as ɵh } from './lib/components/notification/notification.component';
|
|
16
|
+
export { SidebarItemComponent as ɵc } from './lib/components/sidebar/item/sidebar.item.component';
|
|
17
|
+
export { TableLoadingComponent as ɵe } from './lib/components/table/loading/table.loading.component';
|
|
18
|
+
export { TablePaginationComponent as ɵb } from './lib/components/table/pagination/table.pagination.component';
|
|
19
|
+
export { TableRowComponent as ɵg } from './lib/components/table/row/table.row.component';
|
|
20
|
+
export { PsToolkitUiConfigService as ɵd } from './lib/services/config.service';
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHMtdG9vbGtpdC11aS5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJwcy10b29sa2l0LXVpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUMzRyxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDcEYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDbkcsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQzVHLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUN2RixPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7U2FmZUh0bWxQaXBlIGFzIMm1cH0gZnJvbSAnLi9saWIvY2xhc3Nlcy9zYWZlaHRtbC5jbGFzcyc7XG5leHBvcnQge1NhZmVTdHlsZVBpcGUgYXMgybVvfSBmcm9tICcuL2xpYi9jbGFzc2VzL3NhZmVzdHlsZS5jbGFzcyc7XG5leHBvcnQge0NhbGVuZGFyQ29tcG9uZW50IGFzIMm1an0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQnO1xuZXhwb3J0IHtDaGFydENvbXBvbmVudCBhcyDJtWx9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvY2hhcnQvY2hhcnQuY29tcG9uZW50JztcbmV4cG9ydCB7Q2xvY2tDb21wb25lbnQgYXMgybVrfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nsb2NrL2Nsb2NrLmNvbXBvbmVudCc7XG5leHBvcnQge0Zvcm1IaWRkZW5Db21wb25lbnQgYXMgybVpfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vaGlkZGVuL2Zvcm0uaGlkZGVuLmNvbXBvbmVudCc7XG5leHBvcnQge0Zvcm1TZWxlY3RJdGVtQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9pdGVtL2Zvcm0uc2VsZWN0Lml0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7Rm9ybVRhZ0NvbXBvbmVudCBhcyDJtW19IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS90YWcvZm9ybS50YWcuY29tcG9uZW50JztcbmV4cG9ydCB7Rm9ybVRyZWVJdGVtQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtL3RyZWUvaXRlbS9mb3JtLnRyZWUuaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0IHtMb2dpbkNvbXBvbmVudCBhcyDJtW59IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50JztcbmV4cG9ydCB7Tm90aWZpY2F0aW9uQ29tcG9uZW50IGFzIMm1aH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1NpZGViYXJJdGVtQ29tcG9uZW50IGFzIMm1Y30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zaWRlYmFyL2l0ZW0vc2lkZWJhci5pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQge1RhYmxlTG9hZGluZ0NvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFibGUvbG9hZGluZy90YWJsZS5sb2FkaW5nLmNvbXBvbmVudCc7XG5leHBvcnQge1RhYmxlUGFnaW5hdGlvbkNvbXBvbmVudCBhcyDJtWJ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFibGUvcGFnaW5hdGlvbi90YWJsZS5wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1RhYmxlUm93Q29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvY29tcG9uZW50cy90YWJsZS9yb3cvdGFibGUucm93LmNvbXBvbmVudCc7XG5leHBvcnQge1BzVG9vbGtpdFVpQ29uZmlnU2VydmljZSBhcyDJtWR9IGZyb20gJy4vbGliL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJzsiXX0=
|