@ieeesa-npm/presentation 0.16.7 → 0.16.9

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.
@@ -1,4 +1,4 @@
1
- import { EventEmitter, OnInit, AfterViewInit, OnDestroy, ElementRef } from '@angular/core';
1
+ import { EventEmitter, OnInit, AfterViewInit, OnDestroy, ElementRef, Renderer2 } from '@angular/core';
2
2
  import { MatTableDataSource } from '@angular/material/table';
3
3
  import { PageEvent } from '@angular/material/paginator';
4
4
  import { MatSort, Sort, SortDirection } from '@angular/material/sort';
@@ -15,6 +15,7 @@ import { SearchType } from '../../models/search.model';
15
15
  import { FiltersAndOptions } from '../../models/filters-options.model';
16
16
  import { Menu } from '../../models/menu.model';
17
17
  import { Legend } from '../../models/legend.model';
18
+ import { TableColumnMenuInfo } from '../../models/table-column-menu-info.model';
18
19
  import * as i0 from "@angular/core";
19
20
  /**
20
21
  * Provides a Material Design styled data-table that can be used to display rows of data with sortBy, filterBy, add/edit/delete table row data, pagination, search table data.
@@ -27,6 +28,7 @@ import * as i0 from "@angular/core";
27
28
  export declare class DataTableComponent implements OnInit, AfterViewInit, OnDestroy {
28
29
  private breakpointObserverService;
29
30
  private elRef;
31
+ private renderer;
30
32
  private tableData;
31
33
  private nestedTableData;
32
34
  expandedElement: any;
@@ -42,6 +44,7 @@ export declare class DataTableComponent implements OnInit, AfterViewInit, OnDest
42
44
  get nestedTableColumnSchemaInfo(): TableColumnSchema[];
43
45
  constants: any;
44
46
  tableActions: TableActions;
47
+ hasNestedTable: boolean;
45
48
  tableColumnActions: Menu[];
46
49
  tableColumnActionMenuSize: string;
47
50
  tableRowActions: Menu[];
@@ -82,6 +85,9 @@ export declare class DataTableComponent implements OnInit, AfterViewInit, OnDest
82
85
  verticalColumnHeaderNumber: number;
83
86
  scrollbarSupportMessage: string;
84
87
  isScrollSupportMessageNeeded: boolean;
88
+ isStickyHeaderNeeded: boolean;
89
+ customStickyHeaderNeeded: boolean;
90
+ headerElementClassName: string;
85
91
  rowSelected: EventEmitter<any>;
86
92
  selectedRowToEdit: EventEmitter<any>;
87
93
  selectedRowToDelete: EventEmitter<any>;
@@ -99,13 +105,19 @@ export declare class DataTableComponent implements OnInit, AfterViewInit, OnDest
99
105
  sortChange: EventEmitter<Sort>;
100
106
  selectedRowsInfo: EventEmitter<TableColumnSchema[]>;
101
107
  rowExpansionClick: EventEmitter<any>;
108
+ tableColumnMenuActionClick: EventEmitter<TableColumnMenuInfo>;
109
+ tableColumnMenuToggleButton: EventEmitter<HTMLElement>;
102
110
  sort: MatSort;
111
+ headerCellElement: HTMLElement;
112
+ headerHeight: DOMRect;
103
113
  tableContent: ElementRef<HTMLElement>;
114
+ setStickyTableHeader(): void;
104
115
  displayedColumns: string[];
105
116
  nestedTableDisplayedColumns: string[];
106
117
  isMobileView: boolean;
107
118
  isScrollingEnabled: boolean;
108
- resizeObserver: ResizeObserver;
119
+ resizeObserverForTableContent: ResizeObserver;
120
+ resizeObserverForTableCell: ResizeObserver;
109
121
  dataSource: MatTableDataSource<any>;
110
122
  nestedTableDataSource: MatTableDataSource<any>;
111
123
  selectedRows: SelectionModel<TableColumnSchema>;
@@ -122,7 +134,7 @@ export declare class DataTableComponent implements OnInit, AfterViewInit, OnDest
122
134
  get searchResultMessage(): string;
123
135
  safeType: SafeType;
124
136
  rowMenuActionIcon: IconButton;
125
- constructor(breakpointObserverService: BreakpointObserverService, elRef: ElementRef);
137
+ constructor(breakpointObserverService: BreakpointObserverService, elRef: ElementRef, renderer: Renderer2);
126
138
  /**
127
139
  * Initializes the data table component and sets the table action buttons.
128
140
  * @memberof DataTableComponent
@@ -133,6 +145,11 @@ export declare class DataTableComponent implements OnInit, AfterViewInit, OnDest
133
145
  * @memberof DataTableComponent
134
146
  */
