UNPKG

primeng-shadowdom-directives

Version:
47 lines 6.51 kB
import { Directive, Host, Inject, Optional, PLATFORM_ID, Self, } from '@angular/core'; import { isPlatformBrowser } from '@angular/common'; import * as i0 from "@angular/core"; import * as i1 from "primeng/tieredmenu"; export class psdTieredMenuDirective { constructor(hostEl, platformId) { this.hostEl = hostEl; this.platformId = platformId; hostEl.bindOutsideClickListener = () => { if (isPlatformBrowser(platformId)) { if (!hostEl.outsideClickListener) { hostEl.outsideClickListener = hostEl.renderer.listen(document, 'click', (event) => { const path = event.path || (event.composedPath && event.composedPath()); const target = event.target.shadowRoot ? path[0] : event.target; const isOutsideContainer = hostEl.containerViewChild && !hostEl.containerViewChild.nativeElement.contains(target); const isOutsideTarget = hostEl.popup ? !(hostEl.target && (hostEl.target === target || hostEl.target.contains(target))) : true; if (isOutsideContainer && isOutsideTarget) { hostEl.hide(); } }); } } }; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: psdTieredMenuDirective, deps: [{ token: i1.TieredMenu, host: true, optional: true, self: true }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: psdTieredMenuDirective, selector: "[psdTieredMenu]", ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: psdTieredMenuDirective, decorators: [{ type: Directive, args: [{ selector: '[psdTieredMenu]', }] }], ctorParameters: () => [{ type: i1.TieredMenu, decorators: [{ type: Host }, { type: Self }, { type: Optional }] }, { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkbWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByaW1lbmctc2hhZG93ZG9tLWRpcmVjdGl2ZXMvc3JjL2RpcmVjdGl2ZXMvdGllcmVkbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULElBQUksRUFDSixNQUFNLEVBQ04sUUFBUSxFQUNSLFdBQVcsRUFDWCxJQUFJLEdBQ0wsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUtwRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQytDLE1BQWtCLEVBQ2xDLFVBQWU7UUFEQyxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQUs7UUFFNUMsTUFBTSxDQUFDLHdCQUF3QixHQUFHLEdBQUcsRUFBRTtZQUNyQyxJQUFJLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztvQkFDakMsTUFBTSxDQUFDLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUNsRCxRQUFRLEVBQ1IsT0FBTyxFQUNQLENBQUMsS0FBSyxFQUFFLEVBQUU7d0JBQ1IsTUFBTSxJQUFJLEdBQ1IsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7d0JBQzdELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7d0JBRWhFLE1BQU0sa0JBQWtCLEdBQ3RCLE1BQU0sQ0FBQyxrQkFBa0I7NEJBQ3pCLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzVELE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxLQUFLOzRCQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUNDLE1BQU0sQ0FBQyxNQUFNO2dDQUNiLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDN0Q7NEJBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQzt3QkFDVCxJQUFJLGtCQUFrQixJQUFJLGVBQWUsRUFBRSxDQUFDOzRCQUMxQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQ2hCLENBQUM7b0JBQ0gsQ0FBQyxDQUNGLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUM7SUFDSixDQUFDOytHQWpDVSxzQkFBc0Isb0ZBR3ZCLFdBQVc7bUdBSFYsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCOzswQkFHSSxJQUFJOzswQkFBSSxJQUFJOzswQkFBSSxRQUFROzswQkFDeEIsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBIb3N0LFxuICBJbmplY3QsXG4gIE9wdGlvbmFsLFxuICBQTEFURk9STV9JRCxcbiAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaWVyZWRNZW51IH0gZnJvbSAncHJpbWVuZy90aWVyZWRtZW51JztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3BzZFRpZXJlZE1lbnVdJyxcbn0pXG5leHBvcnQgY2xhc3MgcHNkVGllcmVkTWVudURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBIb3N0KCkgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IGhvc3RFbDogVGllcmVkTWVudSxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueVxuICApIHtcbiAgICBob3N0RWwuYmluZE91dHNpZGVDbGlja0xpc3RlbmVyID0gKCkgPT4ge1xuICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHBsYXRmb3JtSWQpKSB7XG4gICAgICAgIGlmICghaG9zdEVsLm91dHNpZGVDbGlja0xpc3RlbmVyKSB7XG4gICAgICAgICAgaG9zdEVsLm91dHNpZGVDbGlja0xpc3RlbmVyID0gaG9zdEVsLnJlbmRlcmVyLmxpc3RlbihcbiAgICAgICAgICAgIGRvY3VtZW50LFxuICAgICAgICAgICAgJ2NsaWNrJyxcbiAgICAgICAgICAgIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBwYXRoID1cbiAgICAgICAgICAgICAgICBldmVudC5wYXRoIHx8IChldmVudC5jb21wb3NlZFBhdGggJiYgZXZlbnQuY29tcG9zZWRQYXRoKCkpO1xuICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQuc2hhZG93Um9vdCA/IHBhdGhbMF0gOiBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgICAgY29uc3QgaXNPdXRzaWRlQ29udGFpbmVyID1cbiAgICAgICAgICAgICAgICBob3N0RWwuY29udGFpbmVyVmlld0NoaWxkICYmXG4gICAgICAgICAgICAgICAgIWhvc3RFbC5jb250YWluZXJWaWV3Q2hpbGQubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpO1xuICAgICAgICAgICAgICBjb25zdCBpc091dHNpZGVUYXJnZXQgPSBob3N0RWwucG9wdXBcbiAgICAgICAgICAgICAgICA/ICEoXG4gICAgICAgICAgICAgICAgICAgIGhvc3RFbC50YXJnZXQgJiZcbiAgICAgICAgICAgICAgICAgICAgKGhvc3RFbC50YXJnZXQgPT09IHRhcmdldCB8fCBob3N0RWwudGFyZ2V0LmNvbnRhaW5zKHRhcmdldCkpXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiB0cnVlO1xuICAgICAgICAgICAgICBpZiAoaXNPdXRzaWRlQ29udGFpbmVyICYmIGlzT3V0c2lkZVRhcmdldCkge1xuICAgICAgICAgICAgICAgIGhvc3RFbC5oaWRlKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfVxufVxuIl19