UNPKG

ontimize-web-ngx

Version:
93 lines 12.1 kB
import { Directive, ElementRef, Host, Input, Optional, Renderer2 } from '@angular/core'; import { OFormServiceComponent } from '../components/input/o-form-service-component.class'; import * as i0 from "@angular/core"; import * as i1 from "../components/input/o-form-service-component.class"; export const DEFAULT_INPUTS_O_LOCKER = [ 'oLockerMode', 'oLockerDelay' ]; export class OLockerDirective { constructor(element, renderer, parent) { this.element = element; this.renderer = renderer; this.parent = parent; this._oLockerMode = 'load'; if (parent) { this.subscription = parent.loadingSubject.subscribe(x => this.manageLockerMode(x)); } } ngOnDestroy() { this.subscription.unsubscribe(); } manageLockerMode(loading) { if (this._oLockerMode === 'disable') { this.manageDisableMode(loading); } else { this.manageLoadMode(loading); } } manageDisableMode(loading) { if (loading) { this.parent.enabled = false; } else { this.parent.enabled = true; } } manageLoadMode(loading) { if (loading) { this.addLoading(); } else { this.removeLoading(); } } addLoading() { this.componentDiv = this.element.nativeElement.children[0]; this.loadingParentDiv = this.renderer.createElement('div'); const loaderChild1 = this.renderer.createElement('div'); const loaderChild2 = this.renderer.createElement('div'); const loaderChild3 = this.renderer.createElement('div'); const loaderChild4 = this.renderer.createElement('div'); this.renderer.appendChild(this.loadingParentDiv, loaderChild4); this.renderer.appendChild(this.loadingParentDiv, loaderChild3); this.renderer.appendChild(this.loadingParentDiv, loaderChild2); this.renderer.appendChild(this.loadingParentDiv, loaderChild1); this.renderer.insertBefore(this.element.nativeElement, this.loadingParentDiv, this.componentDiv); this.renderer.addClass(this.loadingParentDiv, 'o-loading'); this.renderer.addClass(this.element.nativeElement, 'relative'); this.renderer.setStyle(this.componentDiv, 'opacity', '0.6'); } removeLoading() { if (this.loadingParentDiv) { this.renderer.removeChild(this.element.nativeElement, this.loadingParentDiv); this.renderer.removeClass(this.element.nativeElement, 'relative'); this.renderer.removeStyle(this.componentDiv, 'opacity'); } } set oLockerMode(value) { this._oLockerMode = value; } set oLockerDelay(value) { this.parent.delayLoad = value; } } OLockerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OLockerDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.OFormServiceComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); OLockerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: OLockerDirective, selector: "[oLocker]", inputs: { oLockerMode: "oLockerMode", oLockerDelay: "oLockerDelay" }, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OLockerDirective, decorators: [{ type: Directive, args: [{ selector: '[oLocker]', inputs: DEFAULT_INPUTS_O_LOCKER }] }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.OFormServiceComponent, decorators: [{ type: Optional }, { type: Host }] }]; }, propDecorators: { oLockerMode: [{ type: Input }], oLockerDelay: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9ja2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9kaXJlY3RpdmVzL2xvY2tlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBYSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25HLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOzs7QUFFM0YsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDckMsYUFBYTtJQUViLGNBQWM7Q0FDZixDQUFDO0FBT0YsTUFBTSxPQUFPLGdCQUFnQjtJQVEzQixZQUNVLE9BQW1CLEVBQ25CLFFBQW1CLEVBQ0MsTUFBNkI7UUFGakQsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ0MsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFObkQsaUJBQVksR0FBRyxNQUFNLENBQUM7UUFRNUIsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDcEY7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxPQUFnQjtRQUN2QyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQ25DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNqQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxP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O1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDOzs4R0EvRVUsZ0JBQWdCO2tHQUFoQixnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFMNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsTUFBTSxFQUFFLHVCQUF1QjtpQkFDaEM7OzBCQWFJLFFBQVE7OzBCQUFJLElBQUk7NENBNkRmLFdBQVc7c0JBRGQsS0FBSztnQkFNRixZQUFZO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3QsIElucHV0LCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBPRm9ybVNlcnZpY2VDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2lucHV0L28tZm9ybS1zZXJ2aWNlLWNvbXBvbmVudC5jbGFzcyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX0xPQ0tFUiA9IFtcbiAgJ29Mb2NrZXJNb2RlJyxcbiAgLypEZWZhdWx0OjI1MG1zKi9cbiAgJ29Mb2NrZXJEZWxheSdcbl07XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tvTG9ja2VyXScsXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19MT0NLRVJcbn0pXG5cbmV4cG9ydCBjbGFzcyBPTG9ja2VyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIGxvYWRpbmdQYXJlbnREaXY7XG4gIHByaXZhdGUgY29tcG9uZW50RGl2O1xuXG4gIHByaXZhdGUgX29Mb2NrZXJNb2RlID0gJ2xvYWQnO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcml2YXRlIHBhcmVudDogT0Zvcm1TZXJ2aWNlQ29tcG9uZW50XG4gICkge1xuICAgIGlmIChwYXJlbnQpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gcGFyZW50LmxvYWRpbmdTdWJqZWN0LnN1YnNjcmliZSh4ID0+IHRoaXMubWFuYWdlTG9ja2VyTW9kZSh4KSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIG1hbmFnZUxvY2tlck1vZGUobG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLl9vTG9ja2VyTW9kZSA9PT0gJ2Rpc2FibGUnKSB7XG4gICAgICB0aGlzLm1hbmFnZURpc2FibGVNb2RlKGxvYWRpbmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1hbmFnZUxvYWRNb2RlKGxvYWRpbmcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbWFuYWdlRGlzYWJsZU1vZGUobG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChsb2FkaW5nKSB7XG4gICAgICB0aGlzLnBhcmVudC5lbmFibGVkID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGFyZW50LmVuYWJsZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbWFuYWdlTG9hZE1vZGUobG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChsb2FkaW5nKSB7XG4gICAgICB0aGlzLmFkZExvYWRpbmcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW1vdmVMb2FkaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRMb2FkaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50RGl2ID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF07IC8vIHNldCBvcGFjaXR5IGluIGNvbXBvbmVudERpdlxuICAgIHRoaXMubG9hZGluZ1BhcmVudERpdiA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgY29uc3QgbG9hZGVyQ2hpbGQxID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBjb25zdCBsb2FkZXJDaGlsZDIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGNvbnN0IGxvYWRlckNoaWxkMyA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgY29uc3QgbG9hZGVyQ2hpbGQ0ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMubG9hZGluZ1BhcmVudERpdiwgbG9hZGVyQ2hpbGQ0KTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMubG9hZGluZ1BhcmVudERpdiwgbG9hZGVyQ2hpbGQzKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMubG9hZGluZ1BhcmVudERpdiwgbG9hZGVyQ2hpbGQyKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMubG9hZGluZ1BhcmVudERpdiwgbG9hZGVyQ2hpbGQxKTtcbiAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5sb2FkaW5nUGFyZW50RGl2LCB0aGlzLmNvbXBvbmVudERpdik7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmxvYWRpbmdQYXJlbnREaXYsICdvLWxvYWRpbmcnKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCAncmVsYXRpdmUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29tcG9uZW50RGl2LCAnb3BhY2l0eScsICcwLjYnKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTG9hZGluZygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb2FkaW5nUGFyZW50RGl2KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCB0aGlzLmxvYWRpbmdQYXJlbnREaXYpO1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3JlbGF0aXZlJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuY29tcG9uZW50RGl2LCAnb3BhY2l0eScpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBvTG9ja2VyTW9kZSh2YWx1ZTogJ2xvYWQnIHwgJ2Rpc2FibGVkJykge1xuICAgIHRoaXMuX29Mb2NrZXJNb2RlID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgb0xvY2tlckRlbGF5KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLnBhcmVudC5kZWxheUxvYWQgPSB2YWx1ZTtcbiAgfVxuXG59XG4iXX0=