ps-toolkit-ui 1.3.30 → 1.3.33

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.
@@ -1,10 +1,12 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
2
  import * as $ from 'jquery';
3
+ import { InputType } from '../../../../classes/enum.class';
3
4
  export class FormTreeItemComponent {
4
5
  constructor() {
5
6
  this.parent = null;
6
- this.changeIndex = new EventEmitter();
7
+ this.toggle = new EventEmitter();
7
8
  }
9
+ get type() { return InputType; }
8
10
  ngOnInit() {
9
11
  this.item.parent = this.parent;
10
12
  }
@@ -23,14 +25,14 @@ export class FormTreeItemComponent {
23
25
  }
24
26
  }
25
27
  onClick() {
26
- this.item.toggle(this.tree.onlyChild);
28
+ this.toggle.emit(this.item);
27
29
  }
28
30
  }
29
31
  FormTreeItemComponent.decorators = [
30
32
  { type: Component, args: [{
31
33
  selector: 'lib-form-tree-item',
32
- template: "<div [className]=\"(item.selected ? 'selected ' : item.selected == null ? 'null ' : '') + 'row-item'\">\r\n <div (click)=\"onClick()\" class=\"checkbox\">{{tree.l(item.name)}}</div>\r\n <i *ngIf=\"item.children.length > 0\" (click)=\"openClose($event)\" [className]=\"(index == 0 && level == 0 ? 'fa-duotone fa-caret-down ' : 'fa-duotone fa-caret-left ') + 'open-close'\"></i>\r\n <div [className]=\"(index == 0 && level == 0 ? 'open ' : '') + 'children'\" [style]=\"index == 0 && level == 0 ? {display: 'block'} : {}\" *ngIf=\"item.children.length > 0\">\r\n <div class=\"items rightline\">\r\n <lib-form-tree-item [level]=\"level + 1\" [index]=\"i\" [item]=\"child\" [parent]=\"item\" [tree]=\"tree\" *ngFor=\"let child of item.children; let i = index\"></lib-form-tree-item>\r\n </div>\r\n </div>\r\n</div>\r\n",
33
- styles: [".row-item{float:left;position:relative;text-align:center;width:90%}.row-item .content{background-color:rgba(11,72,107,.06666666666666667);border-radius:var(--border-radius-base);cursor:pointer;float:right;width:100%}.row-item .open-close{cursor:pointer;font-size:20px;height:40px;line-height:38px;position:absolute;right:-25px;text-align:center;width:15px}.row-item .content.parent,.row-item .content:hover{background-color:rgba(11,72,107,.13333333333333333)}.row-item .content.parent:hover{background-color:rgba(11,72,107,.26666666666666666)}.row-item .children{display:none;padding:10px;position:relative}.row-item .children,.row-item .children .items{float:left;width:100%}.row-item .children>.line{height:calc(100% - 30px);right:20px;top:15px;width:2px}.row-item .children .row-item>.line,.row-item .children>.line{background-color:rgba(11,72,107,.13333333333333333);position:absolute}.row-item .children .row-item>.line{height:2px;right:-35px;top:17px;width:10px}.row-item .checkbox{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;align-items:center;cursor:pointer;display:flex;float:right;font-size:11px;justify-content:center;line-height:20px;min-height:40px;padding:5px 30px;position:relative;text-align:center;width:100%;z-index:2}.row-item .control{cursor:pointer;height:0;opacity:0;position:absolute;right:50%;top:50%;width:0;z-index:1}.row-item>.checkbox:before{content:\"\\f0c8\";font-family:Font Awesome\\ 5 Pro;font-size:18px;font-weight:400;height:40px;line-height:40px;position:absolute;right:0;top:0;width:30px}.row-item.selected>.checkbox:before{animation:pop .18s ease-in;color:var(--green);content:\"\\f14a\";font-weight:900}.row-item.null>.checkbox:before{animation:pop .18s ease-in;color:var(--green);content:\"\\f146\";font-weight:900}.row-item:after{background-image:linear-gradient(90deg,transparent,rgba(50,50,50,.25),transparent);border:0;bottom:-1px;content:\"\";float:right;height:1px;position:absolute;right:0;width:100%}::ng-deep lib-form-tree-item:last-of-type>.row-item:after{display:none}"]
34
+ template: "<div [className]=\"(item.selected ? 'selected ' : item.selected == null ? 'null ' : '') + 'row-item'\">\r\n <div (click)=\"onClick()\" [className]=\"'checkbox' + (this.tree.type === type.TreeRadio ? ' radio' : '')\">{{tree.l(item.name)}}</div>\r\n <i *ngIf=\"item.children.length > 0\" (click)=\"openClose($event)\" [className]=\"(index == 0 && level == 0 ? 'fa-duotone fa-caret-down ' : 'fa-duotone fa-caret-left ') + 'open-close'\"></i>\r\n <div [className]=\"(index == 0 && level == 0 ? 'open ' : '') + 'children'\" [style]=\"index == 0 && level == 0 ? {display: 'block'} : {}\" *ngIf=\"item.children.length > 0\">\r\n <div class=\"items rightline\">\r\n <lib-form-tree-item [level]=\"level + 1\" (toggle)=\"toggle.emit($event)\" [index]=\"i\" [item]=\"child\" [parent]=\"item\" [tree]=\"tree\" *ngFor=\"let child of item.children; let i = index\"></lib-form-tree-item>\r\n </div>\r\n </div>\r\n</div>\r\n",
35
+ styles: [".row-item{float:left;position:relative;text-align:center;width:90%}.row-item .content{background-color:rgba(11,72,107,.06666666666666667);border-radius:var(--border-radius-base);cursor:pointer;float:right;width:100%}.row-item .open-close{cursor:pointer;font-size:20px;height:40px;line-height:38px;position:absolute;right:-25px;text-align:center;width:15px}.row-item .content.parent,.row-item .content:hover{background-color:rgba(11,72,107,.13333333333333333)}.row-item .content.parent:hover{background-color:rgba(11,72,107,.26666666666666666)}.row-item .children{display:none;padding:10px;position:relative}.row-item .children,.row-item .children .items{float:left;width:100%}.row-item .children>.line{height:calc(100% - 30px);right:20px;top:15px;width:2px}.row-item .children .row-item>.line,.row-item .children>.line{background-color:rgba(11,72,107,.13333333333333333);position:absolute}.row-item .children .row-item>.line{height:2px;right:-35px;top:17px;width:10px}.row-item .checkbox{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;align-items:center;cursor:pointer;display:flex;float:right;font-size:11px;justify-content:center;line-height:20px;min-height:40px;padding:5px 30px;position:relative;text-align:center;width:100%;z-index:2}.row-item .control{cursor:pointer;height:0;opacity:0;position:absolute;right:50%;top:50%;width:0;z-index:1}.row-item>.checkbox:before{content:\"\\f0c8\";font-family:Font Awesome\\ 5 Pro;font-size:18px;font-weight:400;height:40px;line-height:40px;position:absolute;right:0;top:0;width:30px}.row-item>.checkbox.radio:before{content:\"\\f111\"}.row-item.selected>.checkbox:before{animation:pop .18s ease-in;color:var(--green);content:\"\\f14a\";content:\"\\f192\";font-weight:900}.row-item.null>.checkbox:before{animation:pop .18s ease-in;color:var(--green);content:\"\\f146\";font-weight:900}.row-item:after{background-image:linear-gradient(90deg,transparent,rgba(50,50,50,.25),transparent);border:0;bottom:-1px;content:\"\";float:right;height:1px;position:absolute;right:0;width:100%}::ng-deep lib-form-tree-item:last-of-type>.row-item:after{display:none}"]
34
36
  },] }
35
37
  ];
36
38
  FormTreeItemComponent.ctorParameters = () => [];