135
147
  ngAfterViewInit(): void;
148
+ /**
149
+ * Set margin left for table column header text based on width of columns.
150
+ * @memberof DataTableComponent
151
+ */
152
+ setMarginLeftForHeaderText(): void;
136
153
  /**
137
154
  * Sets the dataSource whenever the table data changes.
138
155
  * @memberof DataTableComponent
@@ -163,6 +180,19 @@ export declare class DataTableComponent implements OnInit, AfterViewInit, OnDest
163
180
  * @memberof DataTableComponent
164
181
  */
165
182
  onSelectClick(row: any): void;
183
+ /**
184
+ * Emits tableColumnActionInfo event with tableColumnInfo and menuActionInfo.
185
+ * @param {TableColumnSchema} column
186
+ * @param {Menu} menuAction
187
+ * @memberof DataTableComponent
188
+ */
189
+ tableColumnActionClick(column: TableColumnSchema, menuAction: Menu): void;
190
+ /**
191
+ * Emits tableColumnActionElement event with the selected HTML Element.
192
+ * @param {HTMLElement} element
193
+ * @memberof DataTableComponent
194
+ */
195
+ tableColumnActionElement(element: HTMLElement): void;
166
196
  /**
167
197
  * OnEditClick method emits the selectedRowToEdit event with the selected row data.
168
198
  * @param {*} row
@@ -271,5 +301,5 @@ export declare class DataTableComponent implements OnInit, AfterViewInit, OnDest
271
301
  */
272
302
  ngOnDestroy(): void;
273
303
  static ɵfac: i0.ɵɵFactoryDeclaration<DataTableComponent, never>;
