ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
93 lines • 12.1 kB
JavaScript
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=