mis-crystal-design-system 18.0.13-test-9 → 18.0.14

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.
@@ -60,7 +60,6 @@ export declare class TableComponent implements OnInit, AfterViewInit, OnChanges
60
60
  'font-size': any;
61
61
  };
62
62
  onSortChange(sortState: SortState): void;
63
- getActionsCellStyle(style: any): any;
64
63
  static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent, never>;
65
64
  static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent, "mis-table", never, { "config": { "alias": "tableConfig"; "required": false; }; "subTableconfig": { "alias": "subTableconfig"; "required": false; }; "tableDataLoading": { "alias": "tableDataLoading"; "required": false; }; "expandedIndex": { "alias": "expandedIndex"; "required": false; }; "tableData": { "alias": "tableData"; "required": false; }; "subTableData": { "alias": "subTableData"; "required": false; }; "subTableDataLoading": { "alias": "subTableDataLoading"; "required": false; }; }, { "filtersUpdated": "filtersUpdated"; "pageSelected": "pageSelected"; "sortChange": "sortChange"; }, never, never, false, never>;
66
65
  }
@@ -77,14 +76,12 @@ export interface TableConfig {
77
76
  cellHover?: boolean;
78
77
  activeRowIndex?: number;
79
78
  multiColumnSort?: boolean;
80
- actionPermissions?: Array<any>;
81
79
  }
82
80
  export interface PaginationConfig {
83
81
  noOfPages: number;
84
82
  rowsPerPage: number;
85
83
  totalNoOfRows: number;
86
84
  selectedPage?: number;
87
- disablePageJumping?: boolean;
88
85
  }
