@wemake4u/form-player-se 1.0.47 → 1.0.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD_PARTY_LICENSES.txt +6 -0
- package/esm2022/lib/builtIn/function.json +16 -0
- package/esm2022/lib/components/actionsCellRenderer/actionsCellRenderer.component.mjs +18 -14
- package/esm2022/lib/components/badge/badge.component.mjs +16 -0
- package/esm2022/lib/components/hostCellRenderer/hostCellRenderer.component.mjs +10 -8
- package/esm2022/lib/controls/factory.mjs +7 -1
- package/esm2022/lib/controls/navigator.mjs +4 -0
- package/esm2022/lib/controls/treerlist.mjs +4 -0
- package/esm2022/lib/dialog/dialog.component.mjs +10 -8
- package/esm2022/lib/directives/collapse.directive.mjs +3 -3
- package/esm2022/lib/directives/date.directive.mjs +139 -44
- package/esm2022/lib/directives/dialog.directive.mjs +7 -1
- package/esm2022/lib/directives/dropdown.directive.mjs +13 -8
- package/esm2022/lib/directives/filepicker.directive.mjs +34 -0
- package/esm2022/lib/directives/navigator.directive.mjs +76 -0
- package/esm2022/lib/directives/repeat.directive.mjs +8 -7
- package/esm2022/lib/directives/tab.badge.directive.mjs +95 -0
- package/esm2022/lib/directives/tabitem.directive.mjs +7 -4
- package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +50 -84
- package/esm2022/lib/dynamic-form/dynamic-form.component.mjs +11 -8
- package/esm2022/lib/pipes/times.mjs +14 -0
- package/esm2022/lib/services/builder.service.mjs +43 -89
- package/esm2022/lib/services/compute.service.mjs +7 -7
- package/esm2022/lib/services/dialog.service.mjs +35 -4
- package/esm2022/lib/services/disable.service.mjs +29 -10
- package/esm2022/lib/services/event.service.mjs +14 -12
- package/esm2022/lib/services/form.service.mjs +32 -46
- package/esm2022/lib/services/function.service.mjs +6 -2
- package/esm2022/lib/services/grid.service.mjs +20 -14
- package/esm2022/lib/services/lifetime.service.mjs +36 -0
- package/esm2022/lib/services/programmability.service.mjs +21 -17
- package/esm2022/lib/services/status.service.mjs +88 -25
- package/esm2022/lib/services/validation.service.mjs +7 -7
- package/esm2022/lib/utils/FormArrayEx.mjs +63 -0
- package/esm2022/lib/utils/window.mjs +3 -2
- package/fesm2022/wemake4u-form-player-se.mjs +889 -399
- package/fesm2022/wemake4u-form-player-se.mjs.map +1 -1
- package/lib/components/badge/badge.component.d.ts +13 -0
- package/lib/controls/navigator.d.ts +3 -0
- package/lib/controls/treerlist.d.ts +3 -0
- package/lib/dialog/dialog.component.d.ts +2 -2
- package/lib/directives/collapse.directive.d.ts +3 -2
- package/lib/directives/date.directive.d.ts +15 -4
- package/lib/directives/dropdown.directive.d.ts +2 -2
- package/lib/directives/filepicker.directive.d.ts +11 -0
- package/lib/directives/navigator.directive.d.ts +22 -0
- package/lib/directives/tab.badge.directive.d.ts +28 -0
- package/lib/directives/tabitem.directive.d.ts +2 -1
- package/lib/dynamic-fields/dynamic-fields.component.d.ts +9 -8
- package/lib/dynamic-form/dynamic-form.component.d.ts +1 -1
- package/lib/pipes/times.d.ts +7 -0
- package/lib/services/builder.service.d.ts +6 -10
- package/lib/services/compute.service.d.ts +2 -1
- package/lib/services/dialog.service.d.ts +10 -3
- package/lib/services/disable.service.d.ts +5 -1
- package/lib/services/event.service.d.ts +1 -1
- package/lib/services/form.service.d.ts +5 -2
- package/lib/services/function.service.d.ts +1 -0
- package/lib/services/grid.service.d.ts +1 -1
- package/lib/services/lifetime.service.d.ts +12 -0
- package/lib/services/programmability.service.d.ts +3 -1
- package/lib/services/status.service.d.ts +18 -4
- package/lib/services/validation.service.d.ts +2 -1
- package/lib/utils/FormArrayEx.d.ts +26 -0
- package/package.json +3 -2
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Directive, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class NavigatorStateDirective {
|
|
4
|
+
_total = 0;
|
|
5
|
+
_index = 0;
|
|
6
|
+
_requestedIndex = 0;
|
|
7
|
+
initialized = false;
|
|
8
|
+
ngAfterViewInit() {
|
|
9
|
+
this.initialized = true;
|
|
10
|
+
}
|
|
11
|
+
indexChange = new EventEmitter();
|
|
12
|
+
set total(value) {
|
|
13
|
+
this._total = value ?? 0;
|
|
14
|
+
this.recalculate(false);
|
|
15
|
+
}
|
|
16
|
+
get total() {
|
|
17
|
+
return this._total;
|
|
18
|
+
}
|
|
19
|
+
get index() {
|
|
20
|
+
return this._index;
|
|
21
|
+
}
|
|
22
|
+
set index(value) {
|
|
23
|
+
this._requestedIndex = value ?? 0;
|
|
24
|
+
this.recalculate(true);
|
|
25
|
+
}
|
|
26
|
+
canNext() {
|
|
27
|
+
return this._index < this._total - 1;
|
|
28
|
+
}
|
|
29
|
+
canPrevious() {
|
|
30
|
+
return this._index > 0;
|
|
31
|
+
}
|
|
32
|
+
next() {
|
|
33
|
+
if (this.canNext())
|
|
34
|
+
this.setIndex(this._index + 1, true);
|
|
35
|
+
}
|
|
36
|
+
previous() {
|
|
37
|
+
if (this.canPrevious())
|
|
38
|
+
this.setIndex(this._index - 1, true);
|
|
39
|
+
}
|
|
40
|
+
recalculate(preserveIndex) {
|
|
41
|
+
const newIndex = Math.max(0, Math.min(this._requestedIndex, this._total - 1));
|
|
42
|
+
if (newIndex === this._index) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
this._index = newIndex;
|
|
46
|
+
if (!preserveIndex)
|
|
47
|
+
this._requestedIndex = this._index;
|
|
48
|
+
if (this.initialized) {
|
|
49
|
+
this.indexChange.emit(this._index);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
setIndex(value, emit) {
|
|
53
|
+
if (value == null || isNaN(value)) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
this._requestedIndex = value;
|
|
57
|
+
this.recalculate(false);
|
|
58
|
+
}
|
|
59
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigatorStateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
60
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: NavigatorStateDirective, isStandalone: true, selector: "[navigatorState]", inputs: { total: "total", index: "index" }, outputs: { indexChange: "indexChange" }, exportAs: ["navigatorState"], ngImport: i0 });
|
|
61
|
+
}
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigatorStateDirective, decorators: [{
|
|
63
|
+
type: Directive,
|
|
64
|
+
args: [{
|
|
65
|
+
selector: '[navigatorState]',
|
|
66
|
+
exportAs: 'navigatorState',
|
|
67
|
+
standalone: true
|
|
68
|
+
}]
|
|
69
|
+
}], propDecorators: { indexChange: [{
|
|
70
|
+
type: Output
|
|
71
|
+
}], total: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], index: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}] } });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpcmVjdGl2ZXMvbmF2aWdhdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPdEYsTUFBTSxPQUFPLHVCQUF1QjtJQUMxQixNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ1gsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNYLGVBQWUsR0FBRyxDQUFDLENBQUM7SUFDcEIsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUU1QixlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUdELFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXpDLElBQ0ksS0FBSyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVPLFdBQVcsQ0FBQyxhQUFzQjtRQUV4QyxNQUFNLFFBQVEsR0FDWixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9ELElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDO1FBRXZCLElBQUksQ0FBQyxhQUFhO1lBQ2hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUVyQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFTyxRQUFRLENBQUMsS0FBYSxFQUFFLElBQWE7UUFFM0MsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO3dHQTVFVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBWUMsV0FBVztzQkFEVixNQUFNO2dCQUlILEtBQUs7c0JBRFIsS0FBSztnQkFVRixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbbmF2aWdhdG9yU3RhdGVdJyxcclxuICBleHBvcnRBczogJ25hdmlnYXRvclN0YXRlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0b3JTdGF0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIHByaXZhdGUgX3RvdGFsID0gMDtcclxuICBwcml2YXRlIF9pbmRleCA9IDA7XHJcbiAgcHJpdmF0ZSBfcmVxdWVzdGVkSW5kZXggPSAwO1xyXG4gIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBpbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCB0b3RhbCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl90b3RhbCA9IHZhbHVlID8/IDA7XHJcbiAgICB0aGlzLnJlY2FsY3VsYXRlKGZhbHNlKTtcclxuICB9XHJcbiAgZ2V0IHRvdGFsKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fdG90YWw7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBpbmRleCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2luZGV4O1xyXG4gIH1cclxuICBzZXQgaW5kZXgodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fcmVxdWVzdGVkSW5kZXggPSB2YWx1ZSA/PyAwO1xyXG4gICAgdGhpcy5yZWNhbGN1bGF0ZSh0cnVlKTtcclxuICB9XHJcblxyXG4gIGNhbk5leHQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5kZXggPCB0aGlzLl90b3RhbCAtIDE7XHJcbiAgfVxyXG5cclxuICBjYW5QcmV2aW91cygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9pbmRleCA+IDA7XHJcbiAgfVxyXG5cclxuICBuZXh0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY2FuTmV4dCgpKVxyXG4gICAgICB0aGlzLnNldEluZGV4KHRoaXMuX2luZGV4ICsgMSwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwcmV2aW91cygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNhblByZXZpb3VzKCkpXHJcbiAgICAgIHRoaXMuc2V0SW5kZXgodGhpcy5faW5kZXggLSAxLCB0cnVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVjYWxjdWxhdGUocHJlc2VydmVJbmRleDogYm9vbGVhbik6IHZvaWQge1xyXG5cclxuICAgIGNvbnN0IG5ld0luZGV4ID1cclxuICAgICAgTWF0aC5tYXgoMCwgTWF0aC5taW4odGhpcy5fcmVxdWVzdGVkSW5kZXgsIHRoaXMuX3RvdGFsIC0gMSkpO1xyXG5cclxuICAgIGlmIChuZXdJbmRleCA9PT0gdGhpcy5faW5kZXgpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2luZGV4ID0gbmV3SW5kZXg7XHJcblxyXG4gICAgaWYgKCFwcmVzZXJ2ZUluZGV4KVxyXG4gICAgICB0aGlzLl9yZXF1ZXN0ZWRJbmRleCA9IHRoaXMuX2luZGV4O1xyXG5cclxuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XHJcbiAgICAgIHRoaXMuaW5kZXhDaGFuZ2UuZW1pdCh0aGlzLl9pbmRleCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEluZGV4KHZhbHVlOiBudW1iZXIsIGVtaXQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuXHJcbiAgICBpZiAodmFsdWUgPT0gbnVsbCB8fCBpc05hTih2YWx1ZSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3JlcXVlc3RlZEluZGV4ID0gdmFsdWU7XHJcbiAgICB0aGlzLnJlY2FsY3VsYXRlKGZhbHNlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
import { FormArrayEx } from '../utils/FormArrayEx';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@angular/forms";
|
|
5
6
|
export class RepeatDirective {
|
|
@@ -11,11 +12,11 @@ export class RepeatDirective {
|
|
|
11
12
|
}
|
|
12
13
|
ngOnChanges(changes) {
|
|
13
14
|
if (changes["repeat"] || changes["allowAddRemove"]) {
|
|
14
|
-
const
|
|
15
|
-
if (
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
15
|
+
const control = this.controlContainer.control;
|
|
16
|
+
if (!(control instanceof FormArrayEx))
|
|
17
|
+
return;
|
|
18
|
+
if (Number.isInteger(this.repeat) && this.repeat >= 0) {
|
|
19
|
+
control.resize(this.repeat, () => new FormGroup({}));
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
}
|
|
@@ -33,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
33
34
|
}], allowAddRemove: [{
|
|
34
35
|
type: Input
|
|
35
36
|
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpcmVjdGl2ZXMvcmVwZWF0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFvQixTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQU1uRCxNQUFNLE9BQU8sZUFBZTtJQUlOO0lBSFgsTUFBTSxHQUFRLElBQUksQ0FBQztJQUNuQixjQUFjLEdBQW1CLElBQUksQ0FBQztJQUUvQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFJLENBQUM7SUFFM0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztZQUU5QyxJQUFJLENBQUMsQ0FBQyxPQUFPLFlBQVksV0FBVyxDQUFDO2dCQUNuQyxPQUFPO1lBRVQsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN0RCxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2RCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7d0dBakJVLGVBQWU7NEZBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7cUZBRVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGb3JtQXJyYXlFeCB9IGZyb20gJy4uL3V0aWxzL0Zvcm1BcnJheUV4JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3JlcGVhdF0sIFthbGxvd0FkZFJlbW92ZV0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcGVhdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgcmVwZWF0OiBhbnkgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGFsbG93QWRkUmVtb3ZlOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcikgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzW1wicmVwZWF0XCJdIHx8IGNoYW5nZXNbXCJhbGxvd0FkZFJlbW92ZVwiXSkge1xyXG4gICAgICBjb25zdCBjb250cm9sID0gdGhpcy5jb250cm9sQ29udGFpbmVyLmNvbnRyb2w7XHJcblxyXG4gICAgICBpZiAoIShjb250cm9sIGluc3RhbmNlb2YgRm9ybUFycmF5RXgpKVxyXG4gICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgIGlmIChOdW1iZXIuaXNJbnRlZ2VyKHRoaXMucmVwZWF0KSAmJiB0aGlzLnJlcGVhdCA+PSAwKSB7XHJcbiAgICAgICAgY29udHJvbC5yZXNpemUodGhpcy5yZXBlYXQsICgpID0+IG5ldyBGb3JtR3JvdXAoe30pKTtcclxuICAgICAgfSAgICAgIFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { createComponent, Directive, Input } from '@angular/core';
|
|
2
|
+
import { BadgeComponent } from '../components/badge/badge.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class TabBadgesDirective {
|
|
5
|
+
host;
|
|
6
|
+
appRef;
|
|
7
|
+
environmentInjector;
|
|
8
|
+
renderer;
|
|
9
|
+
destroyRef;
|
|
10
|
+
constructor(host, appRef, environmentInjector, renderer, destroyRef) {
|
|
11
|
+
this.host = host;
|
|
12
|
+
this.appRef = appRef;
|
|
13
|
+
this.environmentInjector = environmentInjector;
|
|
14
|
+
this.renderer = renderer;
|
|
15
|
+
this.destroyRef = destroyRef;
|
|
16
|
+
this.destroyRef.onDestroy(() => {
|
|
17
|
+
this.dispose();
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
ngAfterViewInit() {
|
|
21
|
+
for (const [index, badge] of this.pendingBadges) {
|
|
22
|
+
this.setBadge(index, badge);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
setBadge(index, badge) {
|
|
26
|
+
this.pendingBadges.set(index, badge);
|
|
27
|
+
let badgeRef = this.badges.get(index);
|
|
28
|
+
if (!badgeRef) {
|
|
29
|
+
const anchor = this.findAnchor(index);
|
|
30
|
+
if (!anchor)
|
|
31
|
+
return;
|
|
32
|
+
badgeRef = this.createBadge(anchor);
|
|
33
|
+
this.badges.set(index, badgeRef);
|
|
34
|
+
}
|
|
35
|
+
badgeRef.setInput('badge', badge);
|
|
36
|
+
}
|
|
37
|
+
badges = new Map();
|
|
38
|
+
pendingBadges = new Map();
|
|
39
|
+
findAnchor(index) {
|
|
40
|
+
const anchors = this.host.nativeElement.querySelectorAll('ngx-sirio-tab-nav-item a');
|
|
41
|
+
return anchors.item(index);
|
|
42
|
+
}
|
|
43
|
+
createBadge(anchor) {
|
|
44
|
+
const badgeRef = createComponent(BadgeComponent, {
|
|
45
|
+
environmentInjector: this.environmentInjector
|
|
46
|
+
});
|
|
47
|
+
this.appRef.attachView(badgeRef.hostView);
|
|
48
|
+
this.renderer.appendChild(anchor, badgeRef.location.nativeElement);
|
|
49
|
+
return badgeRef;
|
|
50
|
+
}
|
|
51
|
+
dispose() {
|
|
52
|
+
for (const badgeRef of this.badges.values()) {
|
|
53
|
+
badgeRef.destroy();
|
|
54
|
+
}
|
|
55
|
+
this.badges.clear();
|
|
56
|
+
}
|
|
57
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabBadgesDirective, deps: [{ token: i0.ElementRef }, { token: i0.ApplicationRef }, { token: i0.EnvironmentInjector }, { token: i0.Renderer2 }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
58
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TabBadgesDirective, isStandalone: true, selector: "[tabBadges]", exportAs: ["tabBadges"], ngImport: i0 });
|
|
59
|
+
}
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabBadgesDirective, decorators: [{
|
|
61
|
+
type: Directive,
|
|
62
|
+
args: [{
|
|
63
|
+
selector: '[tabBadges]',
|
|
64
|
+
exportAs: 'tabBadges',
|
|
65
|
+
standalone: true
|
|
66
|
+
}]
|
|
67
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ApplicationRef }, { type: i0.EnvironmentInjector }, { type: i0.Renderer2 }, { type: i0.DestroyRef }] });
|
|
68
|
+
export class TabBadgeDirective {
|
|
69
|
+
tabBadges;
|
|
70
|
+
tabIndex;
|
|
71
|
+
badge = null;
|
|
72
|
+
ngOnChanges(changes) {
|
|
73
|
+
if (!changes['badge'])
|
|
74
|
+
return;
|
|
75
|
+
this.tabBadges?.setBadge(this.tabIndex, this.badge);
|
|
76
|
+
}
|
|
77
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabBadgeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
78
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TabBadgeDirective, isStandalone: true, selector: "[tabBadge]", inputs: { tabBadges: "tabBadges", tabIndex: "tabIndex", badge: "badge" }, usesOnChanges: true, ngImport: i0 });
|
|
79
|
+
}
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabBadgeDirective, decorators: [{
|
|
81
|
+
type: Directive,
|
|
82
|
+
args: [{
|
|
83
|
+
selector: '[tabBadge]',
|
|
84
|
+
standalone: true
|
|
85
|
+
}]
|
|
86
|
+
}], propDecorators: { tabBadges: [{
|
|
87
|
+
type: Input,
|
|
88
|
+
args: [{ required: true }]
|
|
89
|
+
}], tabIndex: [{
|
|
90
|
+
type: Input,
|
|
91
|
+
args: [{ required: true }]
|
|
92
|
+
}], badge: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}] } });
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmJhZGdlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpcmVjdGl2ZXMvdGFiLmJhZGdlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsZUFBZSxFQUFjLFNBQVMsRUFDdEMsS0FBSyxFQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQVMsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFPNUUsTUFBTSxPQUFPLGtCQUFrQjtJQUVuQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBTFYsWUFDVSxJQUFnQixFQUNoQixNQUFzQixFQUN0QixtQkFBd0MsRUFDeEMsUUFBbUIsRUFDbkIsVUFBc0I7UUFKdEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUU5QixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDYixLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWEsRUFBRSxLQUFtQjtRQUV6QyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFckMsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBRWQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUV0QyxJQUFJLENBQUMsTUFBTTtnQkFDVCxPQUFPO1lBRVQsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFFRCxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sTUFBTSxHQUFHLElBQUksR0FBRyxFQUF3QyxDQUFDO0lBRXpELGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBd0IsQ0FBQztJQUVoRCxVQUFVLENBQUMsS0FBYTtRQUU5QixNQUFNLE9BQU8sR0FDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FDdEMsMEJBQTBCLENBQzNCLENBQUM7UUFFSixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVPLFdBQVcsQ0FBQyxNQUFtQjtRQUVyQyxNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsY0FBYyxFQUFFO1lBQy9DLG1CQUFtQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7U0FDOUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUN2QixNQUFNLEVBQ04sUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQ2hDLENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU8sT0FBTztRQUViLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQzVDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyQixDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO3dHQTdFVSxrQkFBa0I7NEZBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFMOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7QUFxRkQsTUFBTSxPQUFPLGlCQUFpQjtJQUNELFNBQVMsQ0FBc0I7SUFDL0IsUUFBUSxDQUFVO0lBQ3BDLEtBQUssR0FBaUIsSUFBSSxDQUFDO0lBRXBDLFdBQVcsQ0FBQyxPQUFzQjtRQUVoQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUNuQixPQUFPO1FBRVQsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQ3RCLElBQUksQ0FBQyxRQUFRLEVBQ2IsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO0lBQ0osQ0FBQzt3R0FkVSxpQkFBaUI7NEZBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQUU0QixTQUFTO3NCQUFuQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxRQUFRO3NCQUFsQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDaEIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LCBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50UmVmXHJcbiAgLCBjcmVhdGVDb21wb25lbnQsIERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRW52aXJvbm1lbnRJbmplY3RvclxyXG4gICwgSW5wdXQsIE9uQ2hhbmdlcywgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50LCBCYWRnZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UuY29tcG9uZW50JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3RhYkJhZGdlc10nLFxyXG4gIGV4cG9ydEFzOiAndGFiQmFkZ2VzJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJCYWRnZXNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaG9zdDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcclxuICAgIHByaXZhdGUgZW52aXJvbm1lbnRJbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3RvcixcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgZGVzdHJveVJlZjogRGVzdHJveVJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZGlzcG9zZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBmb3IgKGNvbnN0IFtpbmRleCwgYmFkZ2VdIG9mIHRoaXMucGVuZGluZ0JhZGdlcykge1xyXG4gICAgICB0aGlzLnNldEJhZGdlKGluZGV4LCBiYWRnZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRCYWRnZShpbmRleDogbnVtYmVyLCBiYWRnZTogQmFkZ2UgfCBudWxsKSB7XHJcblxyXG4gICAgdGhpcy5wZW5kaW5nQmFkZ2VzLnNldChpbmRleCwgYmFkZ2UpO1xyXG5cclxuICAgIGxldCBiYWRnZVJlZiA9IHRoaXMuYmFkZ2VzLmdldChpbmRleCk7XHJcblxyXG4gICAgaWYgKCFiYWRnZVJlZikge1xyXG5cclxuICAgICAgY29uc3QgYW5jaG9yID0gdGhpcy5maW5kQW5jaG9yKGluZGV4KTtcclxuXHJcbiAgICAgIGlmICghYW5jaG9yKVxyXG4gICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgIGJhZGdlUmVmID0gdGhpcy5jcmVhdGVCYWRnZShhbmNob3IpO1xyXG5cclxuICAgICAgdGhpcy5iYWRnZXMuc2V0KGluZGV4LCBiYWRnZVJlZik7XHJcbiAgICB9XHJcblxyXG4gICAgYmFkZ2VSZWYuc2V0SW5wdXQoJ2JhZGdlJywgYmFkZ2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBiYWRnZXMgPSBuZXcgTWFwPG51bWJlciwgQ29tcG9uZW50UmVmPEJhZGdlQ29tcG9uZW50Pj4oKTtcclxuXHJcbiAgcHJpdmF0ZSBwZW5kaW5nQmFkZ2VzID0gbmV3IE1hcDxudW1iZXIsIEJhZGdlIHwgbnVsbD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBmaW5kQW5jaG9yKGluZGV4OiBudW1iZXIpOiBIVE1MRWxlbWVudCB8IG51bGwge1xyXG5cclxuICAgIGNvbnN0IGFuY2hvcnMgPVxyXG4gICAgICB0aGlzLmhvc3QubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFxyXG4gICAgICAgICduZ3gtc2lyaW8tdGFiLW5hdi1pdGVtIGEnXHJcbiAgICAgICk7XHJcblxyXG4gICAgcmV0dXJuIGFuY2hvcnMuaXRlbShpbmRleCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUJhZGdlKGFuY2hvcjogSFRNTEVsZW1lbnQpOiBDb21wb25lbnRSZWY8QmFkZ2VDb21wb25lbnQ+IHtcclxuXHJcbiAgICBjb25zdCBiYWRnZVJlZiA9IGNyZWF0ZUNvbXBvbmVudChCYWRnZUNvbXBvbmVudCwge1xyXG4gICAgICBlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLmVudmlyb25tZW50SW5qZWN0b3JcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcoYmFkZ2VSZWYuaG9zdFZpZXcpO1xyXG5cclxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoXHJcbiAgICAgIGFuY2hvcixcclxuICAgICAgYmFkZ2VSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudFxyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4gYmFkZ2VSZWY7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRpc3Bvc2UoKTogdm9pZCB7XHJcblxyXG4gICAgZm9yIChjb25zdCBiYWRnZVJlZiBvZiB0aGlzLmJhZGdlcy52YWx1ZXMoKSkge1xyXG4gICAgICBiYWRnZVJlZi5kZXN0cm95KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5iYWRnZXMuY2xlYXIoKTtcclxuICB9XHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3RhYkJhZGdlXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFiQmFkZ2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHRhYkJhZGdlcyE6IFRhYkJhZGdlc0RpcmVjdGl2ZTtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB0YWJJbmRleCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBiYWRnZTogQmFkZ2UgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG5cclxuICAgIGlmICghY2hhbmdlc1snYmFkZ2UnXSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMudGFiQmFkZ2VzPy5zZXRCYWRnZShcclxuICAgICAgdGhpcy50YWJJbmRleCxcclxuICAgICAgdGhpcy5iYWRnZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -3,14 +3,15 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
export class TabItemDirective {
|
|
4
4
|
componentRef;
|
|
5
5
|
disabled;
|
|
6
|
+
label;
|
|
6
7
|
ngOnChanges(changes) {
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
const tabControl = this.componentRef;
|
|
9
|
+
if (changes["disabled"] || changes["label"]) {
|
|
9
10
|
tabControl.cd.markForCheck();
|
|
10
11
|
}
|
|
11
12
|
}
|
|
12
13
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
13
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TabItemDirective, isStandalone: true, selector: "[tabItem]", inputs: { componentRef: "componentRef", disabled: "disabled" }, usesOnChanges: true, ngImport: i0 });
|
|
14
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TabItemDirective, isStandalone: true, selector: "[tabItem]", inputs: { componentRef: "componentRef", disabled: "disabled", label: "label" }, usesOnChanges: true, ngImport: i0 });
|
|
14
15
|
}
|
|
15
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabItemDirective, decorators: [{
|
|
16
17
|
type: Directive,
|
|
@@ -22,5 +23,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
22
23
|
type: Input
|
|
23
24
|
}], disabled: [{
|
|
24
25
|
type: Input
|
|
26
|
+
}], label: [{
|
|
27
|
+
type: Input
|
|
25
28
|
}] } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9kaXJlY3RpdmVzL3RhYml0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7QUFPM0UsTUFBTSxPQUFPLGdCQUFnQjtJQUNsQixZQUFZLENBQU07SUFDbEIsUUFBUSxDQUFNO0lBQ2QsS0FBSyxDQUFNO0lBRXBCLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLFVBQVUsR0FBUSxJQUFJLENBQUMsWUFBaUMsQ0FBQztRQUMvRCxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxVQUFVLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO3dHQVZVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBRVUsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTaXJpb1RhYkNvbXBvbmVudCB9IGZyb20gJ25neC1zaXJpby1saWInO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbdGFiSXRlbV0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYkl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIGNvbXBvbmVudFJlZjogYW55O1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBhbnk7XHJcbiAgQElucHV0KCkgbGFiZWw6IGFueTtcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgdGFiQ29udHJvbDogYW55ID0gdGhpcy5jb21wb25lbnRSZWYgYXMgU2lyaW9UYWJDb21wb25lbnQ7XHJcbiAgICBpZiAoY2hhbmdlc1tcImRpc2FibGVkXCJdIHx8IGNoYW5nZXNbXCJsYWJlbFwiXSkge1xyXG4gICAgICB0YWJDb250cm9sLmNkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|