@alaarab/ogrid-angular-primeng 2.5.9 → 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,68 @@
1
+ import { Component, computed, ViewChild, ChangeDetectionStrategy } from '@angular/core';
2
+ import { ButtonModule } from 'primeng/button';
3
+ import { MenuModule } from 'primeng/menu';
4
+ import { BaseColumnHeaderMenuComponent } from '@alaarab/ogrid-angular';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "primeng/button";
7
+ import * as i2 from "primeng/menu";
8
+ const _c0 = ["menu"];
9
+ export class ColumnHeaderMenuComponent extends BaseColumnHeaderMenuComponent {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.menuModel = computed(() => {
13
+ const result = [];
14
+ for (const item of this.menuItems()) {
15
+ result.push({
16
+ label: item.label,
17
+ disabled: item.disabled,
18
+ command: () => this.handleMenuItemClick(item.id),
19
+ });
20
+ if (item.divider) {
21
+ result.push({ separator: true });
22
+ }
23
+ }
24
+ return result;
25
+ }, ...(ngDevMode ? [{ debugName: "menuModel" }] : []));
26
+ }
27
+ static { this.ɵfac = /*@__PURE__*/ (() => { let ɵColumnHeaderMenuComponent_BaseFactory; return function ColumnHeaderMenuComponent_Factory(__ngFactoryType__) { return (ɵColumnHeaderMenuComponent_BaseFactory || (ɵColumnHeaderMenuComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ColumnHeaderMenuComponent)))(__ngFactoryType__ || ColumnHeaderMenuComponent); }; })(); }
28
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ColumnHeaderMenuComponent, selectors: [["column-header-menu"]], viewQuery: function ColumnHeaderMenuComponent_Query(rf, ctx) { if (rf & 1) {
29
+ i0.ɵɵviewQuery(_c0, 5);
30
+ } if (rf & 2) {
31
+ let _t;
32
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.menuRef = _t.first);
33
+ } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 3, consts: [["menu", ""], ["pButton", "", "type", "button", "icon", "pi pi-ellipsis-v", 1, "p-button-text", "p-button-sm", "column-header-menu-trigger", 3, "click"], ["appendTo", "body", 3, "model", "popup"]], template: function ColumnHeaderMenuComponent_Template(rf, ctx) { if (rf & 1) {
34
+ const _r1 = i0.ɵɵgetCurrentView();
35
+ i0.ɵɵelementStart(0, "button", 1);
36
+ i0.ɵɵlistener("click", function ColumnHeaderMenuComponent_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r1); const menu_r2 = i0.ɵɵreference(2); return i0.ɵɵresetView(menu_r2.toggle($event)); });
37
+ i0.ɵɵelementEnd();
38
+ i0.ɵɵelement(1, "p-menu", 2, 0);
39
+ } if (rf & 2) {
40
+ i0.ɵɵattribute("aria-label", "Column options for " + ctx.columnId);
41
+ i0.ɵɵadvance();
42
+ i0.ɵɵproperty("model", ctx.menuModel())("popup", true);
43
+ } }, dependencies: [ButtonModule, i1.ButtonDirective, MenuModule, i2.Menu], styles: [".column-header-menu-trigger[_ngcontent-%COMP%] {\n padding: 0.25rem;\n min-width: 24px;\n height: 24px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: var(--ogrid-fg-secondary, rgba(0, 0, 0, 0.6));\n border-radius: 4px;\n transition: background-color 0.15s;\n }\n \n\n\n @media (hover: hover) {\n .column-header-menu-trigger[_ngcontent-%COMP%] { visibility: hidden; }\n }\n .column-header-menu-trigger[_ngcontent-%COMP%]:hover {\n background: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.04));\n color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));\n }"], changeDetection: 0 }); }
44
+ }
45
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ColumnHeaderMenuComponent, [{
46
+ type: Component,
47
+ args: [{ selector: 'column-header-menu', standalone: true, imports: [ButtonModule, MenuModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
48
+ <button
49
+ pButton
50
+ type="button"
51
+ icon="pi pi-ellipsis-v"
52
+ class="p-button-text p-button-sm column-header-menu-trigger"
53
+ (click)="menu.toggle($event)"
54
+ [attr.aria-label]="'Column options for ' + columnId"
55
+ ></button>
56
+
57
+ <p-menu
58
+ #menu
59
+ [model]="menuModel()"
60
+ [popup]="true"
61
+ appendTo="body"
62
+ ></p-menu>
63
+ `, styles: ["\n .column-header-menu-trigger {\n padding: 0.25rem;\n min-width: 24px;\n height: 24px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: var(--ogrid-fg-secondary, rgba(0, 0, 0, 0.6));\n border-radius: 4px;\n transition: background-color 0.15s;\n }\n /* Always reserve space; hide on hover-capable devices until column is hovered.\n The th:hover rule lives in the parent (ViewEncapsulation.None) styles. */\n @media (hover: hover) {\n .column-header-menu-trigger { visibility: hidden; }\n }\n .column-header-menu-trigger:hover {\n background: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.04));\n color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));\n }\n "] }]
64
+ }], null, { menuRef: [{
65
+ type: ViewChild,
66
+ args: ['menu']
67
+ }] }); })();
68
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ColumnHeaderMenuComponent, { className: "ColumnHeaderMenuComponent", filePath: "column-header-menu/column-header-menu.component.ts", lineNumber: 53 }); })();