ps-toolkit-ui 0.1.32 → 0.1.35
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 +15 -15
- 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/components/form/icon/form.icon.component.js +1 -1
- package/esm2015/lib/components/layout/layout.component.js +2 -6
- package/esm2015/lib/components/sidebar/item/sidebar.item.component.js +6 -4
- package/esm2015/lib/components/sidebar/sidebar.component.js +8 -6
- package/esm2015/lib/components/table/row/table.row.component.js +3 -3
- package/esm2015/lib/components/table/table.component.js +3 -3
- package/fesm2015/ps-toolkit-ui.js +15 -15
- package/fesm2015/ps-toolkit-ui.js.map +1 -1
- package/lib/components/layout/layout.component.d.ts +0 -1
- package/lib/components/sidebar/item/sidebar.item.component.d.ts +2 -0
- package/lib/components/sidebar/sidebar.component.d.ts +2 -2
- package/package.json +1 -1
- package/ps-toolkit-ui.metadata.json +1 -1
|
@@ -63,7 +63,7 @@ FormIconComponent.decorators = [
|
|
|
63
63
|
{ type: Component, args: [{
|
|
64
64
|
selector: 'lib-form-icon',
|
|
65
65
|
template: "<div *ngIf=\"inp.url == null\" #inputDiv [id]=\"inp.name + 'Input'\" (click)=\"onClick($event)\" [className]=\"inp.class + ' form-input icon'\" [style]=\"inp.style\">\r\n <lib-tooltip [text]=\"inp.l(inp.name)\"></lib-tooltip>\r\n <input #inputBase type=\"button\" class=\"input-base\" (keydown)=\"onKeyDown($event)\" (focusin)=\"onFocusIn()\">\r\n <div class=\"icon-con\">\r\n <i *ngIf=\"inp.icon != null\" #inputIcon [className]=\"(inp.loading ? 'fa-duotone fa-spin fa-spinner' : inp.icon) + ' icon'\"></i>\r\n </div>\r\n</div>\r\n<a *ngIf=\"inp.url != null\" [target]=\"inp.urlNewTab ? '_blank' : ''\" [routerLink]=\"inp.url\" #inputDiv [id]=\"inp.name + 'Input'\" (click)=\"onClick($event)\" [className]=\"inp.class + ' form-input icon'\" [style]=\"inp.style\">\r\n <lib-tooltip [text]=\"inp.l(inp.name)\"></lib-tooltip>\r\n <input #inputBase type=\"button\" class=\"input-base\" (keydown)=\"onKeyDown($event)\" (focusin)=\"onFocusIn()\">\r\n <div class=\"icon-con\">\r\n <i *ngIf=\"inp.icon != null\" #inputIcon [className]=\"(inp.loading ? 'fa-duotone fa-spin fa-spinner' : inp.icon) + ' icon'\"></i>\r\n </div>\r\n</a>\r\n",
|
|
66
|
-
styles: [".form-input.icon{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:pointer;float:right;height:30px;position:relative;width:30px
|
|
66
|
+
styles: [".form-input.icon{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:pointer;float:right;height:30px;position:relative;width:30px}.form-input.icon .input-base{height:0;opacity:0;position:absolute;right:50%;top:50%;width:0;z-index:0}.form-input.icon .icon-con{border-radius:5px;float:right;height:100%;position:absolute;right:0;top:0;width:100%}.form-input.icon .icon-con i.icon{color:var(--black-88);float:right;font-size:18px;height:30px;line-height:20px;padding:5px;text-align:center;width:30px}.form-input.icon .input-base:focus+.icon-con,.form-input.icon:hover .icon-con{background-color:var(--black-22)}.form-input.icon .input-base:focus+.icon-con .icon,.form-input.icon:hover .icon-con i.icon{color:var(--black-99)}.form-input.icon.red .input-base:focus+.icon-con,.form-input.icon.red:hover .icon-con{background-color:var(--red-22)}.form-input.icon.red .input-base:focus+.icon-con .icon,.form-input.icon.red:hover .icon-con i.icon{color:var(--red)}.form-input.icon.blue .input-base:focus+.icon-con,.form-input.icon.blue:hover .icon-con{background-color:var(--blue-22)}.form-input.icon.blue .input-base:focus+.icon-con .icon,.form-input.icon.blue:hover .icon-con i.icon{color:var(--blue)}.form-input.icon.green .input-base:focus+.icon-con,.form-input.icon.green:hover .icon-con{background-color:var(--green-22)}.form-input.icon.green .input-base:focus+.icon-con .icon,.form-input.icon.green:hover .icon-con i.icon{color:var(--green)}.form-input.icon.comp .input-base:focus+.icon-con,.form-input.icon.comp:hover .icon-con{background-color:var(--comp-22)}.form-input.icon.comp .input-base:focus+.icon-con .icon,.form-input.icon.comp:hover .icon-con i.icon{color:var(--comp)}.form-input.icon.h-20{height:20px;width:20px}.form-input.icon.h-20 .icon-con i.icon{font-size:16px;height:20px;line-height:18px;width:20px}.form-input.icon.h-25{height:25px;width:25px}.form-input.icon.h-25 .icon-con i.icon{font-size:15px;height:25px;line-height:15px;width:25px}"]
|
|
67
67
|
},] }
|
|
68
68
|
];
|
|
69
69
|
FormIconComponent.ctorParameters = () => [];
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as $ from 'jquery';
|
|
3
2
|
export class LayoutComponent {
|
|
4
3
|
constructor() {
|
|
5
4
|
this.permissions = [];
|
|
6
5
|
this.logout = new EventEmitter();
|
|
7
6
|
}
|
|
8
|
-
toggleSidebar() {
|
|
9
|
-
$('#Sidebar').toggleClass('open').toggleClass('close');
|
|
10
|
-
}
|
|
11
7
|
}
|
|
12
8
|
LayoutComponent.decorators = [
|
|
13
9
|
{ type: Component, args: [{
|
|
14
10
|
selector: 'lib-layout',
|
|
15
|
-
template: "<div id=\"Layout\">\r\n <div class=\"layout-con\">\r\n <div class=\"panel\">\r\n <lib-sidebar [permissions]=\"permissions\"
|
|
11
|
+
template: "<div id=\"Layout\">\r\n <div class=\"layout-con\">\r\n <div class=\"panel\">\r\n <lib-sidebar [permissions]=\"permissions\" [area]=\"area\" [version]=\"version\">\r\n <ng-content select=\"[slot=sidebar]\"></ng-content>\r\n </lib-sidebar>\r\n <div class=\"content\">\r\n <lib-header (logout)=\"logout.emit()\">\r\n <ng-content select=\"[slot=header]\"></ng-content>\r\n </lib-header>\r\n <div class=\"content-scroll-con\" style=\"overflow-y: auto\">\r\n <div class=\"content-scroll\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
16
12
|
styles: ["#Layout,#Layout .layout-con,#Layout .panel{float:right;width:100%}#Layout .panel{display:flex;flex-direction:row;position:relative}#Layout .panel .content{background-color:var(--base-11);direction:rtl;float:left;overflow:hidden;position:relative;transition:width .3s;width:100%}#Layout .panel .content .content-scroll-con{height:calc(100vh - 85px);min-height:calc(100vh - 85px);width:100%}#Layout .panel .content .content-scroll-con .content-scroll{float:right;padding:20px;width:100%}@media (max-width:399.98px){#Layout .panel .content .content-scroll-con{height:calc(100vh - 110px);min-height:calc(100vh - 110px)}}@media (min-width:400px) and (max-width:499.98px){#Layout .panel .content .content-scroll-con{height:calc(100vh - 110px);min-height:calc(100vh - 110px)}}@media (min-width:500px) and (max-width:599.98px){#Layout .panel .content .content-scroll-con{height:calc(100vh - 110px);min-height:calc(100vh - 110px)}}"]
|
|
17
13
|
},] }
|
|
18
14
|
];
|
|
@@ -23,4 +19,4 @@ LayoutComponent.propDecorators = {
|
|
|
23
19
|
version: [{ type: Input }],
|
|
24
20
|
logout: [{ type: Output }]
|
|
25
21
|
};
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qcm9qZWN0cy9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBUXJFLE1BQU0sT0FBTyxlQUFlO0lBUzFCO1FBUEEsZ0JBQVcsR0FBVSxFQUFFLENBQUM7UUFNeEIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFNUIsQ0FBQzs7O1lBZkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0Qiw2ckJBQXNDOzthQUV2Qzs7OzswQkFFRSxLQUFLO21CQUVMLEtBQUs7c0JBRUwsS0FBSztxQkFFTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzICQgZnJvbSAnanF1ZXJ5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxheW91dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbGF5b3V0LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGF5b3V0Q29tcG9uZW50IHtcclxuICBASW5wdXQoKVxyXG4gIHBlcm1pc3Npb25zOiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpXHJcbiAgYXJlYTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgdmVyc2lvbjogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKVxyXG4gIGxvZ291dCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import * as $ from 'jquery';
|
|
3
3
|
import { LangClass } from '../../../classes/lang.class';
|
|
4
4
|
import { PsToolkitUiConfigService } from '../../../services/config.service';
|
|
5
5
|
export class SidebarItemComponent {
|
|
6
6
|
constructor(config) {
|
|
7
7
|
this.config = config;
|
|
8
|
+
this.toggleSidebar = new EventEmitter();
|
|
8
9
|
const lang = new LangClass(config.currentLang, config.strings);
|
|
9
10
|
this.l = (key, v = null) => {
|
|
10
11
|
return lang.get('Public', 'Sidebar', key, v);
|
|
@@ -36,7 +37,7 @@ export class SidebarItemComponent {
|
|
|
36
37
|
SidebarItemComponent.decorators = [
|
|
37
38
|
{ type: Component, args: [{
|
|
38
39
|
selector: 'lib-sidebar-item',
|
|
39
|
-
template: "<div [className]=\"(isActive(item) ? 'parent-active open ' : '') + 'user-sidebar-item'\">\r\n <a [style]=\"{paddingRight: (i * 25) + 'px'}\" *ngIf=\"item.children.length == 0\" [className]=\"(currentSidebar && item.name == currentSidebar.name ? 'active ' : '') + 'content'\" [routerLink]=\"(area ? '/' + area : '') + '/' + (item.controller == 'Dashboard' ? '' : (item.controller + (item.action ? '/' + item.action : '')))\">\r\n <i [className]=\"item.icon + ' icon'\"></i>\r\n <div class=\"title\">{{ l(item.name) }}</div>\r\n </a>\r\n <div [style]=\"{paddingRight: (i * 25) + 'px'}\" *ngIf=\"item.children.length > 0\" (click)=\"openClose($event)\" class=\"content parent\">\r\n <i [className]=\"item.icon + ' icon'\"></i>\r\n <div class=\"title\">{{ l(item.name) }}</div>\r\n <i [className]=\"'fa-duotone fa-angle-left arrow'\"></i>\r\n </div>\r\n <div *ngIf=\"item.children.length > 0\" class=\"children\">\r\n <div class=\"items\">\r\n <lib-sidebar-item [i]=\"i + 1\" [item]=\"child\" [currentSidebar]=\"currentSidebar\" [area]=\"area\" *ngFor=\"let child of item.children\"></lib-sidebar-item>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
40
|
+
template: "<div [className]=\"(isActive(item) ? 'parent-active open ' : '') + 'user-sidebar-item'\">\r\n <a (click)=\"toggleSidebar.emit()\" [style]=\"{paddingRight: (i * 25) + 'px'}\" *ngIf=\"item.children.length == 0\" [className]=\"(currentSidebar && item.name == currentSidebar.name ? 'active ' : '') + 'content'\" [routerLink]=\"(area ? '/' + area : '') + '/' + (item.controller == 'Dashboard' ? '' : (item.controller + (item.action ? '/' + item.action : '')))\">\r\n <i [className]=\"item.icon + ' icon'\"></i>\r\n <div class=\"title\">{{ l(item.name) }}</div>\r\n </a>\r\n <div [style]=\"{paddingRight: (i * 25) + 'px'}\" *ngIf=\"item.children.length > 0\" (click)=\"openClose($event)\" class=\"content parent\">\r\n <i [className]=\"item.icon + ' icon'\"></i>\r\n <div class=\"title\">{{ l(item.name) }}</div>\r\n <i [className]=\"'fa-duotone fa-angle-left arrow'\"></i>\r\n </div>\r\n <div *ngIf=\"item.children.length > 0\" class=\"children\">\r\n <div class=\"items\">\r\n <lib-sidebar-item [i]=\"i + 1\" [item]=\"child\" [currentSidebar]=\"currentSidebar\" (toggleSidebar)=\"toggleSidebar.emit()\" [area]=\"area\" *ngFor=\"let child of item.children\"></lib-sidebar-item>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
40
41
|
styles: [".user-sidebar-item{float:left;position:relative;text-align:center;width:100%}.user-sidebar-item .content{align-items:center;cursor:pointer;direction:rtl;display:flex;float:right;justify-content:right;position:relative;transition:all .3s;width:100%}.user-sidebar-item .dot{background-color:var(--base);border:2px solid hsla(0,0%,93.3%,.4);border-radius:50%;height:10px;position:absolute;right:-15px;top:15px;width:10px;z-index:2}.user-sidebar-item .dot.active{background-color:var(--base-11);border:2px solid var(--base-11)}.user-sidebar-item.parent-active>.dot.parent{background-color:hsla(0,0%,93.3%,.4);border:none}.user-sidebar-item .dot.back{background-color:var(--base);border:none;z-index:1}.user-sidebar-item .children{display:none;float:left;position:relative;width:100%}.user-sidebar-item .children .items{float:left;width:100%}.user-sidebar-item .children .line{background-color:hsla(0,0%,93.3%,.4);height:calc(100% - 20px);left:calc(85% + 10px);position:absolute;top:0;width:1px}.user-sidebar-item .content .title{color:hsla(0,0%,100%,.8);float:right;font-family:VazirLight;font-size:12px;height:45px;line-height:45px;overflow:hidden;transition:all .3s;width:0}.user-sidebar-item .content .icon{color:hsla(0,0%,100%,.6666666666666666);float:right;font-size:18px;height:45px;line-height:45px;transition:all .3s;width:100%}.user-sidebar-item .content .arrow{color:hsla(0,0%,100%,.8);font-size:13px;height:45px;line-height:45px;overflow:hidden;text-align:right;transition:all .3s;width:0}::ng-deep #Sidebar.open .user-sidebar-item .content .title{width:calc(100% - 100px)}::ng-deep #Sidebar.open .user-sidebar-item .content .icon{width:70px}::ng-deep #Sidebar.open .user-sidebar-item .content .arrow{width:30px}::ng-deep #Sidebar.close .user-sidebar-item .content{padding:0!important}.user-sidebar-item.open .content .arrow{transform:rotate(-90deg)}.user-sidebar-item>.children .content .icon{font-size:11px}.user-sidebar-item.parent-active>.content,.user-sidebar-item:hover>.content{background-color:var(--base-dark)}.user-sidebar-item.parent-active>.content .title,.user-sidebar-item:hover>.content .title{color:#fff;font-family:VazirBold}.user-sidebar-item.parent-active>.content .icon,.user-sidebar-item:hover>.content .icon{color:var(--comp)}.user-sidebar-item.parent-active>.content .arrow,.user-sidebar-item:hover>.content .arrow{color:#fff}.user-sidebar-item.parent-active>.children{display:block}@media (max-width:399.98px){::ng-deep #Sidebar .user-sidebar-item .content .title{width:calc(100% - 100px)}::ng-deep #Sidebar.open .user-sidebar-item .content .title{width:0}::ng-deep #Sidebar .user-sidebar-item .content .icon{width:70px}::ng-deep #Sidebar.open .user-sidebar-item .content .icon{width:100%}::ng-deep #Sidebar .user-sidebar-item .content .arrow{width:30px}::ng-deep #Sidebar.open .user-sidebar-item .content .arrow{width:0}}@media (min-width:400px) and (max-width:499.98px){::ng-deep #Sidebar .user-sidebar-item .content .title{width:calc(100% - 100px)}::ng-deep #Sidebar.open .user-sidebar-item .content .title{width:0}::ng-deep #Sidebar .user-sidebar-item .content .icon{width:70px}::ng-deep #Sidebar.open .user-sidebar-item .content .icon{width:100%}::ng-deep #Sidebar .user-sidebar-item .content .arrow{width:30px}::ng-deep #Sidebar.open .user-sidebar-item .content .arrow{width:0}}@media (min-width:500px) and (max-width:599.98px){::ng-deep #Sidebar .user-sidebar-item .content .title{width:calc(100% - 100px)}::ng-deep #Sidebar.open .user-sidebar-item .content .title{width:0}::ng-deep #Sidebar .user-sidebar-item .content .icon{width:70px}::ng-deep #Sidebar.open .user-sidebar-item .content .icon{width:100%}::ng-deep #Sidebar .user-sidebar-item .content .arrow{width:30px}::ng-deep #Sidebar.open .user-sidebar-item .content .arrow{width:0}}@media (min-width:600px) and (max-width:699.98px){::ng-deep #Sidebar .user-sidebar-item .content .title{width:calc(100% - 100px)}::ng-deep #Sidebar.open .user-sidebar-item .content .title{width:0}::ng-deep #Sidebar .user-sidebar-item .content .icon{width:70px}::ng-deep #Sidebar.open .user-sidebar-item .content .icon{width:100%}::ng-deep #Sidebar .user-sidebar-item .content .arrow{width:30px}::ng-deep #Sidebar.open .user-sidebar-item .content .arrow{width:0}}@media (min-width:700px) and (max-width:799.98px){::ng-deep #Sidebar .user-sidebar-item .content .title{width:calc(100% - 100px)}::ng-deep #Sidebar.open .user-sidebar-item .content .title{width:0}::ng-deep #Sidebar .user-sidebar-item .content .icon{width:70px}::ng-deep #Sidebar.open .user-sidebar-item .content .icon{width:100%}::ng-deep #Sidebar .user-sidebar-item .content .arrow{width:30px}::ng-deep #Sidebar.open .user-sidebar-item .content .arrow{width:0}}@media (min-width:800px) and (max-width:899.98px){::ng-deep #Sidebar .user-sidebar-item .content .title{width:calc(100% - 100px)}::ng-deep #Sidebar.open .user-sidebar-item .content .title{width:0}::ng-deep #Sidebar .user-sidebar-item .content .icon{width:70px}::ng-deep #Sidebar.open .user-sidebar-item .content .icon{width:100%}::ng-deep #Sidebar .user-sidebar-item .content .arrow{width:30px}::ng-deep #Sidebar.open .user-sidebar-item .content .arrow{width:0}}@media (min-width:900px) and (max-width:999.98px){::ng-deep #Sidebar .user-sidebar-item .content .title{width:calc(100% - 100px)}::ng-deep #Sidebar.open .user-sidebar-item .content .title{width:0}::ng-deep #Sidebar .user-sidebar-item .content .icon{width:70px}::ng-deep #Sidebar.open .user-sidebar-item .content .icon{width:100%}::ng-deep #Sidebar .user-sidebar-item .content .arrow{width:30px}::ng-deep #Sidebar.open .user-sidebar-item .content .arrow{width:0}}@media (min-width:1000px) and (max-width:1099.98px){::ng-deep #Sidebar .user-sidebar-item .content .title{width:calc(100% - 100px)}::ng-deep #Sidebar.open .user-sidebar-item .content .title{width:0}::ng-deep #Sidebar .user-sidebar-item .content .icon{width:70px}::ng-deep #Sidebar.open .user-sidebar-item .content .icon{width:100%}::ng-deep #Sidebar .user-sidebar-item .content .arrow{width:30px}::ng-deep #Sidebar.open .user-sidebar-item .content .arrow{width:0}}@media (min-width:1100px) and (max-width:1199.98px){::ng-deep #Sidebar .user-sidebar-item .content .title{width:calc(100% - 100px)}::ng-deep #Sidebar.open .user-sidebar-item .content .title{width:0}::ng-deep #Sidebar .user-sidebar-item .content .icon{width:70px}::ng-deep #Sidebar.open .user-sidebar-item .content .icon{width:100%}::ng-deep #Sidebar .user-sidebar-item .content .arrow{width:30px}::ng-deep #Sidebar.open .user-sidebar-item .content .arrow{width:0}}"]
|
|
41
42
|
},] }
|
|
42
43
|
];
|
|
@@ -48,6 +49,7 @@ SidebarItemComponent.propDecorators = {
|
|
|
48
49
|
i: [{ type: Input }],
|
|
49
50
|
base: [{ type: Input }],
|
|
50
51
|
currentSidebar: [{ type: Input }],
|
|
51
|
-
area: [{ type: Input }]
|
|
52
|
+
area: [{ type: Input }],
|
|
53
|
+
toggleSidebar: [{ type: Output }]
|
|
52
54
|
};
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qcm9qZWN0cy9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zaWRlYmFyL2l0ZW0vc2lkZWJhci5pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQVExRSxNQUFNLE9BQU8sb0JBQW9CO0lBYy9CLFlBQW1CLE1BQWdDO1FBQWhDLFdBQU0sR0FBTixNQUFNLENBQTBCO1FBRm5ELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUd6QyxNQUFNLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBVyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQVUsRUFBRTtZQUN6QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMsQ0FBQyxDQUFDO1FBQ1QsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNyRCxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUM7WUFDdEIsRUFBRSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QixFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ25DO2FBQUk7WUFDSCxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BCLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQWtCO1FBQ3pCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO1NBQ3RFO1FBQ0QsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFDO1lBQzVCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBQztnQkFDbkIsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7WUEvQ0YsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLG91Q0FBNEM7O2FBRS9DOzs7WUFQTyx3QkFBd0I7OzttQkFTN0IsS0FBSztnQkFFTCxLQUFLO21CQUVMLEtBQUs7NkJBRUwsS0FBSzttQkFFTCxLQUFLOzRCQUVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgJCBmcm9tICdqcXVlcnknO1xyXG5pbXBvcnQge1NpZGViYXJDbGFzc30gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9zaWRlYmFyLmNsYXNzJztcclxuaW1wb3J0IHtMYW5nQ2xhc3N9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvbGFuZy5jbGFzcyc7XHJcbmltcG9ydCB7UHNUb29sa2l0VWlDb25maWdTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7c3RyaW5nc30gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9zdHJpbmcuY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2xpYi1zaWRlYmFyLWl0ZW0nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NpZGViYXIuaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9zaWRlYmFyLml0ZW0uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWRlYmFySXRlbUNvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICBpdGVtOiBTaWRlYmFyQ2xhc3M7XHJcbiAgQElucHV0KClcclxuICBpOiBudW1iZXI7XHJcbiAgQElucHV0KClcclxuICBiYXNlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3VycmVudFNpZGViYXI7XHJcbiAgQElucHV0KClcclxuICBhcmVhOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpXHJcbiAgdG9nZ2xlU2lkZWJhciA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIGw6IChrLCB2PykgPT4gc3RyaW5nO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWc6IFBzVG9vbGtpdFVpQ29uZmlnU2VydmljZSl7XHJcbiAgICBjb25zdCBsYW5nID0gbmV3IExhbmdDbGFzcyhjb25maWcuY3VycmVudExhbmcsIGNvbmZpZy5zdHJpbmdzKTtcclxuICAgIHRoaXMubCA9IChrZXk6IHN0cmluZywgdiA9IG51bGwpOiBzdHJpbmcgPT4ge1xyXG4gICAgICByZXR1cm4gbGFuZy5nZXQoJ1B1YmxpYycsICdTaWRlYmFyJywga2V5LCB2KTtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBvcGVuQ2xvc2UoZSk6IHZvaWR7XHJcbiAgICBjb25zdCBvcCA9ICQoZS50YXJnZXQpLmNsb3Nlc3QoJy51c2VyLXNpZGViYXItaXRlbScpO1xyXG4gICAgaWYgKG9wLmhhc0NsYXNzKCdvcGVuJykpe1xyXG4gICAgICBvcC5yZW1vdmVDbGFzcygnb3BlbicpO1xyXG4gICAgICBvcC5maW5kKCcgPiAuY2hpbGRyZW4nKS5zbGlkZVVwKCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgb3AuYWRkQ2xhc3MoJ29wZW4nKTtcclxuICAgICAgb3AuZmluZCgnID4gLmNoaWxkcmVuJykuc2xpZGVEb3duKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0FjdGl2ZShpdGVtOiBTaWRlYmFyQ2xhc3MpOiBib29sZWFue1xyXG4gICAgaWYgKGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID09PSAwKXtcclxuICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFNpZGViYXIgJiYgaXRlbS5uYW1lID09PSB0aGlzLmN1cnJlbnRTaWRlYmFyLm5hbWU7XHJcbiAgICB9XHJcbiAgICBmb3IgKGNvbnN0IGMgb2YgaXRlbS5jaGlsZHJlbil7XHJcbiAgICAgIGlmICh0aGlzLmlzQWN0aXZlKGMpKXtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { Component,
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
2
|
import { PsToolkitUiConfigService } from '../../services/config.service';
|
|
3
3
|
import { LangClass } from '../../classes/lang.class';
|
|
4
4
|
import { SidebarClass } from '../../classes/sidebar.class';
|
|
5
5
|
import { NavigationEnd, Router } from '@angular/router';
|
|
6
6
|
import { HelperClass } from '../../classes/helper.class';
|
|
7
7
|
import { PermissionTypeEnum } from '../../classes/enum.class';
|
|
8
|
+
import * as $ from 'jquery';
|
|
8
9
|
export class SidebarComponent {
|
|
9
10
|
constructor(config, router) {
|
|
10
11
|
this.config = config;
|
|
11
12
|
this.router = router;
|
|
12
13
|
this.permissions = [];
|
|
13
|
-
this.toggleSidebar = new EventEmitter();
|
|
14
14
|
this.sidebar = [];
|
|
15
15
|
const lang = new LangClass(config.currentLang, config.strings);
|
|
16
16
|
this.l = (key, v = null) => {
|
|
@@ -47,11 +47,14 @@ export class SidebarComponent {
|
|
|
47
47
|
}
|
|
48
48
|
return null;
|
|
49
49
|
}
|
|
50
|
+
toggleSidebar() {
|
|
51
|
+
$('#Sidebar').toggleClass('open').toggleClass('close');
|
|
52
|
+
}
|
|
50
53
|
}
|
|
51
54
|
SidebarComponent.decorators = [
|
|
52
55
|
{ type: Component, args: [{
|
|
53
56
|
selector: 'lib-sidebar',
|
|
54
|
-
template: "<div id=\"Sidebar\" class=\"open\">\r\n <div class=\"sidebar-shadow\" (click)=\"toggleSidebar
|
|
57
|
+
template: "<div id=\"Sidebar\" class=\"open\">\r\n <div class=\"sidebar-shadow\" (click)=\"toggleSidebar()\"></div>\r\n <div class=\"sidebar-scroll\">\r\n <i (click)=\"toggleSidebar()\" class=\"toggle fa-duotone fa-angle-double-left\"></i>\r\n <div class=\"brand-con\">\r\n <div class=\"logo\"></div>\r\n <div class=\"title\">\r\n {{l('SoftwareName')}}\r\n <div class=\"version\">{{l('Version', version)}}</div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-con\" id=\"sidebar-con\">\r\n <span *ngFor=\"let item of sidebar\">\r\n <lib-sidebar-item [i]=\"0\" [item]=\"item\" (toggleSidebar)=\"toggleSidebar()\" [base]=\"true\" [currentSidebar]=\"currentSidebar\" [area]=\"area\"></lib-sidebar-item>\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
55
58
|
styles: ["#Sidebar{background-color:var(--base);height:calc(100vh - 35px);min-height:calc(100vh - 35px);position:relative;transition:width .3s;width:78px;z-index:102}#Sidebar,#Sidebar .sidebar-shadow{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;direction:ltr;float:right}#Sidebar .sidebar-shadow{background-color:var(--black);height:100vh;left:0;min-height:100vh;opacity:0;overflow:hidden;position:fixed;transition:all .3s;visibility:hidden;width:100%;z-index:103}#Sidebar.open{width:260px}#Sidebar .sidebar-scroll{background-color:var(--base);height:100%;position:absolute;right:0;top:0;transition:all .3s;width:100%;z-index:104}#Sidebar .sidebar-scroll .sidebar-con{direction:ltr;float:right;height:calc(100vh - 85px);overflow-x:hidden;overflow-y:auto;width:100%}#Sidebar .sidebar-scroll .brand-con{align-items:center;background-color:var(--base-dark);direction:rtl;display:flex;float:right;height:50px;justify-content:center;width:100%}#Sidebar .sidebar-scroll .brand-con .logo{background-position:50%;background-repeat:no-repeat;background-size:contain;float:right;height:30px;width:30px}#Sidebar .sidebar-scroll .brand-con .title{align-items:center;color:#fff;display:flex;font-family:VazirBold;font-size:15px;height:100%;justify-content:center;overflow:hidden;position:relative;top:-4px;transition:all .3s;width:0}#Sidebar.open .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-scroll .brand-con .title .version{font-family:VazirLight;font-size:9px;position:absolute;top:27px}#Sidebar .toggle{color:var(--comp);cursor:pointer;float:left;font-size:18px;height:50px;left:-50px;line-height:50px;position:absolute;text-align:center;transform:scaleX(1);transition:all .3s;width:50px}#Sidebar.open .toggle{transform:scaleX(-1)}#Sidebar .toggle:hover{color:var(--comp-dark)}@media (max-width:399.98px){#Sidebar{height:calc(100vh - 60px);min-height:calc(100vh - 60px)}#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:240px}#Sidebar .sidebar-scroll .sidebar-con{height:calc(100vh - 110px)}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:400px) and (max-width:499.98px){#Sidebar{height:calc(100vh - 60px);min-height:calc(100vh - 60px)}#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar .sidebar-scroll .sidebar-con{height:calc(100vh - 110px)}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:500px) and (max-width:599.98px){#Sidebar{height:calc(100vh - 60px);min-height:calc(100vh - 60px)}#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar .sidebar-scroll .sidebar-con{height:calc(100vh - 110px)}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:600px) and (max-width:699.98px){#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:700px) and (max-width:799.98px){#Sidebar,#Sidebar.open{width:60px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:800px) and (max-width:899.98px){#Sidebar,#Sidebar.open{width:60px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:900px) and (max-width:999.98px){#Sidebar,#Sidebar.open{width:78px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:1000px) and (max-width:1099.98px){#Sidebar,#Sidebar.open{width:78px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:1100px) and (max-width:1199.98px){#Sidebar,#Sidebar.open{width:78px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}"]
|
|
56
59
|
},] }
|
|
57
60
|
];
|
|
@@ -62,7 +65,6 @@ SidebarComponent.ctorParameters = () => [
|
|
|
62
65
|
SidebarComponent.propDecorators = {
|
|
63
66
|
permissions: [{ type: Input }],
|
|
64
67
|
area: [{ type: Input }],
|
|
65
|
-
version: [{ type: Input }]
|
|
66
|
-
toggleSidebar: [{ type: Output }]
|
|
68
|
+
version: [{ type: Input }]
|
|
67
69
|
};
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiRDovUHJvamVjdHMvUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFnQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFPNUIsTUFBTSxPQUFPLGdCQUFnQjtJQVUzQixZQUFtQixNQUFnQyxFQUFVLE1BQWM7UUFBeEQsV0FBTSxHQUFOLE1BQU0sQ0FBMEI7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBUjNFLGdCQUFXLEdBQVUsRUFBRSxDQUFDO1FBS3hCLFlBQU8sR0FBbUIsRUFBRSxDQUFDO1FBSTNCLE1BQU0sSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFXLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBVSxFQUFFO1lBQ3pDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUM7UUFDRixNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM5QixJQUFJLEtBQUssWUFBWSxhQUFhLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFNBQVM7UUFDUCxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDRCxVQUFVLENBQUMsV0FBbUIsSUFBSTtRQUNoQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxrQkFBa0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN6RyxPQUFPLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pHLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELGdCQUFnQixDQUFDLElBQW9CLEVBQUUsTUFBTTtRQUMzQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBQztZQUNuQixJQUFJLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxNQUFNLEVBQUM7Z0JBQ3ZELE9BQU8sQ0FBQyxDQUFDO2FBQ1Y7WUFDRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNyRCxJQUFJLEVBQUUsRUFBQztnQkFDTCxPQUFPLEVBQUUsQ0FBQzthQUNYO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxhQUFhO1FBQ1gsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekQsQ0FBQzs7O1lBckRGLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsMnlCQUF1Qzs7YUFFMUM7OztZQVpPLHdCQUF3QjtZQUdULE1BQU07OzswQkFXMUIsS0FBSzttQkFFTCxLQUFLO3NCQUVMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1BzVG9vbGtpdFVpQ29uZmlnU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQge0xhbmdDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9sYW5nLmNsYXNzJztcclxuaW1wb3J0IHtTaWRlYmFyQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvc2lkZWJhci5jbGFzcyc7XHJcbmltcG9ydCB7TmF2aWdhdGlvbkVuZCwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQge0hlbHBlckNsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL2hlbHBlci5jbGFzcyc7XHJcbmltcG9ydCB7UGVybWlzc2lvblR5cGVFbnVtfSBmcm9tICcuLi8uLi9jbGFzc2VzL2VudW0uY2xhc3MnO1xyXG5pbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbGliLXNpZGViYXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NpZGViYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vc2lkZWJhci5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZGViYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgQElucHV0KClcclxuICBwZXJtaXNzaW9uczogYW55W10gPSBbXTtcclxuICBASW5wdXQoKVxyXG4gIGFyZWE6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIHZlcnNpb246IHN0cmluZztcclxuICBzaWRlYmFyOiBTaWRlYmFyQ2xhc3NbXSA9IFtdO1xyXG4gIGN1cnJlbnRTaWRlYmFyO1xyXG4gIGw6IChrLCB2PykgPT4gc3RyaW5nO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWc6IFBzVG9vbGtpdFVpQ29uZmlnU2VydmljZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcil7XHJcbiAgICBjb25zdCBsYW5nID0gbmV3IExhbmdDbGFzcyhjb25maWcuY3VycmVudExhbmcsIGNvbmZpZy5zdHJpbmdzKTtcclxuICAgIHRoaXMubCA9IChrZXk6IHN0cmluZywgdiA9IG51bGwpOiBzdHJpbmcgPT4ge1xyXG4gICAgICByZXR1cm4gbGFuZy5nZXQoJ1B1YmxpYycsICdTaWRlYmFyJywga2V5LCB2KTtcclxuICAgIH07XHJcbiAgICByb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XHJcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcclxuICAgICAgICB0aGlzLnNldEFjdGl2ZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc2V0QWN0aXZlKCk6IHZvaWR7XHJcbiAgICBjb25zdCBhY3RpdmUgPSBIZWxwZXJDbGFzcy5nZXREYXRhKCdhY3RpdmUnLCB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZSwgdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUucm9vdClbMF07XHJcbiAgICB0aGlzLmN1cnJlbnRTaWRlYmFyID0gdGhpcy5nZXRTaWRlYmFyQWN0aXZlKHRoaXMuc2lkZWJhciwgYWN0aXZlKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNpZGViYXIgPSB0aGlzLmdldFNpZGViYXIoKTtcclxuICAgIHRoaXMuc2V0QWN0aXZlKCk7XHJcbiAgfVxyXG4gIGdldFNpZGViYXIocGFyZW50SWQ6IHN0cmluZyA9IG51bGwpOiBTaWRlYmFyQ2xhc3NbXXtcclxuICAgIHJldHVybiB0aGlzLnBlcm1pc3Npb25zLmZpbHRlcih4ID0+IHguVHlwZSA9PT0gUGVybWlzc2lvblR5cGVFbnVtLkl0ZW0gJiYgeC5QYXJlbnRJZCA9PT0gcGFyZW50SWQpLm1hcCgocykgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgU2lkZWJhckNsYXNzKHRoaXMubCwgcy5OYW1lLCBzLkNvbnRyb2xsZXIsIHMuQWN0aW9uLCBzLkljb24sIHRoaXMuZ2V0U2lkZWJhcihzLklkKSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBnZXRTaWRlYmFyQWN0aXZlKGl0ZW06IFNpZGViYXJDbGFzc1tdLCBhY3RpdmUpOiBTaWRlYmFyQ2xhc3N7XHJcbiAgICBmb3IgKGNvbnN0IGkgb2YgaXRlbSl7XHJcbiAgICAgIGlmIChpLmNvbnRyb2xsZXIgKyAoaS5hY3Rpb24gPyBpLmFjdGlvbiA6ICcnKSA9PT0gYWN0aXZlKXtcclxuICAgICAgICByZXR1cm4gaTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBjYSA9IHRoaXMuZ2V0U2lkZWJhckFjdGl2ZShpLmNoaWxkcmVuLCBhY3RpdmUpO1xyXG4gICAgICBpZiAoY2Epe1xyXG4gICAgICAgIHJldHVybiBjYTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIHRvZ2dsZVNpZGViYXIoKTogdm9pZHtcclxuICAgICQoJyNTaWRlYmFyJykudG9nZ2xlQ2xhc3MoJ29wZW4nKS50b2dnbGVDbGFzcygnY2xvc2UnKTtcclxuICB9XHJcbn1cclxuIl19
|