@wizishop/angular-components 0.0.110 → 0.0.113
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/angular-components.scss +4765 -4765
- package/bundles/wizishop-angular-components.umd.js +57 -62
- package/bundles/wizishop-angular-components.umd.js.map +1 -1
- package/bundles/wizishop-angular-components.umd.min.js +1 -1
- package/bundles/wizishop-angular-components.umd.min.js.map +1 -1
- package/esm2015/lib/components/button/button.component.js +28 -32
- package/esm2015/lib/components/selected-list/selected-list.component.js +28 -29
- package/fesm2015/wizishop-angular-components.js +54 -61
- package/fesm2015/wizishop-angular-components.js.map +1 -1
- package/lib/components/button/button.component.d.ts +2 -2
- package/lib/components/selected-list/selected-list.component.d.ts +8 -5
- package/package.json +1 -1
- package/wizishop-angular-components-0.0.113.tgz +0 -0
- package/wizishop-angular-components.metadata.json +1 -1
- package/wizishop-angular-components-0.0.110.tgz +0 -0
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { interval } from 'rxjs';
|
|
3
|
+
import { takeWhile } from 'rxjs/operators';
|
|
2
4
|
export class ButtonComponent {
|
|
3
5
|
constructor() {
|
|
4
6
|
this.extraClasses = 'is-info';
|
|
@@ -28,9 +30,10 @@ export class ButtonComponent {
|
|
|
28
30
|
this.buttonWidthDelete = '0px';
|
|
29
31
|
this.currentLoading = 0;
|
|
30
32
|
}
|
|
31
|
-
set isLoading(
|
|
32
|
-
this._isLoading =
|
|
33
|
-
this.isLoadingChange.next(
|
|
33
|
+
set isLoading(isLoading) {
|
|
34
|
+
this._isLoading = isLoading;
|
|
35
|
+
this.isLoadingChange.next(isLoading);
|
|
36
|
+
this.toggleLoading();
|
|
34
37
|
}
|
|
35
38
|
get isLoading() {
|
|
36
39
|
return this._isLoading;
|
|
@@ -40,24 +43,13 @@ export class ButtonComponent {
|
|
|
40
43
|
this.waitForConfirmDelete = true;
|
|
41
44
|
}
|
|
42
45
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
this.isLoading = true;
|
|
48
|
-
this.currentLoading = 10;
|
|
49
|
-
this.interval = setInterval(() => {
|
|
46
|
+
toggleLoading() {
|
|
47
|
+
this.currentLoading = this.isLoading ? 10 : 100;
|
|
48
|
+
interval(200).pipe(takeWhile(time => this.isLoading)).subscribe(() => {
|
|
50
49
|
if (this.currentLoading < 85) {
|
|
51
50
|
this.currentLoading += Math.floor(Math.random() * 15);
|
|
52
51
|
}
|
|
53
|
-
|
|
54
|
-
this.currentLoading = 100;
|
|
55
|
-
setTimeout(() => {
|
|
56
|
-
clearInterval(this.interval);
|
|
57
|
-
this.interval = null;
|
|
58
|
-
}, 100);
|
|
59
|
-
}
|
|
60
|
-
}, 200);
|
|
52
|
+
});
|
|
61
53
|
}
|
|
62
54
|
addMaxWidth() {
|
|
63
55
|
this.buttonMaxWidth = this.buttonWidth + 'px';
|
|
@@ -74,20 +66,24 @@ export class ButtonComponent {
|
|
|
74
66
|
}
|
|
75
67
|
onButtonClick(event) {
|
|
76
68
|
event.stopPropagation();
|
|
77
|
-
if (
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
69
|
+
if (this.disabled) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (this.hasLoader) {
|
|
73
|
+
this.isLoading = false;
|
|
74
|
+
setTimeout(() => {
|
|
75
|
+
this.isLoading = true;
|
|
76
|
+
}, 0);
|
|
77
|
+
}
|
|
78
|
+
if (!this.waitForConfirmDelete) {
|
|
79
|
+
this.click.emit(event);
|
|
80
|
+
if (this.confirmDelete) {
|
|
81
|
+
this.resetMaxWidthDelete();
|
|
89
82
|
}
|
|
90
83
|
}
|
|
84
|
+
else {
|
|
85
|
+
this.waitForConfirmDelete = false;
|
|
86
|
+
}
|
|
91
87
|
}
|
|
92
88
|
ngAfterViewInit() {
|
|
93
89
|
setTimeout(() => {
|
|
@@ -103,7 +99,7 @@ export class ButtonComponent {
|
|
|
103
99
|
ButtonComponent.decorators = [
|
|
104
100
|
{ type: Component, args: [{
|
|
105
101
|
selector: 'wac-button',
|
|
106
|
-
template: "<a\n [class]=\"'wac-button ' + extraClasses\"\n (click)=\"confirmDelete && waitForConfirmDelete ? addMaxWidthDelete() : '';onButtonClick($event);\"\n (mouseleave)=\"animation ? resetMaxWidth() : '';\"\n (mouseenter)=\"animation ? addMaxWidth() : '';\"\n wzAutoHide (clickOutside)=\"confirmDelete && !waitForConfirmDelete ? resetMaxWidthDelete() : ''\"\n [ngClass]=\"[\n label === '' ? 'alone' : '',\n animationRight ? 'animation-right' : '',\n animation ? 'animationText' : '',\n isLoading ? 'is-loading' : '',\n opacity ? 'opacity' : '',\n disabled ? 'disabled' : '',\n widthAuto ? 'width-auto' : '',\n whiteSpaceNowrap ? 'white-space-no-wrap' : '',\n !waitForConfirmDelete && confirmDelete ? 'step-delete' : '',\n confirmDelete ? 'deletePosition-' + confirmDeletePosition : ''\n ]\"\n [ngStyle]=\"{\n 'text-align': contentHorizontalPosition\n }\"\n>\n <span class=\"wac-button__wrapper\">\n <i *ngIf=\"icon !== ''\" [ngClass]=\"icon\" [style.font-size.px]=\"iconFontSize\"></i>\n {{ label }}\n <i *ngIf=\"iconNext !== ''\" [ngClass]=\"iconNext\" [style.font-size.px]=\"iconFontSize\"></i>\n </span>\n <span class=\"wac-button__animation\" [style.maxWidth]=\"buttonMaxWidth\" [style.width]=\"buttonWidth + 'px'\">\n <span #calculWidth class=\"wac-button__animation__text\" [innerHTML]=\"animationText\"></span>\n </span>\n <span class=\"wac-button__confirmDelete\" [style.maxWidth]=\"buttonMaxWidthDelete\" [style.width]=\"buttonWidthDelete + 'px'\">\n <span #calculWidthDelete class=\"wac-button__confirmDelete__text\" [innerHTML]=\"confirmDeleteText\"></span>\n </span>\n <span\n class=\"wac-button__loader\"\n [ngClass]=\"extraClasses.includes('is-outlined') ? 'outlined' : ''\"\n *ngIf=\"isLoading
|
|
102
|
+
template: "<a\n [class]=\"'wac-button ' + extraClasses\"\n (click)=\"confirmDelete && waitForConfirmDelete ? addMaxWidthDelete() : '';onButtonClick($event);\"\n (mouseleave)=\"animation ? resetMaxWidth() : '';\"\n (mouseenter)=\"animation ? addMaxWidth() : '';\"\n wzAutoHide (clickOutside)=\"confirmDelete && !waitForConfirmDelete ? resetMaxWidthDelete() : ''\"\n [ngClass]=\"[\n label === '' ? 'alone' : '',\n animationRight ? 'animation-right' : '',\n animation ? 'animationText' : '',\n isLoading ? 'is-loading' : '',\n opacity ? 'opacity' : '',\n disabled ? 'disabled' : '',\n widthAuto ? 'width-auto' : '',\n whiteSpaceNowrap ? 'white-space-no-wrap' : '',\n !waitForConfirmDelete && confirmDelete ? 'step-delete' : '',\n confirmDelete ? 'deletePosition-' + confirmDeletePosition : ''\n ]\"\n [ngStyle]=\"{\n 'text-align': contentHorizontalPosition\n }\"\n>\n <span class=\"wac-button__wrapper\">\n <i *ngIf=\"icon !== ''\" [ngClass]=\"icon\" [style.font-size.px]=\"iconFontSize\"></i>\n {{ label }}\n <i *ngIf=\"iconNext !== ''\" [ngClass]=\"iconNext\" [style.font-size.px]=\"iconFontSize\"></i>\n </span>\n <span class=\"wac-button__animation\" [style.maxWidth]=\"buttonMaxWidth\" [style.width]=\"buttonWidth + 'px'\">\n <span #calculWidth class=\"wac-button__animation__text\" [innerHTML]=\"animationText\"></span>\n </span>\n <span class=\"wac-button__confirmDelete\" [style.maxWidth]=\"buttonMaxWidthDelete\" [style.width]=\"buttonWidthDelete + 'px'\">\n <span #calculWidthDelete class=\"wac-button__confirmDelete__text\" [innerHTML]=\"confirmDeleteText\"></span>\n </span>\n <span\n class=\"wac-button__loader\"\n [ngClass]=\"extraClasses.includes('is-outlined') ? 'outlined' : ''\"\n *ngIf=\"isLoading\"\n [style.width]=\"currentLoading + '%'\"\n >\n <span *ngIf=\"extraClasses.includes('is-outlined')\">\n <i *ngIf=\"icon !== ''\" [ngClass]=\"icon\" [style.font-size.px]=\"iconFontSize\"></i>\n {{ label }}\n <i *ngIf=\"iconNext !== ''\" [ngClass]=\"iconNext\" [style.font-size.px]=\"iconFontSize\"></i>\n </span>\n\n </span>\n</a>\n"
|
|
107
103
|
},] }
|
|
108
104
|
];
|
|
109
105
|
ButtonComponent.ctorParameters = () => [];
|
|
@@ -131,4 +127,4 @@ ButtonComponent.propDecorators = {
|
|
|
131
127
|
calculWidth: [{ type: ViewChild, args: ['calculWidth',] }],
|
|
132
128
|
calculWidthDelete: [{ type: ViewChild, args: ['calculWidthDelete',] }]
|
|
133
129
|
};
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTTNDLE1BQU0sT0FBTyxlQUFlO0lBdUYxQjtRQXJGQSxpQkFBWSxHQUFHLFNBQVMsQ0FBQztRQUd6QixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBR1gsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQU1WLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFHbEIsOEJBQXlCLEdBQWdDLFFBQVEsQ0FBQztRQUdsRSxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUdsQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBR2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHakIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBR3pCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFHaEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUdsQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUd2QixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUduQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUd0QixzQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFHdkIsMEJBQXFCLEdBQUcsT0FBTyxDQUFDO1FBRWYsVUFBSyxHQUE2QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBUTVELG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQU1oRCxlQUFVLEdBQVks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QVcsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO2FBQy9EO1lBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN0QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7YUFDM0U7UUFDSCxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDOzs7WUEvSkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QiwwbUVBQXNDO2FBQ3ZDOzs7OzJCQUVFLEtBQUs7b0JBR0wsS0FBSzttQkFHTCxLQUFLO3VCQUdMLEtBQUs7d0JBR0wsS0FBSzt3Q0FHTCxLQUFLOzJCQUdMLEtBQUs7d0JBR0wsS0FBSzt1QkFHTCxLQUFLOytCQUdMLEtBQUs7c0JBR0wsS0FBSzt3QkFHTCxLQUFLOzZCQUdMLEtBQUs7NEJBR0wsS0FBSzs0QkFHTCxLQUFLO2dDQUdMLEtBQUs7b0NBR0wsS0FBSztvQkFHTCxNQUFNO3dCQUVOLEtBQUs7OEJBTUwsTUFBTTswQkFxQk4sU0FBUyxTQUFDLGFBQWE7Z0NBR3ZCLFNBQVMsU0FBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbnRlcnZhbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YWMtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KClcbiAgZXh0cmFDbGFzc2VzID0gJ2lzLWluZm8nO1xuXG4gIEBJbnB1dCgpXG4gIGxhYmVsID0gJyc7XG5cbiAgQElucHV0KClcbiAgaWNvbiA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGljb25OZXh0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgd2lkdGhBdXRvID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgY29udGVudEhvcml6b250YWxQb3NpdGlvbjogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnID0gJ2NlbnRlcic7XG5cbiAgQElucHV0KClcbiAgaWNvbkZvbnRTaXplID0gMTI7XG5cbiAgQElucHV0KClcbiAgaGFzTG9hZGVyID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICB3aGl0ZVNwYWNlTm93cmFwID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgb3BhY2l0eSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGFuaW1hdGlvbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGFuaW1hdGlvblJpZ2h0ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgYW5pbWF0aW9uVGV4dCA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGNvbmZpcm1EZWxldGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBjb25maXJtRGVsZXRlVGV4dCA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGNvbmZpcm1EZWxldGVQb3NpdGlvbiA9ICdyaWdodCc7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBjbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBJbnB1dCgpIHNldCBpc0xvYWRpbmcoaXNMb2FkaW5nIDogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzTG9hZGluZyA9IGlzTG9hZGluZztcbiAgICB0aGlzLmlzTG9hZGluZ0NoYW5nZS5uZXh0KGlzTG9hZGluZyk7XG4gICAgdGhpcy50b2dnbGVMb2FkaW5nKCk7XG4gIH1cblxuICBAT3V0cHV0KCkgaXNMb2FkaW5nQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGdldCBpc0xvYWRpbmcoKSA6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0xvYWRpbmc7XG4gIH1cblxuICBwcml2YXRlIF9pc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuXG4gIGludGVydmFsID0gbnVsbDtcblxuICB3YWl0Rm9yQ29uZmlybURlbGV0ZSA9IGZhbHNlO1xuXG4gIGJ1dHRvbk1heFdpZHRoID0gJzBweCc7XG4gIGJ1dHRvbldpZHRoID0gJzBweCc7XG5cbiAgYnV0dG9uTWF4V2lkdGhEZWxldGUgPSAnMHB4JztcbiAgYnV0dG9uV2lkdGhEZWxldGUgPSAnMHB4JztcblxuICBjdXJyZW50TG9hZGluZyA9IDA7XG5cbiAgQFZpZXdDaGlsZCgnY2FsY3VsV2lkdGgnKVxuICBjYWxjdWxXaWR0aDogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdjYWxjdWxXaWR0aERlbGV0ZScpXG4gIGNhbGN1bFdpZHRoRGVsZXRlOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5jb25maXJtRGVsZXRlKSB7XG4gICAgICB0aGlzLndhaXRGb3JDb25maXJtRGVsZXRlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVMb2FkaW5nKCkge1xuICAgIHRoaXMuY3VycmVudExvYWRpbmcgPSB0aGlzLmlzTG9hZGluZyA/IDEwIDogMTAwO1xuXG4gICAgaW50ZXJ2YWwoMjAwKS5waXBlKHRha2VXaGlsZSggdGltZT0+IHRoaXMuaXNMb2FkaW5nKSkuc3Vic2NyaWJlKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50TG9hZGluZyA8IDg1KSB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50TG9hZGluZyArPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgYWRkTWF4V2lkdGgoKSB7XG4gICAgdGhpcy5idXR0b25NYXhXaWR0aCA9IHRoaXMuYnV0dG9uV2lkdGggKyAncHgnO1xuICB9XG5cbiAgcmVzZXRNYXhXaWR0aCgpIHtcbiAgICB0aGlzLmJ1dHRvbk1heFdpZHRoID0gJzBweCc7XG4gIH1cblxuICBhZGRNYXhXaWR0aERlbGV0ZSgpIHtcbiAgICB0aGlzLmJ1dHRvbk1heFdpZHRoRGVsZXRlID0gdGhpcy5idXR0b25XaWR0aERlbGV0ZSArICdweCc7XG4gIH1cblxuICByZXNldE1heFdpZHRoRGVsZXRlKCkge1xuICAgIHRoaXMuYnV0dG9uTWF4V2lkdGhEZWxldGUgPSAnMHB4JztcbiAgICB0aGlzLndhaXRGb3JDb25maXJtRGVsZXRlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQnV0dG9uQ2xpY2soZXZlbnQpe1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmhhc0xvYWRlcikge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4geyAvLyB0cmljayB0byByZXNldCB0aGUgYW5pbWF0aW9uIGxvYWRpbmdcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLndhaXRGb3JDb25maXJtRGVsZXRlKSB7XG4gICAgICB0aGlzLmNsaWNrLmVtaXQoZXZlbnQpO1xuICAgICAgaWYgKHRoaXMuY29uZmlybURlbGV0ZSkge1xuICAgICAgICB0aGlzLnJlc2V0TWF4V2lkdGhEZWxldGUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53YWl0Rm9yQ29uZmlybURlbGV0ZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmFuaW1hdGlvbikge1xuICAgICAgICB0aGlzLmJ1dHRvbldpZHRoID0gdGhpcy5jYWxjdWxXaWR0aC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY29uZmlybURlbGV0ZSkge1xuICAgICAgICB0aGlzLmJ1dHRvbldpZHRoRGVsZXRlID0gdGhpcy5jYWxjdWxXaWR0aERlbGV0ZS5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgfVxuICAgIH0sIDEwMDApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
export class SelectedListComponent {
|
|
3
3
|
constructor() {
|
|
4
|
+
this._options = [];
|
|
4
5
|
this.enableSelectAll = true;
|
|
5
6
|
this.selectedItemsIndex = new EventEmitter();
|
|
6
7
|
this.selectedItemsAll = new EventEmitter();
|
|
@@ -8,49 +9,47 @@ export class SelectedListComponent {
|
|
|
8
9
|
this.selectedOptionIndex = [];
|
|
9
10
|
this.switchSelectAll = false;
|
|
10
11
|
}
|
|
12
|
+
set options(options) {
|
|
13
|
+
this._options = options;
|
|
14
|
+
this.handleSwitchSelectAll();
|
|
15
|
+
}
|
|
16
|
+
get options() {
|
|
17
|
+
return this._options;
|
|
18
|
+
}
|
|
11
19
|
ngOnInit() {
|
|
12
|
-
if (typeof this.options !== typeof undefined) {
|
|
13
|
-
this.checkSelectedItem();
|
|
14
|
-
if (this.selectedOptionIndex.length === this.options.length) {
|
|
15
|
-
this.switchSelectAll = true;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
20
|
}
|
|
19
|
-
|
|
20
|
-
this.selectedOptionIndex =
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
this.selectedOptionIndex.push(i);
|
|
21
|
+
onSelectAll() {
|
|
22
|
+
this.selectedOptionIndex = this.options.map((option, index) => {
|
|
23
|
+
option.checked = true;
|
|
24
|
+
return index;
|
|
24
25
|
});
|
|
25
26
|
this.switchSelectAll = true;
|
|
26
27
|
this.selectedItemsAll.emit(this.selectedOptionIndex);
|
|
27
28
|
}
|
|
28
|
-
|
|
29
|
-
this.selectedOptionIndex =
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
this.selectedOptionIndex.push(i);
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
unSelectAll() {
|
|
37
|
-
this.selectedOptionIndex = [];
|
|
38
|
-
this.options.forEach((eln, i) => {
|
|
39
|
-
this.options[i].checked = false;
|
|
29
|
+
onUnSelectAll() {
|
|
30
|
+
this.selectedOptionIndex = this.options.map((option, index) => {
|
|
31
|
+
option.checked = false;
|
|
32
|
+
return index;
|
|
40
33
|
});
|
|
41
34
|
this.switchSelectAll = false;
|
|
42
35
|
this.unSelectedItemsAll.emit(this.selectedOptionIndex);
|
|
43
36
|
}
|
|
44
|
-
|
|
45
|
-
this.options[
|
|
46
|
-
this.
|
|
47
|
-
this.selectedItemsIndex.emit(
|
|
37
|
+
onSelectItem(index) {
|
|
38
|
+
this.options[index].checked = !this.options[index].checked;
|
|
39
|
+
this.handleSwitchSelectAll();
|
|
40
|
+
this.selectedItemsIndex.emit(index);
|
|
41
|
+
}
|
|
42
|
+
areAllOptionsChecked() {
|
|
43
|
+
return !this.options.some(option => !option.checked);
|
|
44
|
+
}
|
|
45
|
+
handleSwitchSelectAll() {
|
|
46
|
+
this.switchSelectAll = this.areAllOptionsChecked();
|
|
48
47
|
}
|
|
49
48
|
}
|
|
50
49
|
SelectedListComponent.decorators = [
|
|
51
50
|
{ type: Component, args: [{
|
|
52
51
|
selector: 'wac-selected-list',
|
|
53
|
-
template: "<div class=\"selected-list\">\n <div class=\"selected-list__wrapper\">\n <div class=\"selected-list__wrapper__head\">\n <p *ngIf=\"label\" [innerHTML]=\"label\"></p>\n <span *ngIf=\"textSelectAll && !switchSelectAll\" [innerHTML]=\"textSelectAll\" (click)=\"
|
|
52
|
+
template: "<div class=\"selected-list\">\n <div class=\"selected-list__wrapper\">\n <div class=\"selected-list__wrapper__head\">\n <p *ngIf=\"label\" [innerHTML]=\"label\"></p>\n <span *ngIf=\"textSelectAll && !switchSelectAll\" [innerHTML]=\"textSelectAll\" (click)=\"onSelectAll()\"></span>\n <span *ngIf=\"textUnSelectAll && switchSelectAll\" [innerHTML]=\"textUnSelectAll\" (click)=\"onUnSelectAll()\"></span>\n </div>\n <div class=\"selected-list__wrapper__content\">\n <div class=\"selected-list__wrapper__content__item\" *ngFor=\"let item of options;let i = index;\" [ngClass]=\"{'active': item.checked}\" (click)=\"onSelectItem(i)\">\n <span [innerHTML]=\"item.label\"></span>\n <i class=\"fas fa-check\"></i>\n </div>\n </div>\n </div>\n</div>\n"
|
|
54
53
|
},] }
|
|
55
54
|
];
|
|
56
55
|
SelectedListComponent.propDecorators = {
|
|
@@ -63,4 +62,4 @@ SelectedListComponent.propDecorators = {
|
|
|
63
62
|
selectedItemsAll: [{ type: Output }],
|
|
64
63
|
unSelectedItemsAll: [{ type: Output }]
|
|
65
64
|
};
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdGVkLWxpc3Qvc2VsZWN0ZWQtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU83RSxNQUFNLE9BQU8scUJBQXFCO0lBSmxDO1FBTUUsYUFBUSxHQUF5QixFQUFFLENBQUM7UUFjM0Isb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDdEIsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNoRCxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBQ2hELHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFFNUQsd0JBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO0lBcUMxQixDQUFDO0lBdkRDLElBQWEsT0FBTyxDQUFDLE9BQThCO1FBQ2pELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQWFELFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM1RCxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUN0QixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM1RCxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN2QixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUMzRCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLHFCQUFxQjtRQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ3ZELENBQUM7OztZQTdERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0Isd3lCQUE2QzthQUM5Qzs7O3NCQUtFLEtBQUs7b0JBU0wsS0FBSzs0QkFDTCxLQUFLOzhCQUNMLEtBQUs7OEJBQ0wsS0FBSztpQ0FDTCxNQUFNOytCQUNOLE1BQU07aUNBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NlbGVjdGVkTGlzdE9wdGlvbn0gZnJvbSAnLi9zaGFyZWQvc2VsZWN0ZWQtbGlzdC1vcHRpb24ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YWMtc2VsZWN0ZWQtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3RlZC1saXN0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0ZWRMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBfb3B0aW9uczogU2VsZWN0ZWRMaXN0T3B0aW9uW10gPSBbXTtcblxuICBASW5wdXQoKSBzZXQgb3B0aW9ucyhvcHRpb25zIDogU2VsZWN0ZWRMaXN0T3B0aW9uW10pIHtcbiAgICB0aGlzLl9vcHRpb25zID0gb3B0aW9ucztcbiAgICB0aGlzLmhhbmRsZVN3aXRjaFNlbGVjdEFsbCgpO1xuICB9XG5cbiAgZ2V0IG9wdGlvbnMoKSA6IFNlbGVjdGVkTGlzdE9wdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRleHRTZWxlY3RBbGw6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dFVuU2VsZWN0QWxsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVuYWJsZVNlbGVjdEFsbCA9IHRydWU7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZEl0ZW1zSW5kZXggPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkSXRlbXNBbGwgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcltdPigpO1xuICBAT3V0cHV0KCkgdW5TZWxlY3RlZEl0ZW1zQWxsID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXJbXT4oKTtcblxuICBzZWxlY3RlZE9wdGlvbkluZGV4ID0gW107XG4gIHN3aXRjaFNlbGVjdEFsbCA9IGZhbHNlO1xuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgb25TZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvbkluZGV4ID0gdGhpcy5vcHRpb25zLm1hcCgob3B0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgb3B0aW9uLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH0pO1xuICAgIHRoaXMuc3dpdGNoU2VsZWN0QWxsID0gdHJ1ZTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXNBbGwuZW1pdCh0aGlzLnNlbGVjdGVkT3B0aW9uSW5kZXgpO1xuICB9XG5cbiAgb25VblNlbGVjdEFsbCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uSW5kZXggPSB0aGlzLm9wdGlvbnMubWFwKChvcHRpb24sIGluZGV4KSA9PiB7XG4gICAgICBvcHRpb24uY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH0pO1xuICAgIHRoaXMuc3dpdGNoU2VsZWN0QWxsID0gZmFsc2U7XG4gICAgdGhpcy51blNlbGVjdGVkSXRlbXNBbGwuZW1pdCh0aGlzLnNlbGVjdGVkT3B0aW9uSW5kZXgpO1xuICB9XG5cbiAgb25TZWxlY3RJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLm9wdGlvbnNbaW5kZXhdLmNoZWNrZWQgPSAhdGhpcy5vcHRpb25zW2luZGV4XS5jaGVja2VkO1xuICAgIHRoaXMuaGFuZGxlU3dpdGNoU2VsZWN0QWxsKCk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zSW5kZXguZW1pdChpbmRleCk7XG4gIH1cblxuICBhcmVBbGxPcHRpb25zQ2hlY2tlZCgpIHtcbiAgICByZXR1cm4gIXRoaXMub3B0aW9ucy5zb21lKG9wdGlvbiA9PiAhb3B0aW9uLmNoZWNrZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTd2l0Y2hTZWxlY3RBbGwoKSB7XG4gICAgICB0aGlzLnN3aXRjaFNlbGVjdEFsbCA9IHRoaXMuYXJlQWxsT3B0aW9uc0NoZWNrZWQoKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -3,8 +3,8 @@ import { Component, ViewEncapsulation, Input, EventEmitter, Output, Directive, H
|
|
|
3
3
|
import { CommonModule, DOCUMENT } from '@angular/common';
|
|
4
4
|
import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
5
|
import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';
|
|
6
|
-
import { Subject, ReplaySubject } from 'rxjs';
|
|
7
|
-
import { takeUntil, debounceTime, distinctUntilChanged, tap } from 'rxjs/operators';
|
|
6
|
+
import { Subject, ReplaySubject, interval } from 'rxjs';
|
|
7
|
+
import { takeUntil, debounceTime, distinctUntilChanged, tap, takeWhile } from 'rxjs/operators';
|
|
8
8
|
import { OverlayContainer } from '@angular/cdk/overlay';
|
|
9
9
|
import { CdkTableModule } from '@angular/cdk/table';
|
|
10
10
|
import { trigger, transition, style, animate, state } from '@angular/animations';
|
|
@@ -605,9 +605,10 @@ class ButtonComponent {
|
|
|
605
605
|
this.buttonWidthDelete = '0px';
|
|
606
606
|
this.currentLoading = 0;
|
|
607
607
|
}
|
|
608
|
-
set isLoading(
|
|
609
|
-
this._isLoading =
|
|
610
|
-
this.isLoadingChange.next(
|
|
608
|
+
set isLoading(isLoading) {
|
|
609
|
+
this._isLoading = isLoading;
|
|
610
|
+
this.isLoadingChange.next(isLoading);
|
|
611
|
+
this.toggleLoading();
|
|
611
612
|
}
|
|
612
613
|
get isLoading() {
|
|
613
614
|
return this._isLoading;
|
|
@@ -617,24 +618,13 @@ class ButtonComponent {
|
|
|
617
618
|
this.waitForConfirmDelete = true;
|
|
618
619
|
}
|
|
619
620
|
}
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
}
|
|
624
|
-
this.isLoading = true;
|
|
625
|
-
this.currentLoading = 10;
|
|
626
|
-
this.interval = setInterval(() => {
|
|
621
|
+
toggleLoading() {
|
|
622
|
+
this.currentLoading = this.isLoading ? 10 : 100;
|
|
623
|
+
interval(200).pipe(takeWhile(time => this.isLoading)).subscribe(() => {
|
|
627
624
|
if (this.currentLoading < 85) {
|
|
628
625
|
this.currentLoading += Math.floor(Math.random() * 15);
|
|
629
626
|
}
|
|
630
|
-
|
|
631
|
-
this.currentLoading = 100;
|
|
632
|
-
setTimeout(() => {
|
|
633
|
-
clearInterval(this.interval);
|
|
634
|
-
this.interval = null;
|
|
635
|
-
}, 100);
|
|
636
|
-
}
|
|
637
|
-
}, 200);
|
|
627
|
+
});
|
|
638
628
|
}
|
|
639
629
|
addMaxWidth() {
|
|
640
630
|
this.buttonMaxWidth = this.buttonWidth + 'px';
|
|
@@ -651,20 +641,24 @@ class ButtonComponent {
|
|
|
651
641
|
}
|
|
652
642
|
onButtonClick(event) {
|
|
653
643
|
event.stopPropagation();
|
|
654
|
-
if (
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
644
|
+
if (this.disabled) {
|
|
645
|
+
return;
|
|
646
|
+
}
|
|
647
|
+
if (this.hasLoader) {
|
|
648
|
+
this.isLoading = false;
|
|
649
|
+
setTimeout(() => {
|
|
650
|
+
this.isLoading = true;
|
|
651
|
+
}, 0);
|
|
652
|
+
}
|
|
653
|
+
if (!this.waitForConfirmDelete) {
|
|
654
|
+
this.click.emit(event);
|
|
655
|
+
if (this.confirmDelete) {
|
|
656
|
+
this.resetMaxWidthDelete();
|
|
666
657
|
}
|
|
667
658
|
}
|
|
659
|
+
else {
|
|
660
|
+
this.waitForConfirmDelete = false;
|
|
661
|
+
}
|
|
668
662
|
}
|
|
669
663
|
ngAfterViewInit() {
|
|
670
664
|
setTimeout(() => {
|
|
@@ -680,7 +674,7 @@ class ButtonComponent {
|
|
|
680
674
|
ButtonComponent.decorators = [
|
|
681
675
|
{ type: Component, args: [{
|
|
682
676
|
selector: 'wac-button',
|
|
683
|
-
template: "<a\n [class]=\"'wac-button ' + extraClasses\"\n (click)=\"confirmDelete && waitForConfirmDelete ? addMaxWidthDelete() : '';onButtonClick($event);\"\n (mouseleave)=\"animation ? resetMaxWidth() : '';\"\n (mouseenter)=\"animation ? addMaxWidth() : '';\"\n wzAutoHide (clickOutside)=\"confirmDelete && !waitForConfirmDelete ? resetMaxWidthDelete() : ''\"\n [ngClass]=\"[\n label === '' ? 'alone' : '',\n animationRight ? 'animation-right' : '',\n animation ? 'animationText' : '',\n isLoading ? 'is-loading' : '',\n opacity ? 'opacity' : '',\n disabled ? 'disabled' : '',\n widthAuto ? 'width-auto' : '',\n whiteSpaceNowrap ? 'white-space-no-wrap' : '',\n !waitForConfirmDelete && confirmDelete ? 'step-delete' : '',\n confirmDelete ? 'deletePosition-' + confirmDeletePosition : ''\n ]\"\n [ngStyle]=\"{\n 'text-align': contentHorizontalPosition\n }\"\n>\n <span class=\"wac-button__wrapper\">\n <i *ngIf=\"icon !== ''\" [ngClass]=\"icon\" [style.font-size.px]=\"iconFontSize\"></i>\n {{ label }}\n <i *ngIf=\"iconNext !== ''\" [ngClass]=\"iconNext\" [style.font-size.px]=\"iconFontSize\"></i>\n </span>\n <span class=\"wac-button__animation\" [style.maxWidth]=\"buttonMaxWidth\" [style.width]=\"buttonWidth + 'px'\">\n <span #calculWidth class=\"wac-button__animation__text\" [innerHTML]=\"animationText\"></span>\n </span>\n <span class=\"wac-button__confirmDelete\" [style.maxWidth]=\"buttonMaxWidthDelete\" [style.width]=\"buttonWidthDelete + 'px'\">\n <span #calculWidthDelete class=\"wac-button__confirmDelete__text\" [innerHTML]=\"confirmDeleteText\"></span>\n </span>\n <span\n class=\"wac-button__loader\"\n [ngClass]=\"extraClasses.includes('is-outlined') ? 'outlined' : ''\"\n *ngIf=\"isLoading
|
|
677
|
+
template: "<a\n [class]=\"'wac-button ' + extraClasses\"\n (click)=\"confirmDelete && waitForConfirmDelete ? addMaxWidthDelete() : '';onButtonClick($event);\"\n (mouseleave)=\"animation ? resetMaxWidth() : '';\"\n (mouseenter)=\"animation ? addMaxWidth() : '';\"\n wzAutoHide (clickOutside)=\"confirmDelete && !waitForConfirmDelete ? resetMaxWidthDelete() : ''\"\n [ngClass]=\"[\n label === '' ? 'alone' : '',\n animationRight ? 'animation-right' : '',\n animation ? 'animationText' : '',\n isLoading ? 'is-loading' : '',\n opacity ? 'opacity' : '',\n disabled ? 'disabled' : '',\n widthAuto ? 'width-auto' : '',\n whiteSpaceNowrap ? 'white-space-no-wrap' : '',\n !waitForConfirmDelete && confirmDelete ? 'step-delete' : '',\n confirmDelete ? 'deletePosition-' + confirmDeletePosition : ''\n ]\"\n [ngStyle]=\"{\n 'text-align': contentHorizontalPosition\n }\"\n>\n <span class=\"wac-button__wrapper\">\n <i *ngIf=\"icon !== ''\" [ngClass]=\"icon\" [style.font-size.px]=\"iconFontSize\"></i>\n {{ label }}\n <i *ngIf=\"iconNext !== ''\" [ngClass]=\"iconNext\" [style.font-size.px]=\"iconFontSize\"></i>\n </span>\n <span class=\"wac-button__animation\" [style.maxWidth]=\"buttonMaxWidth\" [style.width]=\"buttonWidth + 'px'\">\n <span #calculWidth class=\"wac-button__animation__text\" [innerHTML]=\"animationText\"></span>\n </span>\n <span class=\"wac-button__confirmDelete\" [style.maxWidth]=\"buttonMaxWidthDelete\" [style.width]=\"buttonWidthDelete + 'px'\">\n <span #calculWidthDelete class=\"wac-button__confirmDelete__text\" [innerHTML]=\"confirmDeleteText\"></span>\n </span>\n <span\n class=\"wac-button__loader\"\n [ngClass]=\"extraClasses.includes('is-outlined') ? 'outlined' : ''\"\n *ngIf=\"isLoading\"\n [style.width]=\"currentLoading + '%'\"\n >\n <span *ngIf=\"extraClasses.includes('is-outlined')\">\n <i *ngIf=\"icon !== ''\" [ngClass]=\"icon\" [style.font-size.px]=\"iconFontSize\"></i>\n {{ label }}\n <i *ngIf=\"iconNext !== ''\" [ngClass]=\"iconNext\" [style.font-size.px]=\"iconFontSize\"></i>\n </span>\n\n </span>\n</a>\n"
|
|
684
678
|
},] }
|
|
685
679
|
];
|
|
686
680
|
ButtonComponent.ctorParameters = () => [];
|
|
@@ -3270,6 +3264,7 @@ SearchComponent.propDecorators = {
|
|
|
3270
3264
|
|
|
3271
3265
|
class SelectedListComponent {
|
|
3272
3266
|
constructor() {
|
|
3267
|
+
this._options = [];
|
|
3273
3268
|
this.enableSelectAll = true;
|
|
3274
3269
|
this.selectedItemsIndex = new EventEmitter();
|
|
3275
3270
|
this.selectedItemsAll = new EventEmitter();
|
|
@@ -3277,49 +3272,47 @@ class SelectedListComponent {
|
|
|
3277
3272
|
this.selectedOptionIndex = [];
|
|
3278
3273
|
this.switchSelectAll = false;
|
|
3279
3274
|
}
|
|
3275
|
+
set options(options) {
|
|
3276
|
+
this._options = options;
|
|
3277
|
+
this.handleSwitchSelectAll();
|
|
3278
|
+
}
|
|
3279
|
+
get options() {
|
|
3280
|
+
return this._options;
|
|
3281
|
+
}
|
|
3280
3282
|
ngOnInit() {
|
|
3281
|
-
if (typeof this.options !== typeof undefined) {
|
|
3282
|
-
this.checkSelectedItem();
|
|
3283
|
-
if (this.selectedOptionIndex.length === this.options.length) {
|
|
3284
|
-
this.switchSelectAll = true;
|
|
3285
|
-
}
|
|
3286
|
-
}
|
|
3287
3283
|
}
|
|
3288
|
-
|
|
3289
|
-
this.selectedOptionIndex =
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
this.selectedOptionIndex.push(i);
|
|
3284
|
+
onSelectAll() {
|
|
3285
|
+
this.selectedOptionIndex = this.options.map((option, index) => {
|
|
3286
|
+
option.checked = true;
|
|
3287
|
+
return index;
|
|
3293
3288
|
});
|
|
3294
3289
|
this.switchSelectAll = true;
|
|
3295
3290
|
this.selectedItemsAll.emit(this.selectedOptionIndex);
|
|
3296
3291
|
}
|
|
3297
|
-
|
|
3298
|
-
this.selectedOptionIndex =
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
this.selectedOptionIndex.push(i);
|
|
3302
|
-
}
|
|
3303
|
-
});
|
|
3304
|
-
}
|
|
3305
|
-
unSelectAll() {
|
|
3306
|
-
this.selectedOptionIndex = [];
|
|
3307
|
-
this.options.forEach((eln, i) => {
|
|
3308
|
-
this.options[i].checked = false;
|
|
3292
|
+
onUnSelectAll() {
|
|
3293
|
+
this.selectedOptionIndex = this.options.map((option, index) => {
|
|
3294
|
+
option.checked = false;
|
|
3295
|
+
return index;
|
|
3309
3296
|
});
|
|
3310
3297
|
this.switchSelectAll = false;
|
|
3311
3298
|
this.unSelectedItemsAll.emit(this.selectedOptionIndex);
|
|
3312
3299
|
}
|
|
3313
|
-
|
|
3314
|
-
this.options[
|
|
3315
|
-
this.
|
|
3316
|
-
this.selectedItemsIndex.emit(
|
|
3300
|
+
onSelectItem(index) {
|
|
3301
|
+
this.options[index].checked = !this.options[index].checked;
|
|
3302
|
+
this.handleSwitchSelectAll();
|
|
3303
|
+
this.selectedItemsIndex.emit(index);
|
|
3304
|
+
}
|
|
3305
|
+
areAllOptionsChecked() {
|
|
3306
|
+
return !this.options.some(option => !option.checked);
|
|
3307
|
+
}
|
|
3308
|
+
handleSwitchSelectAll() {
|
|
3309
|
+
this.switchSelectAll = this.areAllOptionsChecked();
|
|
3317
3310
|
}
|
|
3318
3311
|
}
|
|
3319
3312
|
SelectedListComponent.decorators = [
|
|
3320
3313
|
{ type: Component, args: [{
|
|
3321
3314
|
selector: 'wac-selected-list',
|
|
3322
|
-
template: "<div class=\"selected-list\">\n <div class=\"selected-list__wrapper\">\n <div class=\"selected-list__wrapper__head\">\n <p *ngIf=\"label\" [innerHTML]=\"label\"></p>\n <span *ngIf=\"textSelectAll && !switchSelectAll\" [innerHTML]=\"textSelectAll\" (click)=\"
|
|
3315
|
+
template: "<div class=\"selected-list\">\n <div class=\"selected-list__wrapper\">\n <div class=\"selected-list__wrapper__head\">\n <p *ngIf=\"label\" [innerHTML]=\"label\"></p>\n <span *ngIf=\"textSelectAll && !switchSelectAll\" [innerHTML]=\"textSelectAll\" (click)=\"onSelectAll()\"></span>\n <span *ngIf=\"textUnSelectAll && switchSelectAll\" [innerHTML]=\"textUnSelectAll\" (click)=\"onUnSelectAll()\"></span>\n </div>\n <div class=\"selected-list__wrapper__content\">\n <div class=\"selected-list__wrapper__content__item\" *ngFor=\"let item of options;let i = index;\" [ngClass]=\"{'active': item.checked}\" (click)=\"onSelectItem(i)\">\n <span [innerHTML]=\"item.label\"></span>\n <i class=\"fas fa-check\"></i>\n </div>\n </div>\n </div>\n</div>\n"
|
|
3323
3316
|
},] }
|
|
3324
3317
|
];
|
|
3325
3318
|
SelectedListComponent.propDecorators = {
|