274
- static ɵcmp: i0.ɵɵComponentDeclaration<DataTableComponent, "ieeesa-data-table", never, { "tableDataInfo": { "alias": "tableDataInfo"; "required": false; }; "nestedTableDataInfo": { "alias": "nestedTableDataInfo"; "required": false; }; "columnSchemaInfo": { "alias": "columnSchemaInfo"; "required": false; }; "nestedTableColumnSchemaInfo": { "alias": "nestedTableColumnSchemaInfo"; "required": false; }; "tableActions": { "alias": "tableActions"; "required": false; }; "tableColumnActions": { "alias": "tableColumnActions"; "required": false; }; "tableColumnActionMenuSize": { "alias": "tableColumnActionMenuSize"; "required": false; }; "tableRowActions": { "alias": "tableRowActions"; "required": false; }; "nestedTableRowActions": { "alias": "nestedTableRowActions"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "viewAll": { "alias": "viewAll"; "required": false; }; "paginatorConfig": { "alias": "paginatorConfig"; "required": false; }; "nestedPaginatorConfig": { "alias": "nestedPaginatorConfig"; "required": false; }; "legends": { "alias": "legends"; "required": false; }; "searchPlaceHolderText": { "alias": "searchPlaceHolderText"; "required": false; }; "rowEditButton": { "alias": "rowEditButton"; "required": false; }; "rowDeleteButton": { "alias": "rowDeleteButton"; "required": false; }; "tableEditButton": { "alias": "tableEditButton"; "required": false; }; "tableDeleteButton": { "alias": "tableDeleteButton"; "required": false; }; "rowExpandButton": { "alias": "rowExpandButton"; "required": false; }; "rowCollapseButton": { "alias": "rowCollapseButton"; "required": false; }; "isNestedTableHeaderNeeded": { "alias": "isNestedTableHeaderNeeded"; "required": false; }; "addButton": { "alias": "addButton"; "required": false; }; "defaultColumnSortDirection": { "alias": "defaultColumnSortDirection"; "required": false; }; "defaultSortedColumn": { "alias": "defaultSortedColumn"; "required": false; }; "isClearSortNeeded": { "alias": "isClearSortNeeded"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; "selectedFilterOptions": { "alias": "selectedFilterOptions"; "required": false; }; "appliedFilterOptions": { "alias": "appliedFilterOptions"; "required": false; }; "searchType": { "alias": "searchType"; "required": false; }; "className": { "alias": "className"; "required": false; }; "searchSupportMessage": { "alias": "searchSupportMessage"; "required": false; }; "inbuiltSortingNeeded": { "alias": "inbuiltSortingNeeded"; "required": false; }; "isCellTextOverflowEllipsis": { "alias": "isCellTextOverflowEllipsis"; "required": false; }; "isTableHeaderNeeded": { "alias": "isTableHeaderNeeded"; "required": false; }; "tableColumnsHeaderText": { "alias": "tableColumnsHeaderText"; "required": false; }; "verticalColumnHeaderNumber": { "alias": "verticalColumnHeaderNumber"; "required": false; }; "scrollbarSupportMessage": { "alias": "scrollbarSupportMessage"; "required": false; }; "isScrollSupportMessageNeeded": { "alias": "isScrollSupportMessageNeeded"; "required": false; }; "searchResultMessage": { "alias": "searchResultMessage"; "required": false; }; "rowMenuActionIcon": { "alias": "rowMenuActionIcon"; "required": false; }; }, { "rowSelected": "rowSelected"; "selectedRowToEdit": "selectedRowToEdit"; "selectedRowToDelete": "selectedRowToDelete"; "selectedRowsToDelete": "selectedRowsToDelete"; "rowLink": "rowLink"; "addRow": "addRow"; "columnDataOnRowLinkClick": "columnDataOnRowLinkClick"; "menuActionClick": "menuActionClick"; "selectActionMenu": "selectActionMenu"; "paginationChange": "paginationChange"; "selectedFilter": "selectedFilter"; "removeFilteredOption": "removeFilteredOption"; "filteredOptions": "filteredOptions"; "searchedValue": "searchedValue"; "sortChange": "sortChange"; "selectedRowsInfo": "selectedRowsInfo"; "rowExpansionClick": "rowExpansionClick"; }, never, never, true, never>;
304
+ static ɵcmp: i0.ɵɵComponentDeclaration<DataTableComponent, "ieeesa-data-table", never, { "tableDataInfo": { "alias": "tableDataInfo"; "required": false; }; "nestedTableDataInfo": { "alias": "nestedTableDataInfo"; "required": false; }; "columnSchemaInfo": { "alias": "columnSchemaInfo"; "required": false; }; "nestedTableColumnSchemaInfo": { "alias": "nestedTableColumnSchemaInfo"; "required": false; }; "tableActions": { "alias": "tableActions"; "required": false; }; "hasNestedTable": { "alias": "hasNestedTable"; "required": false; }; "tableColumnActions": { "alias": "tableColumnActions"; "required": false; }; "tableColumnActionMenuSize": { "alias": "tableColumnActionMenuSize"; "required": false; }; "tableRowActions": { "alias": "tableRowActions"; "required": false; }; "nestedTableRowActions": { "alias": "nestedTableRowActions"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "viewAll": { "alias": "viewAll"; "required": false; }; "paginatorConfig": { "alias": "paginatorConfig"; "required": false; }; "nestedPaginatorConfig": { "alias": "nestedPaginatorConfig"; "required": false; }; "legends": { "alias": "legends"; "required": false; }; "searchPlaceHolderText": { "alias": "searchPlaceHolderText"; "required": false; }; "rowEditButton": { "alias": "rowEditButton"; "required": false; }; "rowDeleteButton": { "alias": "rowDeleteButton"; "required": false; }; "tableEditButton": { "alias": "tableEditButton"; "required": false; }; "tableDeleteButton": { "alias": "tableDeleteButton"; "required": false; }; "rowExpandButton": { "alias": "rowExpandButton"; "required": false; }; "rowCollapseButton": { "alias": "rowCollapseButton"; "required": false; }; "isNestedTableHeaderNeeded": { "alias": "isNestedTableHeaderNeeded"; "required": false; }; "addButton": { "alias": "addButton"; "required": false; }; "defaultColumnSortDirection": { "alias": "defaultColumnSortDirection"; "required": false; }; "defaultSortedColumn": { "alias": "defaultSortedColumn"; "required": false; }; "isClearSortNeeded": { "alias": "isClearSortNeeded"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; "selectedFilterOptions": { "alias": "selectedFilterOptions"; "required": false; }; "appliedFilterOptions": { "alias": "appliedFilterOptions"; "required": false; }; "searchType": { "alias": "searchType"; "required": false; }; "className": { "alias": "className"; "required": false; }; "searchSupportMessage": { "alias": "searchSupportMessage"; "required": false; }; "inbuiltSortingNeeded": { "alias": "inbuiltSortingNeeded"; "required": false; }; "isCellTextOverflowEllipsis": { "alias": "isCellTextOverflowEllipsis"; "required": false; }; "isTableHeaderNeeded": { "alias": "isTableHeaderNeeded"; "required": false; }; "tableColumnsHeaderText": { "alias": "tableColumnsHeaderText"; "required": false; }; "verticalColumnHeaderNumber": { "alias": "verticalColumnHeaderNumber"; "required": false; }; "scrollbarSupportMessage": { "alias": "scrollbarSupportMessage"; "required": false; }; "isScrollSupportMessageNeeded": { "alias": "isScrollSupportMessageNeeded"; "required": false; }; "isStickyHeaderNeeded": { "alias": "isStickyHeaderNeeded"; "required": false; }; "customStickyHeaderNeeded": { "alias": "customStickyHeaderNeeded"; "required": false; }; "headerElementClassName": { "alias": "headerElementClassName"; "required": false; }; "searchResultMessage": { "alias": "searchResultMessage"; "required": false; }; "rowMenuActionIcon": { "alias": "rowMenuActionIcon"; "required": false; }; }, { "rowSelected": "rowSelected"; "selectedRowToEdit": "selectedRowToEdit"; "selectedRowToDelete": "selectedRowToDelete"; "selectedRowsToDelete": "selectedRowsToDelete"; "rowLink": "rowLink"; "addRow": "addRow"; "columnDataOnRowLinkClick": "columnDataOnRowLinkClick"; "menuActionClick": "menuActionClick"; "selectActionMenu": "selectActionMenu"; "paginationChange": "paginationChange"; "selectedFilter": "selectedFilter"; "removeFilteredOption": "removeFilteredOption"; "filteredOptions": "filteredOptions"; "searchedValue": "searchedValue"; "sortChange": "sortChange"; "selectedRowsInfo": "selectedRowsInfo"; "rowExpansionClick": "rowExpansionClick"; "tableColumnMenuActionClick": "tableColumnMenuActionClick"; "tableColumnMenuToggleButton": "tableColumnMenuToggleButton"; }, never, never, true, never>;
275
305
  }
@@ -1,4 +1,4 @@
1
- import { EventEmitter } from '@angular/core';
1
+ import { ElementRef, EventEmitter } from '@angular/core';
2
2
  import { Menu } from '../../models/menu.model';
3
3
  import { IconButton } from '../../models/icon-button.model';
4
4
  import * as i0 from "@angular/core";
@@ -8,14 +8,17 @@ import * as i0 from "@angular/core";
8
8
  * @class MenuComponent
9
9
  */
10
10
  export declare class MenuComponent {
11
+ private elementRef;
11
12
  constants: any;
12
13
  menuItems: Menu[];
13
14
  button: IconButton;
14
15
  defaultIconSize: string;
15
16
  isMarginBottomZero: boolean;
17
+ menuToggleButtonElement: EventEmitter<HTMLElement>;
16
18
  menuItemClick: EventEmitter<Menu>;
19
+ constructor(elementRef: ElementRef);
17
20
  /**
18
- * Emits the clicked menu item
21
+ * Emits the clicked menu item and emits menu button element event when its not triggered through mouse.
19
22
  * @param {Menu} menu
20
23
  * @memberof MenuComponent
21
24
  */
@@ -29,5 +32,5 @@ export declare class MenuComponent {
29
32
  */
30
33
  trackByFn(index: number, menu: Menu): number;
31
34
  static ɵfac: i0.ɵɵFactoryDeclaration<MenuComponent, never>;
32
- static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "ieeesa-menu", never, { "menuItems": { "alias": "menuItems"; "required": false; }; "button": { "alias": "button"; "required": false; }; "defaultIconSize": { "alias": "defaultIconSize"; "required": false; }; "isMarginBottomZero": { "alias": "isMarginBottomZero"; "required": false; }; }, { "menuItemClick": "menuItemClick"; }, never, never, true, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "ieeesa-menu", never, { "menuItems": { "alias": "menuItems"; "required": false; }; "button": { "alias": "button"; "required": false; }; "defaultIconSize": { "alias": "defaultIconSize"; "required": false; }; "isMarginBottomZero": { "alias": "isMarginBottomZero"; "required": false; }; }, { "menuToggleButtonElement": "menuToggleButtonElement"; "menuItemClick": "menuItemClick"; }, never, never, true, never>;
33
36
  }
@@ -0,0 +1,6 @@
1
+ import { Menu } from './menu.model';
2
+ import { TableColumnSchema } from './table-schema.model';
3
+ export interface TableColumnMenuInfo {
4
+ tableColumnInfo: TableColumnSchema;
5
+ menuActionInfo: Menu;
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ieeesa-npm/presentation",
3
- "version": "0.16.7",
3
+ "version": "0.16.9",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.1.0",
6
6
  "@angular/core": "^16.1.0",
package/public-api.d.ts CHANGED
@@ -89,6 +89,7 @@ export * from './lib/models/allowed-file-types.model';
89
89
  export * from './lib/models/file-upload-presigned-url-res.model';
90
90
  export * from './lib/models/accordion-info.model';
91
91
  export * from './lib/models/inactive-tenant.model';
92
+ export * from './lib/models/table-column-menu-info.model';
92
93
  export * from './lib/services/datepicker.service';
93
94
  export * from './lib/services/form-utility.service';
94
95
  export * from './lib/services/file-upload.service';