@annalib/anna-core 37.0.27 → 37.0.28
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 +181 -14
- package/fesm2022/annalib-anna-core.mjs.map +1 -1
- package/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +6 -0
- package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +2 -2
- package/lib/anna-core-shared-lib/services/customizable-columns.service.d.ts +44 -0
- package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +17 -3
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/src/lib/anna-common-scss/_show-hide-total-row.scss +13 -0
|
@@ -271,4 +271,10 @@ export interface IDropdownConfigWithIconForGT {
|
|
|
271
271
|
showTooltip: boolean;
|
|
272
272
|
tooltipData?: string;
|
|
273
273
|
}
|
|
274
|
+
export interface ICustomizableColumn {
|
|
275
|
+
name: string;
|
|
276
|
+
objectKey: string;
|
|
277
|
+
isFixed: boolean;
|
|
278
|
+
isChecked: boolean;
|
|
279
|
+
}
|
|
274
280
|
export {};
|
|
@@ -16,14 +16,14 @@ export declare class AnnaDateTimeFormatService {
|
|
|
16
16
|
addZero(time: any): any;
|
|
17
17
|
sortByTimeAscending(a: any, b: any): number;
|
|
18
18
|
sortByTimeDescending(a: any, b: any): number;
|
|
19
|
-
compareTime(a: dayjs.Dayjs, b: dayjs.Dayjs, unit: UnitType, isAsc: boolean):
|
|
19
|
+
compareTime(a: dayjs.Dayjs, b: dayjs.Dayjs, unit: UnitType, isAsc: boolean): 1 | 0 | -1;
|
|
20
20
|
convertNgbDateToMoment(ngbDate: NgbDate | NgbDateType): string;
|
|
21
21
|
compareDate(a: string, b: string, isAsc: boolean): number;
|
|
22
22
|
static formatTwentyFourHourTimeToHHMMAFormat(value: any, date?: string): string;
|
|
23
23
|
static formatTwelveHourTimeToHHMMAFormat(timeValue: any, date?: string): string;
|
|
24
24
|
formatDateAndHHMMATimeToStandardFormat(dateAndTime: any): string;
|
|
25
25
|
compare(a: number | string, b: number | string, isAsc: boolean): number;
|
|
26
|
-
sortDataByBroadcastTimeAsc(firstParamTime: string, secondParamTime: string, broadcastTime: string):
|
|
26
|
+
sortDataByBroadcastTimeAsc(firstParamTime: string, secondParamTime: string, broadcastTime: string): 1 | 0 | -1;
|
|
27
27
|
convertNgbDateToMomentInSpecificFormat(ngbDate: NgbDateType, format: string): string;
|
|
28
28
|
getBroadcastWeek(startDate: any, format?: string): {
|
|
29
29
|
start: dayjs.Dayjs;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ICustomizableColumn, IGtTableHeader } from '../models/anna-non-editable-gt-models';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class CustomizableColumnsService {
|
|
4
|
+
/**
|
|
5
|
+
* Applies table preferences by updating customizable columns and table headers visibility
|
|
6
|
+
* @param customizableColumnsList - List of customizable columns to update
|
|
7
|
+
* @param tableHeaders - Table headers to update visibility for
|
|
8
|
+
* @param selectedObjectKeys - Array of selected column object keys from preferences
|
|
9
|
+
*/
|
|
10
|
+
applyTablePreferences(customizableColumnsList: ICustomizableColumn[], tableHeaders: IGtTableHeader[], selectedObjectKeys: string[]): void;
|
|
11
|
+
/**
|
|
12
|
+
* Extracts all visible object keys from table headers
|
|
13
|
+
* @param headers - Table headers to extract visible keys from
|
|
14
|
+
* @returns Set of visible object keys
|
|
15
|
+
*/
|
|
16
|
+
getVisibleObjectKeys(headers: IGtTableHeader[]): Set<string>;
|
|
17
|
+
/**
|
|
18
|
+
* Updates customizable columns list state based on selected columns
|
|
19
|
+
* @param customizableColumnsList - List of customizable columns to update
|
|
20
|
+
* @param selectedColumns - Array of selected column object keys
|
|
21
|
+
*/
|
|
22
|
+
updateCustomizableColumnsState(customizableColumnsList: ICustomizableColumn[], selectedColumns: string[]): void;
|
|
23
|
+
/**
|
|
24
|
+
* Detects if any columns were hidden by comparing previous and new visible columns
|
|
25
|
+
* @param previousHeaders - Previous table headers
|
|
26
|
+
* @param newHeaders - New table headers after customization
|
|
27
|
+
* @returns true if any column was hidden, false otherwise
|
|
28
|
+
*/
|
|
29
|
+
detectHiddenColumns(previousHeaders: IGtTableHeader[], newHeaders: IGtTableHeader[]): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Gets the count of fixed columns in the customizable columns list
|
|
32
|
+
* @param customizableColumnsList - List of customizable columns
|
|
33
|
+
* @returns Number of fixed columns
|
|
34
|
+
*/
|
|
35
|
+
getFixedColumnsCount(customizableColumnsList: ICustomizableColumn[]): number;
|
|
36
|
+
/**
|
|
37
|
+
* Extracts selected (checked) column object keys from customizable columns list
|
|
38
|
+
* @param customizableColumnsList - List of customizable columns
|
|
39
|
+
* @returns Array of selected column object keys (only non-fixed columns)
|
|
40
|
+
*/
|
|
41
|
+
getSelectedColumns(customizableColumnsList: ICustomizableColumn[]): string[];
|
|
42
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CustomizableColumnsService, never>;
|
|
43
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CustomizableColumnsService>;
|
|
44
|
+
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { AfterViewChecked, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnInit, QueryList, SimpleChanges, TemplateRef } from "@angular/core";
|
|
2
|
+
import { NgbModal } from "@ng-bootstrap/ng-bootstrap";
|
|
2
3
|
import { BehaviorSubject } from "rxjs";
|
|
3
4
|
import { GtColumnIconEmittedData, RatingSellerGroupHierarchy } from "../../../anna-core-shared-lib/models/anna-generic-data-type.model";
|
|
4
5
|
import { IWeekCalendar } from "../../../anna-core-shared-lib/models/anna-global-dropdown-config.model";
|
|
5
|
-
import { EllipsisWithTableTooltip, IGtGeneralConfig, IGtTableHeader, IHeaderInfo, InnerHTMLTooltipAction, ITimeInputData, ITotalRowInfo } from "../../../anna-core-shared-lib/models/anna-non-editable-gt-models";
|
|
6
|
+
import { EllipsisWithTableTooltip, ICustomizableColumn, IGtGeneralConfig, IGtTableHeader, IHeaderInfo, InnerHTMLTooltipAction, ITimeInputData, ITotalRowInfo } from "../../../anna-core-shared-lib/models/anna-non-editable-gt-models";
|
|
6
7
|
import { AnnaDateTimeFormatService } from "../../../anna-core-shared-lib/services/anna-date-time-format.service";
|
|
7
8
|
import { AnnaFilterService } from "../../../anna-core-shared-lib/services/anna-filter.service";
|
|
8
9
|
import { AnnaSortService } from "../../../anna-core-shared-lib/services/anna-sort.service";
|
|
@@ -19,6 +20,7 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
19
20
|
private annaSortService;
|
|
20
21
|
annaDateTimeFormatService: AnnaDateTimeFormatService;
|
|
21
22
|
annaFilterService: AnnaFilterService;
|
|
23
|
+
modalService: NgbModal;
|
|
22
24
|
showSkeletonLoading: boolean;
|
|
23
25
|
tableHeaders: IGtTableHeader[];
|
|
24
26
|
tableData: any[];
|
|
@@ -51,6 +53,8 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
51
53
|
tdsHaveRowSpan: boolean;
|
|
52
54
|
multipleTablesPresent: boolean;
|
|
53
55
|
showOrHideToggleForTotalRow: boolean;
|
|
56
|
+
enableCustomizableColumns: boolean;
|
|
57
|
+
customizableColumnsList: ICustomizableColumn[];
|
|
54
58
|
toggleCheckbox: EventEmitter<any>;
|
|
55
59
|
toggleRowCheckbox: EventEmitter<any>;
|
|
56
60
|
toggleHeaderCheckbox: EventEmitter<any>;
|
|
@@ -98,6 +102,10 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
98
102
|
}>;
|
|
99
103
|
totalRowRadioButtonClicked: EventEmitter<string>;
|
|
100
104
|
totalRowRadioButtonIconClicked: EventEmitter<string>;
|
|
105
|
+
columnsCustomized: EventEmitter<{
|
|
106
|
+
selectedColumns: string[];
|
|
107
|
+
tableHeaders: IGtTableHeader[];
|
|
108
|
+
}>;
|
|
101
109
|
acfiRateInputChanged: EventEmitter<{
|
|
102
110
|
data: any;
|
|
103
111
|
key: string;
|
|
@@ -172,6 +180,9 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
172
180
|
open: () => void;
|
|
173
181
|
close: () => void;
|
|
174
182
|
};
|
|
183
|
+
customizableColumnsListClone: ICustomizableColumn[];
|
|
184
|
+
customizeColumnsModalReference: any;
|
|
185
|
+
customizeColumnsModal: TemplateRef<any>;
|
|
175
186
|
statusNoteTooltip: any;
|
|
176
187
|
statusNoteForTooltip: string;
|
|
177
188
|
statusNoteForPopup: string;
|
|
@@ -190,7 +201,7 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
190
201
|
time: string;
|
|
191
202
|
}[];
|
|
192
203
|
selectedRowForTimeEdit: any;
|
|
193
|
-
constructor(cdRef: ChangeDetectorRef, annaSortService: AnnaSortService, annaDateTimeFormatService: AnnaDateTimeFormatService, annaFilterService: AnnaFilterService);
|
|
204
|
+
constructor(cdRef: ChangeDetectorRef, annaSortService: AnnaSortService, annaDateTimeFormatService: AnnaDateTimeFormatService, annaFilterService: AnnaFilterService, modalService: NgbModal);
|
|
194
205
|
ngAfterViewChecked(): void;
|
|
195
206
|
ngOnInit(): void;
|
|
196
207
|
detectChanges(): void;
|
|
@@ -265,7 +276,10 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
265
276
|
closeTimeInputTooltip(): void;
|
|
266
277
|
timeInputTooltipClickedInTableBody(event: ITimeInputData, rowData: any): void;
|
|
267
278
|
timeSelectedInTableRow(event: string[][]): void;
|
|
279
|
+
openCustomizeColumnsModal(): void;
|
|
280
|
+
selectUnselectCustomizeColumns(column: ICustomizableColumn): void;
|
|
281
|
+
customizeColumns(customize: boolean): void;
|
|
268
282
|
static ɵfac: i0.ɵɵFactoryDeclaration<AnnaNonEditableGenericTableComponent, never>;
|
|
269
|
-
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; }; }, { "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"; "acfiRateInputChanged": "acfiRateInputChanged"; "acfiRateCopyRequested": "acfiRateCopyRequested"; }, never, never, true, 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; }; "customizableColumnsList": { "alias": "customizableColumnsList"; "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>;
|
|
270
284
|
}
|
|
271
285
|
export {};
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export * from "./lib/anna-core-shared-lib/services/anna-persisting-filter.servic
|
|
|
22
22
|
export * from "./lib/anna-core-shared-lib/services/anna-regex-patterns.service";
|
|
23
23
|
export * from "./lib/anna-core-shared-lib/services/anna-sort.service";
|
|
24
24
|
export * from "./lib/anna-core-shared-lib/services/anna-spinner-loader.service";
|
|
25
|
+
export * from "./lib/anna-core-shared-lib/services/customizable-columns.service";
|
|
25
26
|
export * from "./lib/anna-core-shared-lib/services/update-station-id.service";
|
|
26
27
|
export * from "./lib/anna-generic-table-lib/services/gt-table-related-common-functions.service";
|
|
27
28
|
export * from "./lib/anna-core-shared-lib/models/anna-generic-data-type.model";
|
|
@@ -25,3 +25,16 @@
|
|
|
25
25
|
#generic-table-conatiner.table-with-show-hide-total-row-toggle .total-row td:nth-of-type(2) {
|
|
26
26
|
padding-left: 16px !important;
|
|
27
27
|
}
|
|
28
|
+
|
|
29
|
+
// Apply padding to first column instead of second column for posting-and-ud-tracking-table
|
|
30
|
+
:host.posting-and-ud-tracking-table {
|
|
31
|
+
#generic-table-conatiner.table-with-show-hide-total-row-toggle .total-row {
|
|
32
|
+
td:nth-of-type(1) {
|
|
33
|
+
padding-left: 16px !important;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
td:nth-of-type(2) {
|
|
37
|
+
padding-left: 8px !important;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|