ng2-qgrid
Version:
Angular data grid
42 lines • 5.52 kB
JavaScript
import { Directive, ElementRef, Renderer2 } from '@angular/core';
import { GridError, GridPlugin } from 'ng2-qgrid';
import * as i0 from "@angular/core";
import * as i1 from "ng2-qgrid";
export class ThemeOverlayDirective {
constructor(plugin, elementRef, renderer) {
this.plugin = plugin;
this.elementRef = elementRef;
this.renderer = renderer;
}
ngAfterViewInit() {
const { model } = this.plugin;
const element = this.elementRef.nativeElement;
let parent = this.renderer.parentNode(element);
let overlayContainer = null;
while (parent && !(parent.id && parent.id.startsWith('cdk-overlay'))) {
parent = this.renderer.parentNode(parent);
if (parent.nodeName === 'BODY') {
break;
}
}
if (parent.nodeName !== 'BODY') {
overlayContainer = parent;
}
if (!overlayContainer) {
throw new GridError('theme-overlay.directive', 'cdk-overlay container is not found');
}
model.style().classList.forEach(cssClass => {
this.renderer.addClass(overlayContainer, cssClass);
});
}
}
ThemeOverlayDirective.ɵfac = function ThemeOverlayDirective_Factory(t) { return new (t || ThemeOverlayDirective)(i0.ɵɵdirectiveInject(i1.GridPlugin), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2)); };
ThemeOverlayDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ThemeOverlayDirective, selectors: [["", "q-grid-theme-overlay", ""]], features: [i0.ɵɵProvidersFeature([GridPlugin])] });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ThemeOverlayDirective, [{
type: Directive,
args: [{
selector: '[q-grid-theme-overlay]',
providers: [GridPlugin],
}]
}], function () { return [{ type: i1.GridPlugin }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, null); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtb3ZlcmxheS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGhlbWUtb3ZlcmxheS90aGVtZS1vdmVybGF5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFNbEQsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQyxZQUNRLE1BQWtCLEVBQ2xCLFVBQXNCLEVBQ3RCLFFBQW1CO1FBRm5CLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDbEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQzNCLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDOUMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsSUFBSSxnQkFBZ0IsR0FBUSxJQUFJLENBQUM7UUFFakMsT0FBTyxNQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRTtZQUNwRSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUMsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLE1BQU0sRUFBRTtnQkFDOUIsTUFBTTthQUNQO1NBQ0Y7UUFFRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssTUFBTSxFQUFFO1lBQzlCLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztTQUMzQjtRQUVELElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNyQixNQUFNLElBQUksU0FBUyxDQUNqQix5QkFBeUIsRUFDekIsb0NBQW9DLENBQ3JDLENBQUM7U0FDSDtRQUVELEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7MEZBbkNVLHFCQUFxQjt3RUFBckIscUJBQXFCLGtGQUZyQixDQUFDLFVBQVUsQ0FBQzt1RkFFWixxQkFBcUI7Y0FKakMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQzthQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcmlkRXJyb3IsIEdyaWRQbHVnaW4gfSBmcm9tICduZzItcWdyaWQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcS1ncmlkLXRoZW1lLW92ZXJsYXldJyxcbiAgcHJvdmlkZXJzOiBbR3JpZFBsdWdpbl0sXG59KVxuZXhwb3J0IGNsYXNzIFRoZW1lT3ZlcmxheURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgcGx1Z2luOiBHcmlkUGx1Z2luLFxuXHRcdHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcblx0XHRwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IG1vZGVsIH0gPSB0aGlzLnBsdWdpbjtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgbGV0IHBhcmVudCA9IHRoaXMucmVuZGVyZXIucGFyZW50Tm9kZShlbGVtZW50KTtcbiAgICBsZXQgb3ZlcmxheUNvbnRhaW5lcjogYW55ID0gbnVsbDtcblxuICAgIHdoaWxlIChwYXJlbnQgJiYgIShwYXJlbnQuaWQgJiYgcGFyZW50LmlkLnN0YXJ0c1dpdGgoJ2Nkay1vdmVybGF5JykpKSB7XG4gICAgICBwYXJlbnQgPSB0aGlzLnJlbmRlcmVyLnBhcmVudE5vZGUocGFyZW50KTtcbiAgICAgIGlmIChwYXJlbnQubm9kZU5hbWUgPT09ICdCT0RZJykge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGFyZW50Lm5vZGVOYW1lICE9PSAnQk9EWScpIHtcbiAgICAgIG92ZXJsYXlDb250YWluZXIgPSBwYXJlbnQ7XG4gICAgfVxuXG4gICAgaWYgKCFvdmVybGF5Q29udGFpbmVyKSB7XG4gICAgICB0aHJvdyBuZXcgR3JpZEVycm9yKFxuICAgICAgICAndGhlbWUtb3ZlcmxheS5kaXJlY3RpdmUnLFxuICAgICAgICAnY2RrLW92ZXJsYXkgY29udGFpbmVyIGlzIG5vdCBmb3VuZCcsXG4gICAgICApO1xuICAgIH1cblxuICAgIG1vZGVsLnN0eWxlKCkuY2xhc3NMaXN0LmZvckVhY2goY3NzQ2xhc3MgPT4ge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhvdmVybGF5Q29udGFpbmVyLCBjc3NDbGFzcyk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==