@gipisistemas/ng-core 1.1.2 → 1.1.4
Sign up to get free protection for your applications and to get access to all the features.
- package/assets/styles/colors.scss +5 -1
- package/bundles/gipisistemas-ng-core.umd.js +8416 -7886
- package/bundles/gipisistemas-ng-core.umd.js.map +1 -1
- package/bundles/gipisistemas-ng-core.umd.min.js +10 -9
- package/bundles/gipisistemas-ng-core.umd.min.js.map +1 -1
- package/core/gipi-components/models/sort.model.d.ts +3 -3
- package/core/utils/array.util.d.ts +2 -2
- package/core/utils/object.util.d.ts +3 -5
- package/esm2015/core/gipi-components/models/sort.model.js +1 -1
- package/esm2015/core/gipi-components/services/abstract-crud.service.js +18 -24
- package/esm2015/core/utils/array.util.js +4 -2
- package/esm2015/core/utils/object.util.js +5 -9
- package/esm2015/gipi-components.js +10 -1
- package/esm2015/shared/components/input/input.component.js +46 -23
- package/esm2015/shared/components/table/table.component.js +1 -1
- package/esm2015/shared/gipi-components/abstract-form/abstract-form.component.js +1 -1
- package/esm2015/shared/gipi-components/button/button.component.js +2 -2
- package/esm2015/shared/gipi-components/card/card.component.js +113 -0
- package/esm2015/shared/gipi-components/datepicker/datepicker/datepicker.component.js +8 -3
- package/esm2015/shared/gipi-components/empty-state/empty-state.component.js +30 -0
- package/esm2015/shared/gipi-components/input-select/input-select.component.js +7 -4
- package/esm2015/shared/gipi-components/layout-grid/col.directive.js +4 -4
- package/esm2015/shared/gipi-components/month-year-picker/month-year-picker.component.js +2 -2
- package/esm2015/shared/gipi-components/notification/notification.component.js +8 -3
- package/esm2015/shared/gipi-components/sidebar/sidenav/sidenav.component.js +35 -3
- package/esm2015/shared/gipi-components/slide-toggle/slide-toggle.component.js +113 -0
- package/esm2015/shared/gipi-components/tabs/shared/dynamic-tab.directive.js +18 -0
- package/esm2015/shared/gipi-components/tabs/shared/tab.model.js +8 -0
- package/esm2015/shared/gipi-components/tabs/tab/tab.component.js +66 -0
- package/esm2015/shared/gipi-components/tabs/tab-group/tab-group.component.js +123 -0
- package/esm2015/shared/gipi-components/textarea/textarea.component.js +298 -0
- package/esm2015/shared/shared.module.js +20 -16
- package/esm2015/shared.js +1 -5
- package/esm5/core/gipi-components/models/sort.model.js +1 -1
- package/esm5/core/gipi-components/services/abstract-crud.service.js +18 -24
- package/esm5/core/utils/array.util.js +4 -3
- package/esm5/core/utils/object.util.js +5 -9
- package/esm5/gipi-components.js +10 -1
- package/esm5/shared/components/input/input.component.js +46 -23
- package/esm5/shared/components/table/table.component.js +1 -1
- package/esm5/shared/gipi-components/abstract-form/abstract-form.component.js +1 -1
- package/esm5/shared/gipi-components/button/button.component.js +2 -2
- package/esm5/shared/gipi-components/card/card.component.js +135 -0
- package/esm5/shared/gipi-components/datepicker/datepicker/datepicker.component.js +8 -3
- package/esm5/shared/gipi-components/empty-state/empty-state.component.js +33 -0
- package/esm5/shared/gipi-components/input-select/input-select.component.js +11 -4
- package/esm5/shared/gipi-components/layout-grid/col.directive.js +4 -4
- package/esm5/shared/gipi-components/month-year-picker/month-year-picker.component.js +2 -2
- package/esm5/shared/gipi-components/notification/notification.component.js +8 -3
- package/esm5/shared/gipi-components/sidebar/sidenav/sidenav.component.js +35 -3
- package/esm5/shared/gipi-components/slide-toggle/slide-toggle.component.js +127 -0
- package/esm5/shared/gipi-components/tabs/shared/dynamic-tab.directive.js +19 -0
- package/esm5/shared/gipi-components/tabs/shared/tab.model.js +10 -0
- package/esm5/shared/gipi-components/tabs/tab/tab.component.js +67 -0
- package/esm5/shared/gipi-components/tabs/tab-group/tab-group.component.js +131 -0
- package/esm5/shared/gipi-components/textarea/textarea.component.js +352 -0
- package/esm5/shared/shared.module.js +20 -16
- package/esm5/shared.js +1 -5
- package/fesm2015/gipisistemas-ng-core.js +1746 -1305
- package/fesm2015/gipisistemas-ng-core.js.map +1 -1
- package/fesm5/gipisistemas-ng-core.js +8406 -7881
- package/fesm5/gipisistemas-ng-core.js.map +1 -1
- package/gipi-components.d.ts +8 -0
- package/gipisistemas-ng-core.metadata.json +1 -1
- package/package.json +1 -2
- package/shared/components/input/input.component.d.ts +13 -11
- package/shared/components/table/table.component.d.ts +3 -3
- package/shared/gipi-components/card/card.component.d.ts +23 -0
- package/shared/gipi-components/empty-state/empty-state.component.d.ts +5 -0
- package/shared/gipi-components/input-select/input-select.component.d.ts +1 -0
- package/shared/gipi-components/notification/notification.component.d.ts +1 -0
- package/shared/gipi-components/sidebar/sidenav/sidenav.component.d.ts +7 -0
- package/shared/gipi-components/slide-toggle/slide-toggle.component.d.ts +27 -0
- package/shared/{directives → gipi-components/tabs/shared}/dynamic-tab.directive.d.ts +1 -1
- package/shared/gipi-components/tabs/shared/tab.model.d.ts +12 -0
- package/shared/{components → gipi-components/tabs}/tab/tab.component.d.ts +4 -2
- package/shared/gipi-components/tabs/tab-group/tab-group.component.d.ts +22 -0
- package/shared/gipi-components/textarea/textarea.component.d.ts +68 -0
- package/shared.d.ts +0 -4
- package/esm2015/shared/components/select-button/select-button.component.js +0 -181
- package/esm2015/shared/components/tab/tab.component.js +0 -57
- package/esm2015/shared/components/tab-group/tab-group.component.js +0 -117
- package/esm2015/shared/directives/dynamic-tab.directive.js +0 -18
- package/esm5/shared/components/select-button/select-button.component.js +0 -195
- package/esm5/shared/components/tab/tab.component.js +0 -58
- package/esm5/shared/components/tab-group/tab-group.component.js +0 -125
- package/esm5/shared/directives/dynamic-tab.directive.js +0 -19
- package/shared/components/select-button/select-button.component.d.ts +0 -35
- package/shared/components/tab-group/tab-group.component.d.ts +0 -22
@@ -0,0 +1,113 @@
|
|
1
|
+
var GIPISlideToggleComponent_1;
|
2
|
+
import { __decorate, __metadata } from "tslib";
|
3
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
4
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, Input, OnInit } from '@angular/core';
|
5
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
6
|
+
let nextUniqueId = 0;
|
7
|
+
let GIPISlideToggleComponent = GIPISlideToggleComponent_1 = class GIPISlideToggleComponent {
|
8
|
+
constructor(_changeDetectorRef) {
|
9
|
+
this._changeDetectorRef = _changeDetectorRef;
|
10
|
+
this._name = `gipi-slide-toggle-${nextUniqueId++}`;
|
11
|
+
this._slideToggleValue = false;
|
12
|
+
this.id = this._name;
|
13
|
+
this.name = this._name;
|
14
|
+
this.label = '';
|
15
|
+
this.help = '';
|
16
|
+
this._required = false;
|
17
|
+
this._disabled = false;
|
18
|
+
this.onChange = () => { };
|
19
|
+
this.onTouched = () => { };
|
20
|
+
}
|
21
|
+
get slideToggleValue() {
|
22
|
+
return this._slideToggleValue;
|
23
|
+
}
|
24
|
+
set slideToggleValue(value) {
|
25
|
+
this._slideToggleValue = value;
|
26
|
+
this.onChange(value);
|
27
|
+
this.onTouched();
|
28
|
+
}
|
29
|
+
get required() {
|
30
|
+
return this._required;
|
31
|
+
}
|
32
|
+
set required(value) {
|
33
|
+
if (this.required !== value) {
|
34
|
+
this._required = coerceBooleanProperty(value);
|
35
|
+
this._changeDetectorRef.markForCheck();
|
36
|
+
}
|
37
|
+
}
|
38
|
+
get disabled() {
|
39
|
+
return this._disabled;
|
40
|
+
}
|
41
|
+
set disabled(value) {
|
42
|
+
if (this.disabled !== value) {
|
43
|
+
this._disabled = coerceBooleanProperty(value);
|
44
|
+
this._changeDetectorRef.markForCheck();
|
45
|
+
}
|
46
|
+
}
|
47
|
+
ngOnInit() { }
|
48
|
+
writeValue(value) {
|
49
|
+
this.slideToggleValue = value;
|
50
|
+
this._changeDetectorRef.markForCheck();
|
51
|
+
}
|
52
|
+
registerOnChange(fn) {
|
53
|
+
this.onChange = fn;
|
54
|
+
}
|
55
|
+
registerOnTouched(fn) {
|
56
|
+
this.onTouched = fn;
|
57
|
+
}
|
58
|
+
setDisabledState(isDisabled) {
|
59
|
+
this.disabled = isDisabled;
|
60
|
+
this._changeDetectorRef.markForCheck();
|
61
|
+
}
|
62
|
+
};
|
63
|
+
GIPISlideToggleComponent.ctorParameters = () => [
|
64
|
+
{ type: ChangeDetectorRef }
|
65
|
+
];
|
66
|
+
__decorate([
|
67
|
+
Input(),
|
68
|
+
__metadata("design:type", String)
|
69
|
+
], GIPISlideToggleComponent.prototype, "id", void 0);
|
70
|
+
__decorate([
|
71
|
+
Input(),
|
72
|
+
__metadata("design:type", String)
|
73
|
+
], GIPISlideToggleComponent.prototype, "name", void 0);
|
74
|
+
__decorate([
|
75
|
+
Input(),
|
76
|
+
__metadata("design:type", String)
|
77
|
+
], GIPISlideToggleComponent.prototype, "label", void 0);
|
78
|
+
__decorate([
|
79
|
+
Input(),
|
80
|
+
__metadata("design:type", String)
|
81
|
+
], GIPISlideToggleComponent.prototype, "help", void 0);
|
82
|
+
__decorate([
|
83
|
+
Input(),
|
84
|
+
__metadata("design:type", Boolean),
|
85
|
+
__metadata("design:paramtypes", [Boolean])
|
86
|
+
], GIPISlideToggleComponent.prototype, "required", null);
|
87
|
+
__decorate([
|
88
|
+
Input(),
|
89
|
+
__metadata("design:type", Boolean),
|
90
|
+
__metadata("design:paramtypes", [Boolean])
|
91
|
+
], GIPISlideToggleComponent.prototype, "disabled", null);
|
92
|
+
GIPISlideToggleComponent = GIPISlideToggleComponent_1 = __decorate([
|
93
|
+
Component({
|
94
|
+
selector: 'gipi-slide-toggle',
|
95
|
+
exportAs: 'gipiSlideToggle',
|
96
|
+
template: "<input class=\"toggle toggle-light\"\n type=\"checkbox\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [(ngModel)]=\"slideToggleValue\" />\n<label class=\"toggle-btn\"\n [attr.for]=\"id\">\n</label>\n<label class=\"toggle-label\"\n *ngIf=\"label\"\n [attr.for]=\"id\">\n {{ label }}\n</label>",
|
97
|
+
providers: [
|
98
|
+
{
|
99
|
+
provide: NG_VALUE_ACCESSOR,
|
100
|
+
useExisting: forwardRef(() => GIPISlideToggleComponent_1),
|
101
|
+
multi: true,
|
102
|
+
},
|
103
|
+
],
|
104
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
105
|
+
host: {
|
106
|
+
'class': 'gipi-slide-toggle',
|
107
|
+
},
|
108
|
+
styles: [":host{display:flex;align-items:center;cursor:pointer}.toggle-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-left:1rem;cursor:pointer}.toggle{display:none}.toggle ::-moz-selection,.toggle :after::-moz-selection,.toggle :before::-moz-selection,.toggle+.toggle-btn::-moz-selection,.toggle::-moz-selection,.toggle:after::-moz-selection,.toggle:before::-moz-selection{background:0 0}.toggle ::selection,.toggle :after::selection,.toggle :before::selection,.toggle+.toggle-btn::selection,.toggle::selection,.toggle:after::selection,.toggle:before::selection{background:0 0}.toggle+.toggle-btn{display:block;width:40px;height:24px;outline:0;background:#e0e1e2;border-radius:22px;padding:4px;transition:.4s;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.toggle+.toggle-btn:after,.toggle+.toggle-btn:before{content:\"\";display:block;width:16px;height:16px;position:relative}.toggle+.toggle-btn:after{left:0;background:#8c8f93;border-radius:50%;transition:.2s}.toggle+.toggle-btn:before{display:none}.toggle:checked+.toggle-btn:after{left:50%;background:#414244}"]
|
109
|
+
}),
|
110
|
+
__metadata("design:paramtypes", [ChangeDetectorRef])
|
111
|
+
], GIPISlideToggleComponent);
|
112
|
+
export { GIPISlideToggleComponent };
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvc2xpZGUtdG9nZ2xlL3NsaWRlLXRvZ2dsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFtQnJCLElBQWEsd0JBQXdCLGdDQUFyQyxNQUFhLHdCQUF3QjtJQStDakMsWUFBb0Isa0JBQXFDO1FBQXJDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUE3Q2pELFVBQUssR0FBVyxxQkFBcUIsWUFBWSxFQUFFLEVBQUUsQ0FBQztRQUV0RCxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFVbEMsT0FBRSxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFeEIsU0FBSSxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFMUIsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUVuQixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRW5CLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFXM0IsY0FBUyxHQUFZLEtBQUssQ0FBQztRQVduQyxhQUFRLEdBQWEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLGNBQVMsR0FBYSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFNkIsQ0FBQztJQTFDOUQsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksZ0JBQWdCLENBQUMsS0FBYztRQUMvQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFXUSxJQUFJLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLEVBQUU7WUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDMUM7SUFDTCxDQUFDO0lBR1EsSUFBSSxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzFDO0lBQ0wsQ0FBQztJQU9ELFFBQVEsS0FBVyxDQUFDO0lBRXBCLFVBQVUsQ0FBQyxLQUFjO1FBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztDQUVKLENBQUE7O1lBdEIyQyxpQkFBaUI7O0FBakNoRDtJQUFSLEtBQUssRUFBRTs7b0RBQXlCO0FBRXhCO0lBQVIsS0FBSyxFQUFFOztzREFBMkI7QUFFMUI7SUFBUixLQUFLLEVBQUU7O3VEQUFvQjtBQUVuQjtJQUFSLEtBQUssRUFBRTs7c0RBQW1CO0FBR2xCO0lBQVIsS0FBSyxFQUFFOzs7d0RBRVA7QUFTUTtJQUFSLEtBQUssRUFBRTs7O3dEQUVQO0FBcENRLHdCQUF3QjtJQWpCcEMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixRQUFRLEVBQUUsaUJBQWlCO1FBQzNCLDJWQUE0QztRQUU1QyxTQUFTLEVBQUU7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDBCQUF3QixDQUFDO2dCQUN2RCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0o7UUFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxJQUFJLEVBQUU7WUFDRixPQUFPLEVBQUUsbUJBQW1CO1NBQy9COztLQUNKLENBQUM7cUNBZ0QwQyxpQkFBaUI7R0EvQ2hELHdCQUF3QixDQXFFcEM7U0FyRVksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2dpcGktc2xpZGUtdG9nZ2xlJyxcbiAgICBleHBvcnRBczogJ2dpcGlTbGlkZVRvZ2dsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NsaWRlLXRvZ2dsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2xpZGUtdG9nZ2xlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gR0lQSVNsaWRlVG9nZ2xlQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnZ2lwaS1zbGlkZS10b2dnbGUnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdJUElTbGlkZVRvZ2dsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gICAgcHJpdmF0ZSBfbmFtZTogc3RyaW5nID0gYGdpcGktc2xpZGUtdG9nZ2xlLSR7bmV4dFVuaXF1ZUlkKyt9YDtcblxuICAgIHByaXZhdGUgX3NsaWRlVG9nZ2xlVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBnZXQgc2xpZGVUb2dnbGVWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NsaWRlVG9nZ2xlVmFsdWU7XG4gICAgfVxuICAgIHNldCBzbGlkZVRvZ2dsZVZhbHVlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3NsaWRlVG9nZ2xlVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyA9IHRoaXMuX25hbWU7XG5cbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgPSB0aGlzLl9uYW1lO1xuXG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gICAgQElucHV0KCkgaGVscDogc3RyaW5nID0gJyc7XG5cbiAgICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xuICAgIH1cbiAgICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZWQgIT09IHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKCkgPT4geyB9O1xuICAgIG9uVG91Y2hlZDogRnVuY3Rpb24gPSAoKSA9PiB7IH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7IH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zbGlkZVRvZ2dsZVZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxufVxuIl19
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
2
|
+
import { Directive, ViewContainerRef } from '@angular/core';
|
3
|
+
let GIPIDynamicTabDirective = class GIPIDynamicTabDirective {
|
4
|
+
constructor(viewContainer) {
|
5
|
+
this.viewContainer = viewContainer;
|
6
|
+
}
|
7
|
+
};
|
8
|
+
GIPIDynamicTabDirective.ctorParameters = () => [
|
9
|
+
{ type: ViewContainerRef }
|
10
|
+
];
|
11
|
+
GIPIDynamicTabDirective = __decorate([
|
12
|
+
Directive({
|
13
|
+
selector: '[GIPIDynamicTab]'
|
14
|
+
}),
|
15
|
+
__metadata("design:paramtypes", [ViewContainerRef])
|
16
|
+
], GIPIDynamicTabDirective);
|
17
|
+
export { GIPIDynamicTabDirective };
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsic2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJzL3NoYXJlZC9keW5hbWljLXRhYi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLNUQsSUFBYSx1QkFBdUIsR0FBcEMsTUFBYSx1QkFBdUI7SUFFaEMsWUFBbUIsYUFBK0I7UUFBL0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO0lBQUksQ0FBQztDQUUxRCxDQUFBOztZQUZxQyxnQkFBZ0I7O0FBRnpDLHVCQUF1QjtJQUhuQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsa0JBQWtCO0tBQy9CLENBQUM7cUNBR29DLGdCQUFnQjtHQUZ6Qyx1QkFBdUIsQ0FJbkM7U0FKWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbR0lQSUR5bmFtaWNUYWJdJ1xufSlcbmV4cG9ydCBjbGFzcyBHSVBJRHluYW1pY1RhYkRpcmVjdGl2ZSB7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikgeyB9XG5cbn1cbiJdfQ==
|
@@ -0,0 +1,8 @@
|
|
1
|
+
export class TabModel {
|
2
|
+
constructor() {
|
3
|
+
this.active = false;
|
4
|
+
this.closeable = false;
|
5
|
+
this.disabled = false;
|
6
|
+
}
|
7
|
+
}
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsic2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJzL3NoYXJlZC90YWIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFFBQVE7SUFBckI7UUFJSSxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBSWYsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixhQUFRLEdBQUcsS0FBSyxDQUFDO0lBVXJCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBUYWJNb2RlbCB7XG5cbiAgICBsYWJlbDogc3RyaW5nO1xuXG4gICAgYWN0aXZlID0gZmFsc2U7XG5cbiAgICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGNsb3NlYWJsZSA9IGZhbHNlO1xuXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIGRhdGE6IGFueTtcblxuICAgIGljb246IHN0cmluZztcblxuICAgIHN2Z0ljb246IHN0cmluZztcblxuICAgIGFjdGlvbjogKG9iajogYW55KSA9PiB2b2lkO1xuXG59XG4iXX0=
|
@@ -0,0 +1,66 @@
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
2
|
+
import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';
|
3
|
+
let GIPITabComponent = class GIPITabComponent {
|
4
|
+
constructor() {
|
5
|
+
this.active = false;
|
6
|
+
this.closeable = false;
|
7
|
+
this.disabled = false;
|
8
|
+
this.selectionChange = new EventEmitter();
|
9
|
+
}
|
10
|
+
ngOnInit() { }
|
11
|
+
};
|
12
|
+
__decorate([
|
13
|
+
Input(),
|
14
|
+
__metadata("design:type", Number)
|
15
|
+
], GIPITabComponent.prototype, "index", void 0);
|
16
|
+
__decorate([
|
17
|
+
Input(),
|
18
|
+
__metadata("design:type", String)
|
19
|
+
], GIPITabComponent.prototype, "label", void 0);
|
20
|
+
__decorate([
|
21
|
+
Input(),
|
22
|
+
__metadata("design:type", Boolean)
|
23
|
+
], GIPITabComponent.prototype, "active", void 0);
|
24
|
+
__decorate([
|
25
|
+
Input(),
|
26
|
+
__metadata("design:type", TemplateRef)
|
27
|
+
], GIPITabComponent.prototype, "template", void 0);
|
28
|
+
__decorate([
|
29
|
+
Input(),
|
30
|
+
__metadata("design:type", Boolean)
|
31
|
+
], GIPITabComponent.prototype, "closeable", void 0);
|
32
|
+
__decorate([
|
33
|
+
Input(),
|
34
|
+
__metadata("design:type", Boolean)
|
35
|
+
], GIPITabComponent.prototype, "disabled", void 0);
|
36
|
+
__decorate([
|
37
|
+
Input(),
|
38
|
+
__metadata("design:type", Object)
|
39
|
+
], GIPITabComponent.prototype, "data", void 0);
|
40
|
+
__decorate([
|
41
|
+
Input(),
|
42
|
+
__metadata("design:type", String)
|
43
|
+
], GIPITabComponent.prototype, "icon", void 0);
|
44
|
+
__decorate([
|
45
|
+
Input(),
|
46
|
+
__metadata("design:type", String)
|
47
|
+
], GIPITabComponent.prototype, "svgIcon", void 0);
|
48
|
+
__decorate([
|
49
|
+
Output(),
|
50
|
+
__metadata("design:type", EventEmitter)
|
51
|
+
], GIPITabComponent.prototype, "selectionChange", void 0);
|
52
|
+
GIPITabComponent = __decorate([
|
53
|
+
Component({
|
54
|
+
selector: 'gipi-tab',
|
55
|
+
exportAs: 'gipiTab',
|
56
|
+
template: "<ng-container *ngIf=\"active\">\n <ng-content> </ng-content>\n <ng-container *ngIf=\"template\"\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{$implicit: data}\">\n </ng-container>\n</ng-container>",
|
57
|
+
host: {
|
58
|
+
'class': 'gipi-tab',
|
59
|
+
'[style.display]': '!active ? "none" : "block"',
|
60
|
+
},
|
61
|
+
styles: [":host{padding:1.6rem}"]
|
62
|
+
}),
|
63
|
+
__metadata("design:paramtypes", [])
|
64
|
+
], GIPITabComponent);
|
65
|
+
export { GIPITabComponent };
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFicy90YWIvdGFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFZNUYsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7SUF1QnpCO1FBakJTLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFJeEIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBU3pCLG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFbEQsQ0FBQztJQUVqQixRQUFRLEtBQVcsQ0FBQztDQUV2QixDQUFBO0FBekJZO0lBQVIsS0FBSyxFQUFFOzsrQ0FBZTtBQUVkO0lBQVIsS0FBSyxFQUFFOzsrQ0FBZTtBQUVkO0lBQVIsS0FBSyxFQUFFOztnREFBeUI7QUFFeEI7SUFBUixLQUFLLEVBQUU7OEJBQVcsV0FBVztrREFBTTtBQUUzQjtJQUFSLEtBQUssRUFBRTs7bURBQTRCO0FBRTNCO0lBQVIsS0FBSyxFQUFFOztrREFBMkI7QUFFMUI7SUFBUixLQUFLLEVBQUU7OzhDQUFXO0FBRVY7SUFBUixLQUFLLEVBQUU7OzhDQUFjO0FBQ2I7SUFBUixLQUFLLEVBQUU7O2lEQUFpQjtBQUlmO0lBQVQsTUFBTSxFQUFFOzhCQUFrQixZQUFZO3lEQUEyQjtBQXJCekQsZ0JBQWdCO0lBVjVCLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLDhRQUFtQztRQUVuQyxJQUFJLEVBQUU7WUFDRixPQUFPLEVBQUUsVUFBVTtZQUNuQixpQkFBaUIsRUFBRSw0QkFBNEI7U0FDbEQ7O0tBQ0osQ0FBQzs7R0FDVyxnQkFBZ0IsQ0EyQjVCO1NBM0JZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZ2lwaS10YWInLFxuICAgIGV4cG9ydEFzOiAnZ2lwaVRhYicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFiLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnZ2lwaS10YWInLFxuICAgICAgICAnW3N0eWxlLmRpc3BsYXldJzogJyFhY3RpdmUgPyBcIm5vbmVcIiA6IFwiYmxvY2tcIicsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgR0lQSVRhYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBASW5wdXQoKSBpbmRleDogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKSBjbG9zZWFibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBkYXRhOiBhbnk7XG5cbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgc3ZnSWNvbjogc3RyaW5nO1xuXG4gICAgYWN0aW9uOiAob2JqOiBhbnkpID0+IHZvaWQ7XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHsgfVxuXG59XG4iXX0=
|
@@ -0,0 +1,123 @@
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
2
|
+
import { AfterContentInit, Component, ComponentFactory, ComponentFactoryResolver, ComponentRef, ContentChildren, ElementRef, OnInit, QueryList, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';
|
3
|
+
import { GIPIDynamicTabDirective } from '../shared/dynamic-tab.directive';
|
4
|
+
import { TabModel } from '../shared/tab.model';
|
5
|
+
import { GIPITabComponent } from '../tab/tab.component';
|
6
|
+
let GIPITabGroupComponent = class GIPITabGroupComponent {
|
7
|
+
constructor(elementRef, _componentFactoryResolver) {
|
8
|
+
this.elementRef = elementRef;
|
9
|
+
this._componentFactoryResolver = _componentFactoryResolver;
|
10
|
+
this.dynamicTabs = [];
|
11
|
+
}
|
12
|
+
ngOnInit() { }
|
13
|
+
ngAfterContentInit() {
|
14
|
+
const activeTabs = this.tabQueryList.filter(tab => tab.active);
|
15
|
+
if (activeTabs.length === 0 && this.tabQueryList.length > 0) {
|
16
|
+
this.selectTab(this.tabQueryList.first);
|
17
|
+
}
|
18
|
+
}
|
19
|
+
openTab(label, template, data, closeable = false, disabled = false, action) {
|
20
|
+
const tab = new TabModel();
|
21
|
+
tab.label = label;
|
22
|
+
tab.template = template;
|
23
|
+
tab.data = data;
|
24
|
+
tab.closeable = closeable;
|
25
|
+
tab.disabled = disabled;
|
26
|
+
tab.action = action;
|
27
|
+
this._openTabs(Array(tab));
|
28
|
+
}
|
29
|
+
_openTabs(tabList) {
|
30
|
+
const tabsComponent = tabList.map(tab => this._getTabComponent(tab.label, tab.template, tab.data, tab.closeable, tab.disabled, tab.action));
|
31
|
+
this.dynamicTabs.push(...tabsComponent);
|
32
|
+
this.selectTab(this.dynamicTabs[0]);
|
33
|
+
}
|
34
|
+
_getTabComponent(label, template, data, closeable = false, disabled = false, action) {
|
35
|
+
const componentFactory = this._componentFactoryResolver.resolveComponentFactory(GIPITabComponent);
|
36
|
+
const componentRef = this.dynamicTabPlaceholder.viewContainer.createComponent(componentFactory);
|
37
|
+
const instance = componentRef.instance;
|
38
|
+
instance.label = label;
|
39
|
+
instance.template = template;
|
40
|
+
instance.data = data;
|
41
|
+
instance.closeable = closeable;
|
42
|
+
instance.disabled = disabled;
|
43
|
+
instance.action = action;
|
44
|
+
return componentRef.instance;
|
45
|
+
}
|
46
|
+
selectTab(tab) {
|
47
|
+
this.tabQueryList.toArray().forEach(t => (t.active = false));
|
48
|
+
this.dynamicTabs.forEach(t => (t.active = false));
|
49
|
+
tab.active = true;
|
50
|
+
tab.selectionChange.emit();
|
51
|
+
if (tab.action) {
|
52
|
+
tab.action(tab.data);
|
53
|
+
}
|
54
|
+
}
|
55
|
+
closeTab(tab) {
|
56
|
+
const index = this.dynamicTabs.indexOf(tab);
|
57
|
+
this.dynamicTabs.splice(index, 1);
|
58
|
+
const viewContainerRef = this.dynamicTabPlaceholder.viewContainer;
|
59
|
+
viewContainerRef.remove(index);
|
60
|
+
if (this.tabQueryList.length > 0) {
|
61
|
+
this.selectTab(this.tabQueryList.first);
|
62
|
+
}
|
63
|
+
}
|
64
|
+
closeActiveTab() {
|
65
|
+
const activeTabs = this.dynamicTabs.filter(tab => tab.active);
|
66
|
+
if (activeTabs.length > 0) {
|
67
|
+
this.closeTab(activeTabs[0]);
|
68
|
+
}
|
69
|
+
}
|
70
|
+
closeAllTabs() {
|
71
|
+
const tabs = Object.assign([], this.dynamicTabs);
|
72
|
+
if (tabs.length > 0) {
|
73
|
+
tabs.forEach(tab => this.closeTab(tab));
|
74
|
+
}
|
75
|
+
}
|
76
|
+
nextTab() {
|
77
|
+
const currentTab = this.tabQueryList.toArray().find(tab => tab.active);
|
78
|
+
const nextTab = this.tabQueryList.toArray()[this.tabQueryList.toArray().indexOf(currentTab) + 1];
|
79
|
+
if (nextTab != null) {
|
80
|
+
this.tabQueryList.toArray().forEach(t => (t.active = false));
|
81
|
+
this.dynamicTabs.forEach(t => (t.active = false));
|
82
|
+
nextTab.active = true;
|
83
|
+
nextTab.selectionChange.emit();
|
84
|
+
}
|
85
|
+
}
|
86
|
+
previousTab() {
|
87
|
+
const currentTab = this.tabQueryList.toArray().find(tab => tab.active);
|
88
|
+
const previousTab = this.tabQueryList.toArray()[this.tabQueryList.toArray().indexOf(currentTab) - 1];
|
89
|
+
if (previousTab != null) {
|
90
|
+
this.tabQueryList.toArray().forEach(t => (t.active = false));
|
91
|
+
this.dynamicTabs.forEach(t => (t.active = false));
|
92
|
+
previousTab.active = true;
|
93
|
+
previousTab.selectionChange.emit();
|
94
|
+
}
|
95
|
+
}
|
96
|
+
};
|
97
|
+
GIPITabGroupComponent.ctorParameters = () => [
|
98
|
+
{ type: ElementRef },
|
99
|
+
{ type: ComponentFactoryResolver }
|
100
|
+
];
|
101
|
+
__decorate([
|
102
|
+
ContentChildren(GIPITabComponent),
|
103
|
+
__metadata("design:type", QueryList)
|
104
|
+
], GIPITabGroupComponent.prototype, "tabQueryList", void 0);
|
105
|
+
__decorate([
|
106
|
+
ViewChild(GIPIDynamicTabDirective, { static: false }),
|
107
|
+
__metadata("design:type", GIPIDynamicTabDirective)
|
108
|
+
], GIPITabGroupComponent.prototype, "dynamicTabPlaceholder", void 0);
|
109
|
+
GIPITabGroupComponent = __decorate([
|
110
|
+
Component({
|
111
|
+
selector: 'gipi-tab-group',
|
112
|
+
exportAs: 'gipiTabGroup',
|
113
|
+
template: "<nav mat-tab-nav-bar>\n <a mat-tab-link\n *ngFor=\"let tab of tabQueryList\"\n (click)=\"selectTab(tab)\"\n [class.active]=\"tab.active\"\n [disabled]=\"tab.disabled\">\n <mat-icon *ngIf=\"tab.icon || tab.svgIcon\"\n [svgIcon]=\"tab.svgIcon ? tab.svgIcon : ''\">\n {{ !tab.svgIcon && tab.icon ? tab.icon : '' }}\n </mat-icon>\n\n {{ tab.label }}\n </a>\n\n <a mat-tab-link\n *ngFor=\"let tab of dynamicTabs\"\n (click)=\"selectTab(tab)\"\n [class.active]=\"tab.active\"\n [disabled]=\"tab.disabled\">\n <mat-icon *ngIf=\"tab.icon || tab.svgIcon\"\n [svgIcon]=\"tab.svgIcon ? tab.svgIcon : ''\">\n {{ !tab.svgIcon && tab.icon ? tab.icon : '' }}\n </mat-icon>\n\n {{ tab.label }}\n </a>\n</nav>\n\n<ng-content> </ng-content>\n<ng-template dynamicTab\n #container>\n</ng-template>",
|
114
|
+
host: {
|
115
|
+
'class': 'gipi-tab-group',
|
116
|
+
},
|
117
|
+
styles: [":host{display:block;flex:1;width:100%;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}:host ::ng-deep .mat-tab-nav-bar{background:#f5f5f6;border:none;border-radius:.4rem;padding:.4rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)}:host ::ng-deep .mat-tab-links{display:flex;gap:1rem}:host ::ng-deep .mat-tab-link{height:auto!important;padding:1rem!important;opacity:1!important;border:none!important;border-radius:4px!important;transition:.2s!important;color:#595959!important;gap:1rem}:host ::ng-deep .mat-tab-link>mat-icon{width:2rem!important;height:2rem!important;font-size:2rem!important;color:#595959!important}:host ::ng-deep .mat-tab-link>mat-icon svg,:host ::ng-deep .mat-tab-link>mat-icon svg g path,:host ::ng-deep .mat-tab-link>mat-icon svg path{color:#595959!important;fill:#595959!important}:host ::ng-deep .mat-tab-link:not(.active):hover{background:#e0e1e2!important}:host ::ng-deep .mat-tab-link.active{background:#e0313e!important;color:#fff!important}:host ::ng-deep .mat-tab-link.active>mat-icon{color:#fff!important}:host ::ng-deep .mat-tab-link.active>mat-icon svg,:host ::ng-deep .mat-tab-link.active>mat-icon svg g path,:host ::ng-deep .mat-tab-link.active>mat-icon svg path{color:#fff!important;fill:#fff!important}:host ::ng-deep .mat-tab-link:disabled,:host ::ng-deep .mat-tab-link:disabled>mat-icon{color:#9a9da2!important;fill:#9a9da2!important}:host ::ng-deep .mat-tab-link:disabled svg,:host ::ng-deep .mat-tab-link:disabled svg g path,:host ::ng-deep .mat-tab-link:disabled svg path,:host ::ng-deep .mat-tab-link:disabled>mat-icon svg,:host ::ng-deep .mat-tab-link:disabled>mat-icon svg g path,:host ::ng-deep .mat-tab-link:disabled>mat-icon svg path{color:#9a9da2!important;fill:#9a9da2!important}:host ::ng-deep .mat-ink-bar{display:none!important}"]
|
118
|
+
}),
|
119
|
+
__metadata("design:paramtypes", [ElementRef,
|
120
|
+
ComponentFactoryResolver])
|
121
|
+
], GIPITabGroupComponent);
|
122
|
+
export { GIPITabGroupComponent };
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFicy90YWItZ3JvdXAvdGFiLWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaE4sT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBV3hELElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBTzlCLFlBQ1csVUFBc0IsRUFDckIseUJBQW1EO1FBRHBELGVBQVUsR0FBVixVQUFVLENBQVk7UUFDckIsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtRQUp4RCxnQkFBVyxHQUF1QixFQUFFLENBQUM7SUFLeEMsQ0FBQztJQUVMLFFBQVEsS0FBVyxDQUFDO0lBRXBCLGtCQUFrQjtRQUNkLE1BQU0sVUFBVSxHQUF1QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRixJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FB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QUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNsRCxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUMxQixXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQztDQUVKLENBQUE7O1lBeEcwQixVQUFVO1lBQ00sd0JBQXdCOztBQVA1QjtJQUFsQyxlQUFlLENBQUMsZ0JBQWdCLENBQUM7OEJBQWUsU0FBUzsyREFBbUI7QUFDdEI7SUFBdEQsU0FBUyxDQUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDOzhCQUF3Qix1QkFBdUI7b0VBQUM7QUFIN0YscUJBQXFCO0lBVGpDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxnQkFBZ0I7UUFDMUIsUUFBUSxFQUFFLGNBQWM7UUFDeEIsKzdCQUF5QztRQUV6QyxJQUFJLEVBQUU7WUFDRixPQUFPLEVBQUUsZ0JBQWdCO1NBQzVCOztLQUNKLENBQUM7cUNBU3lCLFVBQVU7UUFDTSx3QkFBd0I7R0FUdEQscUJBQXFCLENBZ0hqQztTQWhIWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIENvbXBvbmVudEZhY3RvcnksIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIE9uSW5pdCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEdJUElEeW5hbWljVGFiRGlyZWN0aXZlIH0gZnJvbSAnLi4vc2hhcmVkL2R5bmFtaWMtdGFiLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUYWJNb2RlbCB9IGZyb20gJy4uL3NoYXJlZC90YWIubW9kZWwnO1xuaW1wb3J0IHsgR0lQSVRhYkNvbXBvbmVudCB9IGZyb20gJy4uL3RhYi90YWIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdnaXBpLXRhYi1ncm91cCcsXG4gICAgZXhwb3J0QXM6ICdnaXBpVGFiR3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWItZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RhYi1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2dpcGktdGFiLWdyb3VwJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBHSVBJVGFiR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkluaXQge1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihHSVBJVGFiQ29tcG9uZW50KSB0YWJRdWVyeUxpc3Q6IFF1ZXJ5TGlzdDxHSVBJVGFiQ29tcG9uZW50PjtcbiAgICBAVmlld0NoaWxkKEdJUElEeW5hbWljVGFiRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UgfSkgZHluYW1pY1RhYlBsYWNlaG9sZGVyOiBHSVBJRHluYW1pY1RhYkRpcmVjdGl2ZTtcblxuICAgIHB1YmxpYyBkeW5hbWljVGFiczogR0lQSVRhYkNvbXBvbmVudFtdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyXG4gICAgKSB7IH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQgeyB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVRhYnM6IEdJUElUYWJDb21wb25lbnRbXSA9IHRoaXMudGFiUXVlcnlMaXN0LmZpbHRlcih0YWIgPT4gdGFiLmFjdGl2ZSk7XG4gICAgICAgIGlmIChhY3RpdmVUYWJzLmxlbmd0aCA9PT0gMCAmJiB0aGlzLnRhYlF1ZXJ5TGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdFRhYih0aGlzLnRhYlF1ZXJ5TGlzdC5maXJzdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlblRhYihsYWJlbDogc3RyaW5nLCB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT4sIGRhdGE/OiBhbnksIGNsb3NlYWJsZTogYm9vbGVhbiA9IGZhbHNlLCBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlLCBhY3Rpb24/OiAob2JqOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFiOiBUYWJNb2RlbCA9IG5ldyBUYWJNb2RlbCgpO1xuICAgICAgICB0YWIubGFiZWwgPSBsYWJlbDtcbiAgICAgICAgdGFiLnRlbXBsYXRlID0gdGVtcGxhdGU7XG4gICAgICAgIHRhYi5kYXRhID0gZGF0YTtcbiAgICAgICAgdGFiLmNsb3NlYWJsZSA9IGNsb3NlYWJsZTtcbiAgICAgICAgdGFiLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgICAgIHRhYi5hY3Rpb24gPSBhY3Rpb247XG4gICAgICAgIHRoaXMuX29wZW5UYWJzKEFycmF5KHRhYikpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX29wZW5UYWJzKHRhYkxpc3Q6IFRhYk1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFic0NvbXBvbmVudDogR0lQSVRhYkNvbXBvbmVudFtdID0gdGFiTGlzdC5tYXAodGFiID0+IHRoaXMuX2dldFRhYkNvbXBvbmVudCh0YWIubGFiZWwsIHRhYi50ZW1wbGF0ZSwgdGFiLmRhdGEsIHRhYi5jbG9zZWFibGUsIHRhYi5kaXNhYmxlZCwgdGFiLmFjdGlvbikpO1xuICAgICAgICB0aGlzLmR5bmFtaWNUYWJzLnB1c2goLi4udGFic0NvbXBvbmVudCk7XG4gICAgICAgIHRoaXMuc2VsZWN0VGFiKHRoaXMuZHluYW1pY1RhYnNbMF0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFRhYkNvbXBvbmVudChsYWJlbDogc3RyaW5nLCB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT4sIGRhdGE/OiBhbnksIGNsb3NlYWJsZTogYm9vbGVhbiA9IGZhbHNlLCBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlLCBhY3Rpb24/OiAob2JqOiBhbnkpID0+IHZvaWQpOiBHSVBJVGFiQ29tcG9uZW50IHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeTxHSVBJVGFiQ29tcG9uZW50PiA9IHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShHSVBJVGFiQ29tcG9uZW50KTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8R0lQSVRhYkNvbXBvbmVudD4gPSB0aGlzLmR5bmFtaWNUYWJQbGFjZWhvbGRlci52aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcblxuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgICAgaW5zdGFuY2UubGFiZWwgPSBsYWJlbDtcbiAgICAgICAgaW5zdGFuY2UudGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgICAgICAgaW5zdGFuY2UuZGF0YSA9IGRhdGE7XG4gICAgICAgIGluc3RhbmNlLmNsb3NlYWJsZSA9IGNsb3NlYWJsZTtcbiAgICAgICAgaW5zdGFuY2UuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICAgICAgaW5zdGFuY2UuYWN0aW9uID0gYWN0aW9uO1xuXG4gICAgICAgIHJldHVybiBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdFRhYih0YWI6IEdJUElUYWJDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWJRdWVyeUxpc3QudG9BcnJheSgpLmZvckVhY2godCA9PiAodC5hY3RpdmUgPSBmYWxzZSkpO1xuICAgICAgICB0aGlzLmR5bmFtaWNUYWJzLmZvckVhY2godCA9PiAodC5hY3RpdmUgPSBmYWxzZSkpO1xuICAgICAgICB0YWIuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgdGFiLnNlbGVjdGlvbkNoYW5nZS5lbWl0KCk7XG5cbiAgICAgICAgaWYgKHRhYi5hY3Rpb24pIHtcbiAgICAgICAgICAgIHRhYi5hY3Rpb24odGFiLmRhdGEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlVGFiKHRhYjogR0lQSVRhYkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbmRleDogbnVtYmVyID0gdGhpcy5keW5hbWljVGFicy5pbmRleE9mKHRhYik7XG4gICAgICAgIHRoaXMuZHluYW1pY1RhYnMuc3BsaWNlKGluZGV4LCAxKTtcblxuICAgICAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmID0gdGhpcy5keW5hbWljVGFiUGxhY2Vob2xkZXIudmlld0NvbnRhaW5lcjtcbiAgICAgICAgdmlld0NvbnRhaW5lclJlZi5yZW1vdmUoaW5kZXgpO1xuXG4gICAgICAgIGlmICh0aGlzLnRhYlF1ZXJ5TGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdFRhYih0aGlzLnRhYlF1ZXJ5TGlzdC5maXJzdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VBY3RpdmVUYWIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVRhYnMgPSB0aGlzLmR5bmFtaWNUYWJzLmZpbHRlcih0YWIgPT4gdGFiLmFjdGl2ZSk7XG4gICAgICAgIGlmIChhY3RpdmVUYWJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VUYWIoYWN0aXZlVGFic1swXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VBbGxUYWJzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0YWJzID0gT2JqZWN0LmFzc2lnbihbXSwgdGhpcy5keW5hbWljVGFicyk7XG4gICAgICAgIGlmICh0YWJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRhYnMuZm9yRWFjaCh0YWIgPT4gdGhpcy5jbG9zZVRhYih0YWIpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZXh0VGFiKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50VGFiOiBHSVBJVGFiQ29tcG9uZW50ID0gdGhpcy50YWJRdWVyeUxpc3QudG9BcnJheSgpLmZpbmQodGFiID0+IHRhYi5hY3RpdmUpO1xuICAgICAgICBjb25zdCBuZXh0VGFiOiBHSVBJVGFiQ29tcG9uZW50ID0gdGhpcy50YWJRdWVyeUxpc3QudG9BcnJheSgpW3RoaXMudGFiUXVlcnlMaXN0LnRvQXJyYXkoKS5pbmRleE9mKGN1cnJlbnRUYWIpICsgMV07XG4gICAgICAgIGlmIChuZXh0VGFiICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMudGFiUXVlcnlMaXN0LnRvQXJyYXkoKS5mb3JFYWNoKHQgPT4gKHQuYWN0aXZlID0gZmFsc2UpKTtcbiAgICAgICAgICAgIHRoaXMuZHluYW1pY1RhYnMuZm9yRWFjaCh0ID0+ICh0LmFjdGl2ZSA9IGZhbHNlKSk7XG4gICAgICAgICAgICBuZXh0VGFiLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICBuZXh0VGFiLnNlbGVjdGlvbkNoYW5nZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcHJldmlvdXNUYWIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRUYWI6IEdJUElUYWJDb21wb25lbnQgPSB0aGlzLnRhYlF1ZXJ5TGlzdC50b0FycmF5KCkuZmluZCh0YWIgPT4gdGFiLmFjdGl2ZSk7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzVGFiOiBHSVBJVGFiQ29tcG9uZW50ID0gdGhpcy50YWJRdWVyeUxpc3QudG9BcnJheSgpW3RoaXMudGFiUXVlcnlMaXN0LnRvQXJyYXkoKS5pbmRleE9mKGN1cnJlbnRUYWIpIC0gMV07XG4gICAgICAgIGlmIChwcmV2aW91c1RhYiAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnRhYlF1ZXJ5TGlzdC50b0FycmF5KCkuZm9yRWFjaCh0ID0+ICh0LmFjdGl2ZSA9IGZhbHNlKSk7XG4gICAgICAgICAgICB0aGlzLmR5bmFtaWNUYWJzLmZvckVhY2godCA9PiAodC5hY3RpdmUgPSBmYWxzZSkpO1xuICAgICAgICAgICAgcHJldmlvdXNUYWIuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIHByZXZpb3VzVGFiLnNlbGVjdGlvbkNoYW5nZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuIl19
|