@sixbell-telco/sdk
Version:
A collection of reusable components designed for use in Sixbell Telco Angular projects
53 lines (49 loc) • 2.75 kB
JavaScript
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