@@ -41,8 +43,8 @@ FormTreeItemComponent.propDecorators = {
41
43
  tree: [{ type: Input }],
42
44
  parent: [{ type: Input }],
43
45
  base: [{ type: Input }],
44
- changeIndex: [{ type: Output }],
46
+ toggle: [{ type: Output }],
45
47
  inputDiv: [{ type: ViewChild, args: ['inputDiv',] }],
46
48
  inputBase: [{ type: ViewChild, args: ['inputBase',] }]
47
49
  };
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS50cmVlLml0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Zvcm0vdHJlZS9pdGVtL2Zvcm0udHJlZS5pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBZ0IsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFRNUIsTUFBTSxPQUFPLHFCQUFxQjtJQWlCaEM7UUFQQSxXQUFNLEdBQWlCLElBQUksQ0FBQztRQUk1QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFJekMsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ2pDLENBQUM7SUFDRCxTQUFTLENBQUMsQ0FBQztRQUNULE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNqRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNuRSxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdkIsRUFBRSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QixFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEIsRUFBRSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDM0Q7YUFBTTtZQUNMLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEIsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLEVBQUUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQzNEO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OztZQTNDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsdzBCQUE4Qzs7YUFFL0M7Ozs7bUJBRUUsS0FBSztvQkFFTCxLQUFLO29CQUVMLEtBQUs7bUJBRUwsS0FBSztxQkFFTCxLQUFLO21CQUVMLEtBQUs7MEJBRUwsTUFBTTt1QkFFTixTQUFTLFNBQUMsVUFBVTt3QkFDcEIsU0FBUyxTQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgJCBmcm9tICdqcXVlcnknO1xyXG5pbXBvcnQge0lucHV0Q2xhc3MsIFRyZWVSb3dDbGFzc30gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9mb3JtLmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWZvcm0tdHJlZS1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS50cmVlLml0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm0udHJlZS5pdGVtLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybVRyZWVJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIEBJbnB1dCgpXHJcbiAgaXRlbTogVHJlZVJvd0NsYXNzO1xyXG4gIEBJbnB1dCgpXHJcbiAgbGV2ZWw6IG51bWJlcjtcclxuICBASW5wdXQoKVxyXG4gIGluZGV4OiBudW1iZXI7XHJcbiAgQElucHV0KClcclxuICB0cmVlOiBJbnB1dENsYXNzO1xyXG4gIEBJbnB1dCgpXHJcbiAgcGFyZW50OiBUcmVlUm93Q2xhc3MgPSBudWxsO1xyXG4gIEBJbnB1dCgpXHJcbiAgYmFzZTogYm9vbGVhbjtcclxuICBAT3V0cHV0KClcclxuICBjaGFuZ2VJbmRleCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0RGl2JykgaW5wdXREaXY6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRCYXNlJykgaW5wdXRCYXNlOiBFbGVtZW50UmVmO1xyXG4gIGNvbnN0cnVjdG9yKCl7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWR7XHJcbiAgICB0aGlzLml0ZW0ucGFyZW50ID0gdGhpcy5wYXJlbnQ7XHJcbiAgfVxyXG4gIG9wZW5DbG9zZShlKTogdm9pZCB7XHJcbiAgICBjb25zdCBjaCA9ICQoZS50YXJnZXQpLmNsb3Nlc3QoJy5yb3ctaXRlbScpLmZpbmQoJyA+IC5jaGlsZHJlbicpO1xyXG4gICAgY29uc3Qgb2MgPSAkKGUudGFyZ2V0KS5jbG9zZXN0KCcucm93LWl0ZW0nKS5maW5kKCcgPiAub3Blbi1jbG9zZScpO1xyXG4gICAgaWYgKGNoLmhhc0NsYXNzKCdvcGVuJykpIHtcclxuICAgICAgY2gucmVtb3ZlQ2xhc3MoJ29wZW4nKTtcclxuICAgICAgY2guc3RvcCgpLnNsaWRlVXAoKTtcclxuICAgICAgb2MucmVtb3ZlQ2xhc3MoJ2ZhLWNhcmV0LWRvd24nKS5hZGRDbGFzcygnZmEtY2FyZXQtbGVmdCcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY2guYWRkQ2xhc3MoJ29wZW4nKTtcclxuICAgICAgY2guc3RvcCgpLnNsaWRlRG93bigpO1xyXG4gICAgICBvYy5hZGRDbGFzcygnZmEtY2FyZXQtZG93bicpLnJlbW92ZUNsYXNzKCdmYS1jYXJldC1sZWZ0Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pdGVtLnRvZ2dsZSh0aGlzLnRyZWUub25seUNoaWxkKTtcclxuICB9XHJcbn1cclxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS50cmVlLml0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Zvcm0vdHJlZS9pdGVtL2Zvcm0udHJlZS5pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBZ0IsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBT3pELE1BQU0sT0FBTyxxQkFBcUI7SUFrQmhDO1FBUkEsV0FBTSxHQUFpQixJQUFJLENBQUM7UUFJNUIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO0lBSzFDLENBQUM7SUFGRCxJQUFJLElBQUksS0FBdUIsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBR2xELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ2pDLENBQUM7SUFDRCxTQUFTLENBQUMsQ0FBQztRQUNULE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNqRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNuRSxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdkIsRUFBRSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QixFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEIsRUFBRSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDM0Q7YUFBTTtZQUNMLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEIsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLEVBQUUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQzNEO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7O1lBNUNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5Qix1NkJBQThDOzthQUUvQzs7OzttQkFFRSxLQUFLO29CQUVMLEtBQUs7b0JBRUwsS0FBSzttQkFFTCxLQUFLO3FCQUVMLEtBQUs7bUJBRUwsS0FBSztxQkFFTCxNQUFNO3VCQUVOLFNBQVMsU0FBQyxVQUFVO3dCQUNwQixTQUFTLFNBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcbmltcG9ydCB7SW5wdXRDbGFzcywgVHJlZVJvd0NsYXNzfSBmcm9tICcuLi8uLi8uLi8uLi9jbGFzc2VzL2Zvcm0uY2xhc3MnO1xyXG5pbXBvcnQge0lucHV0VHlwZX0gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9lbnVtLmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWZvcm0tdHJlZS1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS50cmVlLml0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm0udHJlZS5pdGVtLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybVRyZWVJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIEBJbnB1dCgpXHJcbiAgaXRlbTogVHJlZVJvd0NsYXNzO1xyXG4gIEBJbnB1dCgpXHJcbiAgbGV2ZWw6IG51bWJlcjtcclxuICBASW5wdXQoKVxyXG4gIGluZGV4OiBudW1iZXI7XHJcbiAgQElucHV0KClcclxuICB0cmVlOiBJbnB1dENsYXNzO1xyXG4gIEBJbnB1dCgpXHJcbiAgcGFyZW50OiBUcmVlUm93Q2xhc3MgPSBudWxsO1xyXG4gIEBJbnB1dCgpXHJcbiAgYmFzZTogYm9vbGVhbjtcclxuICBAT3V0cHV0KClcclxuICB0b2dnbGUgPSBuZXcgRXZlbnRFbWl0dGVyPFRyZWVSb3dDbGFzcz4oKTtcclxuICBAVmlld0NoaWxkKCdpbnB1dERpdicpIGlucHV0RGl2OiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0QmFzZScpIGlucHV0QmFzZTogRWxlbWVudFJlZjtcclxuICBnZXQgdHlwZSgpOiB0eXBlb2YgSW5wdXRUeXBlIHsgcmV0dXJuIElucHV0VHlwZTsgfVxyXG4gIGNvbnN0cnVjdG9yKCl7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWR7XHJcbiAgICB0aGlzLml0ZW0ucGFyZW50ID0gdGhpcy5wYXJlbnQ7XHJcbiAgfVxyXG4gIG9wZW5DbG9zZShlKTogdm9pZCB7XHJcbiAgICBjb25zdCBjaCA9ICQoZS50YXJnZXQpLmNsb3Nlc3QoJy5yb3ctaXRlbScpLmZpbmQoJyA+IC5jaGlsZHJlbicpO1xyXG4gICAgY29uc3Qgb2MgPSAkKGUudGFyZ2V0KS5jbG9zZXN0KCcucm93LWl0ZW0nKS5maW5kKCcgPiAub3Blbi1jbG9zZScpO1xyXG4gICAgaWYgKGNoLmhhc0NsYXNzKCdvcGVuJykpIHtcclxuICAgICAgY2gucmVtb3ZlQ2xhc3MoJ29wZW4nKTtcclxuICAgICAgY2guc3RvcCgpLnNsaWRlVXAoKTtcclxuICAgICAgb2MucmVtb3ZlQ2xhc3MoJ2ZhLWNhcmV0LWRvd24nKS5hZGRDbGFzcygnZmEtY2FyZXQtbGVmdCcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY2guYWRkQ2xhc3MoJ29wZW4nKTtcclxuICAgICAgY2guc3RvcCgpLnNsaWRlRG93bigpO1xyXG4gICAgICBvYy5hZGRDbGFzcygnZmEtY2FyZXQtZG93bicpLnJlbW92ZUNsYXNzKCdmYS1jYXJldC1sZWZ0Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy50b2dnbGUuZW1pdCh0aGlzLml0ZW0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -11,12 +11,12 @@ export class LoginComponent {
11
11
  this.loginTemplate = 'Main';
12
12
  }
