@annalib/anna-core 37.0.28 → 37.0.31
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.
- package/fesm2022/annalib-anna-core.mjs +317 -140
- package/fesm2022/annalib-anna-core.mjs.map +1 -1
- package/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +15 -0
- package/lib/anna-core-shared-lib/services/customizable-columns.service.d.ts +54 -24
- package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +12 -6
- package/package.json +1 -1
|
@@ -4,6 +4,7 @@ export interface IGtTableHeader {
|
|
|
4
4
|
headerInfo: IHeaderInfo[];
|
|
5
5
|
visible: boolean;
|
|
6
6
|
width: string;
|
|
7
|
+
isFixedGroup?: boolean;
|
|
7
8
|
rowspan?: number;
|
|
8
9
|
colspan?: number;
|
|
9
10
|
rowNumber?: number;
|
|
@@ -14,6 +15,20 @@ export type TDCellClass = "CENTRE";
|
|
|
14
15
|
export interface IHeaderInfo {
|
|
15
16
|
name: string;
|
|
16
17
|
objectKey: string;
|
|
18
|
+
isVisible?: boolean;
|
|
19
|
+
visibleOrder?: number;
|
|
20
|
+
defaultShowTooltipIcon?: boolean;
|
|
21
|
+
defaultFilterConfig?: {
|
|
22
|
+
filter?: FILTERTYPE;
|
|
23
|
+
filterSortObjectKeys?: string[];
|
|
24
|
+
isSortRequired?: boolean[];
|
|
25
|
+
isFilterRequired?: boolean[];
|
|
26
|
+
};
|
|
27
|
+
activeFilterSortObjectKeys?: string[];
|
|
28
|
+
activeIsSortRequired?: boolean[];
|
|
29
|
+
activeIsFilterRequired?: boolean[];
|
|
30
|
+
customizeLabel?: string;
|
|
31
|
+
isChecked?: boolean;
|
|
17
32
|
actionKey?: string;
|
|
18
33
|
tooltipKey?: string;
|
|
19
34
|
isDisabledKey?: string;
|
|
@@ -1,44 +1,74 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IGtTableHeader } from "../models/anna-non-editable-gt-models";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class CustomizableColumnsService {
|
|
4
4
|
/**
|
|
5
|
-
* Applies table preferences by updating
|
|
6
|
-
* @param customizableColumnsList - List of customizable columns to update
|
|
5
|
+
* Applies table preferences by updating table headers visibility and checked state
|
|
7
6
|
* @param tableHeaders - Table headers to update visibility for
|
|
8
|
-
* @param
|
|
7
|
+
* @param selectedColumnNames - Array of selected column object keys from preferences
|
|
9
8
|
*/
|
|
10
|
-
|
|
9
|
+
applyColumnPreferences(tableHeaders: IGtTableHeader[], selectedColumnNames: string[]): void;
|
|
11
10
|
/**
|
|
12
|
-
*
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
* Ensures a header carries immutable copies of its default filter/tooltip configuration.
|
|
12
|
+
*/
|
|
13
|
+
private ensureHeaderDefaultsAreStored;
|
|
14
|
+
/**
|
|
15
|
+
* Checks if a filter configuration has any filter settings
|
|
16
|
+
* @param config - Filter configuration to check
|
|
17
|
+
* @returns True if configuration has filter settings, false otherwise
|
|
18
|
+
*/
|
|
19
|
+
private isFilterConfigPopulated;
|
|
20
|
+
/**
|
|
21
|
+
* Applies filter state for a header group based on visible headers and the selected filter header
|
|
22
|
+
* @param headerGroup - Header group to apply filter state to
|
|
23
|
+
* @param visibleHeaders - Array of visible header info
|
|
24
|
+
* @param firstHeaderWithFilter - Visible header with filter configuration
|
|
25
|
+
*/
|
|
26
|
+
private updateGroupFilterState;
|
|
27
|
+
/**
|
|
28
|
+
* Checks if a header's filter config has keys that match visible columns
|
|
29
|
+
* @param header - Header to check
|
|
30
|
+
* @param visibleObjectKeys - Set of visible column keys
|
|
31
|
+
* @returns True if header has filter keys for visible columns, false otherwise
|
|
15
32
|
*/
|
|
16
|
-
|
|
33
|
+
private headerHasVisibleColumnKeys;
|
|
17
34
|
/**
|
|
18
|
-
*
|
|
19
|
-
* @param
|
|
20
|
-
* @param
|
|
35
|
+
* Applies filter configuration to header info and updates active filter states
|
|
36
|
+
* @param header - Header info to apply configuration to
|
|
37
|
+
* @param config - Filter configuration to apply (if undefined, clears filter config)
|
|
21
38
|
*/
|
|
22
|
-
|
|
39
|
+
private applyFilterConfigToHeader;
|
|
23
40
|
/**
|
|
24
|
-
*
|
|
25
|
-
* @param
|
|
26
|
-
* @param
|
|
27
|
-
* @returns
|
|
41
|
+
* Filters the default filter configuration to only include allowed keys
|
|
42
|
+
* @param defaultConfig - Default filter configuration to filter
|
|
43
|
+
* @param visibleColumnKeys - Set of allowed object keys
|
|
44
|
+
* @returns Filtered configuration with only allowed keys, or undefined if no config
|
|
28
45
|
*/
|
|
29
|
-
|
|
46
|
+
private buildFilteredConfig;
|
|
47
|
+
/**
|
|
48
|
+
* Extracts selected (checked) column object keys from table headers
|
|
49
|
+
* @param tableHeaders - Table headers to extract from
|
|
50
|
+
* @returns Array of selected column object keys (only non-fixed columns)
|
|
51
|
+
*/
|
|
52
|
+
collectSelectedColumnKeys(tableHeaders: IGtTableHeader[]): string[];
|
|
30
53
|
/**
|
|
31
54
|
* Gets the count of fixed columns in the customizable columns list
|
|
32
|
-
* @param
|
|
55
|
+
* @param tableHeaders - Table headers to count fixed columns from
|
|
33
56
|
* @returns Number of fixed columns
|
|
34
57
|
*/
|
|
35
|
-
|
|
58
|
+
countFixedColumns(tableHeaders: IGtTableHeader[]): number;
|
|
36
59
|
/**
|
|
37
|
-
*
|
|
38
|
-
* @param
|
|
39
|
-
* @
|
|
60
|
+
* Checks if visible columns have changed between previous and new headers
|
|
61
|
+
* @param previousHeaders - Previous table headers to compare
|
|
62
|
+
* @param newHeaders - New table headers to compare
|
|
63
|
+
* @returns True if visible columns have changed, false otherwise
|
|
64
|
+
*/
|
|
65
|
+
haveVisibleColumnKeysChanged(previousHeaders: IGtTableHeader[], newHeaders: IGtTableHeader[]): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Extracts all visible object keys from table headers
|
|
68
|
+
* @param headers - Table headers to extract visible keys from
|
|
69
|
+
* @returns Set of visible object keys
|
|
40
70
|
*/
|
|
41
|
-
|
|
71
|
+
collectVisibleObjectKeys(headers: IGtTableHeader[]): Set<string>;
|
|
42
72
|
static ɵfac: i0.ɵɵFactoryDeclaration<CustomizableColumnsService, never>;
|
|
43
73
|
static ɵprov: i0.ɵɵInjectableDeclaration<CustomizableColumnsService>;
|
|
44
74
|
}
|
|
@@ -3,10 +3,11 @@ import { NgbModal } from "@ng-bootstrap/ng-bootstrap";
|
|
|
3
3
|
import { BehaviorSubject } from "rxjs";
|
|
4
4
|
import { GtColumnIconEmittedData, RatingSellerGroupHierarchy } from "../../../anna-core-shared-lib/models/anna-generic-data-type.model";
|
|
5
5
|
import { IWeekCalendar } from "../../../anna-core-shared-lib/models/anna-global-dropdown-config.model";
|
|
6
|
-
import { EllipsisWithTableTooltip,
|
|
6
|
+
import { EllipsisWithTableTooltip, IGtGeneralConfig, IGtTableHeader, IHeaderInfo, InnerHTMLTooltipAction, ITimeInputData, ITotalRowInfo } from "../../../anna-core-shared-lib/models/anna-non-editable-gt-models";
|
|
7
7
|
import { AnnaDateTimeFormatService } from "../../../anna-core-shared-lib/services/anna-date-time-format.service";
|
|
8
8
|
import { AnnaFilterService } from "../../../anna-core-shared-lib/services/anna-filter.service";
|
|
9
9
|
import { AnnaSortService } from "../../../anna-core-shared-lib/services/anna-sort.service";
|
|
10
|
+
import { CustomizableColumnsService } from "../../../anna-core-shared-lib/services/customizable-columns.service";
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
interface TableTooltipType {
|
|
12
13
|
tooltipTableHeader: string[];
|
|
@@ -21,6 +22,7 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
21
22
|
annaDateTimeFormatService: AnnaDateTimeFormatService;
|
|
22
23
|
annaFilterService: AnnaFilterService;
|
|
23
24
|
modalService: NgbModal;
|
|
25
|
+
private customizableColumnsService;
|
|
24
26
|
showSkeletonLoading: boolean;
|
|
25
27
|
tableHeaders: IGtTableHeader[];
|
|
26
28
|
tableData: any[];
|
|
@@ -54,7 +56,6 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
54
56
|
multipleTablesPresent: boolean;
|
|
55
57
|
showOrHideToggleForTotalRow: boolean;
|
|
56
58
|
enableCustomizableColumns: boolean;
|
|
57
|
-
customizableColumnsList: ICustomizableColumn[];
|
|
58
59
|
toggleCheckbox: EventEmitter<any>;
|
|
59
60
|
toggleRowCheckbox: EventEmitter<any>;
|
|
60
61
|
toggleHeaderCheckbox: EventEmitter<any>;
|
|
@@ -180,7 +181,8 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
180
181
|
open: () => void;
|
|
181
182
|
close: () => void;
|
|
182
183
|
};
|
|
183
|
-
|
|
184
|
+
tableHeadersClone: IGtTableHeader[];
|
|
185
|
+
private initialCustomizeSelectedColumns;
|
|
184
186
|
customizeColumnsModalReference: any;
|
|
185
187
|
customizeColumnsModal: TemplateRef<any>;
|
|
186
188
|
statusNoteTooltip: any;
|
|
@@ -201,7 +203,7 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
201
203
|
time: string;
|
|
202
204
|
}[];
|
|
203
205
|
selectedRowForTimeEdit: any;
|
|
204
|
-
constructor(cdRef: ChangeDetectorRef, annaSortService: AnnaSortService, annaDateTimeFormatService: AnnaDateTimeFormatService, annaFilterService: AnnaFilterService, modalService: NgbModal);
|
|
206
|
+
constructor(cdRef: ChangeDetectorRef, annaSortService: AnnaSortService, annaDateTimeFormatService: AnnaDateTimeFormatService, annaFilterService: AnnaFilterService, modalService: NgbModal, customizableColumnsService: CustomizableColumnsService);
|
|
205
207
|
ngAfterViewChecked(): void;
|
|
206
208
|
ngOnInit(): void;
|
|
207
209
|
detectChanges(): void;
|
|
@@ -277,9 +279,13 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
277
279
|
timeInputTooltipClickedInTableBody(event: ITimeInputData, rowData: any): void;
|
|
278
280
|
timeSelectedInTableRow(event: string[][]): void;
|
|
279
281
|
openCustomizeColumnsModal(): void;
|
|
280
|
-
selectUnselectCustomizeColumns(
|
|
282
|
+
selectUnselectCustomizeColumns(objectKey: string): void;
|
|
283
|
+
getSelectedColumnsCount(): number;
|
|
284
|
+
selectAllCustomizeColumns(): void;
|
|
285
|
+
unselectAllCustomizeColumns(): void;
|
|
286
|
+
hasCustomizeSelectionChanged(): boolean;
|
|
281
287
|
customizeColumns(customize: boolean): void;
|
|
282
288
|
static ɵfac: i0.ɵɵFactoryDeclaration<AnnaNonEditableGenericTableComponent, never>;
|
|
283
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AnnaNonEditableGenericTableComponent, "anna-core-non-editable-generic-table-lib", never, { "showSkeletonLoading": { "alias": "showSkeletonLoading"; "required": false; }; "tableHeaders": { "alias": "tableHeaders"; "required": true; }; "tableData": { "alias": "tableData"; "required": true; }; "clonedTableData": { "alias": "clonedTableData"; "required": true; }; "gtGeneralConfig": { "alias": "gtGeneralConfig"; "required": true; }; "totalRowInfo": { "alias": "totalRowInfo"; "required": false; }; "gtDimension": { "alias": "gtDimension"; "required": true; }; "extraHeaderRowForAdjustingColumnWidths": { "alias": "extraHeaderRowForAdjustingColumnWidths"; "required": false; }; "tableClass": { "alias": "tableClass"; "required": false; }; "maximumRowsWhichCanBeRenderedWithoutScroll": { "alias": "maximumRowsWhichCanBeRenderedWithoutScroll"; "required": false; }; "fixNumberOfRowsForPopup": { "alias": "fixNumberOfRowsForPopup"; "required": false; }; "fixRowsToRender": { "alias": "fixRowsToRender"; "required": false; }; "includeBorderInTableHeight": { "alias": "includeBorderInTableHeight"; "required": false; }; "downloadInProgress": { "alias": "downloadInProgress"; "required": false; }; "percentDone": { "alias": "percentDone"; "required": false; }; "starredInProgress": { "alias": "starredInProgress"; "required": false; }; "clickableRow": { "alias": "clickableRow"; "required": false; }; "setTableHeightWhenRowSizeIsFixed": { "alias": "setTableHeightWhenRowSizeIsFixed"; "required": false; }; "tableBorderBottomClassRequired": { "alias": "tableBorderBottomClassRequired"; "required": false; }; "hideSomeTds": { "alias": "hideSomeTds"; "required": false; }; "tdsHaveRowSpan": { "alias": "tdsHaveRowSpan"; "required": false; }; "multipleTablesPresent": { "alias": "multipleTablesPresent"; "required": false; }; "showOrHideToggleForTotalRow": { "alias": "showOrHideToggleForTotalRow"; "required": false; }; "enableCustomizableColumns": { "alias": "enableCustomizableColumns"; "required": false; };
|
|
289
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AnnaNonEditableGenericTableComponent, "anna-core-non-editable-generic-table-lib", never, { "showSkeletonLoading": { "alias": "showSkeletonLoading"; "required": false; }; "tableHeaders": { "alias": "tableHeaders"; "required": true; }; "tableData": { "alias": "tableData"; "required": true; }; "clonedTableData": { "alias": "clonedTableData"; "required": true; }; "gtGeneralConfig": { "alias": "gtGeneralConfig"; "required": true; }; "totalRowInfo": { "alias": "totalRowInfo"; "required": false; }; "gtDimension": { "alias": "gtDimension"; "required": true; }; "extraHeaderRowForAdjustingColumnWidths": { "alias": "extraHeaderRowForAdjustingColumnWidths"; "required": false; }; "tableClass": { "alias": "tableClass"; "required": false; }; "maximumRowsWhichCanBeRenderedWithoutScroll": { "alias": "maximumRowsWhichCanBeRenderedWithoutScroll"; "required": false; }; "fixNumberOfRowsForPopup": { "alias": "fixNumberOfRowsForPopup"; "required": false; }; "fixRowsToRender": { "alias": "fixRowsToRender"; "required": false; }; "includeBorderInTableHeight": { "alias": "includeBorderInTableHeight"; "required": false; }; "downloadInProgress": { "alias": "downloadInProgress"; "required": false; }; "percentDone": { "alias": "percentDone"; "required": false; }; "starredInProgress": { "alias": "starredInProgress"; "required": false; }; "clickableRow": { "alias": "clickableRow"; "required": false; }; "setTableHeightWhenRowSizeIsFixed": { "alias": "setTableHeightWhenRowSizeIsFixed"; "required": false; }; "tableBorderBottomClassRequired": { "alias": "tableBorderBottomClassRequired"; "required": false; }; "hideSomeTds": { "alias": "hideSomeTds"; "required": false; }; "tdsHaveRowSpan": { "alias": "tdsHaveRowSpan"; "required": false; }; "multipleTablesPresent": { "alias": "multipleTablesPresent"; "required": false; }; "showOrHideToggleForTotalRow": { "alias": "showOrHideToggleForTotalRow"; "required": false; }; "enableCustomizableColumns": { "alias": "enableCustomizableColumns"; "required": false; }; }, { "toggleCheckbox": "toggleCheckbox"; "toggleRowCheckbox": "toggleRowCheckbox"; "toggleHeaderCheckbox": "toggleHeaderCheckbox"; "undoIconClicked": "undoIconClicked"; "filterAppliedToTable": "filterAppliedToTable"; "sortingAppliedToTable": "sortingAppliedToTable"; "rowClicked": "rowClicked"; "radioButtonSelected": "radioButtonSelected"; "columnFilterOpened": "columnFilterOpened"; "columnFilterClosed": "columnFilterClosed"; "gtIconClicked": "gtIconClicked"; "gtSVGIconClicked": "gtSVGIconClicked"; "gtTextActionClicked": "gtTextActionClicked"; "gtViewDetailClicked": "gtViewDetailClicked"; "gtInnerHTMLClicked": "gtInnerHTMLClicked"; "downloadSpotDetails": "downloadSpotDetails"; "clickableDataClicked": "clickableDataClicked"; "totalRowIconClicked": "totalRowIconClicked"; "notificationIconHover": "notificationIconHover"; "notificationIconHoverLeave": "notificationIconHoverLeave"; "editableInputEdited": "editableInputEdited"; "radioButtonMessageIconClicked": "radioButtonMessageIconClicked"; "statusNotePopupOpened": "statusNotePopupOpened"; "textPopupOpened": "textPopupOpened"; "digitOnlyInputChanged": "digitOnlyInputChanged"; "singleSelectDropdownValueEmit": "singleSelectDropdownValueEmit"; "timeSelected": "timeSelected"; "totalRowRadioButtonClicked": "totalRowRadioButtonClicked"; "totalRowRadioButtonIconClicked": "totalRowRadioButtonIconClicked"; "columnsCustomized": "columnsCustomized"; "acfiRateInputChanged": "acfiRateInputChanged"; "acfiRateCopyRequested": "acfiRateCopyRequested"; }, never, never, true, never>;
|
|
284
290
|
}
|
|
285
291
|
export {};
|