ps-toolkit-ui 1.3.21 → 1.3.25
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 +10 -733
- package/bundles/ps-toolkit-ui.umd.js.map +1 -1
- package/bundles/ps-toolkit-ui.umd.min.js +1 -1
- package/bundles/ps-toolkit-ui.umd.min.js.map +1 -1
- package/esm2015/lib/classes/string.class.js +3 -1
- package/esm2015/lib/components/table/row/table.row.component.js +3 -3
- package/esm2015/lib/ps-toolkit-ui.module.js +3 -10
- package/esm2015/ps-toolkit-ui.js +2 -6
- package/fesm2015/ps-toolkit-ui.js +6 -648
- package/fesm2015/ps-toolkit-ui.js.map +1 -1
- package/lib/classes/string.class.d.ts +2 -0
- package/package.json +1 -1
- package/ps-toolkit-ui.d.ts +1 -5
- package/ps-toolkit-ui.metadata.json +1 -1
- package/src/assets/styles/base.css +1 -0
- package/esm2015/lib/components/table-old/loading/table-old.loading.component.js +0 -17
- package/esm2015/lib/components/table-old/pagination/table-old.pagination.component.js +0 -84
- package/esm2015/lib/components/table-old/row/table-old.row.component.js +0 -381
- package/esm2015/lib/components/table-old/table-old.component.js +0 -179
- package/lib/components/table-old/loading/table-old.loading.component.d.ts +0 -5
- package/lib/components/table-old/pagination/table-old.pagination.component.d.ts +0 -15
- package/lib/components/table-old/row/table-old.row.component.d.ts +0 -34
- package/lib/components/table-old/table-old.component.d.ts +0 -40
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
export class TableOldLoadingComponent {
|
|
3
|
-
constructor() {
|
|
4
|
-
}
|
|
5
|
-
}
|
|
6
|
-
TableOldLoadingComponent.decorators = [
|
|
7
|
-
{ type: Component, args: [{
|
|
8
|
-
selector: 'lib-table-old-loading',
|
|
9
|
-
template: "<div *ngIf=\"table.loading\" class=\"loading\">\r\n <div class=\"text\" [innerHTML]=\"table.l('LoadingTable', 'Processing')\"></div>\r\n</div>\r\n<div *ngIf=\"!table.permission\" class=\"loading\">\r\n <div class=\"text\"><i class=\"fas fa-shield-alt icon\"></i>{{ table.l(\"PermissionDenied\") }}</div>\r\n</div>\r\n<div *ngIf=\"!table.loading && table.permission && table.rows.length == 0\" class=\"loading\">\r\n <div class=\"text\"><i class=\"fas fa-exclamation icon\"></i>{{ table.l(\"NotfoundTitle\") }}</div>\r\n</div>\r\n",
|
|
10
|
-
styles: [".loading{background-color:#fff;border-radius:var(--border-radius-base);bottom:0;height:100%;right:0;z-index:101}.loading,.loading .text{position:absolute;text-align:center;width:100%}.loading .text{font-family:VazirBold;height:35px;line-height:35px;top:calc(50% - 20px)}::ng-deep .loading .text .icon{font-size:20px!important;line-height:30px;margin-left:5px;position:relative;top:5px}"]
|
|
11
|
-
},] }
|
|
12
|
-
];
|
|
13
|
-
TableOldLoadingComponent.ctorParameters = () => [];
|
|
14
|
-
TableOldLoadingComponent.propDecorators = {
|
|
15
|
-
table: [{ type: Input }]
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtb2xkLmxvYWRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RhYmxlLW9sZC9sb2FkaW5nL3RhYmxlLW9sZC5sb2FkaW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQVF2RCxNQUFNLE9BQU8sd0JBQXdCO0lBR25DO0lBQ0EsQ0FBQzs7O1lBVEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLGdpQkFBaUQ7O2FBRWxEOzs7O29CQUVFLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VGFibGVDbGFzc30gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy90YWJsZS5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YWJsZS1vbGQtbG9hZGluZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLW9sZC5sb2FkaW5nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1vbGQubG9hZGluZy5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlT2xkTG9hZGluZ0NvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICB0YWJsZTogVGFibGVDbGFzcztcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { InputClass, OptionClass } from '../../../classes/form.class';
|
|
3
|
-
import { InputType } from '../../../classes/enum.class';
|
|
4
|
-
export class TableOldPaginationComponent {
|
|
5
|
-
get type() { return InputType; }
|
|
6
|
-
getButtons() {
|
|
7
|
-
this.size = parseInt((this.table.count / this.table.perPage).toString(), 10) + (this.table.count % this.table.perPage > 0 ? 1 : 0);
|
|
8
|
-
if (this.size <= 1) {
|
|
9
|
-
return [];
|
|
10
|
-
}
|
|
11
|
-
const previous = new InputClass(this.table.environment, this.table.l, null, 'fa-duotone fa-angle-right', InputType.Button, 'h-25', this.table.page - 1);
|
|
12
|
-
previous.onClick = (btn) => this.changePage(btn);
|
|
13
|
-
const next = new InputClass(this.table.environment, this.table.l, null, 'fa-duotone fa-angle-left', InputType.Button, 'h-25', this.table.page + 1);
|
|
14
|
-
next.onClick = (btn) => this.changePage(btn);
|
|
15
|
-
const last = new InputClass(this.table.environment, this.table.l, this.size.toString(), null, InputType.Button, 'h-25 last', this.size);
|
|
16
|
-
last.onClick = (btn) => this.changePage(btn);
|
|
17
|
-
const first = new InputClass(this.table.environment, this.table.l, '1', null, InputType.Button, 'h-25 first', 1);
|
|
18
|
-
first.onClick = (btn) => this.changePage(btn);
|
|
19
|
-
const dots = new InputClass(this.table.environment, this.table.l, 'dots', '', InputType.Icon);
|
|
20
|
-
let buttons = [];
|
|
21
|
-
buttons.push(previous);
|
|
22
|
-
if (this.table.page === 1) {
|
|
23
|
-
previous.onClick = null;
|
|
24
|
-
}
|
|
25
|
-
if (this.size < 6) {
|
|
26
|
-
buttons = buttons.concat(this.add(1, this.size + 1));
|
|
27
|
-
}
|
|
28
|
-
else if (this.table.page < 4) {
|
|
29
|
-
buttons = buttons.concat(this.add(1, 5), [dots, last]);
|
|
30
|
-
}
|
|
31
|
-
else if (this.table.page > this.size - 3) {
|
|
32
|
-
buttons = buttons.concat([first, dots], this.add(this.size - 3, this.size + 1));
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
buttons = buttons.concat([first, dots], this.add(this.table.page - 1, this.table.page + 2), [dots, last]);
|
|
36
|
-
}
|
|
37
|
-
buttons.push(next);
|
|
38
|
-
if (this.table.page === this.size) {
|
|
39
|
-
next.onClick = null;
|
|
40
|
-
}
|
|
41
|
-
return buttons;
|
|
42
|
-
}
|
|
43
|
-
add(s, f) {
|
|
44
|
-
const l = [];
|
|
45
|
-
for (let i = s; i < f; i++) {
|
|
46
|
-
const b = new InputClass(this.table.environment, this.table.l, i.toString(), null, InputType.Button, 'h-25' + (this.table.page === i ? ' active' : ' extra'), i);
|
|
47
|
-
b.onClick = (btn) => this.changePage(btn);
|
|
48
|
-
l.push(b);
|
|
49
|
-
}
|
|
50
|
-
return l;
|
|
51
|
-
}
|
|
52
|
-
changePage(btn) {
|
|
53
|
-
this.table.page = btn.value;
|
|
54
|
-
this.table.load(btn);
|
|
55
|
-
}
|
|
56
|
-
ngOnInit() {
|
|
57
|
-
this.perPageSelect = new InputClass(this.table.environment, this.table.l, 'PerPage', '', InputType.Select, 'h-25 w-80-p f-l');
|
|
58
|
-
this.perPageSelect.value = this.table.perPage.toString();
|
|
59
|
-
this.perPageSelect.options = [
|
|
60
|
-
new OptionClass('5', '5'),
|
|
61
|
-
new OptionClass('10', '10'),
|
|
62
|
-
new OptionClass('50', '50'),
|
|
63
|
-
new OptionClass('100', '100'),
|
|
64
|
-
];
|
|
65
|
-
this.perPageSelect.value = this.perPageSelect.search = this.table.perPage.toString();
|
|
66
|
-
this.perPageSelect.displayLabel = false;
|
|
67
|
-
this.perPageSelect.onChange = (v) => {
|
|
68
|
-
this.table.page = 1;
|
|
69
|
-
this.table.perPage = parseInt(v.value, 10);
|
|
70
|
-
this.table.load();
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
TableOldPaginationComponent.decorators = [
|
|
75
|
-
{ type: Component, args: [{
|
|
76
|
-
selector: 'lib-table-old-pagination',
|
|
77
|
-
template: "<div class=\"pagination\">\r\n <div class=\"items\">\r\n <span *ngFor=\"let btn of getButtons()\">\r\n <lib-form-button *ngIf=\"btn.type === type.Button\" [inp]=\"btn\"></lib-form-button>\r\n <div class=\"dots\" *ngIf=\"btn.type === type.Icon\"><div class=\"w-100\"><i class=\"fas fa-ellipsis-h icon\"></i></div></div>\r\n </span>\r\n </div>\r\n <lib-form-select [inp]=\"perPageSelect\"></lib-form-select>\r\n</div>\r\n",
|
|
78
|
-
styles: [".pagination{float:right;margin-top:10px;text-align:center;width:100%}.pagination .items{display:inline-block;position:relative}::ng-deep .table-con .pagination .form-input-con.button{display:inline-block;float:unset;margin:0 2px;min-width:25px;padding:0 5px;vertical-align:middle;width:unset}::ng-deep .table-con .pagination .items .dots{display:inline-block;height:25px;line-height:25px;margin:0 5px;min-width:25px}::ng-deep .table-con .pagination .form-input-con.select{display:inline-block;float:left;margin:0 5px;min-width:25px;padding:0 5px;width:unset}@media (max-width:399.98px){::ng-deep .table-con .pagination .form-input-con.button.extra,::ng-deep .table-con .pagination .form-input-con.button.first,::ng-deep .table-con .pagination .form-input-con.button.last{display:none}::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{display:none}}@media (min-width:400px) and (max-width:499.98px){::ng-deep .table-con .pagination .form-input-con.button.extra,::ng-deep .table-con .pagination .form-input-con.button.first,::ng-deep .table-con .pagination .form-input-con.button.last{display:none}::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{display:none}}@media (min-width:500px) and (max-width:599.98px){::ng-deep .table-con .pagination .form-input-con.button.extra{display:none}::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:600px) and (max-width:699.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:700px) and (max-width:799.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:800px) and (max-width:899.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:900px) and (max-width:999.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}"]
|
|
79
|
-
},] }
|
|
80
|
-
];
|
|
81
|
-
TableOldPaginationComponent.propDecorators = {
|
|
82
|
-
table: [{ type: Input }]
|
|
83
|
-
};
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtb2xkLnBhZ2luYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RhYmxlLW9sZC9wYWdpbmF0aW9uL3RhYmxlLW9sZC5wYWdpbmF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQU90RCxNQUFNLE9BQU8sMkJBQTJCO0lBTXRDLElBQUksSUFBSSxLQUF1QixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFFbEQsVUFBVTtRQUNSLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxFQUFFO1lBQ2xCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQ3hFLDJCQUEyQixFQUFFLFNB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QUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQztJQUNKLENBQUM7OztZQWxGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsa2NBQW9EOzthQUVyRDs7O29CQUVFLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VGFibGVDbGFzc30gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy90YWJsZS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRDbGFzcywgT3B0aW9uQ2xhc3N9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRUeXBlfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudW0uY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGFibGUtb2xkLXBhZ2luYXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1vbGQucGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtb2xkLnBhZ2luYXRpb24uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZU9sZFBhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgdGFibGU6IFRhYmxlQ2xhc3M7XHJcbiAgc2l6ZTogbnVtYmVyO1xyXG4gIHBlclBhZ2VTZWxlY3Q6IElucHV0Q2xhc3M7XHJcbiAgbmV4dDogSW5wdXRDbGFzcztcclxuICBnZXQgdHlwZSgpOiB0eXBlb2YgSW5wdXRUeXBlIHsgcmV0dXJuIElucHV0VHlwZTsgfVxyXG5cclxuICBnZXRCdXR0b25zKCk6IElucHV0Q2xhc3NbXXtcclxuICAgIHRoaXMuc2l6ZSA9IHBhcnNlSW50KCh0aGlzLnRhYmxlLmNvdW50IC8gdGhpcy50YWJsZS5wZXJQYWdlKS50b1N0cmluZygpLCAxMCkgKyAodGhpcy50YWJsZS5jb3VudCAlIHRoaXMudGFibGUucGVyUGFnZSA+IDAgPyAxIDogMCk7XHJcbiAgICBpZiAodGhpcy5zaXplIDw9IDEpIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcHJldmlvdXMgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsIG51bGwsXHJcbiAgICAgICdmYS1kdW90b25lIGZhLWFuZ2xlLXJpZ2h0JywgSW5wdXRUeXBlLkJ1dHRvbiwgJ2gtMjUnLCB0aGlzLnRhYmxlLnBhZ2UgLSAxKTtcclxuICAgIHByZXZpb3VzLm9uQ2xpY2sgPSAoYnRuKSA9PiB0aGlzLmNoYW5nZVBhZ2UoYnRuKTtcclxuICAgIGNvbnN0IG5leHQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsIG51bGwsXHJcbiAgICAgICdmYS1kdW90b25lIGZhLWFuZ2xlLWxlZnQnLCBJbnB1dFR5cGUuQnV0dG9uLCAnaC0yNScsIHRoaXMudGFibGUucGFnZSArIDEpO1xyXG4gICAgbmV4dC5vbkNsaWNrID0gKGJ0bikgPT4gdGhpcy5jaGFuZ2VQYWdlKGJ0bik7XHJcbiAgICBjb25zdCBsYXN0ID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCB0aGlzLnNpemUudG9TdHJpbmcoKSwgbnVsbCxcclxuICAgICAgSW5wdXRUeXBlLkJ1dHRvbiwgJ2gtMjUgbGFzdCcsIHRoaXMuc2l6ZSk7XHJcbiAgICBsYXN0Lm9uQ2xpY2sgPSAoYnRuKSA9PiB0aGlzLmNoYW5nZVBhZ2UoYnRuKTtcclxuICAgIGNvbnN0IGZpcnN0ID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnMScsIG51bGwsIElucHV0VHlwZS5CdXR0b24sICdoLTI1IGZpcnN0JywgMSk7XHJcbiAgICBmaXJzdC5vbkNsaWNrID0gKGJ0bikgPT4gdGhpcy5jaGFuZ2VQYWdlKGJ0bik7XHJcbiAgICBjb25zdCBkb3RzID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnZG90cycsICcnLCBJbnB1dFR5cGUuSWNvbik7XHJcbiAgICBsZXQgYnV0dG9uczogSW5wdXRDbGFzc1tdID0gW107XHJcbiAgICBidXR0b25zLnB1c2gocHJldmlvdXMpO1xyXG4gICAgaWYgKHRoaXMudGFibGUucGFnZSA9PT0gMSl7XHJcbiAgICAgIHByZXZpb3VzLm9uQ2xpY2sgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2l6ZSA8IDYpIHtcclxuICAgICAgYnV0dG9ucyA9IGJ1dHRvbnMuY29uY2F0KHRoaXMuYWRkKDEsIHRoaXMuc2l6ZSArIDEpKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy50YWJsZS5wYWdlIDwgNCkge1xyXG4gICAgICBidXR0b25zID0gYnV0dG9ucy5jb25jYXQodGhpcy5hZGQoMSwgNSksIFtkb3RzLCBsYXN0XSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudGFibGUucGFnZSA+IHRoaXMuc2l6ZSAtIDMpIHtcclxuICAgICAgYnV0dG9ucyA9IGJ1dHRvbnMuY29uY2F0KFtmaXJzdCwgZG90c10sIHRoaXMuYWRkKHRoaXMuc2l6ZSAtIDMsIHRoaXMuc2l6ZSArIDEpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGJ1dHRvbnMgPSBidXR0b25zLmNvbmNhdChbZmlyc3QsIGRvdHNdLCB0aGlzLmFkZCh0aGlzLnRhYmxlLnBhZ2UgLSAxLCB0aGlzLnRhYmxlLnBhZ2UgKyAyKSwgW2RvdHMsIGxhc3RdKTtcclxuICAgIH1cclxuICAgIGJ1dHRvbnMucHVzaChuZXh0KTtcclxuICAgIGlmICh0aGlzLnRhYmxlLnBhZ2UgPT09IHRoaXMuc2l6ZSl7XHJcbiAgICAgIG5leHQub25DbGljayA9IG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYnV0dG9ucztcclxuICB9XHJcblxyXG4gIGFkZChzOiBudW1iZXIsIGY6IG51bWJlcik6IElucHV0Q2xhc3NbXSB7XHJcbiAgICBjb25zdCBsOiBJbnB1dENsYXNzW10gPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSBzOyBpIDwgZjsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGIgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsIGkudG9TdHJpbmcoKSxcclxuICAgICAgICBudWxsLCBJbnB1dFR5cGUuQnV0dG9uLCAnaC0yNScgKyAodGhpcy50YWJsZS5wYWdlID09PSBpID8gJyBhY3RpdmUnIDogJyBleHRyYScpLCBpKTtcclxuICAgICAgYi5vbkNsaWNrID0gKGJ0bikgPT4gdGhpcy5jaGFuZ2VQYWdlKGJ0bik7XHJcbiAgICAgIGwucHVzaChiKTtcclxuICAgIH1cclxuICAgIHJldHVybiBsO1xyXG4gIH1cclxuICBjaGFuZ2VQYWdlKGJ0bik6IHZvaWR7XHJcbiAgICB0aGlzLnRhYmxlLnBhZ2UgPSBidG4udmFsdWU7XHJcbiAgICB0aGlzLnRhYmxlLmxvYWQoYnRuKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWR7XHJcbiAgICB0aGlzLnBlclBhZ2VTZWxlY3QgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdQZXJQYWdlJywgJycsIElucHV0VHlwZS5TZWxlY3QsICdoLTI1IHctODAtcCBmLWwnKTtcclxuICAgIHRoaXMucGVyUGFnZVNlbGVjdC52YWx1ZSA9IHRoaXMudGFibGUucGVyUGFnZS50b1N0cmluZygpO1xyXG4gICAgdGhpcy5wZXJQYWdlU2VsZWN0Lm9wdGlvbnMgPSBbXHJcbiAgICAgIG5ldyBPcHRpb25DbGFzcygnNScsICc1JyksXHJcbiAgICAgIG5ldyBPcHRpb25DbGFzcygnMTAnLCAnMTAnKSxcclxuICAgICAgbmV3IE9wdGlvbkNsYXNzKCc1MCcsICc1MCcpLFxyXG4gICAgICBuZXcgT3B0aW9uQ2xhc3MoJzEwMCcsICcxMDAnKSxcclxuICAgIF07XHJcbiAgICB0aGlzLnBlclBhZ2VTZWxlY3QudmFsdWUgPSB0aGlzLnBlclBhZ2VTZWxlY3Quc2VhcmNoID0gdGhpcy50YWJsZS5wZXJQYWdlLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLnBlclBhZ2VTZWxlY3QuZGlzcGxheUxhYmVsID0gZmFsc2U7XHJcbiAgICB0aGlzLnBlclBhZ2VTZWxlY3Qub25DaGFuZ2UgPSAodikgPT4ge1xyXG4gICAgICB0aGlzLnRhYmxlLnBhZ2UgPSAxO1xyXG4gICAgICB0aGlzLnRhYmxlLnBlclBhZ2UgPSBwYXJzZUludCh2LnZhbHVlLCAxMCk7XHJcbiAgICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|