@annalib/anna-core 50.0.0 → 52.0.0-final-ng-19
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 +709 -171
- package/fesm2022/annalib-anna-core.mjs.map +1 -1
- package/lib/anna-core-shared-lib/components/anna-input-column/anna-input-column.component.d.ts +17 -0
- package/lib/anna-core-shared-lib/components/anna-input-column/models/anna-input-column.model.d.ts +40 -0
- package/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.d.ts +1 -0
- package/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +53 -2
- package/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +1 -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 +95 -0
- package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +28 -3
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
- package/src/lib/anna-common-scss/_colors.scss +3 -0
- package/src/lib/anna-common-scss/_show-hide-total-row.scss +13 -0
package/lib/anna-core-shared-lib/components/anna-input-column/anna-input-column.component.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { StringOrInputColumnData } from './models/anna-input-column.model';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class AnnaInputColumnComponent {
|
|
4
|
+
readonly data: import("@angular/core").InputSignal<StringOrInputColumnData>;
|
|
5
|
+
readonly valueChanged: import("@angular/core").OutputEmitterRef<string>;
|
|
6
|
+
readonly actionLinkClicked: import("@angular/core").OutputEmitterRef<string>;
|
|
7
|
+
changesMadeInEditableInputBox(event: KeyboardEvent | ClipboardEvent, isPaste: boolean): void;
|
|
8
|
+
private isControlKey;
|
|
9
|
+
private getEnteredValue;
|
|
10
|
+
private isInvalidCharacter;
|
|
11
|
+
private isRestrictedCharacter;
|
|
12
|
+
private exceedsDecimalLimit;
|
|
13
|
+
editableInputValueChanged(value: string): void;
|
|
14
|
+
linkClicked(event: string): void;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AnnaInputColumnComponent, never>;
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AnnaInputColumnComponent, "anna-core-anna-input-column", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; }, { "valueChanged": "valueChanged"; "actionLinkClicked": "actionLinkClicked"; }, never, never, true, never>;
|
|
17
|
+
}
|
package/lib/anna-core-shared-lib/components/anna-input-column/models/anna-input-column.model.d.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { SvgOrIconNames } from "../../../models/anna-non-editable-gt-models";
|
|
2
|
+
export declare class StringOrInputColumnData {
|
|
3
|
+
displayType: 'STRING' | 'INPUT';
|
|
4
|
+
value: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
icons: {
|
|
7
|
+
id?: string;
|
|
8
|
+
iconClass: string;
|
|
9
|
+
tooltip?: string;
|
|
10
|
+
tooltipClass?: string;
|
|
11
|
+
}[];
|
|
12
|
+
svgIcons: {
|
|
13
|
+
iconName: SvgOrIconNames;
|
|
14
|
+
tooltip?: string;
|
|
15
|
+
tooltipClass?: string;
|
|
16
|
+
}[];
|
|
17
|
+
tags: {
|
|
18
|
+
label: string;
|
|
19
|
+
tooltip?: string;
|
|
20
|
+
tagClass: string;
|
|
21
|
+
tooltipClass?: string;
|
|
22
|
+
}[];
|
|
23
|
+
links: {
|
|
24
|
+
id: string;
|
|
25
|
+
linkClass: string;
|
|
26
|
+
linkName: string;
|
|
27
|
+
tooltip?: string;
|
|
28
|
+
tooltipClass?: string;
|
|
29
|
+
}[];
|
|
30
|
+
allowSpecialCharacters?: boolean;
|
|
31
|
+
hasError?: boolean;
|
|
32
|
+
className?: string;
|
|
33
|
+
placeholder?: string;
|
|
34
|
+
characterRestrictions?: {
|
|
35
|
+
charactersToRestrict: string[];
|
|
36
|
+
isDecimalPointCheckRequired: boolean;
|
|
37
|
+
maxDecimalPointsAllowed: number;
|
|
38
|
+
};
|
|
39
|
+
constructor(data: Partial<StringOrInputColumnData>);
|
|
40
|
+
}
|
|
@@ -100,6 +100,7 @@ export interface ICustomSingleSelect {
|
|
|
100
100
|
}
|
|
101
101
|
export interface ICustomMultiSelect extends ICustomSingleSelect {
|
|
102
102
|
showErrorWhenNoOptionSelected: boolean;
|
|
103
|
+
showCancelAndApplyButtons: boolean;
|
|
103
104
|
}
|
|
104
105
|
type Position = "TOP" | "BOTTOM";
|
|
105
106
|
export {};
|
|
@@ -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;
|
|
@@ -41,6 +56,7 @@ export interface ISvgOrIconTypeInGTTable {
|
|
|
41
56
|
svgOrIconTooltipMsg?: string;
|
|
42
57
|
additionalText?: string;
|
|
43
58
|
additionalTextClass?: string;
|
|
59
|
+
svgOrIconAdditionalTextTooltipMsg?: string;
|
|
44
60
|
}
|
|
45
61
|
export interface ITimeInputData {
|
|
46
62
|
selectedTimeAsAString: string;
|
|
@@ -76,7 +92,10 @@ export declare enum SvgOrIconNames {
|
|
|
76
92
|
ALPHA_R_CIRCLE = "ALPHA_R_CIRCLE",
|
|
77
93
|
ALPHA_E_CIRCLE = "ALPHA_E_CIRCLE",
|
|
78
94
|
ALPHA_A_CIRCLE = "ALPHA_A_CIRCLE",
|
|
79
|
-
|
|
95
|
+
COM_SCORE_PULSE = "COM_SCORE_PULSE",
|
|
96
|
+
NIELSEN_OVERNIGHTS = "NIELSEN_OVERNIGHTS",
|
|
97
|
+
CALENDAR = "CALENDAR",
|
|
98
|
+
TRENDING_UP = "TRENDING_UP"
|
|
80
99
|
}
|
|
81
100
|
export interface ITotalRowInfo {
|
|
82
101
|
colspan: number;
|
|
@@ -182,6 +201,31 @@ export declare class IconCellActionKey {
|
|
|
182
201
|
tooltipData?: string;
|
|
183
202
|
constructor(id: any, showIcon: boolean, iconClass: string, showObjectKey: boolean, showTooltip: boolean, tooltipData?: string);
|
|
184
203
|
}
|
|
204
|
+
export interface IEditableInput {
|
|
205
|
+
type: "INPUT" | "STRING";
|
|
206
|
+
value: string;
|
|
207
|
+
disabled?: boolean;
|
|
208
|
+
className?: string;
|
|
209
|
+
hasError?: boolean;
|
|
210
|
+
placeholder?: string;
|
|
211
|
+
showIcon?: boolean;
|
|
212
|
+
iconClass?: string;
|
|
213
|
+
iconTooltip?: string;
|
|
214
|
+
charactersToRestrict: any[];
|
|
215
|
+
}
|
|
216
|
+
export declare class EditableInput {
|
|
217
|
+
type: "INPUT" | "STRING";
|
|
218
|
+
value: string;
|
|
219
|
+
disabled?: boolean;
|
|
220
|
+
className?: string;
|
|
221
|
+
hasError?: boolean;
|
|
222
|
+
placeholder?: string;
|
|
223
|
+
allowSpecialCharacters: boolean;
|
|
224
|
+
maxDecimalPointsAllowed: number;
|
|
225
|
+
isDecimalPointCheckRequired: boolean;
|
|
226
|
+
charactersToRestrict: any[];
|
|
227
|
+
constructor(value: string, type: "INPUT" | "STRING", placeholder: string, disabled?: boolean, className?: string, allowSpecialCharacters?: boolean, maxDecimalPointsAllowed?: number, isDecimalPointCheckRequired?: boolean, charactersToRestrict?: string[]);
|
|
228
|
+
}
|
|
185
229
|
export interface IActionItemTypeWithStringIconOrTextAction {
|
|
186
230
|
id: any;
|
|
187
231
|
data: string;
|
|
@@ -193,6 +237,7 @@ export interface IActionItemTypeWithStringIconOrTextAction {
|
|
|
193
237
|
linkClass?: string;
|
|
194
238
|
showLink?: boolean;
|
|
195
239
|
disabledLink?: boolean;
|
|
240
|
+
linkTooltip?: string;
|
|
196
241
|
showTooltip: boolean;
|
|
197
242
|
tooltipData?: {
|
|
198
243
|
key: string;
|
|
@@ -205,7 +250,7 @@ export interface IActionItemTypeWithStringIconOrTextAction {
|
|
|
205
250
|
showSimpleIcon?: boolean;
|
|
206
251
|
tooltipDataForSimpleIcon?: string;
|
|
207
252
|
}
|
|
208
|
-
export type IconToShow = "LIVE" | "PAY_FOR_PERFORMANCE_ACTIVE" | "PAY_FOR_PERFORMANCE" | "REJECTED" | "NOTIFY" | "AWAITING_APPROVAL" | "DELETED_ORDER" | "NEED_SELLER_CONFIRMATION" | "NEED_BUYER_CONFIRMATION" | "AUTOMATED" | "WARNING_ICON" | "INFORMATION_OUTLINE_ICON" | "ALERT_OCTAGON_ICON" | "CANCEL_ICON" | "ALPHA_B_CIRCLE" | "ALPHA_R_CIRCLE" | "ALPHA_E_CIRCLE" | "ALPHA_A_CIRCLE" | "MESSAGE" | "CALENDAR" | "EMAIL_ICON";
|
|
253
|
+
export type IconToShow = "LIVE" | "PAY_FOR_PERFORMANCE_ACTIVE" | "PAY_FOR_PERFORMANCE" | "REJECTED" | "NOTIFY" | "AWAITING_APPROVAL" | "DELETED_ORDER" | "NEED_SELLER_CONFIRMATION" | "NEED_BUYER_CONFIRMATION" | "AUTOMATED" | "WARNING_ICON" | "INFORMATION_OUTLINE_ICON" | "ALERT_OCTAGON_ICON" | "CANCEL_ICON" | "ALPHA_B_CIRCLE" | "ALPHA_R_CIRCLE" | "ALPHA_E_CIRCLE" | "ALPHA_A_CIRCLE" | "MESSAGE" | "CALENDAR" | "EMAIL_ICON" | "TRENDING_UP" | "COM_SCORE_PULSE" | "NIELSEN_OVERNIGHTS" | "CALENDAR_QUESTION" | "CALL_SPLIT";
|
|
209
254
|
export declare class TableClassNameConstant {
|
|
210
255
|
static readonly defaultClass = "table-body-row ";
|
|
211
256
|
static readonly selectedRow = "selected-row ";
|
|
@@ -271,4 +316,10 @@ export interface IDropdownConfigWithIconForGT {
|
|
|
271
316
|
showTooltip: boolean;
|
|
272
317
|
tooltipData?: string;
|
|
273
318
|
}
|
|
319
|
+
export interface ICustomizableColumn {
|
|
320
|
+
name: string;
|
|
321
|
+
objectKey: string;
|
|
322
|
+
isFixed: boolean;
|
|
323
|
+
isChecked: boolean;
|
|
324
|
+
}
|
|
274
325
|
export {};
|
|
@@ -6,4 +6,5 @@ export declare class AnnaFilterSearchedTextPipe implements PipeTransform {
|
|
|
6
6
|
filter(items: any[], searchText: string, keyName?: any): any[];
|
|
7
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<AnnaFilterSearchedTextPipe, never>;
|
|
8
8
|
static ɵpipe: i0.ɵɵPipeDeclaration<AnnaFilterSearchedTextPipe, "AnnafilterSearchedText", true>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AnnaFilterSearchedTextPipe>;
|
|
9
10
|
}
|
|
@@ -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 | -1 | 0;
|
|
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 | -1 | 0;
|
|
27
27
|
convertNgbDateToMomentInSpecificFormat(ngbDate: NgbDateType, format: string): string;
|
|
28
28
|
getBroadcastWeek(startDate: any, format?: string): {
|
|
29
29
|
start: dayjs.Dayjs;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { 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 table headers visibility and checked state.
|
|
6
|
+
* Each group is treated independently so we can keep filter metadata aligned with the rendered columns.
|
|
7
|
+
*
|
|
8
|
+
* @param tableHeaders List of header groups whose visibility state should be updated.
|
|
9
|
+
* @param selectedColumnNames Column keys coming from stored preferences.
|
|
10
|
+
*/
|
|
11
|
+
applyColumnPreferences(tableHeaders: IGtTableHeader[], selectedColumnNames: string[]): void;
|
|
12
|
+
/**
|
|
13
|
+
* Ensures a header carries immutable copies of its default filter/tooltip configuration.
|
|
14
|
+
*
|
|
15
|
+
* @param header Header definition that needs default metadata cached once.
|
|
16
|
+
*/
|
|
17
|
+
private preserveHeaderDefaults;
|
|
18
|
+
/**
|
|
19
|
+
* Determines whether a filter configuration contains actionable data.
|
|
20
|
+
*
|
|
21
|
+
* @param config Immutable default filter configuration to inspect.
|
|
22
|
+
* @returns True when filter-related arrays or filter definitions are present.
|
|
23
|
+
*/
|
|
24
|
+
private hasFilterSettings;
|
|
25
|
+
/**
|
|
26
|
+
* Applies filter state for a header group based on visible headers and the selected filter header.
|
|
27
|
+
* The first visible column becomes the single filter owner to avoid duplicate filter icons.
|
|
28
|
+
*
|
|
29
|
+
* @param headerGroup Target header group whose aggregate visibility state changes.
|
|
30
|
+
* @param visibleHeaders Headers currently rendered in the UI for this group.
|
|
31
|
+
* @param firstHeaderWithFilter First visible header that carries filter metadata, if any.
|
|
32
|
+
* @param groupHasFilters Indicates whether any header in the group exposes filtering.
|
|
33
|
+
* @param headersWithFilters List of all headers that contain filter metadata (visible or hidden).
|
|
34
|
+
*/
|
|
35
|
+
private alignGroupFilterState;
|
|
36
|
+
/**
|
|
37
|
+
* Applies filter configuration to header info and updates active filter states.
|
|
38
|
+
*
|
|
39
|
+
* @param header Target header whose mutable properties must stay in sync with defaults.
|
|
40
|
+
* @param config Filter configuration to apply (undefined clears filter data and icons).
|
|
41
|
+
*/
|
|
42
|
+
private setHeaderFilterConfig;
|
|
43
|
+
/**
|
|
44
|
+
* Picks a header that owns the filter metadata to project on the visible columns.
|
|
45
|
+
* Since we use positional mapping (header position → filterSortObjectKeys index),
|
|
46
|
+
* we need a header that has filterSortObjectKeys to map from. We prefer the first visible
|
|
47
|
+
* header that has filterSortObjectKeys, otherwise fall back to any header with filterSortObjectKeys.
|
|
48
|
+
*
|
|
49
|
+
* @param preferredHeader First visible header that carries filter metadata, if available.
|
|
50
|
+
* @param headersWithFilters All headers that contain filter metadata (visible or hidden).
|
|
51
|
+
* @returns Header whose defaults should drive the filter UI (preferably one with filterSortObjectKeys).
|
|
52
|
+
*/
|
|
53
|
+
private pickFilterSourceHeader;
|
|
54
|
+
/**
|
|
55
|
+
* Keeps filter metadata in sync with the columns that remain visible.
|
|
56
|
+
* Maps visible headers to their corresponding filter keys by position in the header group.
|
|
57
|
+
*
|
|
58
|
+
* @param defaultConfig Original filter configuration attached to the header.
|
|
59
|
+
* @param visibleHeaders Headers currently rendered in the UI for this group.
|
|
60
|
+
* @param headerGroup Header group containing all headers (used to determine header positions).
|
|
61
|
+
* @returns Filter configuration aligned with the current visibility state.
|
|
62
|
+
*/
|
|
63
|
+
private buildVisibleFilterConfig;
|
|
64
|
+
/**
|
|
65
|
+
* Extracts selected (checked) column object keys from table headers.
|
|
66
|
+
*
|
|
67
|
+
* @param tableHeaders Table headers to evaluate.
|
|
68
|
+
* @returns Array of selected column object keys (only non-fixed columns).
|
|
69
|
+
*/
|
|
70
|
+
collectSelectedColumnKeys(tableHeaders: IGtTableHeader[]): string[];
|
|
71
|
+
/**
|
|
72
|
+
* Gets the count of fixed header groups in the customizable columns list.
|
|
73
|
+
*
|
|
74
|
+
* @param tableHeaders Table headers to count fixed groups from.
|
|
75
|
+
* @returns Number of fixed header groups that should always remain visible.
|
|
76
|
+
*/
|
|
77
|
+
countFixedHeaderGroups(tableHeaders: IGtTableHeader[]): number;
|
|
78
|
+
/**
|
|
79
|
+
* Checks if visible columns have changed between previous and new headers.
|
|
80
|
+
*
|
|
81
|
+
* @param previousHeaders Previous snapshot of header groups.
|
|
82
|
+
* @param newHeaders Updated header groups to compare against.
|
|
83
|
+
* @returns True if visible column keys differ, false otherwise.
|
|
84
|
+
*/
|
|
85
|
+
haveVisibleColumnKeysChanged(previousHeaders: IGtTableHeader[], newHeaders: IGtTableHeader[]): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Extracts all visible column keys from table headers so diffs are quick and reliable.
|
|
88
|
+
*
|
|
89
|
+
* @param headers Complete set of header groups to inspect.
|
|
90
|
+
* @returns Set of object keys representing currently visible columns.
|
|
91
|
+
*/
|
|
92
|
+
collectVisibleColumnKeys(headers: IGtTableHeader[]): Set<string>;
|
|
93
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CustomizableColumnsService, never>;
|
|
94
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CustomizableColumnsService>;
|
|
95
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
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";
|
|
@@ -6,6 +7,7 @@ import { EllipsisWithTableTooltip, IGtGeneralConfig, IGtTableHeader, IHeaderInfo
|
|
|
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";
|
|
10
|
+
import { CustomizableColumnsService } from "../../../anna-core-shared-lib/services/customizable-columns.service";
|
|
9
11
|
import * as i0 from "@angular/core";
|
|
10
12
|
interface TableTooltipType {
|
|
11
13
|
tooltipTableHeader: string[];
|
|
@@ -19,6 +21,8 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
19
21
|
private annaSortService;
|
|
20
22
|
annaDateTimeFormatService: AnnaDateTimeFormatService;
|
|
21
23
|
annaFilterService: AnnaFilterService;
|
|
24
|
+
modalService: NgbModal;
|
|
25
|
+
private customizableColumnsService;
|
|
22
26
|
showSkeletonLoading: boolean;
|
|
23
27
|
tableHeaders: IGtTableHeader[];
|
|
24
28
|
tableData: any[];
|
|
@@ -51,6 +55,7 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
51
55
|
tdsHaveRowSpan: boolean;
|
|
52
56
|
multipleTablesPresent: boolean;
|
|
53
57
|
showOrHideToggleForTotalRow: boolean;
|
|
58
|
+
enableCustomizableColumns: boolean;
|
|
54
59
|
toggleCheckbox: EventEmitter<any>;
|
|
55
60
|
toggleRowCheckbox: EventEmitter<any>;
|
|
56
61
|
toggleHeaderCheckbox: EventEmitter<any>;
|
|
@@ -72,6 +77,7 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
72
77
|
notificationIconHover: EventEmitter<any>;
|
|
73
78
|
notificationIconHoverLeave: EventEmitter<any>;
|
|
74
79
|
editableInputEdited: EventEmitter<any>;
|
|
80
|
+
editableInputActionClicked: EventEmitter<any>;
|
|
75
81
|
radioButtonMessageIconClicked: EventEmitter<any>;
|
|
76
82
|
statusNotePopupOpened: EventEmitter<string>;
|
|
77
83
|
textPopupOpened: EventEmitter<{
|
|
@@ -98,6 +104,10 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
98
104
|
}>;
|
|
99
105
|
totalRowRadioButtonClicked: EventEmitter<string>;
|
|
100
106
|
totalRowRadioButtonIconClicked: EventEmitter<string>;
|
|
107
|
+
columnsCustomized: EventEmitter<{
|
|
108
|
+
selectedColumns: string[];
|
|
109
|
+
tableHeaders: IGtTableHeader[];
|
|
110
|
+
}>;
|
|
101
111
|
acfiRateInputChanged: EventEmitter<{
|
|
102
112
|
data: any;
|
|
103
113
|
key: string;
|
|
@@ -172,6 +182,10 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
172
182
|
open: () => void;
|
|
173
183
|
close: () => void;
|
|
174
184
|
};
|
|
185
|
+
tableHeadersClone: IGtTableHeader[];
|
|
186
|
+
private initialCustomizeSelectedColumns;
|
|
187
|
+
customizeColumnsModalReference: any;
|
|
188
|
+
customizeColumnsModal: TemplateRef<any>;
|
|
175
189
|
statusNoteTooltip: any;
|
|
176
190
|
statusNoteForTooltip: string;
|
|
177
191
|
statusNoteForPopup: string;
|
|
@@ -190,7 +204,7 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
190
204
|
time: string;
|
|
191
205
|
}[];
|
|
192
206
|
selectedRowForTimeEdit: any;
|
|
193
|
-
constructor(cdRef: ChangeDetectorRef, annaSortService: AnnaSortService, annaDateTimeFormatService: AnnaDateTimeFormatService, annaFilterService: AnnaFilterService);
|
|
207
|
+
constructor(cdRef: ChangeDetectorRef, annaSortService: AnnaSortService, annaDateTimeFormatService: AnnaDateTimeFormatService, annaFilterService: AnnaFilterService, modalService: NgbModal, customizableColumnsService: CustomizableColumnsService);
|
|
194
208
|
ngAfterViewChecked(): void;
|
|
195
209
|
ngOnInit(): void;
|
|
196
210
|
detectChanges(): void;
|
|
@@ -243,8 +257,8 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
243
257
|
onDropdownChanged(selectedItem: any, row: any, dropdownIndex: number): void;
|
|
244
258
|
totalRowRadioButtonClickedByUser(event: string): void;
|
|
245
259
|
totalRowRadioButtonIconClickedByUser(event: string): void;
|
|
246
|
-
changesMadeInEditableInputBox(event: any, editedObject: any, pasteEvent: boolean): void;
|
|
247
260
|
editableInputValueChanged(value: any, row: any, keyEdited: string): void;
|
|
261
|
+
inputColumnActionClicked(value: any, row: any, id: string): void;
|
|
248
262
|
radioButtonIconClicked(data: any, name: string): void;
|
|
249
263
|
setScrollToInitialPosition(): void;
|
|
250
264
|
filterApplied(tableData: any[]): void;
|
|
@@ -265,7 +279,18 @@ export declare class AnnaNonEditableGenericTableComponent implements OnInit, OnC
|
|
|
265
279
|
closeTimeInputTooltip(): void;
|
|
266
280
|
timeInputTooltipClickedInTableBody(event: ITimeInputData, rowData: any): void;
|
|
267
281
|
timeSelectedInTableRow(event: string[][]): void;
|
|
282
|
+
openCustomizeColumnsModal(): void;
|
|
283
|
+
selectUnselectCustomizeColumns(objectKey: string): void;
|
|
284
|
+
getSelectedColumnsCount(): number;
|
|
285
|
+
private getCustomizableColumnsCount;
|
|
286
|
+
private getSelectedCustomizableColumnsCount;
|
|
287
|
+
isSelectAllDisabled(): boolean;
|
|
288
|
+
isUnselectAllDisabled(): boolean;
|
|
289
|
+
selectAllCustomizeColumns(): void;
|
|
290
|
+
unselectAllCustomizeColumns(): void;
|
|
291
|
+
hasCustomizeSelectionChanged(): boolean;
|
|
292
|
+
customizeColumns(customize: boolean): void;
|
|
268
293
|
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>;
|
|
294
|
+
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"; "editableInputActionClicked": "editableInputActionClicked"; "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
295
|
}
|
|
271
296
|
export {};
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export * from "./lib/anna-core-shared-lib/components/anna-buyer-approval-icon-te
|
|
|
3
3
|
export * from "./lib/anna-core-shared-lib/components/anna-circular-progress/anna-circular-progress.component";
|
|
4
4
|
export * from "./lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component";
|
|
5
5
|
export * from "./lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component";
|
|
6
|
+
export * from "./lib/anna-core-shared-lib/components/anna-input-column/anna-input-column.component";
|
|
6
7
|
export * from "./lib/anna-core-shared-lib/components/anna-licensing-table/anna-licensing-table.component";
|
|
7
8
|
export * from "./lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component";
|
|
8
9
|
export * from "./lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component";
|
|
@@ -22,8 +23,10 @@ export * from "./lib/anna-core-shared-lib/services/anna-persisting-filter.servic
|
|
|
22
23
|
export * from "./lib/anna-core-shared-lib/services/anna-regex-patterns.service";
|
|
23
24
|
export * from "./lib/anna-core-shared-lib/services/anna-sort.service";
|
|
24
25
|
export * from "./lib/anna-core-shared-lib/services/anna-spinner-loader.service";
|
|
26
|
+
export * from "./lib/anna-core-shared-lib/services/customizable-columns.service";
|
|
25
27
|
export * from "./lib/anna-core-shared-lib/services/update-station-id.service";
|
|
26
28
|
export * from "./lib/anna-generic-table-lib/services/gt-table-related-common-functions.service";
|
|
29
|
+
export * from "./lib/anna-core-shared-lib/components/anna-input-column/models/anna-input-column.model";
|
|
27
30
|
export * from "./lib/anna-core-shared-lib/models/anna-generic-data-type.model";
|
|
28
31
|
export * from "./lib/anna-core-shared-lib/models/anna-global-dropdown-config.model";
|
|
29
32
|
export * from "./lib/anna-core-shared-lib/models/anna-licensing-table.model";
|
|
@@ -73,6 +73,7 @@ $pinkSwan: #b5b5b5;
|
|
|
73
73
|
$matterhorn: #4f4f4f;
|
|
74
74
|
$lightGrey: #d4d4d4;
|
|
75
75
|
$gray74: #bdbdbd;
|
|
76
|
+
$gray80: #bdbdbd80;
|
|
76
77
|
$gray86: #dbdbdb;
|
|
77
78
|
$darkBlueShade: #222b45;
|
|
78
79
|
$green: #8bac2a;
|
|
@@ -105,3 +106,5 @@ $blueBerry: #536dfe;
|
|
|
105
106
|
$darkPink: #be489d;
|
|
106
107
|
$lightPinkShade: #f4e7f2;
|
|
107
108
|
$sellerGroupChildRow: #f9f3f8;
|
|
109
|
+
$orange300: #ffb300;
|
|
110
|
+
$lightOrange: #fff7e3;
|
|
@@ -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
|
+
}
|