UNPKG

@sixbell-telco/sdk

Version:

A collection of reusable components designed for use in Sixbell Telco Angular projects

53 lines (49 loc) 2.75 kB
import * as i1 from '@angular/cdk/menu'; import { CdkContextMenuTrigger } from '@angular/cdk/menu'; import { DOCUMENT } from '@angular/common'; import * as i0 from '@angular/core'; import { inject, input, Component } from '@angular/core'; /** * DropdownContextMenuTrigger - Trigger for context menu (right-click) */ class DropdownContextMenuTriggerComponent { document = inject(DOCUMENT); originalBodyOverflow = ''; /** * Whether the context menu is disabled */ disabled = input(false); /** * Handle menu opened - prevent body scroll */ onMenuOpened() { this.originalBodyOverflow = this.document.body.style.overflow; this.document.body.style.overflow = 'hidden'; } /** * Handle menu closed - restore body scroll */ onMenuClosed() { this.document.body.style.overflow = this.originalBodyOverflow; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: DropdownContextMenuTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.0", type: DropdownContextMenuTriggerComponent, isStandalone: true, selector: "st-dropdown-context-menu-trigger", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "opened": "onMenuOpened()", "closed": "onMenuClosed()" } }, hostDirectives: [{ directive: i1.CdkContextMenuTrigger, inputs: ["cdkContextMenuTriggerFor", "menuTriggerFor"], outputs: ["cdkContextMenuOpened", "opened", "cdkContextMenuClosed", "closed"] }], ngImport: i0, template: "<ng-content></ng-content>\n" }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: DropdownContextMenuTriggerComponent, decorators: [{ type: Component, args: [{ selector: 'st-dropdown-context-menu-trigger', standalone: true, imports: [], hostDirectives: [ { directive: CdkContextMenuTrigger, inputs: ['cdkContextMenuTriggerFor: menuTriggerFor'], outputs: ['cdkContextMenuOpened: opened', 'cdkContextMenuClosed: closed'], }, ], host: { '(opened)': 'onMenuOpened()', '(closed)': 'onMenuClosed()', }, template: "<ng-content></ng-content>\n" }] }] }); /** * Generated bundle index. Do not edit. */ export { DropdownContextMenuTriggerComponent }; //# sourceMappingURL=sixbell-telco-sdk-components-dropdown-menu-context.mjs.map