13
13
  ngOnInit() {
14
+ const rules = new InputClass(this.config.environment, this.login.l, 'Rules', null, InputType.Label, 'm-t-10', this.login.rules);
14
15
  if (this.login.type === 'Sms') {
15
16
  const sendCodeForm = new FormClass(this.config.environment, this.login.l, 'SendCode', true, this.login.sendCodeUrl);
16
17
  const sendCode = new InputClass(this.config.environment, this.login.l, 'SendCode', 'fa-duotone fa-paper-plane', InputType.Submit, 'h-45' + (this.loginTemplate === 'Simple' ? ' primary' : ''));
17
18
  sendCodeForm.subName = 'SendCodeSubTitle';
18
19
  this.mobile = new InputClass(this.config.environment, this.login.l, 'Mobile', 'fa-duotone fa-mobile-alt', InputType.Mobile, 'm-b-20 h-45', '', true, 4, 50);
19
- const rules = new InputClass(this.config.environment, this.login.l, 'Rules', null, InputType.Label, 'm-t-10', this.login.rules);
20
20
  sendCodeForm.onSuccess = () => {
21
21
  loginForm.subName = this.login.l('LoginSmsSubTitle', this.mobile.data());
22
22
  this.mobile.type = InputType.Hidden;
@@ -126,7 +126,7 @@ export class LoginComponent {
126
126
  this.username,
127
127
  password,
128
128
  login
129
- ];
129
+ ].concat(this.login.rules != null ? [rules] : []);
130
130
  login.onClick = () => {
131
131
  loginForm.submit();
132
132
  };
@@ -155,4 +155,4 @@ LoginComponent.propDecorators = {
155
155
  login: [{ type: Input }],
156
156
  loginTemplate: [{ type: Input }]
157
157
  };
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQWEsY0FBYyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQU92RSxNQUFNLE9BQU8sY0FBYztJQU96QixZQUFtQixNQUFnQztRQUFoQyxXQUFNLEdBQU4sTUFBTSxDQUEwQjtRQUhuRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQztJQUl2QixDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFDO1lBQzVCLE1BQU0sWUFBWSxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNwSCxNQUFNLFFBQVEsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFB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bUIsRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1SixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxLQUFLLE1BQU0sQ0FBQztZQUMzRCxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLEtBQUssTUFBTSxDQUFDO1lBQ3RELFNBQVMsQ0FBQyxNQUFNLEdBQUc7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRO2dCQUNiLFFBQVE7Z0JBQ1IsS0FBSzthQUNOLENBQUM7WUFDRixLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTtnQkFDbkIsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JCLENBQUMsQ0FBQztZQUNGLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hELFNBQVMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFO2dCQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDeEIsQ0FBQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN4QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDVDtJQUNILENBQUM7OztZQWhKRixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLG0zQ0FBcUM7O2FBRXhDOzs7WUFOTyx3QkFBd0I7OztvQkFRN0IsS0FBSzs0QkFFTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0xhbmdDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9sYW5nLmNsYXNzJztcclxuaW1wb3J0IHtMb2dpbkNsYXNzLCBMb2dpblN0ZXBDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9sb2dpbi5jbGFzcyc7XHJcbmltcG9ydCB7Rm9ybUNsYXNzLCBJbnB1dENsYXNzLCBQcm9ncmVzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3JtLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dEVycm9yLCBJbnB1dFR5cGUsIE1ldGhvZH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnVtLmNsYXNzJztcclxuaW1wb3J0IHtSZXF1ZXN0Q2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvcmVxdWVzdC5jbGFzcyc7XHJcbmltcG9ydCB7SGVscGVyQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvaGVscGVyLmNsYXNzJztcclxuaW1wb3J0IHtQc1Rvb2xraXRVaUNvbmZpZ1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdsaWItbG9naW4nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2xvZ2luLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgQElucHV0KClcclxuICBsb2dpbjogTG9naW5DbGFzcztcclxuICBASW5wdXQoKVxyXG4gIGxvZ2luVGVtcGxhdGUgPSAnTWFpbic7XHJcbiAgbW9iaWxlOiBJbnB1dENsYXNzO1xyXG4gIHVzZXJuYW1lOiBJbnB1dENsYXNzO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWc6IFBzVG9vbGtpdFVpQ29uZmlnU2VydmljZSl7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubG9naW4udHlwZSA9PT0gJ1Ntcycpe1xyXG4gICAgICBjb25zdCBzZW5kQ29kZUZvcm0gPSBuZXcgRm9ybUNsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdTZW5kQ29kZScsIHRydWUsIHRoaXMubG9naW4uc2VuZENvZGVVcmwpO1xyXG4gICAgICBjb25zdCBzZW5kQ29kZSA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdTZW5kQ29kZScsICdmYS1kdW90b25lIGZhLXBhcGVyLXBsYW5lJywgSW5wdXRUeXBlLlN1Ym1pdCwgJ2gtNDUnICsgKHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ1NpbXBsZScgPyAnIHByaW1hcnknIDogJycpKTtcclxuICAgICAgc2VuZENvZGVGb3JtLnN1Yk5hbWUgPSAnU2VuZENvZGVTdWJUaXRsZSc7XHJcbiAgICAgIHRoaXMubW9iaWxlID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ01vYmlsZScsXHJcbiAgICAgICAgJ2ZhLWR1b3RvbmUgZmEtbW9iaWxlLWFsdCcsIElucHV0VHlwZS5Nb2JpbGUsICdtLWItMjAgaC00NScsICcnLCB0cnVlLCA0LCA1MCk7XHJcbiAgICAgIGNvbnN0IHJ1bGVzID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ1J1bGVzJywgbnVsbCwgSW5wdXRUeXBlLkxhYmVsLCAnbS10LTEwJywgdGhpcy5sb2dpbi5ydWxlcyk7XHJcbiAgICAgIHNlbmRDb2RlRm9ybS5vblN1Y2Nlc3MgPSAoKSA9PiB7XHJcbiAgICAgICAgbG9naW5Gb3JtLnN1Yk5hbWUgPSB0aGlzLmxvZ2luLmwoJ0xvZ2luU21zU3ViVGl0bGUnLCB0aGlzLm1vYmlsZS5kYXRhKCkpO1xyXG4gICAgICAgIHRoaXMubW9iaWxlLnR5cGUgPSBJbnB1dFR5cGUuSGlkZGVuO1xyXG4gICAgICAgIGNvZGUucHJvZ3Jlc3Muc3RhcnQoKTtcclxuICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzFdLnNob3coKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIGNvZGUuZm9jdXMoKTtcclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLm1vYmlsZS5kaXNwbGF5TGFiZWwgPSB0aGlzLmxvZ2luVGVtcGxhdGUgPT09ICdNYWluJztcclxuICAgICAgc2VuZENvZGVGb3JtLmlucHV0cyA9IFtcclxuICAgICAgICB0aGlzLm1vYmlsZSxcclxuICAgICAgICBzZW5kQ29kZVxyXG4gICAgICBdLmNvbmNhdCh0aGlzLmxvZ2luLnJ1bGVzICE9IG51bGwgPyBbcnVsZXNdIDogW10pO1xyXG4gICAgICBzZW5kQ29kZS5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIHNlbmRDb2RlRm9ybS5zdWJtaXQoKTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgbG9naW5Gb3JtID0gbmV3IEZvcm1DbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnTG9naW5TbXMnLCB0cnVlLCB0aGlzLmxvZ2luLmxvZ2luVXJsKTtcclxuICAgICAgbG9naW5Gb3JtLnN1Yk5hbWUgPSB0aGlzLmxvZ2luLmwoJ0xvZ2luU21zU3ViVGl0bGUnLCAnJyk7XHJcbiAgICAgIGxvZ2luRm9ybS5vblN1Y2Nlc3MgPSAocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5zZXRDb29raWUocmVzdWx0KTtcclxuICAgICAgICBpZiAodGhpcy5sb2dpbi5zdGVwcy5sZW5ndGggPiAyICYmIHJlc3VsdC5DdXJyZW50VXNlciA9PT0gbnVsbCl7XHJcbiAgICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzJdLnNob3cocmVzdWx0LlN0ZXBEYXRhKTtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge3RoaXMubG9naW4uc3RlcHNbMl0uZm9ybS5pbnB1dHMuZmluZCh4ID0+IHRydWUpLmZvY3VzKCk7IH0sIDEwMCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubG9naW4ub25TdWNjZXNzKHJlc3VsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICBsb2dpbkZvcm0ub25GYWlsZWQgPSAobXNnKSA9PiB7XHJcbiAgICAgICAgY29kZS5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMubW9iaWxlLmVycm9yID0gSW5wdXRFcnJvci5Ob3RFeGlzdDtcclxuICAgICAgICB0aGlzLm1vYmlsZS50eXBlID0gSW5wdXRUeXBlLk1vYmlsZTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHRoaXMubW9iaWxlLmZvY3VzKCk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICB0aGlzLmxvZ2luLnN0ZXBzWzBdLnNob3coKTtcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgY29kZSA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdDb2RlJyxcclxuICAgICAgICAnZmEtZHVvdG9uZSBmYS11bmxvY2stYWx0JywgSW5wdXRUeXBlLk51bWJlciwgJ20tYi0yMCBoLTQ1JywgbnVsbCwgdHJ1ZSwgMTExMSwgOTk5OSk7XHJcbiAgICAgIGNvbnN0IGxhYmVsUmVzZW5kID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ1JlU2VuZENvZGVEZXMnLCBudWxsLCBJbnB1dFR5cGUuTGFiZWwsICdjb21wIHJlc2VuZC1jb2RlIGgtNDUnKTtcclxuICAgICAgY29kZS5wcm9ncmVzcyA9IG5ldyBQcm9ncmVzcygxMjApO1xyXG4gICAgICBjb2RlLnByb2dyZXNzLm9uU3RhcnQgPSAoKSA9PiB7XHJcbiAgICAgICAgbGFiZWxSZXNlbmQudmFsdWUgPSBudWxsO1xyXG4gICAgICB9O1xyXG4gICAgICBjb2RlLnByb2dyZXNzLm9uRW5kID0gKCkgPT4ge1xyXG4gICAgICAgIGxhYmVsUmVzZW5kLnZhbHVlID0gJ1JlU2VuZENvZGVEZXMnO1xyXG4gICAgICB9O1xyXG4gICAgICBjb2RlLnByb2dyZXNzLm9uVGljayA9IChtLCBzKSA9PiB7XHJcbiAgICAgICAgbGFiZWxSZXNlbmQudmFsdWUgPSB0aGlzLmxvZ2luLmwoJ1JlU2VuZENvZGVSZW1haW4nLCBbbSA+IDkgPyBtIDogYDAke219YCwgcyA+IDkgPyBzIDogYDAke3N9YF0pO1xyXG4gICAgICB9O1xyXG4gICAgICBsYWJlbFJlc2VuZC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIGlmIChsYWJlbFJlc2VuZC52YWx1ZSAhPT0gJ1JlU2VuZENvZGVEZXMnKXtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGFiZWxSZXNlbmQudmFsdWUgPSAnKCcgKyB0aGlzLmxvZ2luLmwoJ0xvYWRpbmcnLCAnU2VuZCcpICsgJyknO1xyXG4gICAgICAgIG5ldyBSZXF1ZXN0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQpLnNlbmQodGhpcy5sb2dpbi5zZW5kQ29kZVVybCwgTWV0aG9kLlBvc3QsIGxvZ2luRm9ybS5kYXRhKCksIG51bGwsICgpID0+IHtcclxuICAgICAgICAgIGNvZGUucHJvZ3Jlc3Muc3RhcnQoKTtcclxuICAgICAgICB9LCAoZXJyb3IpID0+IHtcclxuICAgICAgICAgIEhlbHBlckNsYXNzLmFkZE5vdGlmaWNhdGlvbih0aGlzLmxvZ2luLmwoZXJyb3IpKTtcclxuICAgICAgICAgIGxhYmVsUmVzZW5kLnZhbHVlID0gJ1JlU2VuZENvZGVEZXMnO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG4gICAgICBjb2RlLmRpc3BsYXlMYWJlbCA9IHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ01haW4nO1xyXG4gICAgICBjb25zdCBsb2dpbiA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdMb2dpblNtcycsICdmYS1kdW90b25lIGZhLXNpZ24taW4tYWx0JywgSW5wdXRUeXBlLlN1Ym1pdCwgJ2gtNDUnICsgKHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ1NpbXBsZScgPyAnIHByaW1hcnknIDogJycpKTtcclxuICAgICAgbG9naW5Gb3JtLmlucHV0cyA9IFtcclxuICAgICAgICB0aGlzLm1vYmlsZSxcclxuICAgICAgICBjb2RlLFxyXG4gICAgICAgIGxhYmVsUmVzZW5kLFxyXG4gICAgICAgIGxvZ2luXHJcbiAgICAgIF07XHJcbiAgICAgIGxvZ2luLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgbG9naW5Gb3JtLnN1Ym1pdCgpO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBsb2dpblN0ZXAgPSBuZXcgTG9naW5TdGVwQ2xhc3MobG9naW5Gb3JtKTtcclxuICAgICAgbG9naW5TdGVwLnNob3cgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5hY3RpdmUgPSAxO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBzZW5kQ29kZVN0ZXAgPSBuZXcgTG9naW5TdGVwQ2xhc3Moc2VuZENvZGVGb3JtKTtcclxuICAgICAgc2VuZENvZGVTdGVwLnNob3cgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5hY3RpdmUgPSAwO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmxvZ2luLnN0ZXBzLnVuc2hpZnQobG9naW5TdGVwKTtcclxuICAgICAgdGhpcy5sb2dpbi5zdGVwcy51bnNoaWZ0KHNlbmRDb2RlU3RlcCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubW9iaWxlLmZvY3VzKCk7XHJcbiAgICAgIH0sIDEwMCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMubG9naW4udHlwZSA9PT0gJ1Bhc3N3b3JkJyl7XHJcbiAgICAgIGNvbnN0IGxvZ2luRm9ybSA9IG5ldyBGb3JtQ2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ0xvZ2luUGFzc3dvcmQnLCB0cnVlLCB0aGlzLmxvZ2luLmxvZ2luVXJsKTtcclxuICAgICAgbG9naW5Gb3JtLnN1Yk5hbWUgPSAnTG9naW5QYXNzd29yZFN1YlRpdGxlJztcclxuICAgICAgY29uc3QgbG9naW4gPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnTG9naW5QYXNzd29yZCcsICdmYS1kdW90b25lIGZhLXNpZ24taW4tYWx0JywgSW5wdXRUeXBlLlN1Ym1pdCwgJ2gtNDUnICsgKHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ1NpbXBsZScgPyAnIHByaW1hcnknIDogJycpKTtcclxuICAgICAgbG9naW5Gb3JtLm9uU3VjY2VzcyA9IChyZXN1bHQpID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2luLnNldENvb2tpZShyZXN1bHQpO1xyXG4gICAgICAgIGlmICh0aGlzLmxvZ2luLnN0ZXBzLmxlbmd0aCA+IDEgJiYgcmVzdWx0LkN1cnJlbnRVc2VyID09PSBudWxsKXtcclxuICAgICAgICAgIHRoaXMubG9naW4uc3RlcHNbMV0uc2hvdyhyZXN1bHQuU3RlcERhdGEpO1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7dGhpcy5sb2dpbi5zdGVwc1sxXS5mb3JtLmlucHV0cy5maW5kKHggPT4gdHJ1ZSkuZm9jdXMoKTsgfSwgMTAwKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5sb2dpbi5vblN1Y2Nlc3MocmVzdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMudXNlcm5hbWUgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnVXNlcm5hbWUnLFxyXG4gICAgICAgICdmYS1kdW90b25lIGZhLXVzZXInLCBJbnB1dFR5cGUuVGV4dCwgJ20tYi0xMCBoLTQ1JywgJycsIHRydWUsIDQsIDUwKTtcclxuXHJcbiAgICAgIGNvbnN0IHBhc3N3b3JkID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ1Bhc3N3b3JkJywgJ2ZhLWR1b3RvbmUgZmEta2V5JywgSW5wdXRUeXBlLlBhc3N3b3JkLCAnbS1iLTIwIGgtNDUnLCAnJywgdHJ1ZSwgNSwgNTApO1xyXG4gICAgICB0aGlzLnVzZXJuYW1lLmRpc3BsYXlMYWJlbCA9IHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ01haW4nO1xyXG4gICAgICBwYXNzd29yZC5kaXNwbGF5TGFiZWwgPSB0aGlzLmxvZ2luVGVtcGxhdGUgPT09ICdNYWluJztcclxuICAgICAgbG9naW5Gb3JtLmlucHV0cyA9IFtcclxuICAgICAgICB0aGlzLnVzZXJuYW1lLFxyXG4gICAgICAgIHBhc3N3b3JkLFxyXG4gICAgICAgIGxvZ2luXHJcbiAgICAgIF07XHJcbiAgICAgIGxvZ2luLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgbG9naW5Gb3JtLnN1Ym1pdCgpO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBsb2dpblN0ZXAgPSBuZXcgTG9naW5TdGVwQ2xhc3MobG9naW5Gb3JtKTtcclxuICAgICAgbG9naW5TdGVwLnNob3cgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5hY3RpdmUgPSAwO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmxvZ2luLnN0ZXBzLnVuc2hpZnQobG9naW5TdGVwKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy51c2VybmFtZS5mb2N1cygpO1xyXG4gICAgICB9LCAxMDApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQWEsY0FBYyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQU92RSxNQUFNLE9BQU8sY0FBYztJQU96QixZQUFtQixNQUFnQztRQUFoQyxXQUFNLEdBQU4sTUFBTSxDQUEwQjtRQUhuRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQztJQUl2QixDQUFDO0lBQ0QsUUFBUTtRQUNOLE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBQztZQUM1QixNQUFNLFlBQVksR0FB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtMYW5nQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvbGFuZy5jbGFzcyc7XHJcbmltcG9ydCB7TG9naW5DbGFzcywgTG9naW5TdGVwQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvbG9naW4uY2xhc3MnO1xyXG5pbXBvcnQge0Zvcm1DbGFzcywgSW5wdXRDbGFzcywgUHJvZ3Jlc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRFcnJvciwgSW5wdXRUeXBlLCBNZXRob2R9IGZyb20gJy4uLy4uL2NsYXNzZXMvZW51bS5jbGFzcyc7XHJcbmltcG9ydCB7UmVxdWVzdENsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL3JlcXVlc3QuY2xhc3MnO1xyXG5pbXBvcnQge0hlbHBlckNsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL2hlbHBlci5jbGFzcyc7XHJcbmltcG9ydCB7UHNUb29sa2l0VWlDb25maWdTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbGliLWxvZ2luJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9sb2dpbi5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIEBJbnB1dCgpXHJcbiAgbG9naW46IExvZ2luQ2xhc3M7XHJcbiAgQElucHV0KClcclxuICBsb2dpblRlbXBsYXRlID0gJ01haW4nO1xyXG4gIG1vYmlsZTogSW5wdXRDbGFzcztcclxuICB1c2VybmFtZTogSW5wdXRDbGFzcztcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnOiBQc1Rvb2xraXRVaUNvbmZpZ1NlcnZpY2Upe1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHJ1bGVzID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ1J1bGVzJywgbnVsbCwgSW5wdXRUeXBlLkxhYmVsLCAnbS10LTEwJywgdGhpcy5sb2dpbi5ydWxlcyk7XHJcbiAgICBpZiAodGhpcy5sb2dpbi50eXBlID09PSAnU21zJyl7XHJcbiAgICAgIGNvbnN0IHNlbmRDb2RlRm9ybSA9IG5ldyBGb3JtQ2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ1NlbmRDb2RlJywgdHJ1ZSwgdGhpcy5sb2dpbi5zZW5kQ29kZVVybCk7XHJcbiAgICAgIGNvbnN0IHNlbmRDb2RlID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ1NlbmRDb2RlJywgJ2ZhLWR1b3RvbmUgZmEtcGFwZXItcGxhbmUnLCBJbnB1dFR5cGUuU3VibWl0LCAnaC00NScgKyAodGhpcy5sb2dpblRlbXBsYXRlID09PSAnU2ltcGxlJyA/ICcgcHJpbWFyeScgOiAnJykpO1xyXG4gICAgICBzZW5kQ29kZUZvcm0uc3ViTmFtZSA9ICdTZW5kQ29kZVN1YlRpdGxlJztcclxuICAgICAgdGhpcy5tb2JpbGUgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnTW9iaWxlJyxcclxuICAgICAgICAnZmEtZHVvdG9uZSBmYS1tb2JpbGUtYWx0JywgSW5wdXRUeXBlLk1vYmlsZSwgJ20tYi0yMCBoLTQ1JywgJycsIHRydWUsIDQsIDUwKTtcclxuICAgICAgc2VuZENvZGVGb3JtLm9uU3VjY2VzcyA9ICgpID0+IHtcclxuICAgICAgICBsb2dpbkZvcm0uc3ViTmFtZSA9IHRoaXMubG9naW4ubCgnTG9naW5TbXNTdWJUaXRsZScsIHRoaXMubW9iaWxlLmRhdGEoKSk7XHJcbiAgICAgICAgdGhpcy5tb2JpbGUudHlwZSA9IElucHV0VHlwZS5IaWRkZW47XHJcbiAgICAgICAgY29kZS5wcm9ncmVzcy5zdGFydCgpO1xyXG4gICAgICAgIHRoaXMubG9naW4uc3RlcHNbMV0uc2hvdygpO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgY29kZS5mb2N1cygpO1xyXG4gICAgICAgIH0sIDEwMCk7XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMubW9iaWxlLmRpc3BsYXlMYWJlbCA9IHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ01haW4nO1xyXG4gICAgICBzZW5kQ29kZUZvcm0uaW5wdXRzID0gW1xyXG4gICAgICAgIHRoaXMubW9iaWxlLFxyXG4gICAgICAgIHNlbmRDb2RlXHJcbiAgICAgIF0uY29uY2F0KHRoaXMubG9naW4ucnVsZXMgIT0gbnVsbCA/IFtydWxlc10gOiBbXSk7XHJcbiAgICAgIHNlbmRDb2RlLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgc2VuZENvZGVGb3JtLnN1Ym1pdCgpO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBsb2dpbkZvcm0gPSBuZXcgRm9ybUNsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdMb2dpblNtcycsIHRydWUsIHRoaXMubG9naW4ubG9naW5VcmwpO1xyXG4gICAgICBsb2dpbkZvcm0uc3ViTmFtZSA9IHRoaXMubG9naW4ubCgnTG9naW5TbXNTdWJUaXRsZScsICcnKTtcclxuICAgICAgbG9naW5Gb3JtLm9uU3VjY2VzcyA9IChyZXN1bHQpID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2luLnNldENvb2tpZShyZXN1bHQpO1xyXG4gICAgICAgIGlmICh0aGlzLmxvZ2luLnN0ZXBzLmxlbmd0aCA+IDIgJiYgcmVzdWx0LkN1cnJlbnRVc2VyID09PSBudWxsKXtcclxuICAgICAgICAgIHRoaXMubG9naW4uc3RlcHNbMl0uc2hvdyhyZXN1bHQuU3RlcERhdGEpO1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7dGhpcy5sb2dpbi5zdGVwc1syXS5mb3JtLmlucHV0cy5maW5kKHggPT4gdHJ1ZSkuZm9jdXMoKTsgfSwgMTAwKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5sb2dpbi5vblN1Y2Nlc3MocmVzdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICAgIGxvZ2luRm9ybS5vbkZhaWxlZCA9IChtc2cpID0+IHtcclxuICAgICAgICBjb2RlLmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy5tb2JpbGUuZXJyb3IgPSBJbnB1dEVycm9yLk5vdEV4aXN0O1xyXG4gICAgICAgIHRoaXMubW9iaWxlLnR5cGUgPSBJbnB1dFR5cGUuTW9iaWxlO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5tb2JpbGUuZm9jdXMoKTtcclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgICAgIHRoaXMubG9naW4uc3RlcHNbMF0uc2hvdygpO1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBjb2RlID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ0NvZGUnLFxyXG4gICAgICAgICdmYS1kdW90b25lIGZhLXVubG9jay1hbHQnLCBJbnB1dFR5cGUuTnVtYmVyLCAnbS1iLTIwIGgtNDUnLCBudWxsLCB0cnVlLCAxMTExLCA5OTk5KTtcclxuICAgICAgY29uc3QgbGFiZWxSZXNlbmQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnUmVTZW5kQ29kZURlcycsIG51bGwsIElucHV0VHlwZS5MYWJlbCwgJ2NvbXAgcmVzZW5kLWNvZGUgaC00NScpO1xyXG4gICAgICBjb2RlLnByb2dyZXNzID0gbmV3IFByb2dyZXNzKDEyMCk7XHJcbiAgICAgIGNvZGUucHJvZ3Jlc3Mub25TdGFydCA9ICgpID0+IHtcclxuICAgICAgICBsYWJlbFJlc2VuZC52YWx1ZSA9IG51bGw7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvZGUucHJvZ3Jlc3Mub25FbmQgPSAoKSA9PiB7XHJcbiAgICAgICAgbGFiZWxSZXNlbmQudmFsdWUgPSAnUmVTZW5kQ29kZURlcyc7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvZGUucHJvZ3Jlc3Mub25UaWNrID0gKG0sIHMpID0+IHtcclxuICAgICAgICBsYWJlbFJlc2VuZC52YWx1ZSA9IHRoaXMubG9naW4ubCgnUmVTZW5kQ29kZVJlbWFpbicsIFttID4gOSA/IG0gOiBgMCR7bX1gLCBzID4gOSA/IHMgOiBgMCR7c31gXSk7XHJcbiAgICAgIH07XHJcbiAgICAgIGxhYmVsUmVzZW5kLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgaWYgKGxhYmVsUmVzZW5kLnZhbHVlICE9PSAnUmVTZW5kQ29kZURlcycpe1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbFJlc2VuZC52YWx1ZSA9ICcoJyArIHRoaXMubG9naW4ubCgnTG9hZGluZycsICdTZW5kJykgKyAnKSc7XHJcbiAgICAgICAgbmV3IFJlcXVlc3RDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCkuc2VuZCh0aGlzLmxvZ2luLnNlbmRDb2RlVXJsLCBNZXRob2QuUG9zdCwgbG9naW5Gb3JtLmRhdGEoKSwgbnVsbCwgKCkgPT4ge1xyXG4gICAgICAgICAgY29kZS5wcm9ncmVzcy5zdGFydCgpO1xyXG4gICAgICAgIH0sIChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgSGVscGVyQ2xhc3MuYWRkTm90aWZpY2F0aW9uKHRoaXMubG9naW4ubChlcnJvcikpO1xyXG4gICAgICAgICAgbGFiZWxSZXNlbmQudmFsdWUgPSAnUmVTZW5kQ29kZURlcyc7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvZGUuZGlzcGxheUxhYmVsID0gdGhpcy5sb2dpblRlbXBsYXRlID09PSAnTWFpbic7XHJcbiAgICAgIGNvbnN0IGxvZ2luID0gbmV3IElucHV0Q2xhc3ModGhpcy5jb25maWcuZW52aXJvbm1lbnQsIHRoaXMubG9naW4ubCwgJ0xvZ2luU21zJywgJ2ZhLWR1b3RvbmUgZmEtc2lnbi1pbi1hbHQnLCBJbnB1dFR5cGUuU3VibWl0LCAnaC00NScgKyAodGhpcy5sb2dpblRlbXBsYXRlID09PSAnU2ltcGxlJyA/ICcgcHJpbWFyeScgOiAnJykpO1xyXG4gICAgICBsb2dpbkZvcm0uaW5wdXRzID0gW1xyXG4gICAgICAgIHRoaXMubW9iaWxlLFxyXG4gICAgICAgIGNvZGUsXHJcbiAgICAgICAgbGFiZWxSZXNlbmQsXHJcbiAgICAgICAgbG9naW5cclxuICAgICAgXTtcclxuICAgICAgbG9naW4ub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICBsb2dpbkZvcm0uc3VibWl0KCk7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnN0IGxvZ2luU3RlcCA9IG5ldyBMb2dpblN0ZXBDbGFzcyhsb2dpbkZvcm0pO1xyXG4gICAgICBsb2dpblN0ZXAuc2hvdyA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2luLmFjdGl2ZSA9IDE7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnN0IHNlbmRDb2RlU3RlcCA9IG5ldyBMb2dpblN0ZXBDbGFzcyhzZW5kQ29kZUZvcm0pO1xyXG4gICAgICBzZW5kQ29kZVN0ZXAuc2hvdyA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2luLmFjdGl2ZSA9IDA7XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMubG9naW4uc3RlcHMudW5zaGlmdChsb2dpblN0ZXApO1xyXG4gICAgICB0aGlzLmxvZ2luLnN0ZXBzLnVuc2hpZnQoc2VuZENvZGVTdGVwKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5tb2JpbGUuZm9jdXMoKTtcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5sb2dpbi50eXBlID09PSAnUGFzc3dvcmQnKXtcclxuICAgICAgY29uc3QgbG9naW5Gb3JtID0gbmV3IEZvcm1DbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnTG9naW5QYXNzd29yZCcsIHRydWUsIHRoaXMubG9naW4ubG9naW5VcmwpO1xyXG4gICAgICBsb2dpbkZvcm0uc3ViTmFtZSA9ICdMb2dpblBhc3N3b3JkU3ViVGl0bGUnO1xyXG4gICAgICBjb25zdCBsb2dpbiA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdMb2dpblBhc3N3b3JkJywgJ2ZhLWR1b3RvbmUgZmEtc2lnbi1pbi1hbHQnLCBJbnB1dFR5cGUuU3VibWl0LCAnaC00NScgKyAodGhpcy5sb2dpblRlbXBsYXRlID09PSAnU2ltcGxlJyA/ICcgcHJpbWFyeScgOiAnJykpO1xyXG4gICAgICBsb2dpbkZvcm0ub25TdWNjZXNzID0gKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9naW4uc2V0Q29va2llKHJlc3VsdCk7XHJcbiAgICAgICAgaWYgKHRoaXMubG9naW4uc3RlcHMubGVuZ3RoID4gMSAmJiByZXN1bHQuQ3VycmVudFVzZXIgPT09IG51bGwpe1xyXG4gICAgICAgICAgdGhpcy5sb2dpbi5zdGVwc1sxXS5zaG93KHJlc3VsdC5TdGVwRGF0YSk7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHt0aGlzLmxvZ2luLnN0ZXBzWzFdLmZvcm0uaW5wdXRzLmZpbmQoeCA9PiB0cnVlKS5mb2N1cygpOyB9LCAxMDApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmxvZ2luLm9uU3VjY2VzcyhyZXN1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgICAgdGhpcy51c2VybmFtZSA9IG5ldyBJbnB1dENsYXNzKHRoaXMuY29uZmlnLmVudmlyb25tZW50LCB0aGlzLmxvZ2luLmwsICdVc2VybmFtZScsXHJcbiAgICAgICAgJ2ZhLWR1b3RvbmUgZmEtdXNlcicsIElucHV0VHlwZS5UZXh0LCAnbS1iLTEwIGgtNDUnLCAnJywgdHJ1ZSwgNCwgNTApO1xyXG5cclxuICAgICAgY29uc3QgcGFzc3dvcmQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCwgdGhpcy5sb2dpbi5sLCAnUGFzc3dvcmQnLCAnZmEtZHVvdG9uZSBmYS1rZXknLCBJbnB1dFR5cGUuUGFzc3dvcmQsICdtLWItMjAgaC00NScsICcnLCB0cnVlLCA1LCA1MCk7XHJcbiAgICAgIHRoaXMudXNlcm5hbWUuZGlzcGxheUxhYmVsID0gdGhpcy5sb2dpblRlbXBsYXRlID09PSAnTWFpbic7XHJcbiAgICAgIHBhc3N3b3JkLmRpc3BsYXlMYWJlbCA9IHRoaXMubG9naW5UZW1wbGF0ZSA9PT0gJ01haW4nO1xyXG4gICAgICBsb2dpbkZvcm0uaW5wdXRzID0gW1xyXG4gICAgICAgIHRoaXMudXNlcm5hbWUsXHJcbiAgICAgICAgcGFzc3dvcmQsXHJcbiAgICAgICAgbG9naW5cclxuICAgICAgXS5jb25jYXQodGhpcy5sb2dpbi5ydWxlcyAhPSBudWxsID8gW3J1bGVzXSA6IFtdKTtcclxuICAgICAgbG9naW4ub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICBsb2dpbkZvcm0uc3VibWl0KCk7XHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnN0IGxvZ2luU3RlcCA9IG5ldyBMb2dpblN0ZXBDbGFzcyhsb2dpbkZvcm0pO1xyXG4gICAgICBsb2dpblN0ZXAuc2hvdyA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2luLmFjdGl2ZSA9IDA7XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMubG9naW4uc3RlcHMudW5zaGlmdChsb2dpblN0ZXApO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLnVzZXJuYW1lLmZvY3VzKCk7XHJcbiAgICAgIH0sIDEwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -412,18 +412,19 @@ var InputType;
412
412
  InputType[InputType["Price"] = 23] = "Price";
413
413
  InputType[InputType["Radio"] = 24] = "Radio";
414
414
  InputType[InputType["Tree"] = 25] = "Tree";
415
- InputType[InputType["Plaque"] = 26] = "Plaque";
416
- InputType[InputType["PlaqueM"] = 27] = "PlaqueM";
417
- InputType[InputType["SelectAutoCompletePlaque"] = 28] = "SelectAutoCompletePlaque";
418
- InputType[InputType["SelectAutoCompletePlaqueM"] = 29] = "SelectAutoCompletePlaqueM";
419
- InputType[InputType["BankCard"] = 30] = "BankCard";
420
- InputType[InputType["Constant"] = 31] = "Constant";
421
- InputType[InputType["Hidden"] = 32] = "Hidden";
422
- InputType[InputType["Table"] = 33] = "Table";
423
- InputType[InputType["CarSearch"] = 34] = "CarSearch";
424
- InputType[InputType["Car"] = 35] = "Car";
425
- InputType[InputType["Finger"] = 36] = "Finger";
426
- InputType[InputType["Color"] = 37] = "Color";
415
+ InputType[InputType["TreeRadio"] = 26] = "TreeRadio";
416
+ InputType[InputType["Plaque"] = 27] = "Plaque";
417
+ InputType[InputType["PlaqueM"] = 28] = "PlaqueM";
418
+ InputType[InputType["SelectAutoCompletePlaque"] = 29] = "SelectAutoCompletePlaque";
419
+ InputType[InputType["SelectAutoCompletePlaqueM"] = 30] = "SelectAutoCompletePlaqueM";
420
+ InputType[InputType["BankCard"] = 31] = "BankCard";
421
+ InputType[InputType["Constant"] = 32] = "Constant";
422
+ InputType[InputType["Hidden"] = 33] = "Hidden";
423
+ InputType[InputType["Table"] = 34] = "Table";
424
+ InputType[InputType["CarSearch"] = 35] = "CarSearch";
425
+ InputType[InputType["Car"] = 36] = "Car";
426
+ InputType[InputType["Finger"] = 37] = "Finger";
427
+ InputType[InputType["Color"] = 38] = "Color";
427
428
  })(InputType || (InputType = {}));
