@wizishop/angular-components 0.0.237 → 0.0.241
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 +611 -315
- package/bundles/wizishop-angular-components.umd.js +40 -8
- 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 +4 -2
- package/esm2015/lib/components/switch/switch.component.js +40 -9
- package/fesm2015/wizishop-angular-components.js +41 -9
- package/fesm2015/wizishop-angular-components.js.map +1 -1
- package/lib/components/button/button.component.d.ts +1 -0
- package/lib/components/switch/switch.component.d.ts +13 -3
- package/package.json +1 -1
- package/wizishop-angular-components-0.0.241.tgz +0 -0
- package/wizishop-angular-components.metadata.json +1 -1
- package/wizishop-angular-components-0.0.237.tgz +0 -0
|
@@ -22,6 +22,7 @@ export class ButtonComponent {
|
|
|
22
22
|
this.confirmDeleteText = '';
|
|
23
23
|
this.noPadding = false;
|
|
24
24
|
this.tooltipPosition = 'top-center';
|
|
25
|
+
this.tooltipOneline = false;
|
|
25
26
|
this.confirmDeletePosition = 'right';
|
|
26
27
|
this.click = new EventEmitter();
|
|
27
28
|
this.isLoadingChange = new EventEmitter();
|
|
@@ -103,7 +104,7 @@ export class ButtonComponent {
|
|
|
103
104
|
ButtonComponent.decorators = [
|
|
104
105
|
{ type: Component, args: [{
|
|
105
106
|
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 coin ? 'has-coin width-auto' : '',\n animationRight ? 'animation-right' : '',\n animation ? 'animationText' : '',\n isLoading ? 'is-loading' : '',\n opacity ? 'opacity' : '',\n disabled ? 'disabled' : '',\n widthAuto ? 'width-auto' : '',\n noPadding ? 'no-padding' : '',\n
|
|
107
|
+
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 coin ? 'has-coin width-auto' : '',\n animationRight ? 'animation-right' : '',\n animation ? 'animationText' : '',\n isLoading ? 'is-loading' : '',\n opacity ? 'opacity' : '',\n disabled ? 'disabled' : '',\n widthAuto ? 'width-auto' : '',\n noPadding ? 'no-padding' : '',\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\" [style.color]=\"textcolor ? textcolor : ''\">\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 *ngIf=\"coin\" class=\"wac-button__coin\"><i class=\"fa-solid fa-coin-front\"></i><span [innerHTML]=\"coin\"></span></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 </span>\n <span class=\"wac-button__tooltips {{ tooltipPosition }}\" [ngClass]=\"{'oneline': tooltipOneline}\" [style.minWidth]=\"tooltipWidth\" *ngIf=\"tooltip\">\n {{ tooltip }}\n </span>\n</a>\n"
|
|
107
108
|
},] }
|
|
108
109
|
];
|
|
109
110
|
ButtonComponent.ctorParameters = () => [];
|
|
@@ -130,6 +131,7 @@ ButtonComponent.propDecorators = {
|
|
|
130
131
|
tooltipWidth: [{ type: Input }],
|
|
131
132
|
noPadding: [{ type: Input }],
|
|
132
133
|
tooltipPosition: [{ type: Input }],
|
|
134
|
+
tooltipOneline: [{ type: Input }],
|
|
133
135
|
confirmDeletePosition: [{ type: Input }],
|
|
134
136
|
click: [{ type: Output }],
|
|
135
137
|
isLoading: [{ type: Input }],
|
|
@@ -137,4 +139,4 @@ ButtonComponent.propDecorators = {
|
|
|
137
139
|
calculWidth: [{ type: ViewChild, args: ['calculWidth',] }],
|
|
138
140
|
calculWidthDelete: [{ type: ViewChild, args: ['calculWidthDelete',] }]
|
|
139
141
|
};
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTTNDLE1BQU0sT0FBTyxlQUFlO0lBMkcxQjtRQXpHQSxpQkFBWSxHQUFHLFNBQVMsQ0FBQyxDQUFDLHFDQUFxQztRQUcvRCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBR1gsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQU1WLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFFakIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUdsQiw4QkFBeUIsR0FBZ0MsUUFBUSxDQUFDO1FBR2xFLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBR2xCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFHbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFHekIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQix1SEFBdUg7UUFFdkgsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUdsQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUd2QixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUduQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUd0QixzQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFZdkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUdsQixvQkFBZSxHQUFrSCxZQUFZLENBQUM7UUFHOUksbUJBQWMs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RyxLQUFLLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO2FBQy9EO1lBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN0QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7YUFDM0U7UUFDSCxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDOzs7WUFuTEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QixtaEZBQXNDO2FBQ3ZDOzs7OzJCQUVFLEtBQUs7b0JBR0wsS0FBSzttQkFHTCxLQUFLO3VCQUdMLEtBQUs7d0JBR0wsS0FBSzt3QkFFTCxLQUFLO3dDQUdMLEtBQUs7MkJBR0wsS0FBSzt3QkFHTCxLQUFLO3VCQUdMLEtBQUs7K0JBR0wsS0FBSztzQkFHTCxLQUFLO3dCQUdMLEtBQUs7NkJBR0wsS0FBSzs0QkFHTCxLQUFLOzRCQUdMLEtBQUs7Z0NBR0wsS0FBSzttQkFHTCxLQUFLO3NCQUdMLEtBQUs7MkJBR0wsS0FBSzt3QkFHTCxLQUFLOzhCQUdMLEtBQUs7NkJBR0wsS0FBSztvQ0FHTCxLQUFLO29CQUdMLE1BQU07d0JBRU4sS0FBSzs4QkFNTCxNQUFNOzBCQXFCTixTQUFTLFNBQUMsYUFBYTtnQ0FHdkIsU0FBUyxTQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGludGVydmFsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhYy1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKVxuICBleHRyYUNsYXNzZXMgPSAnaXMtaW5mbyc7IC8vIHRvZG8gbWFrZSBhIGxpc3Qgb2YgZXhpc3RpbmcgY2xhc3NcblxuICBASW5wdXQoKVxuICBsYWJlbCA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGljb24gPSAnJztcblxuICBASW5wdXQoKVxuICBpY29uTmV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHRleHRjb2xvciA9IG51bGw7XG4gIEBJbnB1dCgpXG4gIHdpZHRoQXV0byA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGNvbnRlbnRIb3Jpem9udGFsUG9zaXRpb246ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JyA9ICdjZW50ZXInO1xuXG4gIEBJbnB1dCgpXG4gIGljb25Gb250U2l6ZSA9IDEyO1xuXG4gIEBJbnB1dCgpXG4gIGhhc0xvYWRlciA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgd2hpdGVTcGFjZU5vd3JhcCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIG9wYWNpdHkgPSBmYWxzZTtcbiAgLy8gVE9ETyBNQUtFIEFOTklNQVRJT04gQVZBSUxBQkxFIEZPUiBNT0JJTEUgYXMgQ09ORklSTSBERUxFVEUgRE8gKGJlY2F1c2UsIGl0cyBkb2VhbnQgc2hvdyB0aGUgdGV4dCBhbmQgdHJpZ2dlciBjbGljaylcbiAgQElucHV0KClcbiAgYW5pbWF0aW9uID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgYW5pbWF0aW9uUmlnaHQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBhbmltYXRpb25UZXh0ID0gJyc7XG5cbiAgQElucHV0KClcbiAgY29uZmlybURlbGV0ZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGNvbmZpcm1EZWxldGVUZXh0ID0gJyc7XG5cbiAgQElucHV0KClcbiAgY29pbjogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHRvb2x0aXA6IHN0cmluZztcblxuICBASW5wdXQoKVxuICB0b29sdGlwV2lkdGg6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBub1BhZGRpbmcgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICB0b29sdGlwUG9zaXRpb246ICd0b3AtY2VudGVyJyB8ICd0b3AtcmlnaHQnIHwgJ3RvcC1sZWZ0JyB8ICdib3R0b20tY2VudGVyJyB8ICdib3R0b20tcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyB8ICdsZWZ0JyB8ICdyaWdodCcgPSAndG9wLWNlbnRlcic7XG5cbiAgQElucHV0KClcbiAgdG9vbHRpcE9uZWxpbmUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBjb25maXJtRGVsZXRlUG9zaXRpb24gPSAncmlnaHQnO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoKSBzZXQgaXNMb2FkaW5nKGlzTG9hZGluZyA6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pc0xvYWRpbmcgPSBpc0xvYWRpbmc7XG4gICAgdGhpcy5pc0xvYWRpbmdDaGFuZ2UubmV4dChpc0xvYWRpbmcpO1xuICAgIHRoaXMudG9nZ2xlTG9hZGluZygpO1xuICB9XG5cbiAgQE91dHB1dCgpIGlzTG9hZGluZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBnZXQgaXNMb2FkaW5nKCkgOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNMb2FkaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cblxuICBpbnRlcnZhbCA9IG51bGw7XG5cbiAgd2FpdEZvckNvbmZpcm1EZWxldGUgPSBmYWxzZTtcblxuICBidXR0b25NYXhXaWR0aCA9ICcwcHgnO1xuICBidXR0b25XaWR0aCA9ICcwcHgnO1xuXG4gIGJ1dHRvbk1heFdpZHRoRGVsZXRlID0gJzBweCc7XG4gIGJ1dHRvbldpZHRoRGVsZXRlID0gJzBweCc7XG5cbiAgY3VycmVudExvYWRpbmcgPSAwO1xuXG4gIEBWaWV3Q2hpbGQoJ2NhbGN1bFdpZHRoJylcbiAgY2FsY3VsV2lkdGg6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgnY2FsY3VsV2lkdGhEZWxldGUnKVxuICBjYWxjdWxXaWR0aERlbGV0ZTogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlybURlbGV0ZSkge1xuICAgICAgdGhpcy53YWl0Rm9yQ29uZmlybURlbGV0ZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlTG9hZGluZygpIHtcbiAgICB0aGlzLmN1cnJlbnRMb2FkaW5nID0gdGhpcy5pc0xvYWRpbmcgPyAxMCA6IDEwMDtcblxuICAgIGludGVydmFsKDIwMCkucGlwZSh0YWtlV2hpbGUoIHRpbWU9PiB0aGlzLmlzTG9hZGluZykpLnN1YnNjcmliZShcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudExvYWRpbmcgPCA4NSkge1xuICAgICAgICAgIHRoaXMuY3VycmVudExvYWRpbmcgKz0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGFkZE1heFdpZHRoKCkge1xuICAgIHRoaXMuYnV0dG9uTWF4V2lkdGggPSB0aGlzLmJ1dHRvbldpZHRoICsgJ3B4JztcbiAgfVxuXG4gIHJlc2V0TWF4V2lkdGgoKSB7XG4gICAgdGhpcy5idXR0b25NYXhXaWR0aCA9ICcwcHgnO1xuICB9XG5cbiAgYWRkTWF4V2lkdGhEZWxldGUoKSB7XG4gICAgdGhpcy5idXR0b25NYXhXaWR0aERlbGV0ZSA9IHRoaXMuYnV0dG9uV2lkdGhEZWxldGUgKyAncHgnO1xuICB9XG5cbiAgcmVzZXRNYXhXaWR0aERlbGV0ZSgpIHtcbiAgICB0aGlzLmJ1dHRvbk1heFdpZHRoRGVsZXRlID0gJzBweCc7XG4gICAgdGhpcy53YWl0Rm9yQ29uZmlybURlbGV0ZSA9IHRydWU7XG4gIH1cblxuICBvbkJ1dHRvbkNsaWNrKGV2ZW50KXtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5oYXNMb2FkZXIpIHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHsgLy8gdHJpY2sgdG8gcmVzZXQgdGhlIGFuaW1hdGlvbiBsb2FkaW5nXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIGlmICghdGhpcy53YWl0Rm9yQ29uZmlybURlbGV0ZSkge1xuICAgICAgdGhpcy5jbGljay5lbWl0KGV2ZW50KTtcbiAgICAgIGlmICh0aGlzLmNvbmZpcm1EZWxldGUpIHtcbiAgICAgICAgdGhpcy5yZXNldE1heFdpZHRoRGVsZXRlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMud2FpdEZvckNvbmZpcm1EZWxldGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5hbmltYXRpb24pIHtcbiAgICAgICAgdGhpcy5idXR0b25XaWR0aCA9IHRoaXMuY2FsY3VsV2lkdGgubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmNvbmZpcm1EZWxldGUpIHtcbiAgICAgICAgdGhpcy5idXR0b25XaWR0aERlbGV0ZSA9IHRoaXMuY2FsY3VsV2lkdGhEZWxldGUubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgIH1cbiAgICB9LCAxMDAwKTtcbiAgfVxufVxuIl19
|
|
@@ -1,34 +1,65 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
2
3
|
export class SwitchComponent {
|
|
3
|
-
constructor() {
|
|
4
|
-
|
|
4
|
+
constructor(changeDetectorRef) {
|
|
5
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
6
|
+
// todo add ngmodel and review texts display (textState is mandatory in order to display textStateEnable and textStateDisable)
|
|
5
7
|
this.value = false;
|
|
6
8
|
this.textState = false;
|
|
7
9
|
this.textStateEnable = '';
|
|
8
10
|
this.textStateDisable = '';
|
|
9
|
-
this.showInput = false;
|
|
11
|
+
this.showInput = false; // todo should not be handle here, but in another component
|
|
10
12
|
this.danger = false;
|
|
11
13
|
this.whiteSpace = false;
|
|
12
14
|
this.switchChange = new EventEmitter(); // todo set emitted type
|
|
13
|
-
this.changeInput = new EventEmitter(); // todo set emitted type
|
|
15
|
+
this.changeInput = new EventEmitter(); // todo set emitted type, should be removed
|
|
16
|
+
this.onChange = (value) => { };
|
|
17
|
+
this.onTouched = () => { };
|
|
14
18
|
}
|
|
15
19
|
ngOnInit() {
|
|
16
20
|
this.id = 'switch-' + Math.floor(Math.random() * Math.floor(1000));
|
|
17
21
|
}
|
|
18
22
|
changeValue(event) {
|
|
19
|
-
this.
|
|
23
|
+
if (this.disabled) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
this.value = event.target.checked;
|
|
27
|
+
this.switchChange.emit(this.value);
|
|
28
|
+
this.onChange(this.value);
|
|
20
29
|
}
|
|
21
30
|
triggerInput() {
|
|
22
31
|
this.changeInput.emit(this.valueInput);
|
|
23
32
|
}
|
|
33
|
+
writeValue(value) {
|
|
34
|
+
this.value = value;
|
|
35
|
+
}
|
|
36
|
+
registerOnChange(onChange) {
|
|
37
|
+
this.onChange = onChange;
|
|
38
|
+
}
|
|
39
|
+
onBlur() {
|
|
40
|
+
this.onTouched();
|
|
41
|
+
}
|
|
42
|
+
registerOnTouched(onTouched) {
|
|
43
|
+
this.onTouched = onTouched;
|
|
44
|
+
}
|
|
45
|
+
setDisabledState(disabled) {
|
|
46
|
+
this.disabled = disabled;
|
|
47
|
+
this.changeDetectorRef.markForCheck();
|
|
48
|
+
}
|
|
24
49
|
}
|
|
25
50
|
SwitchComponent.decorators = [
|
|
26
51
|
{ type: Component, args: [{
|
|
27
52
|
selector: 'wac-switch',
|
|
28
|
-
template: "<div class=\"wac-switch\">\n <input type=\"checkbox\" [checked]=\"value\" (change)=\"changeValue($event)\" [id]=\"id\" [ngClass]=\"{ danger: danger }\"/>\n <label [for]=\"id\" class=\"wac-switch__label\">\n <span class=\"wac-switch__label__text\"\n ><ng-content></ng-content\n ><span\n *ngIf=\"textState\"\n [ngStyle]=\"{'whiteSpace': whiteSpace ? 'nowrap' :'normal'}\"\n >{{ textState }} <strong class=\"disable\" *ngIf=\"textStateDisable\">{{ textStateDisable }}</strong>\n <strong class=\"enable\" *ngIf=\"textStateEnable\">{{ textStateEnable }}</strong></span\n ></span\n >\n </label>\n</div>\n<div class=\"wac-show-input\" *ngIf=\"showInput && value\">\n <input [placeholder]=\"placholderInput\" type=\"text\" [(ngModel)]=\"valueInput\" (blur)=\"triggerInput()\" />\n</div>\n"
|
|
53
|
+
template: "<div class=\"wac-switch\">\n <input type=\"checkbox\" [checked]=\"value\" (change)=\"changeValue($event)\" [id]=\"id\" [ngClass]=\"{ danger: danger }\" [disabled]=\"disabled\"/>\n <label [for]=\"id\" class=\"wac-switch__label\">\n <span class=\"wac-switch__label__text\"\n ><ng-content></ng-content\n ><span\n *ngIf=\"textState\"\n [ngStyle]=\"{'whiteSpace': whiteSpace ? 'nowrap' :'normal'}\"\n >{{ textState }} <strong class=\"disable\" *ngIf=\"textStateDisable\">{{ textStateDisable }}</strong>\n <strong class=\"enable\" *ngIf=\"textStateEnable\">{{ textStateEnable }}</strong></span\n ></span\n >\n </label>\n</div>\n<div class=\"wac-show-input\" *ngIf=\"showInput && value\">\n <input [placeholder]=\"placholderInput\" type=\"text\" [(ngModel)]=\"valueInput\" (blur)=\"triggerInput()\" />\n</div>\n",
|
|
54
|
+
providers: [
|
|
55
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: SwitchComponent, multi: true },
|
|
56
|
+
],
|
|
57
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
29
58
|
},] }
|
|
30
59
|
];
|
|
31
|
-
SwitchComponent.ctorParameters = () => [
|
|
60
|
+
SwitchComponent.ctorParameters = () => [
|
|
61
|
+
{ type: ChangeDetectorRef }
|
|
62
|
+
];
|
|
32
63
|
SwitchComponent.propDecorators = {
|
|
33
64
|
value: [{ type: Input }],
|
|
34
65
|
textState: [{ type: Input }],
|
|
@@ -41,4 +72,4 @@ SwitchComponent.propDecorators = {
|
|
|
41
72
|
switchChange: [{ type: Output }],
|
|
42
73
|
changeInput: [{ type: Output }]
|
|
43
74
|
};
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3dpdGNoL3N3aXRjaC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFTekUsTUFBTSxPQUFPLGVBQWU7SUFpQjFCLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBaEJ4RCw4SEFBOEg7UUFDckgsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDckIscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQywyREFBMkQ7UUFFOUUsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDM0IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDLENBQUMsd0JBQXdCO1FBQ2hFLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQyxDQUFDLDJDQUEyQztRQXlCcEYsYUFBUSxHQUE2QixDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBYW5ELGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFoQzhCLENBQUM7SUFFNUQsUUFBUTtRQUNOLElBQUksQ0FBQyxFQUFFLEdBQUcsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFHO1lBQ2xCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzNCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFJRCxVQUFVLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsUUFBYTtRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBSUQsaUJBQWlCLENBQUMsU0FBYztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBaUI7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7OztZQWxFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLHEyQkFBc0M7Z0JBQ3RDLFNBQVMsRUFBRTtvQkFDVCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7aUJBQzFFO2dCQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOzs7WUFUaUMsaUJBQWlCOzs7b0JBWWhELEtBQUs7d0JBQ0wsS0FBSzs4QkFDTCxLQUFLOytCQUNMLEtBQUs7d0JBQ0wsS0FBSzs4QkFDTCxLQUFLO3FCQUNMLEtBQUs7eUJBQ0wsS0FBSzsyQkFDTCxNQUFNOzBCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhYy1zd2l0Y2gnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3dpdGNoLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IFN3aXRjaENvbXBvbmVudCwgbXVsdGk6IHRydWUgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU3dpdGNoQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIC8vIHRvZG8gYWRkIG5nbW9kZWwgYW5kIHJldmlldyB0ZXh0cyBkaXNwbGF5ICh0ZXh0U3RhdGUgaXMgbWFuZGF0b3J5IGluIG9yZGVyIHRvIGRpc3BsYXkgdGV4dFN0YXRlRW5hYmxlIGFuZCB0ZXh0U3RhdGVEaXNhYmxlKVxuICBASW5wdXQoKSB2YWx1ZSA9IGZhbHNlO1xuICBASW5wdXQoKSB0ZXh0U3RhdGUgPSBmYWxzZTtcbiAgQElucHV0KCkgdGV4dFN0YXRlRW5hYmxlID0gJyc7XG4gIEBJbnB1dCgpIHRleHRTdGF0ZURpc2FibGUgPSAnJztcbiAgQElucHV0KCkgc2hvd0lucHV0ID0gZmFsc2U7IC8vIHRvZG8gc2hvdWxkIG5vdCBiZSBoYW5kbGUgaGVyZSwgYnV0IGluIGFub3RoZXIgY29tcG9uZW50XG4gIEBJbnB1dCgpIHBsYWNob2xkZXJJbnB1dDogc3RyaW5nOyAvLyB0b2RvIHNob3VsZCBiZSByZW1vdmVkIGZyb20gaGVyZVxuICBASW5wdXQoKSBkYW5nZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgd2hpdGVTcGFjZTogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgc3dpdGNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7IC8vIHRvZG8gc2V0IGVtaXR0ZWQgdHlwZVxuICBAT3V0cHV0KCkgY2hhbmdlSW5wdXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTsgLy8gdG9kbyBzZXQgZW1pdHRlZCB0eXBlLCBzaG91bGQgYmUgcmVtb3ZlZFxuICB2YWx1ZUlucHV0OiBzdHJpbmc7XG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuXG4gIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaWQgPSAnc3dpdGNoLScgKyBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBNYXRoLmZsb29yKDEwMDApKTtcbiAgfVxuXG4gIGNoYW5nZVZhbHVlKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IGV2ZW50LnRhcmdldC5jaGVja2VkO1xuICAgIHRoaXMuc3dpdGNoQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKVxuICB9XG5cbiAgdHJpZ2dlcklucHV0KCkge1xuICAgIHRoaXMuY2hhbmdlSW5wdXQuZW1pdCh0aGlzLnZhbHVlSW5wdXQpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkID0gKHZhbHVlKSA9PiB7fTtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG4gIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NwbFilterRoutingBuilder, NwbAllModule, NwbFilterGroup } from '@wizishop/ng-wizi-bulma';
|
|
2
|
-
import { Component, ViewEncapsulation, Input, EventEmitter, Output, Directive, HostListener, ɵɵdefineInjectable, ɵɵinject, ComponentFactoryResolver, ApplicationRef, INJECTOR, Injectable, Injector, ElementRef, Renderer2, TemplateRef, ViewContainerRef, NgModule, Inject, ContentChildren, ViewChild,
|
|
2
|
+
import { Component, ViewEncapsulation, Input, EventEmitter, Output, Directive, HostListener, ɵɵdefineInjectable, ɵɵinject, ComponentFactoryResolver, ApplicationRef, INJECTOR, Injectable, Injector, ElementRef, Renderer2, TemplateRef, ViewContainerRef, NgModule, Inject, ContentChildren, ViewChild, ChangeDetectionStrategy, ChangeDetectorRef, Pipe } from '@angular/core';
|
|
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';
|
|
@@ -895,6 +895,7 @@ class ButtonComponent {
|
|
|
895
895
|
this.confirmDeleteText = '';
|
|
896
896
|
this.noPadding = false;
|
|
897
897
|
this.tooltipPosition = 'top-center';
|
|
898
|
+
this.tooltipOneline = false;
|
|
898
899
|
this.confirmDeletePosition = 'right';
|
|
899
900
|
this.click = new EventEmitter();
|
|
900
901
|
this.isLoadingChange = new EventEmitter();
|
|
@@ -976,7 +977,7 @@ class ButtonComponent {
|
|
|
976
977
|
ButtonComponent.decorators = [
|
|
977
978
|
{ type: Component, args: [{
|
|
978
979
|
selector: 'wac-button',
|
|
979
|
-
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 coin ? 'has-coin width-auto' : '',\n animationRight ? 'animation-right' : '',\n animation ? 'animationText' : '',\n isLoading ? 'is-loading' : '',\n opacity ? 'opacity' : '',\n disabled ? 'disabled' : '',\n widthAuto ? 'width-auto' : '',\n noPadding ? 'no-padding' : '',\n
|
|
980
|
+
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 coin ? 'has-coin width-auto' : '',\n animationRight ? 'animation-right' : '',\n animation ? 'animationText' : '',\n isLoading ? 'is-loading' : '',\n opacity ? 'opacity' : '',\n disabled ? 'disabled' : '',\n widthAuto ? 'width-auto' : '',\n noPadding ? 'no-padding' : '',\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\" [style.color]=\"textcolor ? textcolor : ''\">\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 *ngIf=\"coin\" class=\"wac-button__coin\"><i class=\"fa-solid fa-coin-front\"></i><span [innerHTML]=\"coin\"></span></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 </span>\n <span class=\"wac-button__tooltips {{ tooltipPosition }}\" [ngClass]=\"{'oneline': tooltipOneline}\" [style.minWidth]=\"tooltipWidth\" *ngIf=\"tooltip\">\n {{ tooltip }}\n </span>\n</a>\n"
|
|
980
981
|
},] }
|
|
981
982
|
];
|
|
982
983
|
ButtonComponent.ctorParameters = () => [];
|
|
@@ -1003,6 +1004,7 @@ ButtonComponent.propDecorators = {
|
|
|
1003
1004
|
tooltipWidth: [{ type: Input }],
|
|
1004
1005
|
noPadding: [{ type: Input }],
|
|
1005
1006
|
tooltipPosition: [{ type: Input }],
|
|
1007
|
+
tooltipOneline: [{ type: Input }],
|
|
1006
1008
|
confirmDeletePosition: [{ type: Input }],
|
|
1007
1009
|
click: [{ type: Output }],
|
|
1008
1010
|
isLoading: [{ type: Input }],
|
|
@@ -1999,35 +2001,65 @@ ProgressBarComponent.propDecorators = {
|
|
|
1999
2001
|
};
|
|
2000
2002
|
|
|
2001
2003
|
class SwitchComponent {
|
|
2002
|
-
constructor() {
|
|
2003
|
-
|
|
2004
|
+
constructor(changeDetectorRef) {
|
|
2005
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
2006
|
+
// todo add ngmodel and review texts display (textState is mandatory in order to display textStateEnable and textStateDisable)
|
|
2004
2007
|
this.value = false;
|
|
2005
2008
|
this.textState = false;
|
|
2006
2009
|
this.textStateEnable = '';
|
|
2007
2010
|
this.textStateDisable = '';
|
|
2008
|
-
this.showInput = false;
|
|
2011
|
+
this.showInput = false; // todo should not be handle here, but in another component
|
|
2009
2012
|
this.danger = false;
|
|
2010
2013
|
this.whiteSpace = false;
|
|
2011
2014
|
this.switchChange = new EventEmitter(); // todo set emitted type
|
|
2012
|
-
this.changeInput = new EventEmitter(); // todo set emitted type
|
|
2015
|
+
this.changeInput = new EventEmitter(); // todo set emitted type, should be removed
|
|
2016
|
+
this.onChange = (value) => { };
|
|
2017
|
+
this.onTouched = () => { };
|
|
2013
2018
|
}
|
|
2014
2019
|
ngOnInit() {
|
|
2015
2020
|
this.id = 'switch-' + Math.floor(Math.random() * Math.floor(1000));
|
|
2016
2021
|
}
|
|
2017
2022
|
changeValue(event) {
|
|
2018
|
-
this.
|
|
2023
|
+
if (this.disabled) {
|
|
2024
|
+
return;
|
|
2025
|
+
}
|
|
2026
|
+
this.value = event.target.checked;
|
|
2027
|
+
this.switchChange.emit(this.value);
|
|
2028
|
+
this.onChange(this.value);
|
|
2019
2029
|
}
|
|
2020
2030
|
triggerInput() {
|
|
2021
2031
|
this.changeInput.emit(this.valueInput);
|
|
2022
2032
|
}
|
|
2033
|
+
writeValue(value) {
|
|
2034
|
+
this.value = value;
|
|
2035
|
+
}
|
|
2036
|
+
registerOnChange(onChange) {
|
|
2037
|
+
this.onChange = onChange;
|
|
2038
|
+
}
|
|
2039
|
+
onBlur() {
|
|
2040
|
+
this.onTouched();
|
|
2041
|
+
}
|
|
2042
|
+
registerOnTouched(onTouched) {
|
|
2043
|
+
this.onTouched = onTouched;
|
|
2044
|
+
}
|
|
2045
|
+
setDisabledState(disabled) {
|
|
2046
|
+
this.disabled = disabled;
|
|
2047
|
+
this.changeDetectorRef.markForCheck();
|
|
2048
|
+
}
|
|
2023
2049
|
}
|
|
2024
2050
|
SwitchComponent.decorators = [
|
|
2025
2051
|
{ type: Component, args: [{
|
|
2026
2052
|
selector: 'wac-switch',
|
|
2027
|
-
template: "<div class=\"wac-switch\">\n <input type=\"checkbox\" [checked]=\"value\" (change)=\"changeValue($event)\" [id]=\"id\" [ngClass]=\"{ danger: danger }\"/>\n <label [for]=\"id\" class=\"wac-switch__label\">\n <span class=\"wac-switch__label__text\"\n ><ng-content></ng-content\n ><span\n *ngIf=\"textState\"\n [ngStyle]=\"{'whiteSpace': whiteSpace ? 'nowrap' :'normal'}\"\n >{{ textState }} <strong class=\"disable\" *ngIf=\"textStateDisable\">{{ textStateDisable }}</strong>\n <strong class=\"enable\" *ngIf=\"textStateEnable\">{{ textStateEnable }}</strong></span\n ></span\n >\n </label>\n</div>\n<div class=\"wac-show-input\" *ngIf=\"showInput && value\">\n <input [placeholder]=\"placholderInput\" type=\"text\" [(ngModel)]=\"valueInput\" (blur)=\"triggerInput()\" />\n</div>\n"
|
|
2053
|
+
template: "<div class=\"wac-switch\">\n <input type=\"checkbox\" [checked]=\"value\" (change)=\"changeValue($event)\" [id]=\"id\" [ngClass]=\"{ danger: danger }\" [disabled]=\"disabled\"/>\n <label [for]=\"id\" class=\"wac-switch__label\">\n <span class=\"wac-switch__label__text\"\n ><ng-content></ng-content\n ><span\n *ngIf=\"textState\"\n [ngStyle]=\"{'whiteSpace': whiteSpace ? 'nowrap' :'normal'}\"\n >{{ textState }} <strong class=\"disable\" *ngIf=\"textStateDisable\">{{ textStateDisable }}</strong>\n <strong class=\"enable\" *ngIf=\"textStateEnable\">{{ textStateEnable }}</strong></span\n ></span\n >\n </label>\n</div>\n<div class=\"wac-show-input\" *ngIf=\"showInput && value\">\n <input [placeholder]=\"placholderInput\" type=\"text\" [(ngModel)]=\"valueInput\" (blur)=\"triggerInput()\" />\n</div>\n",
|
|
2054
|
+
providers: [
|
|
2055
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: SwitchComponent, multi: true },
|
|
2056
|
+
],
|
|
2057
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
2028
2058
|
},] }
|
|
2029
2059
|
];
|
|
2030
|
-
SwitchComponent.ctorParameters = () => [
|
|
2060
|
+
SwitchComponent.ctorParameters = () => [
|
|
2061
|
+
{ type: ChangeDetectorRef }
|
|
2062
|
+
];
|
|
2031
2063
|
SwitchComponent.propDecorators = {
|
|
2032
2064
|
value: [{ type: Input }],
|
|
2033
2065
|
textState: [{ type: Input }],
|