UNPKG

@douglas-serena/ng-inputs

Version:
58 lines 5.55 kB
import { Directive, ElementRef, Input, } from '@angular/core'; import { NgInputConfigService } from '../ng-input-config.service'; export class SelectDirective { constructor(elementRef, ngInputConfigService) { this.elementRef = elementRef; this.ngInputConfigService = ngInputConfigService; this.MSelect = { default: false, }; } ngAfterViewInit() { var _a; const element = this.elementRef.nativeElement; if (!((_a = this.MSelect) === null || _a === void 0 ? void 0 : _a.default) && this.ngInputConfigService.theme === 'materialize') { this.initSelect(); } else { element.classList.add('browser-default'); } } ngOnChanges() { var _a; if (!((_a = this.MSelect) === null || _a === void 0 ? void 0 : _a.default) && this.ngInputConfigService.theme === 'materialize') { this.initSelect(); } } initSelect() { setTimeout(() => { var _a; if (this.ref) { (_a = this.ref) === null || _a === void 0 ? void 0 : _a.destroy(); } this.ref = M === null || M === void 0 ? void 0 : M.FormSelect.init(this.elementRef.nativeElement); }, 250); } ngOnDestroy() { var _a; if (this.ref) { (_a = this.ref) === null || _a === void 0 ? void 0 : _a.destroy(); } } } SelectDirective.decorators = [ { type: Directive, args: [{ selector: '[MSelect]', },] } ]; SelectDirective.ctorParameters = () => [ { type: ElementRef }, { type: NgInputConfigService } ]; SelectDirective.propDecorators = { MSelect: [{ type: Input }], options: [{ type: Input }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWlucHV0cy9zcmMvbGliL2NvcmUvZGlyZWN0aXZlL3NlbGVjdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBV2xFLE1BQU0sT0FBTyxlQUFlO0lBTzFCLFlBQ1UsVUFBeUMsRUFDekMsb0JBQTBDO1FBRDFDLGVBQVUsR0FBVixVQUFVLENBQStCO1FBQ3pDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFSM0MsWUFBTyxHQUFjO1lBQzVCLE9BQU8sRUFBRSxLQUFLO1NBQ2YsQ0FBQztJQU9DLENBQUM7SUFFSixlQUFlOztRQUNiLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzlDLElBQ0UsQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsT0FBTyxDQUFBO1lBQ3RCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEtBQUssYUFBYSxFQUNqRDtZQUNBLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjthQUFNO1lBQ0wsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUMxQztJQUNILENBQUM7SUFFRCxXQUFXOztRQUNULElBQ0UsQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsT0FBTyxDQUFBO1lBQ3RCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEtBQUssYUFBYSxFQUNqRDtZQUNBLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsVUFBVSxDQUFDLEdBQUcsRUFBRTs7WUFDZCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osTUFBQSxJQUFJLENBQUMsR0FBRywwQ0FBRSxPQUFPLEVBQUUsQ0FBQzthQUNyQjtZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxhQUFELENBQUMsdUJBQUQsQ0FBQyxDQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvRCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRUQsV0FBVzs7UUFDVCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWixNQUFBLElBQUksQ0FBQyxHQUFHLDBDQUFFLE9BQU8sRUFBRSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQzs7O1lBakRGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVzthQUN0Qjs7O1lBZkMsVUFBVTtZQUtILG9CQUFvQjs7O3NCQVkxQixLQUFLO3NCQUdMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE5nSW5wdXRDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vbmctaW5wdXQtY29uZmlnLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElNU2VsZWN0IHtcbiAgZGVmYXVsdD86IGJvb2xlYW47XG59XG5cbmRlY2xhcmUgY29uc3QgTTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW01TZWxlY3RdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBNU2VsZWN0PzogSU1TZWxlY3QgPSB7XG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH07XG4gIEBJbnB1dCgpIG9wdGlvbnM/OiBhbnk7XG4gIHJlZj86IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTFNlbGVjdEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgbmdJbnB1dENvbmZpZ1NlcnZpY2U6IE5nSW5wdXRDb25maWdTZXJ2aWNlXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChcbiAgICAgICF0aGlzLk1TZWxlY3Q/LmRlZmF1bHQgJiZcbiAgICAgIHRoaXMubmdJbnB1dENvbmZpZ1NlcnZpY2UudGhlbWUgPT09ICdtYXRlcmlhbGl6ZSdcbiAgICApIHtcbiAgICAgIHRoaXMuaW5pdFNlbGVjdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2Jyb3dzZXItZGVmYXVsdCcpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIGlmIChcbiAgICAgICF0aGlzLk1TZWxlY3Q/LmRlZmF1bHQgJiZcbiAgICAgIHRoaXMubmdJbnB1dENvbmZpZ1NlcnZpY2UudGhlbWUgPT09ICdtYXRlcmlhbGl6ZSdcbiAgICApIHtcbiAgICAgIHRoaXMuaW5pdFNlbGVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIGluaXRTZWxlY3QoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5yZWYpIHtcbiAgICAgICAgdGhpcy5yZWY/LmRlc3Ryb3koKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucmVmID0gTT8uRm9ybVNlbGVjdC5pbml0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9LCAyNTApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMucmVmKSB7XG4gICAgICB0aGlzLnJlZj8uZGVzdHJveSgpO1xuICAgIH1cbiAgfVxufVxuIl19