ms-data-grid 0.0.93 → 0.0.94
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/README.md +323 -323
- package/esm2022/lib/data-grid/data-grid.component.mjs +213 -396
- package/esm2022/lib/data-grid/statuses.mjs +1 -1
- package/esm2022/lib/data-grid.module.mjs +1 -1
- package/esm2022/lib/directives/cell-editor.directive.mjs +1 -1
- package/esm2022/lib/directives/cell-render-init.directive.mjs +1 -1
- package/esm2022/lib/directives/cellHost.directive.mjs +1 -1
- package/esm2022/lib/pipes/filter.pipe.mjs +1 -1
- package/esm2022/lib/pipes/format-currency.pipe.mjs +1 -1
- package/esm2022/lib/pipes/format-index.pipe.mjs +1 -1
- package/esm2022/lib/services/common.service.mjs +8 -8
- package/esm2022/lib/services/copy-service.service.mjs +1 -1
- package/esm2022/lib/services/export.service.mjs +1 -1
- package/esm2022/lib/services/split-columns.service.mjs +2 -2
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/ms-data-grid.mjs +293 -616
- package/fesm2022/ms-data-grid.mjs.map +1 -1
- package/lib/data-grid/data-grid.component.d.ts +24 -49
- package/lib/styles/font-style.css +34 -0
- package/package.json +1 -1
- package/esm2022/lib/services/row-action.service.mjs +0 -145
- package/lib/services/row-action.service.d.ts +0 -21
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { OnInit, OnChanges, SimpleChanges, ElementRef, AfterViewInit, ChangeDetectorRef, EventEmitter, NgZone, Renderer2, AfterViewChecked, TemplateRef, QueryList, Injector } from '@angular/core';
|
|
2
2
|
import { SplitColumnsService } from '../services/split-columns.service';
|
|
3
|
-
import { RowActionService } from '../services/row-action.service';
|
|
4
3
|
import { CommonService } from '../services/common.service';
|
|
5
4
|
import { CdkDrag, CdkDragDrop, CdkDragEnter, CdkDragExit, CdkDragMove, CdkDragSortEvent } from '@angular/cdk/drag-drop';
|
|
6
5
|
import { CdkDropList } from '@angular/cdk/drag-drop';
|
|
@@ -10,8 +9,16 @@ import { ExportService } from '../services/export.service';
|
|
|
10
9
|
import { CellHostDirective } from '../directives/cellHost.directive';
|
|
11
10
|
import { DatePipe } from '@angular/common';
|
|
12
11
|
import { FormatCurrencyPipe } from '../pipes/format-currency.pipe';
|
|
13
|
-
import 'bootstrap/dist/js/bootstrap.bundle.min.js';
|
|
14
12
|
import * as i0 from "@angular/core";
|
|
13
|
+
export declare enum RowAnimationType {
|
|
14
|
+
None = "none",
|
|
15
|
+
Spread = "spreadAnimation",
|
|
16
|
+
Bounce = "bounceAnimation",
|
|
17
|
+
SlideUp = "slideUpFromBottom",
|
|
18
|
+
Flip = "flipAnimation",
|
|
19
|
+
Skew = "skewAnimation",
|
|
20
|
+
SlideRight = "slideFromRight"
|
|
21
|
+
}
|
|
15
22
|
export interface DataGridConfig {
|
|
16
23
|
fontFaimly: string;
|
|
17
24
|
bodyTextFontsSize: number;
|
|
@@ -25,15 +32,6 @@ export interface DataGridConfig {
|
|
|
25
32
|
rowShadingEnabled: boolean;
|
|
26
33
|
activeFilters: boolean;
|
|
27
34
|
}
|
|
28
|
-
export declare enum RowAnimationType {
|
|
29
|
-
None = "none",
|
|
30
|
-
Spread = "spreadAnimation",
|
|
31
|
-
Bounce = "bounceAnimation",
|
|
32
|
-
SlideUp = "slideUpFromBottom",
|
|
33
|
-
Flip = "flipAnimation",
|
|
34
|
-
Skew = "skewAnimation",
|
|
35
|
-
SlideRight = "slideFromRight"
|
|
36
|
-
}
|
|
37
35
|
export declare const sortingAnimation: import("@angular/animations").AnimationTriggerMetadata;
|
|
38
36
|
export declare class DataGridComponent implements OnChanges, AfterViewInit, OnInit, AfterViewChecked {
|
|
39
37
|
private columnService;
|
|
@@ -47,7 +45,6 @@ export declare class DataGridComponent implements OnChanges, AfterViewInit, OnIn
|
|
|
47
45
|
private exportService;
|
|
48
46
|
private datePipe;
|
|
49
47
|
private formatCurrency;
|
|
50
|
-
private actionValidator;
|
|
51
48
|
rowAnimation: RowAnimationType;
|
|
52
49
|
paginationConfig: any;
|
|
53
50
|
dataSet: any[];
|
|
@@ -118,8 +115,6 @@ export declare class DataGridComponent implements OnChanges, AfterViewInit, OnIn
|
|
|
118
115
|
nestedTablerowFontsize: number;
|
|
119
116
|
nestedTableHeaderRowHeight: number;
|
|
120
117
|
nestedTablerowHeight: number;
|
|
121
|
-
packageData: boolean;
|
|
122
|
-
showUnLink: any;
|
|
123
118
|
gridType: string;
|
|
124
119
|
currencySymbol: string;
|
|
125
120
|
currencyFormat: string;
|
|
@@ -144,11 +139,11 @@ export declare class DataGridComponent implements OnChanges, AfterViewInit, OnIn
|
|
|
144
139
|
enableCut: boolean;
|
|
145
140
|
tabs: string[];
|
|
146
141
|
showCheckboxes: boolean;
|
|
147
|
-
|
|
142
|
+
consumerFont: string | null;
|
|
143
|
+
defaultConfig: DataGridConfig | null;
|
|
148
144
|
resetAllFilters: {
|
|
149
145
|
resetAll: boolean;
|
|
150
146
|
};
|
|
151
|
-
defaultConfig: DataGridConfig | null;
|
|
152
147
|
columnThreedotsMunuConfig: {
|
|
153
148
|
showPinleft: boolean;
|
|
154
149
|
showPinright: boolean;
|
|
@@ -161,8 +156,8 @@ export declare class DataGridComponent implements OnChanges, AfterViewInit, OnIn
|
|
|
161
156
|
showChoseColumns: boolean;
|
|
162
157
|
showResetColumns: boolean;
|
|
163
158
|
};
|
|
164
|
-
validateIcon: boolean;
|
|
165
159
|
cellHosts: QueryList<CellHostDirective>;
|
|
160
|
+
globalSearchInput: ElementRef<HTMLInputElement>;
|
|
166
161
|
changeLayout: EventEmitter<any>;
|
|
167
162
|
customCellEvent: EventEmitter<any>;
|
|
168
163
|
filterOptions: EventEmitter<any>;
|
|
@@ -170,7 +165,6 @@ export declare class DataGridComponent implements OnChanges, AfterViewInit, OnIn
|
|
|
170
165
|
tablePresetConfig: EventEmitter<any>;
|
|
171
166
|
sortingOrderOptions: EventEmitter<any>;
|
|
172
167
|
createUpdateConfigListing: EventEmitter<any>;
|
|
173
|
-
storePresetName: string;
|
|
174
168
|
isFullScreen: boolean;
|
|
175
169
|
activeTab: string | null;
|
|
176
170
|
groupedColumns: any[];
|
|
@@ -188,6 +182,7 @@ export declare class DataGridComponent implements OnChanges, AfterViewInit, OnIn
|
|
|
188
182
|
filterColumnsList: any[];
|
|
189
183
|
groupBoxPadding: number;
|
|
190
184
|
presetName: string;
|
|
185
|
+
storePresetName: string;
|
|
191
186
|
presetFilter: boolean;
|
|
192
187
|
searchTextPresetTable: string;
|
|
193
188
|
addFilterColumnInput: string;
|
|
@@ -203,14 +198,13 @@ export declare class DataGridComponent implements OnChanges, AfterViewInit, OnIn
|
|
|
203
198
|
fontFamilies: string[];
|
|
204
199
|
fontSizes: string[];
|
|
205
200
|
hasScroll: boolean;
|
|
206
|
-
constructor(columnService: SplitColumnsService, cdr: ChangeDetectorRef, commonSevice: CommonService, elementRef: ElementRef, ngZone: NgZone, copyService: CopyServiceService, renderer: Renderer2, sanitizer: DomSanitizer, exportService: ExportService, datePipe: DatePipe, formatCurrency: FormatCurrencyPipe
|
|
201
|
+
constructor(columnService: SplitColumnsService, cdr: ChangeDetectorRef, commonSevice: CommonService, elementRef: ElementRef, ngZone: NgZone, copyService: CopyServiceService, renderer: Renderer2, sanitizer: DomSanitizer, exportService: ExportService, datePipe: DatePipe, formatCurrency: FormatCurrencyPipe);
|
|
207
202
|
cellText: any;
|
|
208
203
|
nestedHeader: ElementRef;
|
|
209
204
|
ngAfterViewInit(): void;
|
|
210
205
|
private injector;
|
|
211
206
|
createCellInjector(row: any, col: any): Injector;
|
|
212
207
|
private renderCustomCells;
|
|
213
|
-
shouldRestoreScroll: boolean;
|
|
214
208
|
ngAfterViewChecked(): void;
|
|
215
209
|
ngOnInit(): void;
|
|
216
210
|
dataSetLoading: boolean;
|
|
@@ -234,7 +228,6 @@ export declare class DataGridComponent implements OnChanges, AfterViewInit, OnIn
|
|
|
234
228
|
leftPinnedHeader: ElementRef<HTMLDivElement>;
|
|
235
229
|
centerPinnedHeader: ElementRef<HTMLDivElement>;
|
|
236
230
|
rightPinnedHeader: ElementRef<HTMLDivElement>;
|
|
237
|
-
globalSearchInput: ElementRef<HTMLInputElement>;
|
|
238
231
|
columnsGroupedBox: ElementRef<HTMLDivElement>;
|
|
239
232
|
centerFakeScrollbar: ElementRef<HTMLDivElement>;
|
|
240
233
|
updateColumnWidthsAndGroups(columns?: any): Promise<void>;
|
|
@@ -246,25 +239,6 @@ export declare class DataGridComponent implements OnChanges, AfterViewInit, OnIn
|
|
|
246
239
|
isNestedValueArray(obj: any, field: string): boolean;
|
|
247
240
|
onResizeGroup(event: MouseEvent, col: any, isRightPinned?: boolean): void;
|
|
248
241
|
private updateColumnWidthInSourceByField;
|
|
249
|
-
get createUpdateColumnConfig(): {
|
|
250
|
-
columns: any[];
|
|
251
|
-
filters: any[];
|
|
252
|
-
no_of_records: any;
|
|
253
|
-
table_config: {
|
|
254
|
-
rowShadingEnabled: boolean;
|
|
255
|
-
showVerticalBorder: boolean;
|
|
256
|
-
fontFaimly: string | undefined;
|
|
257
|
-
headerTextFontsSize: number;
|
|
258
|
-
selectedTableLayout: any;
|
|
259
|
-
bodyTextFontsSize: number;
|
|
260
|
-
globalSearch: string;
|
|
261
|
-
filterNames: string;
|
|
262
|
-
totalCount: number;
|
|
263
|
-
activeFilters: boolean;
|
|
264
|
-
oddRowsBackgroundColor: string;
|
|
265
|
-
};
|
|
266
|
-
type: string;
|
|
267
|
-
};
|
|
268
242
|
cleanColumns(columns: any[]): any[];
|
|
269
243
|
onResizeColumn(event: MouseEvent, col: any): void;
|
|
270
244
|
onResizeGroupBox(event: MouseEvent): void;
|
|
@@ -279,7 +253,8 @@ export declare class DataGridComponent implements OnChanges, AfterViewInit, OnIn
|
|
|
279
253
|
closeFilterDropdowns(event: MouseEvent): void;
|
|
280
254
|
private hasParentWithClass;
|
|
281
255
|
isMenueHidden: boolean;
|
|
282
|
-
|
|
256
|
+
clickedOnSortIcon: boolean;
|
|
257
|
+
openThreeDotsMenu(event: MouseEvent, child: any, clickedOnSortIcon?: boolean): void;
|
|
283
258
|
sortAsc(col: any): void;
|
|
284
259
|
sortDesc(col: any): void;
|
|
285
260
|
resetSort(col: any): void;
|
|
@@ -407,6 +382,7 @@ export declare class DataGridComponent implements OnChanges, AfterViewInit, OnIn
|
|
|
407
382
|
toggleActionsDropdown(): void;
|
|
408
383
|
changeTableLayout(event: Event, layoutType: string): Promise<void>;
|
|
409
384
|
setTableLayout(layoutType: string): void;
|
|
385
|
+
pageSizeOptions: number[];
|
|
410
386
|
get startIndexData(): number;
|
|
411
387
|
get endIndex(): number;
|
|
412
388
|
get visiblePages(): (number | string)[];
|
|
@@ -425,8 +401,8 @@ export declare class DataGridComponent implements OnChanges, AfterViewInit, OnIn
|
|
|
425
401
|
firstValue: any;
|
|
426
402
|
firstCondition: string;
|
|
427
403
|
secondValue: any;
|
|
428
|
-
secondCondition:
|
|
429
|
-
condition: string
|
|
404
|
+
secondCondition: null;
|
|
405
|
+
condition: string;
|
|
430
406
|
resetTextFilterChanges(): void;
|
|
431
407
|
toggleAllValusSelectionInDropdownFilter(column: any): void;
|
|
432
408
|
selectedFilterOptions: any[];
|
|
@@ -439,7 +415,7 @@ export declare class DataGridComponent implements OnChanges, AfterViewInit, OnIn
|
|
|
439
415
|
isAllSideFilterOptionsSelected(col: any): boolean;
|
|
440
416
|
onOptionToggle(col: any, option: any): void;
|
|
441
417
|
resetSideFilter(col: any): void;
|
|
442
|
-
clearAllFilters(
|
|
418
|
+
clearAllFilters(): void;
|
|
443
419
|
applySideFilter(column: any): void;
|
|
444
420
|
removeSideFilter(column: any): void;
|
|
445
421
|
collapseAllExpandedCells(): void;
|
|
@@ -604,6 +580,7 @@ export declare class DataGridComponent implements OnChanges, AfterViewInit, OnIn
|
|
|
604
580
|
hasAnyDefaultView(): boolean;
|
|
605
581
|
get isTablePresetNotChanged(): any;
|
|
606
582
|
onActionButtonClick(button: string): void;
|
|
583
|
+
createCustomColumn(): void;
|
|
607
584
|
setActiveTab(tab: string | null): void;
|
|
608
585
|
getBackgroundColor(row: any, isEven: boolean, section: 'left' | 'center' | 'right'): string | undefined;
|
|
609
586
|
hasHorizontalScrollbar(): boolean;
|
|
@@ -624,10 +601,8 @@ export declare class DataGridComponent implements OnChanges, AfterViewInit, OnIn
|
|
|
624
601
|
selectGroupRow(e: Event, row: any): void;
|
|
625
602
|
getGroupCheckedState(row: any): boolean | undefined;
|
|
626
603
|
getCellTitle(row: any, col: any): string;
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
blurInput(event: Event, row: any, col: any): void;
|
|
630
|
-
getValidActions(element: any): string[];
|
|
604
|
+
activeFilterType: string;
|
|
605
|
+
activeFilter(type: string): void;
|
|
631
606
|
static ɵfac: i0.ɵɵFactoryDeclaration<DataGridComponent, never>;
|
|
632
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DataGridComponent, "data-grid", never, { "rowAnimation": { "alias": "rowAnimation"; "required": false; }; "paginationConfig": { "alias": "paginationConfig"; "required": false; }; "dataSet": { "alias": "dataSet"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "rowHeight": { "alias": "rowHeight"; "required": false; }; "headerRowHeight": { "alias": "headerRowHeight"; "required": false; }; "showVerticalBorder": { "alias": "showVerticalBorder"; "required": false; }; "evenRowsBackgroundColor": { "alias": "evenRowsBackgroundColor"; "required": false; }; "oddRowsBackgroundColor": { "alias": "oddRowsBackgroundColor"; "required": false; }; "headerBackgroundColor": { "alias": "headerBackgroundColor"; "required": false; }; "checkboxesBackgroundColor": { "alias": "checkboxesBackgroundColor"; "required": false; }; "showColumnsGrouping": { "alias": "showColumnsGrouping"; "required": false; }; "rowHoverColor": { "alias": "rowHoverColor"; "required": false; }; "leftPinnedBackgroundColor": { "alias": "leftPinnedBackgroundColor"; "required": false; }; "bodyBackgroundColor": { "alias": "bodyBackgroundColor"; "required": false; }; "rightPinnedBackgroundColor": { "alias": "rightPinnedBackgroundColor"; "required": false; }; "sidemenuBackgroundColor": { "alias": "sidemenuBackgroundColor"; "required": false; }; "bodyTextColor": { "alias": "bodyTextColor"; "required": false; }; "headerTextColor": { "alias": "headerTextColor"; "required": false; }; "checkboxesColor": { "alias": "checkboxesColor"; "required": false; }; "headerTextFontsSize": { "alias": "headerTextFontsSize"; "required": false; }; "bodyTextFontsSize": { "alias": "bodyTextFontsSize"; "required": false; }; "headerFontWeight": { "alias": "headerFontWeight"; "required": false; }; "bodyFontWeight": { "alias": "bodyFontWeight"; "required": false; }; "checkedRowBackgroundColor": { "alias": "checkedRowBackgroundColor"; "required": false; }; "dropdownsBackgroundColor": { "alias": "dropdownsBackgroundColor"; "required": false; }; "footerRowBackgroundColor": { "alias": "footerRowBackgroundColor"; "required": false; }; "footerRowHeight": { "alias": "footerRowHeight"; "required": false; }; "topGroupedBadgesBackgroundColor": { "alias": "topGroupedBadgesBackgroundColor"; "required": false; }; "showRowsGrouping": { "alias": "showRowsGrouping"; "required": false; }; "showFilterRow": { "alias": "showFilterRow"; "required": false; }; "fontFaimly": { "alias": "fontFaimly"; "required": false; }; "showSideMenu": { "alias": "showSideMenu"; "required": false; }; "footerPadding": { "alias": "footerPadding"; "required": false; }; "topFilterRowHeight": { "alias": "topFilterRowHeight"; "required": false; }; "rowShadingEnabled": { "alias": "rowShadingEnabled"; "required": false; }; "showSerialNumber": { "alias": "showSerialNumber"; "required": false; }; "singleSpaAssetsPath": { "alias": "singleSpaAssetsPath"; "required": false; }; "filtersConfig": { "alias": "filtersConfig"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "verticalScrollbarWidth": { "alias": "verticalScrollbarWidth"; "required": false; }; "horizintalScrollbarWidth": { "alias": "horizintalScrollbarWidth"; "required": false; }; "showCellDetailsBox": { "alias": "showCellDetailsBox"; "required": false; }; "dateFormat": { "alias": "dateFormat"; "required": false; }; "tableSearch": { "alias": "tableSearch"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "config": { "alias": "config"; "required": false; }; "showTaskbar": { "alias": "showTaskbar"; "required": false; }; "tableName": { "alias": "tableName"; "required": false; }; "listingType": { "alias": "listingType"; "required": false; }; "checkboxState": { "alias": "checkboxState"; "required": false; }; "taskbarActions": { "alias": "taskbarActions"; "required": false; }; "sortingConfig": { "alias": "sortingConfig"; "required": false; }; "tableFilterViewId": { "alias": "tableFilterViewId"; "required": false; }; "selectedTableLayout": { "alias": "selectedTableLayout"; "required": false; }; "closeDropdown": { "alias": "closeDropdown"; "required": false; }; "globalSearchText": { "alias": "globalSearchText"; "required": false; }; "nestedTablerowFontsize": { "alias": "nestedTablerowFontsize"; "required": false; }; "nestedTableHeaderRowHeight": { "alias": "nestedTableHeaderRowHeight"; "required": false; }; "nestedTablerowHeight": { "alias": "nestedTablerowHeight"; "required": false; }; "
|
|
607
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DataGridComponent, "data-grid", never, { "rowAnimation": { "alias": "rowAnimation"; "required": false; }; "paginationConfig": { "alias": "paginationConfig"; "required": false; }; "dataSet": { "alias": "dataSet"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "rowHeight": { "alias": "rowHeight"; "required": false; }; "headerRowHeight": { "alias": "headerRowHeight"; "required": false; }; "showVerticalBorder": { "alias": "showVerticalBorder"; "required": false; }; "evenRowsBackgroundColor": { "alias": "evenRowsBackgroundColor"; "required": false; }; "oddRowsBackgroundColor": { "alias": "oddRowsBackgroundColor"; "required": false; }; "headerBackgroundColor": { "alias": "headerBackgroundColor"; "required": false; }; "checkboxesBackgroundColor": { "alias": "checkboxesBackgroundColor"; "required": false; }; "showColumnsGrouping": { "alias": "showColumnsGrouping"; "required": false; }; "rowHoverColor": { "alias": "rowHoverColor"; "required": false; }; "leftPinnedBackgroundColor": { "alias": "leftPinnedBackgroundColor"; "required": false; }; "bodyBackgroundColor": { "alias": "bodyBackgroundColor"; "required": false; }; "rightPinnedBackgroundColor": { "alias": "rightPinnedBackgroundColor"; "required": false; }; "sidemenuBackgroundColor": { "alias": "sidemenuBackgroundColor"; "required": false; }; "bodyTextColor": { "alias": "bodyTextColor"; "required": false; }; "headerTextColor": { "alias": "headerTextColor"; "required": false; }; "checkboxesColor": { "alias": "checkboxesColor"; "required": false; }; "headerTextFontsSize": { "alias": "headerTextFontsSize"; "required": false; }; "bodyTextFontsSize": { "alias": "bodyTextFontsSize"; "required": false; }; "headerFontWeight": { "alias": "headerFontWeight"; "required": false; }; "bodyFontWeight": { "alias": "bodyFontWeight"; "required": false; }; "checkedRowBackgroundColor": { "alias": "checkedRowBackgroundColor"; "required": false; }; "dropdownsBackgroundColor": { "alias": "dropdownsBackgroundColor"; "required": false; }; "footerRowBackgroundColor": { "alias": "footerRowBackgroundColor"; "required": false; }; "footerRowHeight": { "alias": "footerRowHeight"; "required": false; }; "topGroupedBadgesBackgroundColor": { "alias": "topGroupedBadgesBackgroundColor"; "required": false; }; "showRowsGrouping": { "alias": "showRowsGrouping"; "required": false; }; "showFilterRow": { "alias": "showFilterRow"; "required": false; }; "fontFaimly": { "alias": "fontFaimly"; "required": false; }; "showSideMenu": { "alias": "showSideMenu"; "required": false; }; "footerPadding": { "alias": "footerPadding"; "required": false; }; "topFilterRowHeight": { "alias": "topFilterRowHeight"; "required": false; }; "rowShadingEnabled": { "alias": "rowShadingEnabled"; "required": false; }; "showSerialNumber": { "alias": "showSerialNumber"; "required": false; }; "singleSpaAssetsPath": { "alias": "singleSpaAssetsPath"; "required": false; }; "filtersConfig": { "alias": "filtersConfig"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "verticalScrollbarWidth": { "alias": "verticalScrollbarWidth"; "required": false; }; "horizintalScrollbarWidth": { "alias": "horizintalScrollbarWidth"; "required": false; }; "showCellDetailsBox": { "alias": "showCellDetailsBox"; "required": false; }; "dateFormat": { "alias": "dateFormat"; "required": false; }; "tableSearch": { "alias": "tableSearch"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "config": { "alias": "config"; "required": false; }; "showTaskbar": { "alias": "showTaskbar"; "required": false; }; "tableName": { "alias": "tableName"; "required": false; }; "listingType": { "alias": "listingType"; "required": false; }; "checkboxState": { "alias": "checkboxState"; "required": false; }; "taskbarActions": { "alias": "taskbarActions"; "required": false; }; "sortingConfig": { "alias": "sortingConfig"; "required": false; }; "tableFilterViewId": { "alias": "tableFilterViewId"; "required": false; }; "selectedTableLayout": { "alias": "selectedTableLayout"; "required": false; }; "closeDropdown": { "alias": "closeDropdown"; "required": false; }; "globalSearchText": { "alias": "globalSearchText"; "required": false; }; "nestedTablerowFontsize": { "alias": "nestedTablerowFontsize"; "required": false; }; "nestedTableHeaderRowHeight": { "alias": "nestedTableHeaderRowHeight"; "required": false; }; "nestedTablerowHeight": { "alias": "nestedTablerowHeight"; "required": false; }; "gridType": { "alias": "gridType"; "required": false; }; "currencySymbol": { "alias": "currencySymbol"; "required": false; }; "currencyFormat": { "alias": "currencyFormat"; "required": false; }; "leftPinnedBoxshadow": { "alias": "leftPinnedBoxshadow"; "required": false; }; "rightPinnedBoxshadow": { "alias": "rightPinnedBoxshadow"; "required": false; }; "selectedRowsBackgroundColor": { "alias": "selectedRowsBackgroundColor"; "required": false; }; "nestedTableHeaderBackgroundColor": { "alias": "nestedTableHeaderBackgroundColor"; "required": false; }; "nestedTableRowBackgroundColor": { "alias": "nestedTableRowBackgroundColor"; "required": false; }; "tableView": { "alias": "tableView"; "required": false; }; "buttons": { "alias": "buttons"; "required": false; }; "keepMultipleExpandedDetails": { "alias": "keepMultipleExpandedDetails"; "required": false; }; "showTotalAmountRow": { "alias": "showTotalAmountRow"; "required": false; }; "enableGlobalSearch": { "alias": "enableGlobalSearch"; "required": false; }; "tableType": { "alias": "tableType"; "required": false; }; "enableExport": { "alias": "enableExport"; "required": false; }; "showFullScreenButton": { "alias": "showFullScreenButton"; "required": false; }; "enableCut": { "alias": "enableCut"; "required": false; }; "tabs": { "alias": "tabs"; "required": false; }; "showCheckboxes": { "alias": "showCheckboxes"; "required": false; }; "consumerFont": { "alias": "consumerFont"; "required": false; }; "defaultConfig": { "alias": "defaultConfig"; "required": false; }; "resetAllFilters": { "alias": "resetAllFilters"; "required": false; }; "columnThreedotsMunuConfig": { "alias": "columnThreedotsMunuConfig"; "required": false; }; }, { "changeLayout": "changeLayout"; "customCellEvent": "customCellEvent"; "filterOptions": "filterOptions"; "genericEvent": "genericEvent"; "tablePresetConfig": "tablePresetConfig"; "sortingOrderOptions": "sortingOrderOptions"; "createUpdateConfigListing": "createUpdateConfigListing"; }, never, never, false, never>;
|
|
633
608
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
@font-face {
|
|
2
|
+
font-family: "Inter";
|
|
3
|
+
src: url("../assets/fonts/Inter/static/Inter_18pt-Regular.ttf") format("truetype");
|
|
4
|
+
font-weight: 400;
|
|
5
|
+
font-style: normal;
|
|
6
|
+
font-display: swap;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/* medium */
|
|
10
|
+
@font-face {
|
|
11
|
+
font-family: "Inter";
|
|
12
|
+
src: url("../assets/fonts/Inter/static/Inter_18pt-Medium.ttf") format("truetype");
|
|
13
|
+
font-weight: 500;
|
|
14
|
+
font-style: normal;
|
|
15
|
+
font-display: swap;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/* bold */
|
|
19
|
+
@font-face {
|
|
20
|
+
font-family: "Inter";
|
|
21
|
+
src: url("../assets/fonts/Inter/static/Inter_18pt-Bold.ttf") format("truetype");
|
|
22
|
+
font-weight: 700;
|
|
23
|
+
font-style: normal;
|
|
24
|
+
font-display: swap;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/* semi bold */
|
|
28
|
+
@font-face {
|
|
29
|
+
font-family: "Inter";
|
|
30
|
+
src: url("../assets/fonts/Inter/static/Inter_18pt-SemiBold.ttf") format("truetype");
|
|
31
|
+
font-weight: 600;
|
|
32
|
+
font-style: normal;
|
|
33
|
+
font-display: swap;
|
|
34
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ms-data-grid",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.94",
|
|
4
4
|
"description": "A powerful, customizable Angular data grid component with advanced features like sorting, filtering, pagination, column pinning, and taskbar actions. Perfect for enterprise applications.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class RowActionService {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.STATUS_SETS = {
|
|
6
|
-
EDIT_BLOCKED: [
|
|
7
|
-
'expired', 'closed', 'Assigning Stop', 'Evaluation Start',
|
|
8
|
-
'Evaluation Stop', 'Completed', 'approved', 'rejected',
|
|
9
|
-
'partially', 'accepted'
|
|
10
|
-
],
|
|
11
|
-
ARCHIVE_BLOCKED: [
|
|
12
|
-
'approved', 'partially', 'Assigning Start',
|
|
13
|
-
'Completed', 'Evaluation Start'
|
|
14
|
-
],
|
|
15
|
-
DISPOSED: ['scrap', 'trashed', 'disposed'],
|
|
16
|
-
SEPARATED: ['termination', 'resignation', 'retirement', 'separated'],
|
|
17
|
-
UNAVAILABLE: ['unavailable', 'unAvailable']
|
|
18
|
-
};
|
|
19
|
-
this.ACTION_ALIASES = {
|
|
20
|
-
accept: 'view',
|
|
21
|
-
achive: 'unactive'
|
|
22
|
-
};
|
|
23
|
-
this.rules = {
|
|
24
|
-
assigningstart: (r) => r.status === 'To be start Assigning' && !r.isDeleted,
|
|
25
|
-
assigningstop: (r) => r.status === 'Assigning Start' && !r.isDeleted,
|
|
26
|
-
evaluationstart: (r) => r.status === 'Assigning Stop' && !r.isDeleted,
|
|
27
|
-
completed: (r) => r.status === 'Evaluation Start' && !r.isDeleted,
|
|
28
|
-
archive: (r) => this.canArchiveOrDelete(r),
|
|
29
|
-
unactive: (r) => this.canArchiveOrDelete(r),
|
|
30
|
-
delete: (r) => this.canArchiveOrDelete(r),
|
|
31
|
-
unarchive: (r) => r.isDeleted && r.availStatus !== 'disposed',
|
|
32
|
-
active: (r) => r.isDeleted && r.availStatus !== 'disposed',
|
|
33
|
-
link: (r) => !this.STATUS_SETS.UNAVAILABLE.includes(r.status) &&
|
|
34
|
-
!r.isDeleted &&
|
|
35
|
-
r.availStatus !== 'disposed' &&
|
|
36
|
-
r.status !== 'linked',
|
|
37
|
-
unlink: (r, ctx) => ctx.showUnLink === true && r.status === 'linked',
|
|
38
|
-
rejoin: (r) => this.STATUS_SETS.SEPARATED.includes(r.accountStatus),
|
|
39
|
-
settlementinfo: (r) => this.STATUS_SETS.SEPARATED.includes(r.accountStatus),
|
|
40
|
-
assign: (r) => r.status !== 'assigned',
|
|
41
|
-
edit: (r, ctx) => this.canEdit(r, ctx),
|
|
42
|
-
trash: (r) => !this.STATUS_SETS.DISPOSED.includes(r.availStatus),
|
|
43
|
-
scrap: (r) => !this.STATUS_SETS.DISPOSED.includes(r.availStatus),
|
|
44
|
-
retain: (r) => !this.STATUS_SETS.DISPOSED.includes(r.availStatus),
|
|
45
|
-
defaultgrade: (r) => r.isCustomGrade !== 'Active',
|
|
46
|
-
subscribe: (r, ctx) => !r.assignedToIds.includes(ctx.currentUserId),
|
|
47
|
-
unsubscribe: (r, ctx) => r.assignedToIds.includes(ctx.currentUserId),
|
|
48
|
-
changestatus: (r) => !r.isDeleted,
|
|
49
|
-
download: (r) => r.offerLetter !== null,
|
|
50
|
-
view: (r) => r.offerLetter !== null
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
normalizeRow(element) {
|
|
54
|
-
return {
|
|
55
|
-
isDeleted: element.is_deleted === true || element.is_deleted === 'true',
|
|
56
|
-
status: element.status || '',
|
|
57
|
-
availStatus: element.availStatus || '',
|
|
58
|
-
accountStatus: (element.account_status || '').toLowerCase(),
|
|
59
|
-
assigneeCount: element.assignee?.length ?? 0,
|
|
60
|
-
assignedToIds: element.assigned_to?.map((x) => x.id) ?? [],
|
|
61
|
-
settlementCompleted: element.settlement_completed === true,
|
|
62
|
-
finalSettlementCompleted: element.final_settlement_completed === true,
|
|
63
|
-
storeEdit: element.store_edit !== false,
|
|
64
|
-
isOwner: element.is_owner ?? true,
|
|
65
|
-
isCustomGrade: element.is_custom_grade || '',
|
|
66
|
-
parent: element.parent,
|
|
67
|
-
offerLetter: element.offer_letter,
|
|
68
|
-
typename: element.__typename || ''
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
normalizeAction(action, ctx) {
|
|
72
|
-
let normalized = this.ACTION_ALIASES[action] || action;
|
|
73
|
-
if (ctx.packageData) {
|
|
74
|
-
if (action === 'unarchive')
|
|
75
|
-
return 'active';
|
|
76
|
-
if (action === 'archive')
|
|
77
|
-
return 'unactive';
|
|
78
|
-
}
|
|
79
|
-
return normalized.toLowerCase();
|
|
80
|
-
}
|
|
81
|
-
canArchiveOrDelete(r) {
|
|
82
|
-
return (!r.isDeleted &&
|
|
83
|
-
!r.settlementCompleted &&
|
|
84
|
-
!r.finalSettlementCompleted &&
|
|
85
|
-
r.availStatus !== 'reserved' &&
|
|
86
|
-
r.assigneeCount === 0 &&
|
|
87
|
-
r.availStatus !== 'disposed' &&
|
|
88
|
-
r.availStatus !== 'maintenance' &&
|
|
89
|
-
r.availStatus !== 'assigned' &&
|
|
90
|
-
!this.STATUS_SETS.ARCHIVE_BLOCKED.includes(r.status) &&
|
|
91
|
-
r.parent !== null);
|
|
92
|
-
}
|
|
93
|
-
canEdit(r, ctx) {
|
|
94
|
-
const isBlocked = this.STATUS_SETS.EDIT_BLOCKED.includes(r.status) ||
|
|
95
|
-
r.isDeleted ||
|
|
96
|
-
!r.storeEdit ||
|
|
97
|
-
r.availStatus === 'disposed' ||
|
|
98
|
-
r.settlementCompleted ||
|
|
99
|
-
r.finalSettlementCompleted;
|
|
100
|
-
if (isBlocked)
|
|
101
|
-
return false;
|
|
102
|
-
if (ctx.tableType === 'BusinessExpenseListing') {
|
|
103
|
-
return true;
|
|
104
|
-
}
|
|
105
|
-
return r.status !== 'accepted' && r.isOwner;
|
|
106
|
-
}
|
|
107
|
-
isActionValid(action, element, ctx = {}) {
|
|
108
|
-
const row = this.normalizeRow(element);
|
|
109
|
-
const normalizedAction = this.normalizeAction(action, ctx);
|
|
110
|
-
const rule = this.rules[normalizedAction];
|
|
111
|
-
if (rule) {
|
|
112
|
-
return rule(row, ctx);
|
|
113
|
-
}
|
|
114
|
-
return row.availStatus !== 'disposed' || row.typename === 'Alert';
|
|
115
|
-
}
|
|
116
|
-
getValidActions(actions, element, ctx = {}) {
|
|
117
|
-
if (!actions?.length)
|
|
118
|
-
return [];
|
|
119
|
-
let validActions = actions.filter(action => this.isActionValid(action, element, ctx));
|
|
120
|
-
if (ctx.tableType === 'recruitmentListing') {
|
|
121
|
-
validActions = this.applyRecruitmentFilters(validActions, element);
|
|
122
|
-
}
|
|
123
|
-
return validActions;
|
|
124
|
-
}
|
|
125
|
-
applyRecruitmentFilters(actions, element) {
|
|
126
|
-
let filtered = [...actions];
|
|
127
|
-
if (element?.status === 'hired' && !element?.is_deleted) {
|
|
128
|
-
filtered = filtered.filter(action => !['changestatus', 'unarchive', 'archive', 'edit'].includes(action));
|
|
129
|
-
}
|
|
130
|
-
if (element?.is_deleted) {
|
|
131
|
-
filtered = filtered.filter(action => action !== 'changestatus');
|
|
132
|
-
}
|
|
133
|
-
if (element?.offer_letter === null) {
|
|
134
|
-
filtered = filtered.filter(action => !['download', 'view'].includes(action));
|
|
135
|
-
}
|
|
136
|
-
return filtered;
|
|
137
|
-
}
|
|
138
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RowActionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
139
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RowActionService, providedIn: 'root' }); }
|
|
140
|
-
}
|
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RowActionService, decorators: [{
|
|
142
|
-
type: Injectable,
|
|
143
|
-
args: [{ providedIn: 'root' }]
|
|
144
|
-
}] });
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWFjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1ncmlkL3NyYy9saWIvc2VydmljZXMvcm93LWFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBNkIzQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBR21CLGdCQUFXLEdBQUc7WUFDN0IsWUFBWSxFQUFFO2dCQUNaLFNBQVMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCO2dCQUN6RCxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RELFdBQVcsRUFBRSxVQUFVO2FBQ3hCO1lBQ0QsZUFBZSxFQUFFO2dCQUNmLFVBQVUsRUFBRSxXQUFXLEVBQUUsaUJBQWlCO2dCQUMxQyxXQUFXLEVBQUUsa0JBQWtCO2FBQ2hDO1lBQ0QsUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUM7WUFDMUMsU0FBUyxFQUFFLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDO1lBQ3BFLFdBQVcsRUFBRSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUM7U0FDbkMsQ0FBQztRQUVNLG1CQUFjLEdBQTJCO1lBQ3hELE1BQU0sRUFBRSxNQUFNO1lBQ2QsTUFBTSxFQUFFLFVBQVU7U0FDbkIsQ0FBQztRQUVlLFVBQUssR0FBK0I7WUFDbkQsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLHVCQUF1QixJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDM0UsYUFBYSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxDQUFDLFNB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SyxvQkFBb0IsRUFBRTtZQUMxQyxZQUFZLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNwRTtRQUVELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxPQUFpQixFQUFFLE9BQVk7UUFDN0QsSUFBSSxRQUFRLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBRTVCLElBQUksT0FBTyxFQUFFLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFO1lBQ3ZELFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ2xDLENBQUMsQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQ25FLENBQUM7U0FDSDtRQUVELElBQUksT0FBTyxFQUFFLFVBQVUsRUFBRTtZQUN2QixRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxjQUFjLENBQUMsQ0FBQztTQUNqRTtRQUVELElBQUksT0FBTyxFQUFFLFlBQVksS0FBSyxJQUFJLEVBQUU7WUFDbEMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDbEMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQ3ZDLENBQUM7U0FDSDtRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7K0dBNUtVLGdCQUFnQjttSEFBaEIsZ0JBQWdCLGNBREgsTUFBTTs7NEZBQ25CLGdCQUFnQjtrQkFENUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkNvbnRleHQge1xyXG4gIHRhYmxlVHlwZT86IHN0cmluZztcclxuICBwYWNrYWdlRGF0YT86IGJvb2xlYW47XHJcbiAgc2hvd1VuTGluaz86IGJvb2xlYW47XHJcbiAgY3VycmVudFVzZXJJZD86IHN0cmluZyB8IG51bWJlcjtcclxufVxyXG5cclxuaW50ZXJmYWNlIE5vcm1hbGl6ZWRSb3cge1xyXG4gIGlzRGVsZXRlZDogYm9vbGVhbjtcclxuICBzdGF0dXM6IHN0cmluZztcclxuICBhdmFpbFN0YXR1czogc3RyaW5nO1xyXG4gIGFjY291bnRTdGF0dXM6IHN0cmluZztcclxuICBhc3NpZ25lZUNvdW50OiBudW1iZXI7XHJcbiAgYXNzaWduZWRUb0lkczogKHN0cmluZyB8IG51bWJlcilbXTtcclxuICBzZXR0bGVtZW50Q29tcGxldGVkOiBib29sZWFuO1xyXG4gIGZpbmFsU2V0dGxlbWVudENvbXBsZXRlZDogYm9vbGVhbjtcclxuICBzdG9yZUVkaXQ6IGJvb2xlYW47XHJcbiAgaXNPd25lcjogYm9vbGVhbjtcclxuICBpc0N1c3RvbUdyYWRlOiBzdHJpbmc7XHJcbiAgcGFyZW50OiBhbnk7XHJcbiAgb2ZmZXJMZXR0ZXI6IGFueTtcclxuICB0eXBlbmFtZTogc3RyaW5nO1xyXG59XHJcblxyXG50eXBlIEFjdGlvblJ1bGUgPSAocm93OiBOb3JtYWxpemVkUm93LCBjdHg6IEFjdGlvbkNvbnRleHQpID0+IGJvb2xlYW47XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgUm93QWN0aW9uU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgU1RBVFVTX1NFVFMgPSB7XHJcbiAgICBFRElUX0JMT0NLRUQ6IFtcclxuICAgICAgJ2V4cGlyZWQnLCAnY2xvc2VkJywgJ0Fzc2lnbmluZyBTdG9wJywgJ0V2YWx1YXRpb24gU3RhcnQnLFxyXG4gICAgICAnRXZhbHVhdGlvbiBTdG9wJywgJ0NvbXBsZXRlZCcsICdhcHByb3ZlZCcsICdyZWplY3RlZCcsXHJcbiAgICAgICdwYXJ0aWFsbHknLCAnYWNjZXB0ZWQnXHJcbiAgICBdLFxyXG4gICAgQVJDSElWRV9CTE9DS0VEOiBbXHJcbiAgICAgICdhcHByb3ZlZCcsICdwYXJ0aWFsbHknLCAnQXNzaWduaW5nIFN0YXJ0JyxcclxuICAgICAgJ0NvbXBsZXRlZCcsICdFdmFsdWF0aW9uIFN0YXJ0J1xyXG4gICAgXSxcclxuICAgIERJU1BPU0VEOiBbJ3NjcmFwJywgJ3RyYXNoZWQnLCAnZGlzcG9zZWQnXSxcclxuICAgIFNFUEFSQVRFRDogWyd0ZXJtaW5hdGlvbicsICdyZXNpZ25hdGlvbicsICdyZXRpcmVtZW50JywgJ3NlcGFyYXRlZCddLFxyXG4gICAgVU5BVkFJTEFCTEU6IFsndW5hdmFpbGFibGUnLCAndW5BdmFpbGFibGUnXVxyXG4gIH0gYXMgY29uc3Q7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgQUNUSU9OX0FMSUFTRVM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XHJcbiAgICBhY2NlcHQ6ICd2aWV3JyxcclxuICAgIGFjaGl2ZTogJ3VuYWN0aXZlJ1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgcnVsZXM6IFJlY29yZDxzdHJpbmcsIEFjdGlvblJ1bGU+ID0ge1xyXG4gICAgYXNzaWduaW5nc3RhcnQ6IChyKSA9PiByLnN0YXR1cyA9PT0gJ1RvIGJlIHN0YXJ0IEFzc2lnbmluZycgJiYgIXIuaXNEZWxldGVkLFxyXG4gICAgYXNzaWduaW5nc3RvcDogKHIpID0+IHIuc3RhdHVzID09PSAnQXNzaWduaW5nIFN0YXJ0JyAmJiAhci5pc0RlbGV0ZWQsXHJcbiAgICBldmFsdWF0aW9uc3RhcnQ6IChyKSA9PiByLnN0YXR1cyA9PT0gJ0Fzc2lnbmluZyBTdG9wJyAmJiAhci5pc0RlbGV0ZWQsXHJcbiAgICBjb21wbGV0ZWQ6IChyKSA9PiByLnN0YXR1cyA9PT0gJ0V2YWx1YXRpb24gU3RhcnQnICYmICFyLmlzRGVsZXRlZCxcclxuXHJcbiAgICBhcmNoaXZlOiAocikgPT4gdGhpcy5jYW5BcmNoaXZlT3JEZWxldGUociksXHJcbiAgICB1bmFjdGl2ZTogKHIpID0+IHRoaXMuY2FuQXJjaGl2ZU9yRGVsZXRlKHIpLFxyXG4gICAgZGVsZXRlOiAocikgPT4gdGhpcy5jYW5BcmNoaXZlT3JEZWxldGUociksXHJcblxyXG4gICAgdW5hcmNoaXZlOiAocikgPT4gci5pc0RlbGV0ZWQgJiYgci5hdmFpbFN0YXR1cyAhPT0gJ2Rpc3Bvc2VkJyxcclxuICAgIGFjdGl2ZTogKHIpID0+IHIuaXNEZWxldGVkICYmIHIuYXZhaWxTdGF0dXMgIT09ICdkaXNwb3NlZCcsXHJcblxyXG4gICAgbGluazogKHIpID0+IFxyXG4gICAgICAhdGhpcy5TVEFUVVNfU0VUUy5VTkFWQUlMQUJMRS5pbmNsdWRlcygoci5zdGF0dXMgYXMgYW55KSkgJiZcclxuICAgICAgIXIuaXNEZWxldGVkICYmXHJcbiAgICAgIHIuYXZhaWxTdGF0dXMgIT09ICdkaXNwb3NlZCcgJiZcclxuICAgICAgci5zdGF0dXMgIT09ICdsaW5rZWQnLFxyXG4gICAgdW5saW5rOiAociwgY3R4KSA9PiBjdHguc2hvd1VuTGluayA9PT0gdHJ1ZSAmJiByLnN0YXR1cyA9PT0gJ2xpbmtlZCcsXHJcblxyXG4gICAgcmVqb2luOiAocikgPT4gdGhpcy5TVEFUVVNfU0VUUy5TRVBBUkFURUQuaW5jbHVkZXMoKHIuYWNjb3VudFN0YXR1cyBhcyBhbnkpKSxcclxuICAgIHNldHRsZW1lbnRpbmZvOiAocikgPT4gdGhpcy5TVEFUVVNfU0VUUy5TRVBBUkFURUQuaW5jbHVkZXMoKHIuYWNjb3VudFN0YXR1cyBhcyBhbnkpKSxcclxuXHJcbiAgICBhc3NpZ246IChyKSA9PiByLnN0YXR1cyAhPT0gJ2Fzc2lnbmVkJyxcclxuICAgIGVkaXQ6IChyLCBjdHgpID0+IHRoaXMuY2FuRWRpdChyLCBjdHgpLFxyXG5cclxuICAgIHRyYXNoOiAocikgPT4gIXRoaXMuU1RBVFVTX1NFVFMuRElTUE9TRUQuaW5jbHVkZXMoKHIuYXZhaWxTdGF0dXMgYXMgYW55KSksXHJcbiAgICBzY3JhcDogKHIpID0+ICF0aGlzLlNUQVRVU19TRVRTLkRJU1BPU0VELmluY2x1ZGVzKChyLmF2YWlsU3RhdHVzIGFzIGFueSkpLFxyXG4gICAgcmV0YWluOiAocikgPT4gIXRoaXMuU1RBVFVTX1NFVFMuRElTUE9TRUQuaW5jbHVkZXMoKHIuYXZhaWxTdGF0dXMgYXMgYW55KSksXHJcblxyXG4gICAgZGVmYXVsdGdyYWRlOiAocikgPT4gci5pc0N1c3RvbUdyYWRlICE9PSAnQWN0aXZlJyxcclxuXHJcbiAgICBzdWJzY3JpYmU6IChyLCBjdHgpID0+ICFyLmFzc2lnbmVkVG9JZHMuaW5jbHVkZXMoKGN0eC5jdXJyZW50VXNlcklkIGFzIGFueSkpLFxyXG4gICAgdW5zdWJzY3JpYmU6IChyLCBjdHgpID0+IHIuYXNzaWduZWRUb0lkcy5pbmNsdWRlcygoY3R4LmN1cnJlbnRVc2VySWQgYXMgYW55KSksXHJcblxyXG4gICAgY2hhbmdlc3RhdHVzOiAocikgPT4gIXIuaXNEZWxldGVkLFxyXG5cclxuICAgIGRvd25sb2FkOiAocikgPT4gci5vZmZlckxldHRlciAhPT0gbnVsbCxcclxuICAgIHZpZXc6IChyKSA9PiByLm9mZmVyTGV0dGVyICE9PSBudWxsXHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBub3JtYWxpemVSb3coZWxlbWVudDogYW55KTogTm9ybWFsaXplZFJvdyB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpc0RlbGV0ZWQ6IGVsZW1lbnQuaXNfZGVsZXRlZCA9PT0gdHJ1ZSB8fCBlbGVtZW50LmlzX2RlbGV0ZWQgPT09ICd0cnVlJyxcclxuICAgICAgc3RhdHVzOiBlbGVtZW50LnN0YXR1cyB8fCAnJyxcclxuICAgICAgYXZhaWxTdGF0dXM6IGVsZW1lbnQuYXZhaWxTdGF0dXMgfHwgJycsXHJcbiAgICAgIGFjY291bnRTdGF0dXM6IChlbGVtZW50LmFjY291bnRfc3RhdHVzIHx8ICcnKS50b0xvd2VyQ2FzZSgpLFxyXG4gICAgICBhc3NpZ25lZUNvdW50OiBlbGVtZW50LmFzc2lnbmVlPy5sZW5ndGggPz8gMCxcclxuICAgICAgYXNzaWduZWRUb0lkczogZWxlbWVudC5hc3NpZ25lZF90bz8ubWFwKCh4OiBhbnkpID0+IHguaWQpID8/IFtdLFxyXG4gICAgICBzZXR0bGVtZW50Q29tcGxldGVkOiBlbGVtZW50LnNldHRsZW1lbnRfY29tcGxldGVkID09PSB0cnVlLFxyXG4gICAgICBmaW5hbFNldHRsZW1lbnRDb21wbGV0ZWQ6IGVsZW1lbnQuZmluYWxfc2V0dGxlbWVudF9jb21wbGV0ZWQgPT09IHRydWUsXHJcbiAgICAgIHN0b3JlRWRpdDogZWxlbWVudC5zdG9yZV9lZGl0ICE9PSBmYWxzZSxcclxuICAgICAgaXNPd25lcjogZWxlbWVudC5pc19vd25lciA/PyB0cnVlLFxyXG4gICAgICBpc0N1c3RvbUdyYWRlOiBlbGVtZW50LmlzX2N1c3RvbV9ncmFkZSB8fCAnJyxcclxuICAgICAgcGFyZW50OiBlbGVtZW50LnBhcmVudCxcclxuICAgICAgb2ZmZXJMZXR0ZXI6IGVsZW1lbnQub2ZmZXJfbGV0dGVyLFxyXG4gICAgICB0eXBlbmFtZTogZWxlbWVudC5fX3R5cGVuYW1lIHx8ICcnXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBub3JtYWxpemVBY3Rpb24oYWN0aW9uOiBzdHJpbmcsIGN0eDogQWN0aW9uQ29udGV4dCk6IHN0cmluZyB7XHJcbiAgICBsZXQgbm9ybWFsaXplZCA9IHRoaXMuQUNUSU9OX0FMSUFTRVNbYWN0aW9uXSB8fCBhY3Rpb247XHJcblxyXG4gICAgaWYgKGN0eC5wYWNrYWdlRGF0YSkge1xyXG4gICAgICBpZiAoYWN0aW9uID09PSAndW5hcmNoaXZlJykgcmV0dXJuICdhY3RpdmUnO1xyXG4gICAgICBpZiAoYWN0aW9uID09PSAnYXJjaGl2ZScpIHJldHVybiAndW5hY3RpdmUnO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBub3JtYWxpemVkLnRvTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNhbkFyY2hpdmVPckRlbGV0ZShyOiBOb3JtYWxpemVkUm93KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAhci5pc0RlbGV0ZWQgJiZcclxuICAgICAgIXIuc2V0dGxlbWVudENvbXBsZXRlZCAmJlxyXG4gICAgICAhci5maW5hbFNldHRsZW1lbnRDb21wbGV0ZWQgJiZcclxuICAgICAgci5hdmFpbFN0YXR1cyAhPT0gJ3Jlc2VydmVkJyAmJlxyXG4gICAgICByLmFzc2lnbmVlQ291bnQgPT09IDAgJiZcclxuICAgICAgci5hdmFpbFN0YXR1cyAhPT0gJ2Rpc3Bvc2VkJyAmJlxyXG4gICAgICByLmF2YWlsU3RhdHVzICE9PSAnbWFpbnRlbmFuY2UnICYmXHJcbiAgICAgIHIuYXZhaWxTdGF0dXMgIT09ICdhc3NpZ25lZCcgJiZcclxuICAgICAgIXRoaXMuU1RBVFVTX1NFVFMuQVJDSElWRV9CTE9DS0VELmluY2x1ZGVzKChyLnN0YXR1cyBhcyBhbnkpKSAmJlxyXG4gICAgICByLnBhcmVudCAhPT0gbnVsbFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FuRWRpdChyOiBOb3JtYWxpemVkUm93LCBjdHg6IEFjdGlvbkNvbnRleHQpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGlzQmxvY2tlZCA9IFxyXG4gICAgICB0aGlzLlNUQVRVU19TRVRTLkVESVRfQkxPQ0tFRC5pbmNsdWRlcygoci5zdGF0dXMgYXMgYW55KSkgfHxcclxuICAgICAgci5pc0RlbGV0ZWQgfHxcclxuICAgICAgIXIuc3RvcmVFZGl0IHx8XHJcbiAgICAgIHIuYXZhaWxTdGF0dXMgPT09ICdkaXNwb3NlZCcgfHxcclxuICAgICAgci5zZXR0bGVtZW50Q29tcGxldGVkIHx8XHJcbiAgICAgIHIuZmluYWxTZXR0bGVtZW50Q29tcGxldGVkO1xyXG5cclxuICAgIGlmIChpc0Jsb2NrZWQpIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBpZiAoY3R4LnRhYmxlVHlwZSA9PT0gJ0J1c2luZXNzRXhwZW5zZUxpc3RpbmcnKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByLnN0YXR1cyAhPT0gJ2FjY2VwdGVkJyAmJiByLmlzT3duZXI7XHJcbiAgfVxyXG5cclxuICBpc0FjdGlvblZhbGlkKGFjdGlvbjogc3RyaW5nLCBlbGVtZW50OiBhbnksIGN0eDogQWN0aW9uQ29udGV4dCA9IHt9KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCByb3cgPSB0aGlzLm5vcm1hbGl6ZVJvdyhlbGVtZW50KTtcclxuICAgIGNvbnN0IG5vcm1hbGl6ZWRBY3Rpb24gPSB0aGlzLm5vcm1hbGl6ZUFjdGlvbihhY3Rpb24sIGN0eCk7XHJcbiAgICBjb25zdCBydWxlID0gdGhpcy5ydWxlc1tub3JtYWxpemVkQWN0aW9uXTtcclxuXHJcbiAgICBpZiAocnVsZSkge1xyXG4gICAgICByZXR1cm4gcnVsZShyb3csIGN0eCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJvdy5hdmFpbFN0YXR1cyAhPT0gJ2Rpc3Bvc2VkJyB8fCByb3cudHlwZW5hbWUgPT09ICdBbGVydCc7XHJcbiAgfVxyXG5cclxuICBnZXRWYWxpZEFjdGlvbnMoYWN0aW9uczogc3RyaW5nW10sIGVsZW1lbnQ6IGFueSwgY3R4OiBBY3Rpb25Db250ZXh0ID0ge30pOiBzdHJpbmdbXSB7XHJcbiAgICBpZiAoIWFjdGlvbnM/Lmxlbmd0aCkgcmV0dXJuIFtdO1xyXG4gICAgXHJcbiAgICBsZXQgdmFsaWRBY3Rpb25zID0gYWN0aW9ucy5maWx0ZXIoYWN0aW9uID0+IFxyXG4gICAgICB0aGlzLmlzQWN0aW9uVmFsaWQoYWN0aW9uLCBlbGVtZW50LCBjdHgpXHJcbiAgICApO1xyXG5cclxuICAgIGlmIChjdHgudGFibGVUeXBlID09PSAncmVjcnVpdG1lbnRMaXN0aW5nJykge1xyXG4gICAgICB2YWxpZEFjdGlvbnMgPSB0aGlzLmFwcGx5UmVjcnVpdG1lbnRGaWx0ZXJzKHZhbGlkQWN0aW9ucywgZWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHZhbGlkQWN0aW9ucztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlSZWNydWl0bWVudEZpbHRlcnMoYWN0aW9uczogc3RyaW5nW10sIGVsZW1lbnQ6IGFueSk6IHN0cmluZ1tdIHtcclxuICAgIGxldCBmaWx0ZXJlZCA9IFsuLi5hY3Rpb25zXTtcclxuXHJcbiAgICBpZiAoZWxlbWVudD8uc3RhdHVzID09PSAnaGlyZWQnICYmICFlbGVtZW50Py5pc19kZWxldGVkKSB7XHJcbiAgICAgIGZpbHRlcmVkID0gZmlsdGVyZWQuZmlsdGVyKGFjdGlvbiA9PiBcclxuICAgICAgICAhWydjaGFuZ2VzdGF0dXMnLCAndW5hcmNoaXZlJywgJ2FyY2hpdmUnLCAnZWRpdCddLmluY2x1ZGVzKGFjdGlvbilcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZWxlbWVudD8uaXNfZGVsZXRlZCkge1xyXG4gICAgICBmaWx0ZXJlZCA9IGZpbHRlcmVkLmZpbHRlcihhY3Rpb24gPT4gYWN0aW9uICE9PSAnY2hhbmdlc3RhdHVzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGVsZW1lbnQ/Lm9mZmVyX2xldHRlciA9PT0gbnVsbCkge1xyXG4gICAgICBmaWx0ZXJlZCA9IGZpbHRlcmVkLmZpbHRlcihhY3Rpb24gPT4gXHJcbiAgICAgICAgIVsnZG93bmxvYWQnLCAndmlldyddLmluY2x1ZGVzKGFjdGlvbilcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmlsdGVyZWQ7XHJcbiAgfVxyXG59Il19
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export interface ActionContext {
|
|
3
|
-
tableType?: string;
|
|
4
|
-
packageData?: boolean;
|
|
5
|
-
showUnLink?: boolean;
|
|
6
|
-
currentUserId?: string | number;
|
|
7
|
-
}
|
|
8
|
-
export declare class RowActionService {
|
|
9
|
-
private readonly STATUS_SETS;
|
|
10
|
-
private readonly ACTION_ALIASES;
|
|
11
|
-
private readonly rules;
|
|
12
|
-
private normalizeRow;
|
|
13
|
-
private normalizeAction;
|
|
14
|
-
private canArchiveOrDelete;
|
|
15
|
-
private canEdit;
|
|
16
|
-
isActionValid(action: string, element: any, ctx?: ActionContext): boolean;
|
|
17
|
-
getValidActions(actions: string[], element: any, ctx?: ActionContext): string[];
|
|
18
|
-
private applyRecruitmentFilters;
|
|
19
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RowActionService, never>;
|
|
20
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<RowActionService>;
|
|
21
|
-
}
|