428
429
  var OperationEnum;
429
430
  (function (OperationEnum) {
@@ -1461,61 +1462,6 @@ class TreeRowClass {
1461
1462
  this.selected = selected;
1462
1463
  this.children = children;
1463
1464
  }
1464
- toggle(onlyChild = true) {
1465
- if (this.selected) {
1466
- this.unCheck(onlyChild);
1467
- if (onlyChild) {
1468
- setTimeout(() => { this.unCheckParent(); });
1469
- }
1470
- }
1471
- else {
1472
- this.check(onlyChild);
1473
- if (onlyChild) {
1474
- setTimeout(() => { this.checkParent(); });
1475
- }
1476
- }
1477
- }
1478
- check(onlyChild, c = this) {
1479
- c.selected = true;
1480
- if (onlyChild) {
1481
- c.checkChildren(onlyChild);
1482
- }
1483
- }
1484
- unCheck(onlyChild, c = this) {
1485
- c.selected = false;
1486
- if (onlyChild) {
1487
- c.children.forEach((ch) => {
1488
- this.unCheck(onlyChild, ch);
1489
- });
1490
- }
1491
- }
1492
- checkChildren(onlyChild) {
1493
- this.children.forEach((ch) => {
1494
- this.check(onlyChild, ch);
1495
- });
1496
- }
1497
- checkParent(p = this.parent) {
1498
- if (p) {
1499
- if (p.children.filter(x => !x.selected).length > 0) {
1500
- p.selected = null;
1501
- }
1502
- else {
1503
- p.selected = true;
1504
- }
1505
- this.checkParent(p.parent);
1506
- }
1507
- }
1508
- unCheckParent(p = this.parent) {
1509
- if (p) {
1510
- if (p.children.filter(x => x.selected || x.selected == null).length > 0) {
1511
- p.selected = null;
1512
- }
1513
- else {
1514
- p.selected = false;
1515
- }
1516
- this.unCheckParent(p.parent);
1517
- }
1518
- }
1519
1465
  }
1520
1466
  class AccordionClass {
1521
1467
  constructor(l, name, cls = '', rows) {
@@ -3509,7 +3455,7 @@ class FormComponent {
3509
3455
  FormComponent.decorators = [
3510
3456
  { type: Component, args: [{
3511
3457
  selector: 'lib-form',
3512
- template: "<form [style]=\"form.style\" *ngIf=\"form\" [id]=\"form.id + 'Form'\" [className]=\"'form' + (form.class ? ' ' + form.class : '')\">\r\n <div *ngIf=\"form.displayLabel\" [className]=\"(form.subName ? '' : 'underline ') + 'title'\">{{this.form.l(this.form.name)}}</div>\r\n <div *ngIf=\"form.displayLabel && form.subName\" class=\"sub-title underline\">{{this.form.l(this.form.subName)}}</div>\r\n <div *ngIf=\"form.loading\" class=\"loading\">\r\n <div class=\"text\" [innerHTML]=\"form.l('LoadingTable', 'Processing')\"></div>\r\n </div>\r\n <div *ngIf=\"!form.permission\" class=\"loading\">\r\n <div class=\"text\"><i class=\"fas fa-shield-alt icon\"></i>{{ form.l(\"PermissionDenied\") }}</div>\r\n </div>\r\n <div class=\"inputs\">\r\n <span *ngFor=\"let inp of form.inputs; let i = index\">\r\n <lib-form-textbox (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Text || inp.type == type.Password || inp.type == type.Mobile || inp.type == type.Phone || inp.type == type.Email || inp.type == type.NationalCode || inp.type == type.Number || inp.type == type.Url || inp.type == type.PostalCode || inp.type == type.Price || inp.type == type.Sheba || inp.type == type.Color)\" [inp]=\"inp\"></lib-form-textbox>\r\n <lib-form-textarea (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.TextArea\" [inp]=\"inp\"></lib-form-textarea>\r\n <lib-form-checkbox (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Check\" [inp]=\"inp\"></lib-form-checkbox>\r\n <lib-form-select [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Select || inp.type == type.SelectSearch || inp.type == type.SelectAutoComplete)\" [inp]=\"inp\"></lib-form-select>\r\n <lib-form-date [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Date\" [inp]=\"inp\"></lib-form-date>\r\n <lib-form-time [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Time\" [inp]=\"inp\"></lib-form-time>\r\n <lib-form-datetime [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.DateTime\" [inp]=\"inp\"></lib-form-datetime>\r\n <lib-form-label *ngIf=\"inp.visible && inp.type == type.Label\" [inp]=\"inp\"></lib-form-label>\r\n <lib-form-file (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.File\" [inp]=\"inp\"></lib-form-file>\r\n <lib-form-button (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Button || inp.type == type.Submit)\" [inp]=\"inp\"></lib-form-button>\r\n <lib-form-icon (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Icon\" [inp]=\"inp\"></lib-form-icon>\r\n <lib-form-radio (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Radio\" [inp]=\"inp\"></lib-form-radio>\r\n <lib-form-tree (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Tree\" [inp]=\"inp\"></lib-form-tree>\r\n <lib-form-plaque (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Plaque || inp.type == type.PlaqueM)\" [inp]=\"inp\"></lib-form-plaque>\r\n <lib-form-plaque-select (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.SelectAutoCompletePlaque || inp.type == type.SelectAutoCompletePlaqueM)\" [inp]=\"inp\"></lib-form-plaque-select>\r\n <lib-form-bank-card (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.BankCard\" [inp]=\"inp\"></lib-form-bank-card>\r\n <lib-form-car-search (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.CarSearch\" [inp]=\"inp\"></lib-form-car-search>\r\n <lib-form-car (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Car\" [inp]=\"inp\"></lib-form-car>\r\n <lib-form-finger (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Finger\" [inp]=\"inp\"></lib-form-finger>\r\n <lib-form-table *ngIf=\"inp.visible && inp.type == type.Table\" [inp]=\"inp\"></lib-form-table>\r\n <lib-form-hidden *ngIf=\"inp.type == type.Hidden\" [inp]=\"inp\"></lib-form-hidden>\r\n </span>\r\n </div>\r\n</form>\r\n",
3458
+ template: "<form [style]=\"form.style\" *ngIf=\"form\" [id]=\"form.id + 'Form'\" [className]=\"'form' + (form.class ? ' ' + form.class : '')\">\r\n <div *ngIf=\"form.displayLabel\" [className]=\"(form.subName ? '' : 'underline ') + 'title'\">{{this.form.l(this.form.name)}}</div>\r\n <div *ngIf=\"form.displayLabel && form.subName\" class=\"sub-title underline\">{{this.form.l(this.form.subName)}}</div>\r\n <div *ngIf=\"form.loading\" class=\"loading\">\r\n <div class=\"text\" [innerHTML]=\"form.l('LoadingTable', 'Processing')\"></div>\r\n </div>\r\n <div *ngIf=\"!form.permission\" class=\"loading\">\r\n <div class=\"text\"><i class=\"fas fa-shield-alt icon\"></i>{{ form.l(\"PermissionDenied\") }}</div>\r\n </div>\r\n <div class=\"inputs\">\r\n <span *ngFor=\"let inp of form.inputs; let i = index\">\r\n <lib-form-textbox (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Text || inp.type == type.Password || inp.type == type.Mobile || inp.type == type.Phone || inp.type == type.Email || inp.type == type.NationalCode || inp.type == type.Number || inp.type == type.Url || inp.type == type.PostalCode || inp.type == type.Price || inp.type == type.Sheba || inp.type == type.Color)\" [inp]=\"inp\"></lib-form-textbox>\r\n <lib-form-textarea (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.TextArea\" [inp]=\"inp\"></lib-form-textarea>\r\n <lib-form-checkbox (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Check\" [inp]=\"inp\"></lib-form-checkbox>\r\n <lib-form-select [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Select || inp.type == type.SelectSearch || inp.type == type.SelectAutoComplete)\" [inp]=\"inp\"></lib-form-select>\r\n <lib-form-date [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Date\" [inp]=\"inp\"></lib-form-date>\r\n <lib-form-time [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Time\" [inp]=\"inp\"></lib-form-time>\r\n <lib-form-datetime [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.DateTime\" [inp]=\"inp\"></lib-form-datetime>\r\n <lib-form-label *ngIf=\"inp.visible && inp.type == type.Label\" [inp]=\"inp\"></lib-form-label>\r\n <lib-form-file (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.File\" [inp]=\"inp\"></lib-form-file>\r\n <lib-form-button (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Button || inp.type == type.Submit)\" [inp]=\"inp\"></lib-form-button>\r\n <lib-form-icon (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Icon\" [inp]=\"inp\"></lib-form-icon>\r\n <lib-form-radio (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Radio\" [inp]=\"inp\"></lib-form-radio>\r\n <lib-form-tree (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Tree || inp.type == type.TreeRadio)\" [inp]=\"inp\"></lib-form-tree>\r\n <lib-form-plaque (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Plaque || inp.type == type.PlaqueM)\" [inp]=\"inp\"></lib-form-plaque>\r\n <lib-form-plaque-select (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.SelectAutoCompletePlaque || inp.type == type.SelectAutoCompletePlaqueM)\" [inp]=\"inp\"></lib-form-plaque-select>\r\n <lib-form-bank-card (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.BankCard\" [inp]=\"inp\"></lib-form-bank-card>\r\n <lib-form-car-search (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.CarSearch\" [inp]=\"inp\"></lib-form-car-search>\r\n <lib-form-car (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Car\" [inp]=\"inp\"></lib-form-car>\r\n <lib-form-finger (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Finger\" [inp]=\"inp\"></lib-form-finger>\r\n <lib-form-table *ngIf=\"inp.visible && inp.type == type.Table\" [inp]=\"inp\"></lib-form-table>\r\n <lib-form-hidden *ngIf=\"inp.type == type.Hidden\" [inp]=\"inp\"></lib-form-hidden>\r\n </span>\r\n </div>\r\n</form>\r\n",
3513
3459
  styles: [".form{border-radius:var(--border-radius-base);float:right;padding:20px;position:relative;width:100%}.form>.title{font-family:VazirBold;font-size:16px;height:40px}.form>.sub-title,.form>.title{float:right;line-height:30px;margin-bottom:10px;position:relative;text-align:right;width:100%}.form>.sub-title{color:var(--black-light);font-family:VazirLight;font-size:12px;height:30px}.form .loading{background-color:#fff;border-radius:var(--border-radius-base);height:100%;right:0;top:0;z-index:4}.form .loading,.form .loading .text{position:absolute;text-align:center;width:100%}.form .loading .text{font-family:VazirBold;height:35px;line-height:35px;top:calc(50% - 20px)}::ng-deep .form .loading .icon{font-size:20px!important;line-height:30px;margin-left:5px;position:relative;top:5px}.form-buttons,.form-error{float:right;width:100%}.form-error{color:var(--red-light);font-size:11px;height:15px;line-height:8px;margin-top:10px;padding:0 10px;position:relative;text-align:center}.form-error .message{float:left;width:calc(100% - 40px)}.form-error .icon{float:right;height:20px;line-height:6px;right:0;top:0;width:40px}.form .inputs{margin:0 -15px}"]
3514
3460
  },] }
3515
3461
  ];
@@ -5098,8 +5044,9 @@ FormTimeComponent.propDecorators = {
5098
5044
  class FormTreeItemComponent {
5099
5045
  constructor() {
5100
5046
  this.parent = null;
5101
- this.changeIndex = new EventEmitter();
5047
+ this.toggle = new EventEmitter();
5102
5048
  }
5049
+ get type() { return InputType; }
5103
5050
  ngOnInit() {
5104
5051
  this.item.parent = this.parent;
5105
5052
  }
@@ -5118,14 +5065,14 @@ class FormTreeItemComponent {
5118
5065
  }
5119
5066
  }
5120
5067
  onClick() {
5121
- this.item.toggle(this.tree.onlyChild);
5068
+ this.toggle.emit(this.item);
5122
5069
  }
5123
5070
  }
5124
5071
  FormTreeItemComponent.decorators = [
5125
5072
  { type: Component, args: [{
5126
5073
  selector: 'lib-form-tree-item',
5127
- template: "<div [className]=\"(item.selected ? 'selected ' : item.selected == null ? 'null ' : '') + 'row-item'\">\r\n <div (click)=\"onClick()\" class=\"checkbox\">{{tree.l(item.name)}}</div>\r\n <i *ngIf=\"item.children.length > 0\" (click)=\"openClose($event)\" [className]=\"(index == 0 && level == 0 ? 'fa-duotone fa-caret-down ' : 'fa-duotone fa-caret-left ') + 'open-close'\"></i>\r\n <div [className]=\"(index == 0 && level == 0 ? 'open ' : '') + 'children'\" [style]=\"index == 0 && level == 0 ? {display: 'block'} : {}\" *ngIf=\"item.children.length > 0\">\r\n <div class=\"items rightline\">\r\n <lib-form-tree-item [level]=\"level + 1\" [index]=\"i\" [item]=\"child\" [parent]=\"item\" [tree]=\"tree\" *ngFor=\"let child of item.children; let i = index\"></lib-form-tree-item>\r\n </div>\r\n </div>\r\n</div>\r\n",
5128
- styles: [".row-item{float:left;position:relative;text-align:center;width:90%}.row-item .content{background-color:rgba(11,72,107,.06666666666666667);border-radius:var(--border-radius-base);cursor:pointer;float:right;width:100%}.row-item .open-close{cursor:pointer;font-size:20px;height:40px;line-height:38px;position:absolute;right:-25px;text-align:center;width:15px}.row-item .content.parent,.row-item .content:hover{background-color:rgba(11,72,107,.13333333333333333)}.row-item .content.parent:hover{background-color:rgba(11,72,107,.26666666666666666)}.row-item .children{display:none;padding:10px;position:relative}.row-item .children,.row-item .children .items{float:left;width:100%}.row-item .children>.line{height:calc(100% - 30px);right:20px;top:15px;width:2px}.row-item .children .row-item>.line,.row-item .children>.line{background-color:rgba(11,72,107,.13333333333333333);position:absolute}.row-item .children .row-item>.line{height:2px;right:-35px;top:17px;width:10px}.row-item .checkbox{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;align-items:center;cursor:pointer;display:flex;float:right;font-size:11px;justify-content:center;line-height:20px;min-height:40px;padding:5px 30px;position:relative;text-align:center;width:100%;z-index:2}.row-item .control{cursor:pointer;height:0;opacity:0;position:absolute;right:50%;top:50%;width:0;z-index:1}.row-item>.checkbox:before{content:\"\\f0c8\";font-family:Font Awesome\\ 5 Pro;font-size:18px;font-weight:400;height:40px;line-height:40px;position:absolute;right:0;top:0;width:30px}.row-item.selected>.checkbox:before{animation:pop .18s ease-in;color:var(--green);content:\"\\f14a\";font-weight:900}.row-item.null>.checkbox:before{animation:pop .18s ease-in;color:var(--green);content:\"\\f146\";font-weight:900}.row-item:after{background-image:linear-gradient(90deg,transparent,rgba(50,50,50,.25),transparent);border:0;bottom:-1px;content:\"\";float:right;height:1px;position:absolute;right:0;width:100%}::ng-deep lib-form-tree-item:last-of-type>.row-item:after{display:none}"]
5074
+ template: "<div [className]=\"(item.selected ? 'selected ' : item.selected == null ? 'null ' : '') + 'row-item'\">\r\n <div (click)=\"onClick()\" [className]=\"'checkbox' + (this.tree.type === type.TreeRadio ? ' radio' : '')\">{{tree.l(item.name)}}</div>\r\n <i *ngIf=\"item.children.length > 0\" (click)=\"openClose($event)\" [className]=\"(index == 0 && level == 0 ? 'fa-duotone fa-caret-down ' : 'fa-duotone fa-caret-left ') + 'open-close'\"></i>\r\n <div [className]=\"(index == 0 && level == 0 ? 'open ' : '') + 'children'\" [style]=\"index == 0 && level == 0 ? {display: 'block'} : {}\" *ngIf=\"item.children.length > 0\">\r\n <div class=\"items rightline\">\r\n <lib-form-tree-item [level]=\"level + 1\" (toggle)=\"toggle.emit($event)\" [index]=\"i\" [item]=\"child\" [parent]=\"item\" [tree]=\"tree\" *ngFor=\"let child of item.children; let i = index\"></lib-form-tree-item>\r\n </div>\r\n </div>\r\n</div>\r\n",
5075
+ styles: [".row-item{float:left;position:relative;text-align:center;width:90%}.row-item .content{background-color:rgba(11,72,107,.06666666666666667);border-radius:var(--border-radius-base);cursor:pointer;float:right;width:100%}.row-item .open-close{cursor:pointer;font-size:20px;height:40px;line-height:38px;position:absolute;right:-25px;text-align:center;width:15px}.row-item .content.parent,.row-item .content:hover{background-color:rgba(11,72,107,.13333333333333333)}.row-item .content.parent:hover{background-color:rgba(11,72,107,.26666666666666666)}.row-item .children{display:none;padding:10px;position:relative}.row-item .children,.row-item .children .items{float:left;width:100%}.row-item .children>.line{height:calc(100% - 30px);right:20px;top:15px;width:2px}.row-item .children .row-item>.line,.row-item .children>.line{background-color:rgba(11,72,107,.13333333333333333);position:absolute}.row-item .children .row-item>.line{height:2px;right:-35px;top:17px;width:10px}.row-item .checkbox{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;align-items:center;cursor:pointer;display:flex;float:right;font-size:11px;justify-content:center;line-height:20px;min-height:40px;padding:5px 30px;position:relative;text-align:center;width:100%;z-index:2}.row-item .control{cursor:pointer;height:0;opacity:0;position:absolute;right:50%;top:50%;width:0;z-index:1}.row-item>.checkbox:before{content:\"\\f0c8\";font-family:Font Awesome\\ 5 Pro;font-size:18px;font-weight:400;height:40px;line-height:40px;position:absolute;right:0;top:0;width:30px}.row-item>.checkbox.radio:before{content:\"\\f111\"}.row-item.selected>.checkbox:before{animation:pop .18s ease-in;color:var(--green);content:\"\\f14a\";content:\"\\f192\";font-weight:900}.row-item.null>.checkbox:before{animation:pop .18s ease-in;color:var(--green);content:\"\\f146\";font-weight:900}.row-item:after{background-image:linear-gradient(90deg,transparent,rgba(50,50,50,.25),transparent);border:0;bottom:-1px;content:\"\";float:right;height:1px;position:absolute;right:0;width:100%}::ng-deep lib-form-tree-item:last-of-type>.row-item:after{display:none}"]
5129
5076
  },] }
5130
5077
  ];
5131
5078
  FormTreeItemComponent.ctorParameters = () => [];
@@ -5136,7 +5083,7 @@ FormTreeItemComponent.propDecorators = {
5136
5083
  tree: [{ type: Input }],
5137
5084
  parent: [{ type: Input }],
5138
5085
  base: [{ type: Input }],
5139
- changeIndex: [{ type: Output }],
5086
+ toggle: [{ type: Output }],
5140
5087
  inputDiv: [{ type: ViewChild, args: ['inputDiv',] }],
5141
5088
  inputBase: [{ type: ViewChild, args: ['inputBase',] }]
5142
5089
  };
@@ -5162,7 +5109,7 @@ class FormTreeComponent {
5162
5109
  return this.getSelected();
5163
5110
  };
5164
5111
  this.inp.setValue = (v) => {
5165
- this.check(v.map(String));
5112
+ this.setValue(v.map(String));
5166
5113
  };
5167
5114
  this.inp.clear = () => {
5168
5115
  this.inp.setValue([], false);
@@ -5199,36 +5146,87 @@ class FormTreeComponent {
5199
5146
  });
5200
5147
  return l;
5201
5148
  }
5202
- check(ids, chs = this.inp.rows) {
5203
- let isChecked = false;
5204
- let cIsChecked = false;
5205
- for (const r of chs) {
5149
+ setValue(ids, rows = this.inp.rows) {
5150
+ for (const r of rows) {
5206
5151
  r.selected = ids.includes(r.value);
5207
- if (r.selected) {
5208
- isChecked = true;
5209
- }
5210
5152
  if (this.inp.onlyChild) {
5211
- cIsChecked = this.check(ids, r.children);
5212
- if (cIsChecked) {
5213
- r.selected = r.children.filter(x => !x.selected).length > 0 ? null : true;
5153
+ if (r.selected) {
5154
+ this.checkParent(r.parent);
5214
5155
  }
5156
+ this.setValue(ids, r.children);
5157
+ }
5158
+ }
5159
+ return true;
5160
+ }
5161
+ toggle(row) {
5162
+ if (row.selected) {
5163
+ this.unCheck(row);
5164
+ if (this.inp.onlyChild && this.inp.type === InputType.Tree) {
5165
+ this.unCheckParent(row.parent);
5215
5166
  }
5216
5167
  }
5217
- return isChecked || cIsChecked;
5168
+ else {
5169
+ this.check(row);
5170
+ if (this.inp.onlyChild && this.inp.type === InputType.Tree) {
5171
+ this.checkParent(row.parent);
5172
+ }
5173
+ }
5174
+ if (this.inp.onChange) {
5175
+ this.inp.onChange(this.inp);
5176
+ }
5177
+ }
5178
+ check(c) {
5179
+ if (this.inp.type === InputType.Tree) {
5180
+ c.selected = true;
5181
+ if (this.inp.onlyChild) {
5182
+ this.checkChildren(c);
5183
+ }
5184
+ }
5185
+ else {
5186
+ this.inp.clear();
5187
+ c.selected = true;
5188
+ }
5189
+ }
5190
+ unCheck(c) {
5191
+ c.selected = false;
5192
+ if (this.inp.onlyChild) {
5193
+ c.children.forEach((ch) => {
5194
+ this.unCheck(ch);
5195
+ });
5196
+ }
5197
+ }
5198
+ checkChildren(c) {
5199
+ c.children.forEach((ch) => {
5200
+ this.check(ch);
5201
+ });
5202
+ }
5203
+ checkParent(p) {
5204
+ if (p) {
5205
+ if (p.children.filter(x => !x.selected).length > 0) {
5206
+ p.selected = null;
5207
+ }
5208
+ else {
5209
+ p.selected = true;
5210
+ }
5211
+ this.checkParent(p.parent);
5212
+ }
5218
5213
  }
5219
- checkChildren(chs, ids) {
5220
- for (const r of chs) {
5221
- if (ids.includes(r.value)) {
5222
- r.toggle(this.inp.onlyChild);
5214
+ unCheckParent(p) {
5215
+ if (p) {
5216
+ if (p.children.filter(x => x.selected || x.selected == null).length > 0) {
5217
+ p.selected = null;
5223
5218
  }
5224
- setTimeout(() => { this.checkChildren(r.children, ids); });
5219
+ else {
5220
+ p.selected = false;
5221
+ }
5222
+ this.unCheckParent(p.parent);
5225
5223
  }
5226
5224
  }
5227
5225
  }
5228
5226
  FormTreeComponent.decorators = [
5229
5227
  { type: Component, args: [{
5230
5228
  selector: 'lib-form-tree',
5231
- template: "<div #inputDiv [id]=\"inp.name + 'Input'\" [className]=\"'form-input-con tree w-100' + (inp.error == null ? '' : ' error') + (inp.disabled ? ' disabled' : '') + ' ' + inp.class\">\r\n <div class=\"form-input\" (click)=\"onClick()\">\r\n <div *ngIf=\"inp.displayLabel\" class=\"label\"><i *ngIf=\"inp.required\" class=\"fas fa-star-of-life required-icon\"></i>{{inp.getLabel()}}</div>\r\n <input #inputBase type=\"checkbox\" class=\"input-base\" (keydown)=\"onKeyDown($event)\" (focusin)=\"onFocusIn()\">\r\n <div [className]=\"(inp.loading ? 'o-h ' : '') + 'control'\">\r\n <i *ngIf=\"inp.icon != null || inp.loading\" #inputIcon [className]=\"(inp.loading ? 'fa-duotone fa-spin fa-spinner' : inp.icon) + ' icon'\"></i>\r\n <i *ngIf=\"inp.withClear && inp.value\" (click)=\"inp.clear()\" class=\"fa-duotone fa-eraser clear-icon\"></i>\r\n <lib-form-tree-item [level]=\"0\" [index]=\"i\" [item]=\"item\" [tree]=\"inp\" [base]=\"true\" *ngFor=\"let item of inp.rows; let i = index\"></lib-form-tree-item>\r\n </div>\r\n </div>\r\n</div>\r\n",
5229
+ template: "<div #inputDiv [id]=\"inp.name + 'Input'\" [className]=\"'form-input-con tree w-100' + (inp.error == null ? '' : ' error') + (inp.disabled ? ' disabled' : '') + ' ' + inp.class\">\r\n <div class=\"form-input\" (click)=\"onClick()\">\r\n <div *ngIf=\"inp.displayLabel\" class=\"label\"><i *ngIf=\"inp.required\" class=\"fas fa-star-of-life required-icon\"></i>{{inp.getLabel()}}</div>\r\n <input #inputBase type=\"checkbox\" class=\"input-base\" (keydown)=\"onKeyDown($event)\" (focusin)=\"onFocusIn()\">\r\n <div [className]=\"(inp.loading ? 'o-h ' : '') + 'control'\">\r\n <i *ngIf=\"inp.icon != null || inp.loading\" #inputIcon [className]=\"(inp.loading ? 'fa-duotone fa-spin fa-spinner' : inp.icon) + ' icon'\"></i>\r\n <i *ngIf=\"inp.withClear && inp.value\" (click)=\"inp.clear()\" class=\"fa-duotone fa-eraser clear-icon\"></i>\r\n <lib-form-tree-item [level]=\"0\" [index]=\"i\" (toggle)=\"toggle($event)\" [item]=\"item\" [tree]=\"inp\" [base]=\"true\" *ngFor=\"let item of inp.rows; let i = index\"></lib-form-tree-item>\r\n </div>\r\n </div>\r\n</div>\r\n",
5232
5230
  styles: [".form-input-con.tree{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;padding:0 15px;position:relative}.form-input-con.tree .form-input{float:right;position:relative;width:100%}.form-input-con.tree .form-input .label{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;direction:rtl;float:right;font-size:12px;height:20px;line-height:20px;margin-bottom:3px;padding:0 10px;text-align:right;width:100%}.form-input-con.tree.error .form-input .label{color:var(--red);font-size:10px}.form-input-con.tree .form-input .label .required-icon{color:var(--red);font-size:9px;height:20px;line-height:20px;text-align:center;width:20px}.form-input-con.tree .form-input>.control{background-color:#fff;border:var(--border-input);border-radius:var(--border-radius-base);float:right;max-height:400px;min-height:35px;overflow-x:hidden;overflow-y:auto;padding:10px;position:relative;width:100%}.form-input-con.tree.without-border .form-input>.control{border:unset}.form-input-con.tree:not(.without-border) .form-input .input-base:focus+.control,.form-input-con.tree:not(.without-border) .form-input:hover .control{border:var(--border-input-dark)}.form-input-con.tree.error .form-input .input-base:focus+.control,.form-input-con.tree.error .form-input:hover .control{border:var(--border-input-red-dark)}.form-input-con.tree .form-input .input-base{cursor:pointer;height:0;opacity:0;position:absolute;right:50%;top:50%;width:0;z-index:1}.form-input-con.tree .form-input i.icon{color:var(--primary);cursor:default;left:0;line-height:35px;top:0;z-index:1}.form-input-con.tree .form-input i.clear-icon,.form-input-con.tree .form-input i.icon{font-size:14px;height:35px;position:absolute;text-align:center;transition:all .35s ease-in-out;width:35px}.form-input-con.tree .form-input i.clear-icon{bottom:0;color:var(--red);cursor:pointer;line-height:38px;right:0;z-index:3}.form-input-con.tree.error .form-input>.control{border:var(--border-input-red)}.form-input-con.tree.error .form-input i.icon{color:var(--red)}"]
5233
5231
  },] }
5234
5232
  ];
@@ -5768,12 +5766,12 @@ class LoginComponent {
5768
5766
  this.loginTemplate = 'Main';
5769
5767
  }
5770
5768
  ngOnInit() {
5769
+ const rules = new InputClass(this.config.environment, this.login.l, 'Rules', null, InputType.Label, 'm-t-10', this.login.rules);
5771
5770
  if (this.login.type === 'Sms') {
5772
5771
  const sendCodeForm = new FormClass(this.config.environment, this.login.l, 'SendCode', true, this.login.sendCodeUrl);
5773
5772
  const sendCode = new InputClass(this.config.environment, this.login.l, 'SendCode', 'fa-duotone fa-paper-plane', InputType.Submit, 'h-45' + (this.loginTemplate === 'Simple' ? ' primary' : ''));
5774
5773
  sendCodeForm.subName = 'SendCodeSubTitle';
5775
5774
  this.mobile = new InputClass(this.config.environment, this.login.l, 'Mobile', 'fa-duotone fa-mobile-alt', InputType.Mobile, 'm-b-20 h-45', '', true, 4, 50);
5776
- const rules = new InputClass(this.config.environment, this.login.l, 'Rules', null, InputType.Label, 'm-t-10', this.login.rules);
5777
5775
  sendCodeForm.onSuccess = () => {
5778
5776
  loginForm.subName = this.login.l('LoginSmsSubTitle', this.mobile.data());
5779
5777
  this.mobile.type = InputType.Hidden;
@@ -5883,7 +5881,7 @@ class LoginComponent {
5883
5881
  this.username,
5884
5882
  password,
5885
5883
  login
5886
- ];
5884
+ ].concat(this.login.rules != null ? [rules] : []);
5887
5885
  login.onClick = () => {
5888
5886
  loginForm.submit();
5889
5887
  };