89
86
  export interface RowConfig {
90
87
  height?: string | undefined | null;
@@ -103,20 +100,8 @@ export interface ColHeaderConfig {
103
100
  sortDescIcon?: string;
104
101
  }
105
102
  export interface ColConfig {
106
- type: "text" | "number" | "custom" | "actions";
103
+ type: "text" | "number" | "custom";
107
104
  componentRef?: any;
108
105
  style?: {};
109
106
  action?: any;
110
- actionItems?: ActionItem[];
111
- actionType?: "inline" | "dropdown";
112
- menuAlign?: "left" | "right";
113
- }
114
- export interface ActionItem {
115
- label: string;
116
- value: string;
117
- icon?: string;
118
- disabled?: boolean;
119
- action?: (data: any) => void;
120
- children?: ActionItem[];
121
- submenuAlign?: "left" | "right";
122
107
  }
@@ -5,13 +5,12 @@ import * as i2 from "./sub-table/sub-table.component";
5
5
  import * as i3 from "./filter/filter.component";
6
6
  import * as i4 from "./custom-table-cell.directive";
7
7
  import * as i5 from "./sort-icons.directive";
8
- import * as i6 from "./actions-cell/actions-cell.component";
9
- import * as i7 from "@angular/common";
10
- import * as i8 from "mis-crystal-design-system/checkbox";
11
- import * as i9 from "@angular/cdk/scrolling";
8
+ import * as i6 from "@angular/common";
9
+ import * as i7 from "mis-crystal-design-system/checkbox";
10
+ import * as i8 from "@angular/cdk/scrolling";
12
11
  export declare class TableModule {
13
12
  static forRoot(): ModuleWithProviders<TableModule>;
14
13
  static ɵfac: i0.ɵɵFactoryDeclaration<TableModule, never>;
15
- static ɵmod: i0.ɵɵNgModuleDeclaration<TableModule, [typeof i1.TableComponent, typeof i2.SubTableComponent, typeof i3.TableFilterComponent, typeof i4.CustomTableCellDirective, typeof i5.SortIconsDirective, typeof i6.ActionsCellComponent], [typeof i7.CommonModule, typeof i8.CheckboxModule, typeof i9.ScrollingModule], [typeof i1.TableComponent, typeof i2.SubTableComponent, typeof i3.TableFilterComponent, typeof i4.CustomTableCellDirective, typeof i5.SortIconsDirective, typeof i6.ActionsCellComponent]>;
14
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TableModule, [typeof i1.TableComponent, typeof i2.SubTableComponent, typeof i3.TableFilterComponent, typeof i4.CustomTableCellDirective, typeof i5.SortIconsDirective], [typeof i6.CommonModule, typeof i7.CheckboxModule, typeof i8.ScrollingModule], [typeof i1.TableComponent, typeof i2.SubTableComponent, typeof i3.TableFilterComponent, typeof i4.CustomTableCellDirective, typeof i5.SortIconsDirective]>;
16
15
  static ɵinj: i0.ɵɵInjectorDeclaration<TableModule>;
17
16
  }
@@ -1,3 +0,0 @@
1
- <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M13.5 14.5H16V15.5H13.5V17H12.5V13H13.5V14.5ZM11 15.5H4V14.5H11V15.5ZM6.5 8V12H5.5V10.5H4V9.5H5.5V8H6.5ZM16 10.5H9V9.5H16V10.5ZM13.5 4.5H16V5.5H13.5V7H12.5V3H13.5V4.5ZM11 5.5H4V4.5H11V5.5Z" fill="#181F33"/>
3
- </svg>
@@ -1,3 +0,0 @@
1
- <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path fill-rule="evenodd" clip-rule="evenodd" d="M10 2C8.89543 2 8 2.89269 8 3.99388H4C3.44772 3.99388 3 4.44023 3 4.99082C3 5.54142 3.44772 5.98776 4 5.98776H10H16C16.5523 5.98776 17 5.54142 17 4.99082C17 4.44023 16.5523 3.99388 16 3.99388H12C12 2.89269 11.1046 2 10 2ZM7 8.39471C7 7.84411 6.55229 7.39777 6 7.39777C5.44772 7.39777 5 7.84411 5 8.39471V14.5076C5 15.8841 6.11929 17 7.5 17H12.5C13.8807 17 15 15.8841 15 14.5076V8.39471C15 7.84411 14.5523 7.39777 14 7.39777C13.4477 7.39777 13 7.84411 13 8.39471V14.5076C13 14.7829 12.7761 15.0061 12.5 15.0061H11L11 8.44062C11 7.89003 10.5523 7.44368 10 7.44368C9.44772 7.44368 9 7.89003 9 8.44062L9 15.0061H7.5C7.22386 15.0061 7 14.7829 7 14.5076V8.39471Z" fill="#181F33"/>
3
- </svg>
@@ -1,3 +0,0 @@
1
- <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path fill-rule="evenodd" clip-rule="evenodd" d="M3.33545 13.8873V16.6643H6.11241L14.3026 8.47409L11.5256 5.69713L3.33545 13.8873ZM16.4501 6.32657C16.7389 6.03776 16.7389 5.57124 16.4501 5.28243L14.7173 3.54961C14.4285 3.26081 13.9619 3.26081 13.6731 3.54961L12.318 4.90477L15.0949 7.68172L16.4501 6.32657Z" fill="#181F33"/>
3
- </svg>
@@ -1,87 +0,0 @@
1
- <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <rect width="20" height="20" fill="#E7E7E7"/>
3
- <g id="Project Configurations">
4
- <path d="M-1594 -2440C-1594 -2441.1 -1593.1 -2442 -1592 -2442H15573C15574.1 -2442 15575 -2441.1 15575 -2440V9076C15575 9077.1 15574.1 9078 15573 9078H-1592C-1593.1 9078 -1594 9077.1 -1594 9076V-2440Z" fill="white"/>
5
- <path d="M-1592 -2442V-2441H15573V-2442V-2443H-1592V-2442ZM15575 -2440H15574V9076H15575H15576V-2440H15575ZM15573 9078V9077H-1592V9078V9079H15573V9078ZM-1594 9076H-1593V-2440H-1594H-1595V9076H-1594ZM-1592 9078V9077C-1592.55 9077 -1593 9076.55 -1593 9076H-1594H-1595C-1595 9077.66 -1593.66 9079 -1592 9079V9078ZM15575 9076H15574C15574 9076.55 15573.6 9077 15573 9077V9078V9079C15574.7 9079 15576 9077.66 15576 9076H15575ZM15573 -2442V-2441C15573.6 -2441 15574 -2440.55 15574 -2440H15575H15576C15576 -2441.66 15574.7 -2443 15573 -2443V-2442ZM-1592 -2442V-2443C-1593.66 -2443 -1595 -2441.66 -1595 -2440H-1594H-1593C-1593 -2440.55 -1592.55 -2441 -1592 -2441V-2442Z" fill="black" fill-opacity="0.1"/>
6
- <g id="Compliance Dashboard Home" clip-path="url(#clip0_4135_7409)">
7
- <rect width="1366" height="768" transform="translate(-1022 -402)" fill="white"/>
8
- <g id="Team Manager - Manage Teams" clip-path="url(#clip1_4135_7409)">
9
- <rect width="1366" height="768" transform="translate(-1022 -402)" fill="white"/>
10
- <g id="table master">
11
- <g id="content">
12
- <g id="Frame 15">
13
- <g id="Cell">
14
- <rect width="271" height="44" transform="translate(-142 -34)" fill="#F5F7FC"/>
15
- <g id="Division Line" clip-path="url(#clip2_4135_7409)">
16
- <line id="Line" x1="-142" y1="9.5" x2="129" y2="9.5" stroke="#E0E0E0"/>
17
- </g>
18
- </g>
19
- <g id="Cell_2">
20
- <rect width="271" height="44" transform="translate(-142 10)" fill="white"/>
21
- </g>
22
- </g>
23
- </g>
24
- </g>
25
- </g>
26
- <g id="Dialogs" filter="url(#filter0_dd_4135_7409)">
27
- <rect x="-16" y="-88" width="252" height="160" rx="8" fill="white"/>
28
- <rect x="-15.5" y="-87.5" width="251" height="159" rx="7.5" stroke="#E0E0E0"/>
29
- <g id="Assets/Dialogs">
30
- <g id="Item">
31
- <g clip-path="url(#clip3_4135_7409)">
32
- <rect y="-2" width="220" height="24" rx="4" fill="white"/>
33
- <g id="ic-action-history-24">
34
- <g id="history-24px">
35
- <path id="Shape" fill-rule="evenodd" clip-rule="evenodd" d="M3.33337 10C3.33337 5.85833 6.69171 2.5 10.8334 2.5C14.975 2.5 18.3334 5.85833 18.3334 10C18.3334 14.1417 14.975 17.5 10.8334 17.5C8.75837 17.5 6.89171 16.6583 5.53337 15.3L6.71671 14.1167C7.76671 15.175 9.22504 15.8333 10.8334 15.8333C14.0584 15.8333 16.6667 13.225 16.6667 10C16.6667 6.775 14.0584 4.16667 10.8334 4.16667C7.60837 4.16667 5.00004 6.775 5.00004 10H7.50004L4.13337 13.3583L4.07504 13.2417L0.833374 10H3.33337ZM10 10.8333V6.66667H11.25V10.2083L14.1667 11.9417L13.5667 12.95L10 10.8333Z" fill="#181F33"/>
36
- </g>
37
- </g>
38
- </g>
39
- </g>
40
- </g>
41
- </g>
42
- <g id="Group 794185">
43
- <g id="Dialogs_2" filter="url(#filter1_d_4135_7409)">
44
- <rect x="-210" y="-34" width="200" height="80" rx="8" fill="white"/>
45
- <rect x="-209.5" y="-33.5" width="199" height="79" rx="7.5" stroke="#E0E0E0"/>
46
- </g>
47
- </g>
48
- </g>
49
- </g>
50
- <defs>
51
- <filter id="filter0_dd_4135_7409" x="-40" y="-100" width="300" height="208" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
52
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
53
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
54
- <feOffset dy="4"/>
55
- <feGaussianBlur stdDeviation="4"/>
56
- <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0"/>
57
- <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4135_7409"/>
58
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
59
- <feOffset dy="12"/>
60
- <feGaussianBlur stdDeviation="12"/>
61
- <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0"/>
62
- <feBlend mode="normal" in2="effect1_dropShadow_4135_7409" result="effect2_dropShadow_4135_7409"/>
63
- <feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_4135_7409" result="shape"/>
64
- </filter>
65
- <filter id="filter1_d_4135_7409" x="-234" y="-46" width="248" height="128" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
66
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
67
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
68
- <feOffset dy="12"/>
69
- <feGaussianBlur stdDeviation="12"/>
70
- <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0"/>
71
- <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4135_7409"/>
72
- <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_4135_7409" result="shape"/>
73
- </filter>
74
- <clipPath id="clip0_4135_7409">
75
- <rect width="1366" height="768" fill="white" transform="translate(-1022 -402)"/>
76
- </clipPath>
77
- <clipPath id="clip1_4135_7409">
78
- <rect width="1366" height="768" fill="white" transform="translate(-1022 -402)"/>
79
- </clipPath>
80
- <clipPath id="clip2_4135_7409">
81
- <rect width="271" height="1" fill="white" transform="translate(-142 9)"/>
82
- </clipPath>
83
- <clipPath id="clip3_4135_7409">
84
- <rect y="-2" width="220" height="24" rx="4" fill="white"/>
85
- </clipPath>
86
- </defs>
87
- </svg>
@@ -1,10 +0,0 @@
1
- <svg width="49" height="48" viewBox="0 0 49 48" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <g clip-path="url(#clip0_4199_49221)">
3
- <path d="M39.1314 20.08C37.7714 13.18 31.7114 8 24.4314 8C18.6514 8 13.6314 11.28 11.1314 16.08C5.11137 16.72 0.431366 21.82 0.431366 28C0.431366 34.62 5.81137 40 12.4314 40H38.4314C43.9514 40 48.4314 35.52 48.4314 30C48.4314 24.72 44.3314 20.44 39.1314 20.08ZM28.4314 26V34H20.4314V26H14.4314L24.4314 16L34.4314 26H28.4314Z" fill="#0937B2"/>
4
- </g>
5
- <defs>
6
- <clipPath id="clip0_4199_49221">
7
- <rect width="48" height="48" fill="white" transform="translate(0.431366)"/>
8
- </clipPath>
9
- </defs>
10
- </svg>
@@ -1,289 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, HostListener } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- const _c0 = a0 => ({ "disabled": a0 });
5
- function ActionsCellComponent_div_1_div_1_img_1_Template(rf, ctx) { if (rf & 1) {
6
- i0.ɵɵelement(0, "img", 8);
7
- } if (rf & 2) {
8
- const item_r1 = i0.ɵɵnextContext().$implicit;
9
- i0.ɵɵproperty("src", item_r1.icon, i0.ɵɵsanitizeUrl)("alt", item_r1.label);
10
- } }
11
- function ActionsCellComponent_div_1_div_1_Template(rf, ctx) { if (rf & 1) {
12
- i0.ɵɵelementStart(0, "div", 6);
13
- i0.ɵɵtemplate(1, ActionsCellComponent_div_1_div_1_img_1_Template, 1, 2, "img", 7);
14
- i0.ɵɵelementEnd();
15
- } if (rf & 2) {
16
- const item_r1 = ctx.$implicit;
17
- const ctx_r1 = i0.ɵɵnextContext(2);
18
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c0, ctx_r1.actionPermissions && ctx_r1.actionPermissions.hasOwnProperty(item_r1.value) && ctx_r1.actionPermissions[item_r1.value] === false));
19
- i0.ɵɵadvance();
20
- i0.ɵɵproperty("ngIf", ctx_r1.isSvgFile(item_r1.icon));
21
- } }
22
- function ActionsCellComponent_div_1_Template(rf, ctx) { if (rf & 1) {
23
- i0.ɵɵelementStart(0, "div", 4);
24
- i0.ɵɵtemplate(1, ActionsCellComponent_div_1_div_1_Template, 2, 4, "div", 5);
25
- i0.ɵɵelementEnd();
26
- } if (rf & 2) {
27
- const ctx_r1 = i0.ɵɵnextContext();
28
- i0.ɵɵadvance();
29
- i0.ɵɵproperty("ngForOf", ctx_r1.actionItems)("ngForTrackBy", ctx_r1.trackByAction);
30
- } }
31
- function ActionsCellComponent_div_2_div_6_div_1_ng_container_1_span_1_Template(rf, ctx) { if (rf & 1) {
32
- i0.ɵɵelementStart(0, "span", 26);
33
- i0.ɵɵelement(1, "img", 27);
34
- i0.ɵɵelementEnd();
35
- } if (rf & 2) {
36
- const item_r5 = i0.ɵɵnextContext(2).$implicit;
37
- i0.ɵɵadvance();
38
- i0.ɵɵproperty("src", item_r5.icon, i0.ɵɵsanitizeUrl);
39
- } }
40
- function ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_div_1_span_1_Template(rf, ctx) { if (rf & 1) {
41
- i0.ɵɵelementStart(0, "span", 26);
42
- i0.ɵɵelement(1, "img", 27);
43
- i0.ɵɵelementEnd();
44
- } if (rf & 2) {
45
- const child_r7 = i0.ɵɵnextContext().$implicit;
46
- i0.ɵɵadvance();
47
- i0.ɵɵproperty("src", child_r7.icon, i0.ɵɵsanitizeUrl);
48
- } }
49
- function ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_div_1_Template(rf, ctx) { if (rf & 1) {
50
- const _r6 = i0.ɵɵgetCurrentView();
51
- i0.ɵɵelementStart(0, "div", 18);
52
- i0.ɵɵlistener("click", function ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_div_1_Template_div_click_0_listener($event) { const child_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r1 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r1.onDropdownItemClick(child_r7, $event)); });
53
- i0.ɵɵtemplate(1, ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_div_1_span_1_Template, 2, 1, "span", 20);
54
- i0.ɵɵelementStart(2, "span", 21);
55
- i0.ɵɵtext(3);
56
- i0.ɵɵelementEnd()();
57
- } if (rf & 2) {
58
- const child_r7 = ctx.$implicit;
59
- const ctx_r1 = i0.ɵɵnextContext(6);
60
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c0, ctx_r1.actionPermissions && ctx_r1.actionPermissions.hasOwnProperty(child_r7.value) && ctx_r1.actionPermissions[child_r7.value] === false));
61
- i0.ɵɵadvance();
62
- i0.ɵɵproperty("ngIf", child_r7.icon && ctx_r1.isSvgFile(child_r7.icon));
63
- i0.ɵɵadvance(2);
64
- i0.ɵɵtextInterpolate(child_r7.label);
65
- } }
66
- function ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_Template(rf, ctx) { if (rf & 1) {
67
- i0.ɵɵelementStart(0, "div", 28);
68
- i0.ɵɵtemplate(1, ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_div_1_Template, 4, 5, "div", 17);
69
- i0.ɵɵelementEnd();
70
- } if (rf & 2) {
71
- const item_r5 = i0.ɵɵnextContext(2).$implicit;
72
- i0.ɵɵproperty("ngClass", item_r5.submenuAlign);
73
- i0.ɵɵadvance();
74
- i0.ɵɵproperty("ngForOf", item_r5.children);
75
- } }
76
- function ActionsCellComponent_div_2_div_6_div_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
77
- i0.ɵɵelementContainerStart(0);
78
- i0.ɵɵtemplate(1, ActionsCellComponent_div_2_div_6_div_1_ng_container_1_span_1_Template, 2, 1, "span", 20);
79
- i0.ɵɵelementStart(2, "span", 21);
80
- i0.ɵɵtext(3);
81
- i0.ɵɵelementEnd();
82
- i0.ɵɵelementStart(4, "span", 22);
83
- i0.ɵɵnamespaceSVG();
84
- i0.ɵɵelementStart(5, "svg", 23);
85
- i0.ɵɵelement(6, "path", 24);
86
- i0.ɵɵelementEnd()();
87
- i0.ɵɵtemplate(7, ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_Template, 2, 2, "div", 25);
88
- i0.ɵɵelementContainerEnd();
89
- } if (rf & 2) {
90
- const item_r5 = i0.ɵɵnextContext().$implicit;
91
- const ctx_r1 = i0.ɵɵnextContext(3);
92
- i0.ɵɵadvance();
93
- i0.ɵɵproperty("ngIf", item_r5.icon && ctx_r1.isSvgFile(item_r5.icon));
94
- i0.ɵɵadvance(2);
95
- i0.ɵɵtextInterpolate(item_r5.label);
96
- i0.ɵɵadvance(4);
97
- i0.ɵɵproperty("ngIf", item_r5.showSubmenu);
98
- } }
99
- function ActionsCellComponent_div_2_div_6_div_1_ng_template_2_span_0_Template(rf, ctx) { if (rf & 1) {
100
- i0.ɵɵelementStart(0, "span", 26);
101
- i0.ɵɵelement(1, "img", 27);
102
- i0.ɵɵelementEnd();
103
- } if (rf & 2) {
104
- const item_r5 = i0.ɵɵnextContext(2).$implicit;
105
- i0.ɵɵadvance();
106
- i0.ɵɵproperty("src", item_r5.icon, i0.ɵɵsanitizeUrl);
107
- } }
108
- function ActionsCellComponent_div_2_div_6_div_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
109
- i0.ɵɵtemplate(0, ActionsCellComponent_div_2_div_6_div_1_ng_template_2_span_0_Template, 2, 1, "span", 20);
110
- i0.ɵɵelementStart(1, "span", 21);
111
- i0.ɵɵtext(2);
112
- i0.ɵɵelementEnd();
113
- } if (rf & 2) {
114
- const item_r5 = i0.ɵɵnextContext().$implicit;
115
- const ctx_r1 = i0.ɵɵnextContext(3);
116
- i0.ɵɵproperty("ngIf", item_r5.icon && ctx_r1.isSvgFile(item_r5.icon));
117
- i0.ɵɵadvance(2);
118
- i0.ɵɵtextInterpolate(item_r5.label);
119
- } }
120
- function ActionsCellComponent_div_2_div_6_div_1_Template(rf, ctx) { if (rf & 1) {
121
- const _r4 = i0.ɵɵgetCurrentView();
122
- i0.ɵɵelementStart(0, "div", 18);
123
- i0.ɵɵlistener("click", function ActionsCellComponent_div_2_div_6_div_1_Template_div_click_0_listener($event) { const item_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onDropdownItemClick(item_r5, $event)); });
124
- i0.ɵɵtemplate(1, ActionsCellComponent_div_2_div_6_div_1_ng_container_1_Template, 8, 3, "ng-container", 19)(2, ActionsCellComponent_div_2_div_6_div_1_ng_template_2_Template, 3, 2, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
125
- i0.ɵɵelementEnd();
126
- } if (rf & 2) {
127
- const item_r5 = ctx.$implicit;
128
- const noChildren_r8 = i0.ɵɵreference(3);
129
- const ctx_r1 = i0.ɵɵnextContext(3);
130
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c0, ctx_r1.actionPermissions && ctx_r1.actionPermissions.hasOwnProperty(item_r5.value) && ctx_r1.actionPermissions[item_r5.value] === false));
131
- i0.ɵɵadvance();
132
- i0.ɵɵproperty("ngIf", item_r5.children == null ? null : item_r5.children.length)("ngIfElse", noChildren_r8);
133
- } }
134
- function ActionsCellComponent_div_2_div_6_Template(rf, ctx) { if (rf & 1) {
135
- i0.ɵɵelementStart(0, "div", 16);
136
- i0.ɵɵtemplate(1, ActionsCellComponent_div_2_div_6_div_1_Template, 4, 5, "div", 17);
137
- i0.ɵɵelementEnd();
138
- } if (rf & 2) {
139
- const ctx_r1 = i0.ɵɵnextContext(2);
140
- i0.ɵɵproperty("ngClass", ctx_r1.menuAlign);
141
- i0.ɵɵadvance();
142
- i0.ɵɵproperty("ngForOf", ctx_r1.actionItems);
143
- } }
144
- function ActionsCellComponent_div_2_Template(rf, ctx) { if (rf & 1) {
145
- const _r3 = i0.ɵɵgetCurrentView();
146
- i0.ɵɵelementStart(0, "div", 9)(1, "div", 10);
147
- i0.ɵɵlistener("click", function ActionsCellComponent_div_2_Template_div_click_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleDropdown($event)); });
148
- i0.ɵɵnamespaceSVG();
149
- i0.ɵɵelementStart(2, "svg", 11);
150
- i0.ɵɵelement(3, "circle", 12)(4, "circle", 13)(5, "circle", 14);
151
- i0.ɵɵelementEnd()();
152
- i0.ɵɵtemplate(6, ActionsCellComponent_div_2_div_6_Template, 2, 2, "div", 15);
153
- i0.ɵɵelementEnd();
154
- } if (rf & 2) {
155
- const ctx_r1 = i0.ɵɵnextContext();
156
- i0.ɵɵadvance(6);
157
- i0.ɵɵproperty("ngIf", ctx_r1.isDropdownOpen);
158
- } }
159
- export class ActionsCellComponent {
160
- constructor() {
161
- this.actionItems = [];
162
- this.actionType = 'inline';
163
- this.dropdownIcon = '';
164
- this.submenuAlign = 'right';
165
- this.menuAlign = 'left';
166
- this._style = {};
167
- this.containerStyle = {};
168
- this.actionClick = new EventEmitter();
169
- this.isDropdownOpen = false;
170
- this.defaultDropdownIcon = `
171
- <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
172
- <circle cx="8" cy="4" r="2" fill="#333"/>
173
- <circle cx="8" cy="8" r="2" fill="#333"/>
174
- <circle cx="8" cy="12" r="2" fill="#333"/>
175
- </svg>
176
- `;
177
- }
178
- set style(value) {
179
- this._style = value || {};
180
- this.processStyle();
181
- }
182
- get style() {
183
- return this._style;
184
- }
185
- ngOnInit() { }
186
- processStyle() {
187
- // Remove width from style to avoid conflicts with table column width
188
- const { width, ...restStyle } = this._style;
189
- this.containerStyle = restStyle;
190
- }
191
- onActionClick(item, event) {
192
- event.stopPropagation();
193
- // Check permissions before executing action
194
- if (this.actionPermissions && this.actionPermissions.hasOwnProperty(item.value) && this.actionPermissions[item.value] === false) {
195
- return;
196
- }
197
- // Execute action only if permitted
198
- if (item.action) {
199
- item.action(this.data);
200
- }
201
- this.actionClick.emit({ item, data: this.data });
202
- }
203
- trackByAction(index, item) {
204
- return item.value;
205
- }
206
- isSvgFile(iconPath) {
207
- if (!iconPath)
208
- return false;
209
- return iconPath.toLowerCase().includes('.svg') || iconPath.toLowerCase().includes('assets/icons/');
210
- }
211
- onDocumentClick() {
212
- if (this.isDropdownOpen) {
213
- this.isDropdownOpen = false;
214
- }
215
- }
216
- toggleDropdown(event) {
217
- event.stopPropagation();
218
- this.isDropdownOpen = !this.isDropdownOpen;
219
- // Close all submenus when opening/closing main menu
220
- this.actionItems.forEach((item) => item.showSubmenu = false);
221
- }
222
- onDropdownItemClick(item, event) {
223
- event.stopPropagation();
224
- // Check permissions first
225
- if (this.actionPermissions && this.actionPermissions.hasOwnProperty(item.value) && this.actionPermissions[item.value] === false) {
226
- console.log('Action blocked: insufficient permissions');
227
- return; // Don't close dropdown or execute action
228
- }
229
- if (item.disabled)
230
- return;
231
- if (item.children) {
232
- // Toggle submenu
233
- item.showSubmenu = !item.showSubmenu;
234
- // Optionally close other submenus
235
- this.actionItems.forEach((i) => {
236
- if (i !== item)
237
- i.showSubmenu = false;
238
- });
239
- }
240
- else {
241
- // Handle action
242
- if (item.action)
243
- item.action(this.data);
244
- this.actionClick.emit({ item, data: this.data });
245
- this.isDropdownOpen = false; // Only close if action was executed
246
- }
247
- }
248
- static { this.ɵfac = function ActionsCellComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ActionsCellComponent)(); }; }
249
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionsCellComponent, selectors: [["mis-actions-cell"]], hostBindings: function ActionsCellComponent_HostBindings(rf, ctx) { if (rf & 1) {
250
- i0.ɵɵlistener("click", function ActionsCellComponent_click_HostBindingHandler() { return ctx.onDocumentClick(); }, false, i0.ɵɵresolveDocument);
251
- } }, inputs: { data: "data", actionItems: "actionItems", actionType: "actionType", dropdownIcon: "dropdownIcon", submenuAlign: "submenuAlign", menuAlign: "menuAlign", actionPermissions: "actionPermissions", style: "style" }, outputs: { actionClick: "actionClick" }, decls: 3, vars: 3, consts: [["noChildren", ""], [1, "actions-cell-container", 3, "ngStyle"], ["class", "inline-actions", 4, "ngIf"], ["class", "dropdown-actions", 4, "ngIf"], [1, "inline-actions"], ["class", "action-item", 3, "ngClass", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "action-item", 3, "ngClass"], ["class", "action-icon-svg", 3, "src", "alt", 4, "ngIf"], [1, "action-icon-svg", 3, "src", "alt"], [1, "dropdown-actions"], ["title", "More actions", 1, "dropdown-trigger", 3, "click"], ["width", "20", "height", "20", "viewBox", "0 0 20 20", "fill", "none"], ["cx", "10", "cy", "4", "r", "2", "fill", "#333"], ["cx", "10", "cy", "10", "r", "2", "fill", "#333"], ["cx", "10", "cy", "16", "r", "2", "fill", "#333"], ["class", "dropdown-menu", 3, "ngClass", 4, "ngIf"], [1, "dropdown-menu", 3, "ngClass"], ["class", "dropdown-menu-item", 3, "ngClass", "click", 4, "ngFor", "ngForOf"], [1, "dropdown-menu-item", 3, "click", "ngClass"], [4, "ngIf", "ngIfElse"], ["class", "dropdown-icon", 4, "ngIf"], [1, "dropdown-label"], [1, "submenu-arrow"], ["width", "20", "height", "20", "viewBox", "0 0 24 24", "fill", "none"], ["d", "M9 6L15 12L9 18", "stroke", "#0D1321", "stroke-width", "2", "stroke-linecap", "round", "stroke-linejoin", "round"], ["class", "dropdown-submenu", 3, "ngClass", 4, "ngIf"], [1, "dropdown-icon"], [3, "src"], [1, "dropdown-submenu", 3, "ngClass"]], template: function ActionsCellComponent_Template(rf, ctx) { if (rf & 1) {
252
- i0.ɵɵelementStart(0, "div", 1);
253
- i0.ɵɵtemplate(1, ActionsCellComponent_div_1_Template, 2, 2, "div", 2)(2, ActionsCellComponent_div_2_Template, 7, 1, "div", 3);
254
- i0.ɵɵelementEnd();
255
- } if (rf & 2) {
256
- i0.ɵɵproperty("ngStyle", ctx.containerStyle);
257
- i0.ɵɵadvance();
258
- i0.ɵɵproperty("ngIf", ctx.actionType === "inline");
259
- i0.ɵɵadvance();
260
- i0.ɵɵproperty("ngIf", ctx.actionType === "dropdown");
261
- } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle], styles: [".actions-cell-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative;box-sizing:border-box}.inline-actions[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;flex-wrap:nowrap;padding:4px 0;flex-direction:row}.action-item[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;height:20px;border-radius:4px;cursor:pointer;transition:all .2s ease;background-color:transparent;border:none;outline:none;flex-shrink:0;min-height:20px}.action-item[_ngcontent-%COMP%]:hover:not(.disabled){background-color:#0000000a;transform:scale(1.05)}.action-item[_ngcontent-%COMP%]:active:not(.disabled){transform:scale(.95)}.action-item.disabled[_ngcontent-%COMP%]{opacity:.5;cursor:not-allowed}.action-item.disabled[_ngcontent-%COMP%]:hover{background-color:transparent;transform:none}.action-icon[_ngcontent-%COMP%]{font-size:16px;color:#666;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.action-icon-svg[_ngcontent-%COMP%]{width:18px;height:18px;object-fit:contain;filter:brightness(0) saturate(100%) invert(40%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(.6) contrast(1);flex-shrink:0}.action-icon-svg[_ngcontent-%COMP%]:hover{filter:brightness(0) saturate(100%) invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0) contrast(1)}.dropdown-trigger[_ngcontent-%COMP%]{cursor:pointer}.dropdown-actions[_ngcontent-%COMP%]{position:relative}.dropdown-trigger[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;justify-content:center}.dropdown-menu[_ngcontent-%COMP%]{position:absolute;top:100%;width:232px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001f;z-index:1000;padding:8px 0}.dropdown-menu.left[_ngcontent-%COMP%]{right:0!important;left:auto!important}.dropdown-menu.right[_ngcontent-%COMP%]{left:0!important;right:auto!important}.dropdown-menu-item.disabled[_ngcontent-%COMP%]{color:#aaa;cursor:not-allowed}.dropdown-menu-item[_ngcontent-%COMP%]:hover:not(.disabled), .dropdown-menu-item.has-submenu[_ngcontent-%COMP%]:hover{background:#f5f5f5}.dropdown-menu-item[_ngcontent-%COMP%]{display:flex;align-items:center;padding:10px 18px;cursor:pointer;font-size:14px;position:relative}.dropdown-menu-item[_ngcontent-%COMP%] .dropdown-label[_ngcontent-%COMP%]{flex:1;margin-left:8px}.dropdown-menu-item[_ngcontent-%COMP%] .submenu-arrow[_ngcontent-%COMP%]{margin-left:auto;width:16px;height:16px}.submenu-container[_ngcontent-%COMP%]{position:absolute;top:0;left:100%;margin-left:4px;background:#fff;box-shadow:0 4px 8px #0000001a;border-radius:8px;z-index:1000;white-space:nowrap}.dropdown-submenu[_ngcontent-%COMP%]{position:absolute;top:0;min-width:132px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001f;padding:8px 0;z-index:1001}.dropdown-submenu.right[_ngcontent-%COMP%]{left:100%;margin-left:4px}.dropdown-submenu.left[_ngcontent-%COMP%]{left:auto;right:100%;background-color:#fff;border:1px solid #ddd;z-index:9999;position:absolute;margin-right:4px}.submenu-arrow[_ngcontent-%COMP%]{display:flex;align-items:center;margin-left:auto;z-index:9999}.dropdown-icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.dropdown-menu-item.disabled[_ngcontent-%COMP%]{color:#181f33;filter:grayscale(100%) opacity(.3);cursor:not-allowed}"] }); }
262
- }
263
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionsCellComponent, [{
264
- type: Component,
265
- args: [{ selector: 'mis-actions-cell', template: "<div class=\"actions-cell-container\" [ngStyle]=\"containerStyle\">\n <!-- Inline Actions -->\n <div *ngIf=\"actionType === 'inline'\" class=\"inline-actions\">\n <div *ngFor=\"let item of actionItems; trackBy: trackByAction\" class=\"action-item\"\n [ngClass]=\"{ 'disabled': actionPermissions && actionPermissions.hasOwnProperty(item.value) && actionPermissions[item.value] === false }\"> \n <img *ngIf=\"isSvgFile(item.icon)\" [src]=\"item.icon\" [alt]=\"item.label\" class=\"action-icon-svg\" />\n </div>\n </div>\n\n <!-- Dropdown Actions -->\n <div *ngIf=\"actionType === 'dropdown'\" class=\"dropdown-actions\">\n <div class=\"dropdown-trigger\" (click)=\"toggleDropdown($event)\" title=\"More actions\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <circle cx=\"10\" cy=\"4\" r=\"2\" fill=\"#333\" />\n <circle cx=\"10\" cy=\"10\" r=\"2\" fill=\"#333\" />\n <circle cx=\"10\" cy=\"16\" r=\"2\" fill=\"#333\" />\n </svg>\n </div>\n\n <div class=\"dropdown-menu\" \n *ngIf=\"isDropdownOpen\" \n [ngClass]=\"menuAlign\"\n >\n <div class=\"dropdown-menu-item\" *ngFor=\"let item of actionItems\" \n (click)=\"onDropdownItemClick(item, $event)\" [ngClass]=\"{ 'disabled': actionPermissions && actionPermissions.hasOwnProperty(item.value) && actionPermissions[item.value] === false }\">\n <ng-container *ngIf=\"item.children?.length; else noChildren\">\n <span class=\"dropdown-icon\" *ngIf=\"item.icon && isSvgFile(item.icon)\">\n <img [src]=\"item.icon\" />\n </span>\n <span class=\"dropdown-label\">{{ item.label }}</span>\n <span class=\"submenu-arrow\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M9 6L15 12L9 18\" stroke=\"#0D1321\" stroke-width=\"2\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n </span>\n\n <!-- DYNAMIC SUBMENU -->\n <div class=\"dropdown-submenu\"\n [ngClass]=\"item.submenuAlign\"\n *ngIf=\"item.showSubmenu\">\n <div class=\"dropdown-menu-item\" *ngFor=\"let child of item.children\"\n [ngClass]=\"{ 'disabled': actionPermissions && actionPermissions.hasOwnProperty(child.value) && actionPermissions[child.value] === false }\"\n (click)=\"onDropdownItemClick(child, $event)\">\n <span class=\"dropdown-icon\" *ngIf=\"child.icon && isSvgFile(child.icon)\">\n <img [src]=\"child.icon\" />\n </span>\n <span class=\"dropdown-label\">{{ child.label }}</span>\n </div>\n </div>\n </ng-container>\n\n <ng-template #noChildren>\n <span class=\"dropdown-icon\" *ngIf=\"item.icon && isSvgFile(item.icon)\">\n <img [src]=\"item.icon\" />\n </span>\n <span class=\"dropdown-label\">{{ item.label }}</span>\n </ng-template>\n </div>\n </div>\n </div>\n</div>", styles: [".actions-cell-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative;box-sizing:border-box}.inline-actions{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;flex-wrap:nowrap;padding:4px 0;flex-direction:row}.action-item{display:flex;align-items:center;justify-content:center;height:20px;border-radius:4px;cursor:pointer;transition:all .2s ease;background-color:transparent;border:none;outline:none;flex-shrink:0;min-height:20px}.action-item:hover:not(.disabled){background-color:#0000000a;transform:scale(1.05)}.action-item:active:not(.disabled){transform:scale(.95)}.action-item.disabled{opacity:.5;cursor:not-allowed}.action-item.disabled:hover{background-color:transparent;transform:none}.action-icon{font-size:16px;color:#666;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.action-icon-svg{width:18px;height:18px;object-fit:contain;filter:brightness(0) saturate(100%) invert(40%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(.6) contrast(1);flex-shrink:0}.action-icon-svg:hover{filter:brightness(0) saturate(100%) invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0) contrast(1)}.dropdown-trigger{cursor:pointer}.dropdown-actions{position:relative}.dropdown-trigger{cursor:pointer;display:flex;align-items:center;justify-content:center}.dropdown-menu{position:absolute;top:100%;width:232px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001f;z-index:1000;padding:8px 0}.dropdown-menu.left{right:0!important;left:auto!important}.dropdown-menu.right{left:0!important;right:auto!important}.dropdown-menu-item.disabled{color:#aaa;cursor:not-allowed}.dropdown-menu-item:hover:not(.disabled),.dropdown-menu-item.has-submenu:hover{background:#f5f5f5}.dropdown-menu-item{display:flex;align-items:center;padding:10px 18px;cursor:pointer;font-size:14px;position:relative}.dropdown-menu-item .dropdown-label{flex:1;margin-left:8px}.dropdown-menu-item .submenu-arrow{margin-left:auto;width:16px;height:16px}.submenu-container{position:absolute;top:0;left:100%;margin-left:4px;background:#fff;box-shadow:0 4px 8px #0000001a;border-radius:8px;z-index:1000;white-space:nowrap}.dropdown-submenu{position:absolute;top:0;min-width:132px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001f;padding:8px 0;z-index:1001}.dropdown-submenu.right{left:100%;margin-left:4px}.dropdown-submenu.left{left:auto;right:100%;background-color:#fff;border:1px solid #ddd;z-index:9999;position:absolute;margin-right:4px}.submenu-arrow{display:flex;align-items:center;margin-left:auto;z-index:9999}.dropdown-icon{display:flex;justify-content:center;align-items:center}.dropdown-menu-item.disabled{color:#181f33;filter:grayscale(100%) opacity(.3);cursor:not-allowed}\n"] }]
266
- }], null, { data: [{
267
- type: Input
268
- }], actionItems: [{
269
- type: Input
270
- }], actionType: [{
271
- type: Input
272
- }], dropdownIcon: [{
273
- type: Input
274
- }], submenuAlign: [{
275
- type: Input
276
- }], menuAlign: [{
277
- type: Input
278
- }], actionPermissions: [{
279
- type: Input
280
- }], style: [{
281
- type: Input
282
- }], actionClick: [{
283
- type: Output
284
- }], onDocumentClick: [{
285
- type: HostListener,
286
- args: ['document:click']
287
- }] }); })();
288
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ActionsCellComponent, { className: "ActionsCellComponent" }); })();
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3RhYmxlL2FjdGlvbnMtY2VsbC9hY3Rpb25zLWNlbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdGFibGUvYWN0aW9ucy1jZWxsL2FjdGlvbnMtY2VsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7SUNLakYseUJBQWlHOzs7SUFBN0MsQUFBbEIsb0RBQWlCLHNCQUFtQjs7O0lBRjFFLDhCQUN5STtJQUNySSxpRkFBaUc7SUFDckcsaUJBQU07Ozs7SUFGTiw2TEFBd0k7SUFDOUgsY0FBMEI7SUFBMUIscURBQTBCOzs7SUFIeEMsOEJBQTREO0lBQ3hELDJFQUN5STtJQUc3SSxpQkFBTTs7O0lBSm9CLGNBQWdCO0lBQUEsQUFBaEIsNENBQWdCLHNDQUFzQjs7O0lBdUJoRCxnQ0FBc0U7SUFDbEUsMEJBQXlCO0lBQzdCLGlCQUFPOzs7SUFERSxjQUFpQjtJQUFqQixvREFBaUI7OztJQWlCbEIsZ0NBQXdFO0lBQ3BFLDBCQUEwQjtJQUM5QixpQkFBTzs7O0lBREUsY0FBa0I7SUFBbEIscURBQWtCOzs7O0lBSi9CLCtCQUVpRDtJQUE3QyxzUEFBUyw0Q0FBa0MsS0FBQztJQUM1QyxxSEFBd0U7SUFHeEUsZ0NBQTZCO0lBQUEsWUFBaUI7SUFDbEQsQUFEa0QsaUJBQU8sRUFDbkQ7Ozs7SUFORiwrTEFBMEk7SUFFN0csY0FBeUM7SUFBekMsdUVBQXlDO0lBR3pDLGVBQWlCO0lBQWpCLG9DQUFpQjs7O0lBVHRELCtCQUU2QjtJQUN6Qiw2R0FFaUQ7SUFNckQsaUJBQU07OztJ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RyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csWUFBWTtrQkFBcEIsS0FBSztZQUNHLFlBQVk7a0JBQXBCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0csaUJBQWlCO2tCQUF6QixLQUFLO1lBTU8sS0FBSztrQkFBakIsS0FBSztZQVNJLFdBQVc7a0JBQXBCLE1BQU07WUE2Q1AsZUFBZTtrQkFEZCxZQUFZO21CQUFDLGdCQUFnQjs7a0ZBbEVuQixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbkl0ZW0gfSBmcm9tICcuLi90YWJsZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtaXMtYWN0aW9ucy1jZWxsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbnMtY2VsbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hY3Rpb25zLWNlbGwuY29tcG9uZW50LmNzcydcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uc0NlbGxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkYXRhOiBhbnk7XG4gIEBJbnB1dCgpIGFjdGlvbkl0ZW1zOiBBY3Rpb25JdGVtW10gPSBbXTtcbiAgQElucHV0KCkgYWN0aW9uVHlwZTogJ2lubGluZScgfCAnZHJvcGRvd24nIHwgJ2NoZWNrYm94JyA9ICdpbmxpbmUnO1xuICBASW5wdXQoKSBkcm9wZG93bkljb246IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzdWJtZW51QWxpZ246ICdsZWZ0JyB8ICdyaWdodCcgPSAncmlnaHQnO1xuICBASW5wdXQoKSBtZW51QWxpZ246ICdsZWZ0JyB8ICdyaWdodCcgPSAnbGVmdCc7XG4gIEBJbnB1dCgpIGFjdGlvblBlcm1pc3Npb25zOiBhbnk7XG5cbiAgXG4gIHByaXZhdGUgX3N0eWxlOiBhbnkgPSB7fTtcbiAgY29udGFpbmVyU3R5bGU6IGFueSA9IHt9O1xuXG4gIEBJbnB1dCgpIHNldCBzdHlsZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5fc3R5bGUgPSB2YWx1ZSB8fCB7fTtcbiAgICB0aGlzLnByb2Nlc3NTdHlsZSgpO1xuICB9XG5cbiAgZ2V0IHN0eWxlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0eWxlO1xuICB9XG4gIFxuICBAT3V0cHV0KCkgYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaXRlbTogQWN0aW9uSXRlbSwgZGF0YTogYW55IH0+KCk7XG5cbiAgaXNEcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgZGVmYXVsdERyb3Bkb3duSWNvbiA9IGBcbiAgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPGNpcmNsZSBjeD1cIjhcIiBjeT1cIjRcIiByPVwiMlwiIGZpbGw9XCIjMzMzXCIvPlxuICAgIDxjaXJjbGUgY3g9XCI4XCIgY3k9XCI4XCIgcj1cIjJcIiBmaWxsPVwiIzMzM1wiLz5cbiAgICA8Y2lyY2xlIGN4PVwiOFwiIGN5PVwiMTJcIiByPVwiMlwiIGZpbGw9XCIjMzMzXCIvPlxuICA8L3N2Zz5cbmA7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIHByaXZhdGUgcHJvY2Vzc1N0eWxlKCk6IHZvaWQge1xuICAgIC8vIFJlbW92ZSB3aWR0aCBmcm9tIHN0eWxlIHRvIGF2b2lkIGNvbmZsaWN0cyB3aXRoIHRhYmxlIGNvbHVtbiB3aWR0aFxuICAgIGNvbnN0IHsgd2lkdGgsIC4uLnJlc3RTdHlsZSB9ID0gdGhpcy5fc3R5bGU7XG4gICAgdGhpcy5jb250YWluZXJTdHlsZSA9IHJlc3RTdHlsZTtcbiAgfVxuXG4gIG9uQWN0aW9uQ2xpY2soaXRlbTogQWN0aW9uSXRlbSwgZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgXG4gICAgLy8gQ2hlY2sgcGVybWlzc2lvbnMgYmVmb3JlIGV4ZWN1dGluZyBhY3Rpb25cbiAgICBpZiAodGhpcy5hY3Rpb25QZXJtaXNzaW9ucyAmJiB0aGlzLmFjdGlvblBlcm1pc3Npb25zLmhhc093blByb3BlcnR5KGl0ZW0udmFsdWUpICYmIHRoaXMuYWN0aW9uUGVybWlzc2lvbnNbaXRlbS52YWx1ZV0gPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm47IFxuICAgIH1cbiAgICBcbiAgICAvLyBFeGVjdXRlIGFjdGlvbiBvbmx5IGlmIHBlcm1pdHRlZFxuICAgIGlmIChpdGVtLmFjdGlvbikge1xuICAgICAgaXRlbS5hY3Rpb24odGhpcy5kYXRhKTtcbiAgICB9XG4gICAgXG4gICAgdGhpcy5hY3Rpb25DbGljay5lbWl0KHsgaXRlbSwgZGF0YTogdGhpcy5kYXRhIH0pO1xuICB9XG5cbiAgdHJhY2tCeUFjdGlvbihpbmRleDogbnVtYmVyLCBpdGVtOiBBY3Rpb25JdGVtKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXRlbS52YWx1ZTtcbiAgfVxuXG4gIGlzU3ZnRmlsZShpY29uUGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKCFpY29uUGF0aCkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiBpY29uUGF0aC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCcuc3ZnJykgfHwgaWNvblBhdGgudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnYXNzZXRzL2ljb25zLycpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snKVxuICBvbkRvY3VtZW50Q2xpY2soKSB7XG4gICAgaWYgKHRoaXMuaXNEcm9wZG93bk9wZW4pIHtcbiAgICAgIHRoaXMuaXNEcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVEcm9wZG93bihldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gIXRoaXMuaXNEcm9wZG93bk9wZW47XG4gICAgLy8gQ2xvc2UgYWxsIHN1Ym1lbnVzIHdoZW4gb3BlbmluZy9jbG9zaW5nIG1haW4gbWVudVxuICAgIHRoaXMuYWN0aW9uSXRlbXMuZm9yRWFjaCgoaXRlbTogYW55KSA9PiBpdGVtLnNob3dTdWJtZW51ID0gZmFsc2UpO1xuICB9XG4gIFxuICBvbkRyb3Bkb3duSXRlbUNsaWNrKGl0ZW06IGFueSwgZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgXG4gICAgLy8gQ2hlY2sgcGVybWlzc2lvbnMgZmlyc3RcbiAgICBpZiAodGhpcy5hY3Rpb25QZXJtaXNzaW9ucyAmJiB0aGlzLmFjdGlvblBlcm1pc3Npb25zLmhhc093blByb3BlcnR5KGl0ZW0udmFsdWUpICYmIHRoaXMuYWN0aW9uUGVybWlzc2lvbnNbaXRlbS52YWx1ZV0gPT09IGZhbHNlKSB7XG4gICAgICBjb25zb2xlLmxvZygnQWN0aW9uIGJsb2NrZWQ6IGluc3VmZmljaWVudCBwZXJtaXNzaW9ucycpO1xuICAgICAgcmV0dXJuOyAvLyBEb24ndCBjbG9zZSBkcm9wZG93biBvciBleGVjdXRlIGFjdGlvblxuICAgIH1cbiAgICBcbiAgICBpZiAoaXRlbS5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIFxuICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAvLyBUb2dnbGUgc3VibWVudVxuICAgICAgaXRlbS5zaG93U3VibWVudSA9ICFpdGVtLnNob3dTdWJtZW51O1xuICAgICAgLy8gT3B0aW9uYWxseSBjbG9zZSBvdGhlciBzdWJtZW51c1xuICAgICAgdGhpcy5hY3Rpb25JdGVtcy5mb3JFYWNoKChpOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKGkgIT09IGl0ZW0pIGkuc2hvd1N1Ym1lbnUgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBIYW5kbGUgYWN0aW9uXG4gICAgICBpZiAoaXRlbS5hY3Rpb24pIGl0ZW0uYWN0aW9uKHRoaXMuZGF0YSk7XG4gICAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoeyBpdGVtLCBkYXRhOiB0aGlzLmRhdGEgfSk7XG4gICAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gZmFsc2U7IC8vIE9ubHkgY2xvc2UgaWYgYWN0aW9uIHdhcyBleGVjdXRlZFxuICAgIH1cbiAgfVxufSIsIjxkaXYgY2xhc3M9XCJhY3Rpb25zLWNlbGwtY29udGFpbmVyXCIgW25nU3R5bGVdPVwiY29udGFpbmVyU3R5bGVcIj5cbiAgICA8IS0tIElubGluZSBBY3Rpb25zIC0tPlxuICAgIDxkaXYgKm5nSWY9XCJhY3Rpb25UeXBlID09PSAnaW5saW5lJ1wiIGNsYXNzPVwiaW5saW5lLWFjdGlvbnNcIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhY3Rpb25JdGVtczsgdHJhY2tCeTogdHJhY2tCeUFjdGlvblwiIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdkaXNhYmxlZCc6IGFjdGlvblBlcm1pc3Npb25zICYmIGFjdGlvblBlcm1pc3Npb25zLmhhc093blByb3BlcnR5KGl0ZW0udmFsdWUpICYmIGFjdGlvblBlcm1pc3Npb25zW2l0ZW0udmFsdWVdID09PSBmYWxzZSB9XCI+IFxuICAgICAgICAgICAgPGltZyAqbmdJZj1cImlzU3ZnRmlsZShpdGVtLmljb24pXCIgW3NyY109XCJpdGVtLmljb25cIiBbYWx0XT1cIml0ZW0ubGFiZWxcIiBjbGFzcz1cImFjdGlvbi1pY29uLXN2Z1wiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBEcm9wZG93biBBY3Rpb25zIC0tPlxuICAgIDxkaXYgKm5nSWY9XCJhY3Rpb25UeXBlID09PSAnZHJvcGRvd24nXCIgY2xhc3M9XCJkcm9wZG93bi1hY3Rpb25zXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi10cmlnZ2VyXCIgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKCRldmVudClcIiB0aXRsZT1cIk1vcmUgYWN0aW9uc1wiPlxuICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTBcIiBjeT1cIjRcIiByPVwiMlwiIGZpbGw9XCIjMzMzXCIgLz5cbiAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTBcIiBjeT1cIjEwXCIgcj1cIjJcIiBmaWxsPVwiIzMzM1wiIC8+XG4gICAgICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjEwXCIgY3k9XCIxNlwiIHI9XCIyXCIgZmlsbD1cIiMzMzNcIiAvPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgXG4gICAgICAgICAgICAgKm5nSWY9XCJpc0Ryb3Bkb3duT3BlblwiIFxuICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIm1lbnVBbGlnblwiXG4gICAgICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUtaXRlbVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGFjdGlvbkl0ZW1zXCIgXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRHJvcGRvd25JdGVtQ2xpY2soaXRlbSwgJGV2ZW50KVwiIFtuZ0NsYXNzXT1cInsgJ2Rpc2FibGVkJzogYWN0aW9uUGVybWlzc2lvbnMgJiYgYWN0aW9uUGVybWlzc2lvbnMuaGFzT3duUHJvcGVydHkoaXRlbS52YWx1ZSkgJiYgYWN0aW9uUGVybWlzc2lvbnNbaXRlbS52YWx1ZV0gPT09IGZhbHNlIH1cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5jaGlsZHJlbj8ubGVuZ3RoOyBlbHNlIG5vQ2hpbGRyZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wZG93bi1pY29uXCIgKm5nSWY9XCJpdGVtLmljb24gJiYgaXNTdmdGaWxlKGl0ZW0uaWNvbilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpdGVtLmljb25cIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcGRvd24tbGFiZWxcIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Ym1lbnUtYXJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk05IDZMMTUgMTJMOSAxOFwiIHN0cm9rZT1cIiMwRDEzMjFcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBEWU5BTUlDIFNVQk1FTlUgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1zdWJtZW51XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uc3VibWVudUFsaWduXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5zaG93U3VibWVudVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUtaXRlbVwiICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdkaXNhYmxlZCc6IGFjdGlvblBlcm1pc3Npb25zICYmIGFjdGlvblBlcm1pc3Npb25zLmhhc093blByb3BlcnR5KGNoaWxkLnZhbHVlKSAmJiBhY3Rpb25QZXJtaXNzaW9uc1tjaGlsZC52YWx1ZV0gPT09IGZhbHNlIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRyb3Bkb3duSXRlbUNsaWNrKGNoaWxkLCAkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wZG93bi1pY29uXCIgKm5nSWY9XCJjaGlsZC5pY29uICYmIGlzU3ZnRmlsZShjaGlsZC5pY29uKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiY2hpbGQuaWNvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcGRvd24tbGFiZWxcIj57eyBjaGlsZC5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9DaGlsZHJlbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wZG93bi1pY29uXCIgKm5nSWY9XCJpdGVtLmljb24gJiYgaXNTdmdGaWxlKGl0ZW0uaWNvbilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpdGVtLmljb25cIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcGRvd24tbGFiZWxcIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -1,32 +0,0 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
2
- import { ActionItem } from '../table.component';
3
- import * as i0 from "@angular/core";
4
- export declare class ActionsCellComponent implements OnInit {
5
- data: any;
6
- actionItems: ActionItem[];
7
- actionType: 'inline' | 'dropdown' | 'checkbox';
8
- dropdownIcon: string;
9
- submenuAlign: 'left' | 'right';
10
- menuAlign: 'left' | 'right';
11
- actionPermissions: any;
12
- private _style;
13
- containerStyle: any;
14
- set style(value: any);
15
- get style(): any;
16
- actionClick: EventEmitter<{
17
- item: ActionItem;
18
- data: any;
19
- }>;
20
- isDropdownOpen: boolean;
21
- defaultDropdownIcon: string;
22
- ngOnInit(): void;
23
- private processStyle;
24
- onActionClick(item: ActionItem, event: Event): void;
25
- trackByAction(index: number, item: ActionItem): string;
26
- isSvgFile(iconPath: string): boolean;
27
- onDocumentClick(): void;
28
- toggleDropdown(event: Event): void;
29
- onDropdownItemClick(item: any, event: Event): void;
30
- static ɵfac: i0.ɵɵFactoryDeclaration<ActionsCellComponent, never>;
31
- static ɵcmp: i0.ɵɵComponentDeclaration<ActionsCellComponent, "mis-actions-cell", never, { "data": { "alias": "data"; "required": false; }; "actionItems": { "alias": "actionItems"; "required": false; }; "actionType": { "alias": "actionType"; "required": false; }; "dropdownIcon": { "alias": "dropdownIcon"; "required": false; }; "submenuAlign": { "alias": "submenuAlign"; "required": false; }; "menuAlign": { "alias": "menuAlign"; "required": false; }; "actionPermissions": { "alias": "actionPermissions"; "required": false; }; "style": { "alias": "style"; "required": false; }; }, { "actionClick": "actionClick"; }, never, never, false, never>;
32
- }