ms-time-sheet 0.0.2 → 0.0.4
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/esm2022/lib/ms-time-sheet.component.mjs +2479 -336
- package/fesm2022/ms-time-sheet.mjs +2559 -416
- package/fesm2022/ms-time-sheet.mjs.map +1 -1
- package/lib/ms-time-sheet.component.d.ts +325 -30
- package/package.json +1 -1
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { OnChanges, SimpleChanges, ElementRef, AfterViewInit,
|
|
2
|
-
import { SplitColumnsService } from './services/split-columns.service';
|
|
1
|
+
import { OnInit, OnChanges, SimpleChanges, ElementRef, AfterViewInit, EventEmitter, OnDestroy, ViewContainerRef, Injector } from '@angular/core';
|
|
3
2
|
import { CommonService } from './services/common.service';
|
|
4
3
|
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
|
|
5
4
|
import { BsDaterangepickerDirective, BsDaterangepickerConfig } from 'ngx-bootstrap/datepicker';
|
|
6
5
|
import { CdkDrag, CdkDragDrop, CdkDragEnd, CdkDragEnter, CdkDragExit, CdkDragMove, CdkDragSortEvent, CdkDragStart } from '@angular/cdk/drag-drop';
|
|
7
6
|
import { CdkDropList } from '@angular/cdk/drag-drop';
|
|
8
|
-
import { CopyServiceService } from './services/copy-service.service';
|
|
9
7
|
import * as i0 from "@angular/core";
|
|
10
8
|
interface CellPosition {
|
|
11
9
|
rowIndex: number;
|
|
@@ -14,14 +12,57 @@ interface CellPosition {
|
|
|
14
12
|
field: string;
|
|
15
13
|
key: string;
|
|
16
14
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
interface PerformanceMetrics {
|
|
16
|
+
renderTime: number;
|
|
17
|
+
scrollTime: number;
|
|
18
|
+
filterTime: number;
|
|
19
|
+
sortTime: number;
|
|
20
|
+
infiniteScrollTime: number;
|
|
21
|
+
lastRenderStart: number;
|
|
22
|
+
renderCount: number;
|
|
23
|
+
}
|
|
24
|
+
export declare class TimeSheetComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {
|
|
25
|
+
private injector;
|
|
26
|
+
private vcr;
|
|
24
27
|
expandedRows: Set<string>;
|
|
28
|
+
onShortBreakClick: EventEmitter<any>;
|
|
29
|
+
searchEvent: EventEmitter<any>;
|
|
30
|
+
private scrollSubject;
|
|
31
|
+
private filterSubject;
|
|
32
|
+
private dataSubject;
|
|
33
|
+
private viewportResizeSubject;
|
|
34
|
+
private destroy$;
|
|
35
|
+
private dataCache;
|
|
36
|
+
private computationCache;
|
|
37
|
+
private domCache;
|
|
38
|
+
private virtualScrollBuffer;
|
|
39
|
+
private maxRenderedItems;
|
|
40
|
+
private itemHeightCache;
|
|
41
|
+
private dynamicItemHeights;
|
|
42
|
+
private averageItemHeight;
|
|
43
|
+
private heightCalculationSamples;
|
|
44
|
+
private viewportHeight;
|
|
45
|
+
private scrollDirection;
|
|
46
|
+
private lastScrollTop;
|
|
47
|
+
private scrollVelocity;
|
|
48
|
+
private scrollAcceleration;
|
|
49
|
+
private dataLoadQueue;
|
|
50
|
+
private isLoadingData;
|
|
51
|
+
private lastScrollPosition;
|
|
52
|
+
private componentRefs;
|
|
53
|
+
private eventListeners;
|
|
54
|
+
private resizeObservers;
|
|
55
|
+
private timeouts;
|
|
56
|
+
private intervals;
|
|
57
|
+
isShortLeavePopoverVisible: boolean;
|
|
58
|
+
currentShortLeaveData: any[];
|
|
59
|
+
private hideTimeout;
|
|
60
|
+
hideShortBreakTooltip(): void;
|
|
61
|
+
showShortLeavePopover(event: MouseEvent, row: any): void;
|
|
62
|
+
hideShortLeavePopover(): void;
|
|
63
|
+
private intersectionObserver;
|
|
64
|
+
private lazyLoadCallbacks;
|
|
65
|
+
private viewportElements;
|
|
25
66
|
paginationConfig: any;
|
|
26
67
|
dataSet: any[];
|
|
27
68
|
columns: any[];
|
|
@@ -93,6 +134,9 @@ export declare class TimeSheetComponent implements OnChanges, AfterViewInit {
|
|
|
93
134
|
isSingleDay: boolean;
|
|
94
135
|
leftPinnedBoxshadow: string;
|
|
95
136
|
rightPinnedBoxshadow: string;
|
|
137
|
+
enableAccordionShadow: boolean;
|
|
138
|
+
enableAccordionSeparators: boolean;
|
|
139
|
+
enableRowShading: boolean;
|
|
96
140
|
selectedRowsBackgroundColor: string;
|
|
97
141
|
nestedTableHeaderBAckgroundColor: string;
|
|
98
142
|
tableView: any[];
|
|
@@ -102,12 +146,19 @@ export declare class TimeSheetComponent implements OnChanges, AfterViewInit {
|
|
|
102
146
|
showAscending: boolean;
|
|
103
147
|
showDescending: boolean;
|
|
104
148
|
showFilter: boolean;
|
|
105
|
-
showRowsGrouping: boolean
|
|
149
|
+
showRowsGrouping: boolean;
|
|
106
150
|
showAutosizeAllColumns: boolean;
|
|
107
151
|
showAutosizeThisColumn: boolean;
|
|
108
152
|
showChoseColumns: boolean;
|
|
109
153
|
showResetColumns: boolean;
|
|
110
154
|
};
|
|
155
|
+
timezonePrefs: any;
|
|
156
|
+
enableProgressiveLoading: boolean;
|
|
157
|
+
progressiveChunkSize: number;
|
|
158
|
+
progressiveDelay: number;
|
|
159
|
+
private progressiveLoadingChunks;
|
|
160
|
+
private progressiveLoadingIndex;
|
|
161
|
+
private isProgressiveLoading;
|
|
111
162
|
enableInfiniteScroll: boolean;
|
|
112
163
|
hasMoreData: boolean;
|
|
113
164
|
loadingMore: boolean;
|
|
@@ -118,15 +169,79 @@ export declare class TimeSheetComponent implements OnChanges, AfterViewInit {
|
|
|
118
169
|
tablePresetConfig: EventEmitter<any>;
|
|
119
170
|
sortingOrderOptions: EventEmitter<any>;
|
|
120
171
|
createUpdateConfigListing: EventEmitter<any>;
|
|
172
|
+
currentBreakTooltip: any;
|
|
173
|
+
currentShortBreakTooltip: any;
|
|
174
|
+
tooltipPosition: {
|
|
175
|
+
x: number;
|
|
176
|
+
y: number;
|
|
177
|
+
};
|
|
178
|
+
manualLogsTooltipVisible: boolean;
|
|
179
|
+
manualLogsTooltipPosition: {
|
|
180
|
+
x: number;
|
|
181
|
+
y: number;
|
|
182
|
+
};
|
|
183
|
+
currentManualLogs: any[];
|
|
184
|
+
noShortLeaveDetail: any;
|
|
185
|
+
noShortLeaveLeft: any;
|
|
186
|
+
showBreakTooltip(event: MouseEvent, breakItem: any): void;
|
|
187
|
+
showShortBreakTooltip(event: MouseEvent, shortBreak: any, type?: string): void;
|
|
188
|
+
setPosition(event: MouseEvent): void;
|
|
189
|
+
hideBreakTooltip(): void;
|
|
190
|
+
getBreakTooltip(breakItem: any): string;
|
|
191
|
+
hasManualLogs(row: any): boolean;
|
|
192
|
+
preventManualLogsTooltipHide(): void;
|
|
121
193
|
groupedColumns: any[];
|
|
122
194
|
activeCol: any;
|
|
123
195
|
activeFilterCell: any;
|
|
124
196
|
showActionsDropDown: boolean;
|
|
125
197
|
sideMenuVisible: boolean;
|
|
126
198
|
pivotMode: boolean;
|
|
199
|
+
viewMode: 'standard' | 'compact' | 'detailed' | 'timeline' | 'calendar' | 'card' | 'heatmap';
|
|
200
|
+
togglePivotMode(): void;
|
|
201
|
+
toggleViewMode(mode: 'standard' | 'compact' | 'detailed' | 'timeline' | 'calendar' | 'card' | 'heatmap'): void;
|
|
202
|
+
private applyViewMode;
|
|
203
|
+
private enablePivotMode;
|
|
204
|
+
private disablePivotMode;
|
|
127
205
|
columnSearch: string;
|
|
128
206
|
expandAllAccordians: boolean;
|
|
129
207
|
currentOpenedSideMenue: 'cols' | 'filtrs' | null;
|
|
208
|
+
detailSortField: string | null;
|
|
209
|
+
detailSortOrder: 'asc' | 'desc' | null;
|
|
210
|
+
themes: {
|
|
211
|
+
white: {
|
|
212
|
+
bodyBackgroundColor: string;
|
|
213
|
+
headerBackgroundColor: string;
|
|
214
|
+
bodyTextColor: string;
|
|
215
|
+
headerTextColor: string;
|
|
216
|
+
checkboxesBackgroundColor: string;
|
|
217
|
+
dropdownsBackgroundColor: string;
|
|
218
|
+
rowHoverColor: string;
|
|
219
|
+
selectedRowsBackgroundColor: string;
|
|
220
|
+
evenRowsBackgroundColor: string;
|
|
221
|
+
oddRowsBackgroundColor: string;
|
|
222
|
+
leftPinnedBackgroundColor: string;
|
|
223
|
+
rightPinnedBackgroundColor: string;
|
|
224
|
+
sidemenuBackgroundColor: string;
|
|
225
|
+
};
|
|
226
|
+
blue: {
|
|
227
|
+
bodyBackgroundColor: string;
|
|
228
|
+
headerBackgroundColor: string;
|
|
229
|
+
bodyTextColor: string;
|
|
230
|
+
headerTextColor: string;
|
|
231
|
+
checkboxesBackgroundColor: string;
|
|
232
|
+
dropdownsBackgroundColor: string;
|
|
233
|
+
rowHoverColor: string;
|
|
234
|
+
selectedRowsBackgroundColor: string;
|
|
235
|
+
evenRowsBackgroundColor: string;
|
|
236
|
+
oddRowsBackgroundColor: string;
|
|
237
|
+
leftPinnedBackgroundColor: string;
|
|
238
|
+
rightPinnedBackgroundColor: string;
|
|
239
|
+
sidemenuBackgroundColor: string;
|
|
240
|
+
};
|
|
241
|
+
};
|
|
242
|
+
currentTheme: string;
|
|
243
|
+
showThemeSelector: boolean;
|
|
244
|
+
customThemeColor: string;
|
|
130
245
|
originalColumns: any[];
|
|
131
246
|
originalDataSet: any[];
|
|
132
247
|
activeTopButton: string | null;
|
|
@@ -146,9 +261,50 @@ export declare class TimeSheetComponent implements OnChanges, AfterViewInit {
|
|
|
146
261
|
subMenueOpendField: string;
|
|
147
262
|
fontFamilies: string[];
|
|
148
263
|
fontSizes: string[];
|
|
149
|
-
|
|
264
|
+
private columnService;
|
|
265
|
+
private cdr;
|
|
266
|
+
commonSevice: CommonService;
|
|
267
|
+
private elementRef;
|
|
268
|
+
private ngZone;
|
|
269
|
+
private copyService;
|
|
270
|
+
removeCharacters: {
|
|
271
|
+
find: string;
|
|
272
|
+
replace: string;
|
|
273
|
+
}[];
|
|
274
|
+
applyTheme(themeName: string): void;
|
|
275
|
+
applyBackendThemeOrDefault(): void;
|
|
276
|
+
applyCustomTheme(): void;
|
|
277
|
+
private isLightColor;
|
|
278
|
+
private adjustBrightness;
|
|
279
|
+
private hexToRgb;
|
|
280
|
+
toggleThemeSelector(): void;
|
|
281
|
+
selectTheme(themeName: string): void;
|
|
282
|
+
transformStatus(status: string): string;
|
|
283
|
+
constructor(injector: Injector, vcr: ViewContainerRef);
|
|
284
|
+
ngOnInit(): void;
|
|
285
|
+
private initializeLazyModules;
|
|
286
|
+
private initializeReactiveStreams;
|
|
150
287
|
cellText: ElementRef;
|
|
151
288
|
ngAfterViewInit(): Promise<void>;
|
|
289
|
+
private setupOptimizedScrollListeners;
|
|
290
|
+
private updateScrollMetrics;
|
|
291
|
+
private lastScrollTime;
|
|
292
|
+
private previousVelocity;
|
|
293
|
+
private handleOptimizedScroll;
|
|
294
|
+
private updateItemHeightEstimations;
|
|
295
|
+
private calculateAdaptiveOverscan;
|
|
296
|
+
private calculateStartIndex;
|
|
297
|
+
private calculateTranslateY;
|
|
298
|
+
private previousScrollDirection;
|
|
299
|
+
private handleAdvancedInfiniteScroll;
|
|
300
|
+
private adaptiveDataWindowing;
|
|
301
|
+
private isPrefetching;
|
|
302
|
+
private prefetchData;
|
|
303
|
+
private prefetchNextBatch;
|
|
304
|
+
private handleOptimizedFilter;
|
|
305
|
+
private handleViewportResize;
|
|
306
|
+
private loadMoreDataOptimized;
|
|
307
|
+
private optimizeDataWindow;
|
|
152
308
|
ngOnChanges(changes: SimpleChanges): Promise<void>;
|
|
153
309
|
applyFilteroptionList(): Promise<void>;
|
|
154
310
|
leftPinnedColumns: any[];
|
|
@@ -165,11 +321,95 @@ export declare class TimeSheetComponent implements OnChanges, AfterViewInit {
|
|
|
165
321
|
centerPinnedHeader: ElementRef<HTMLDivElement>;
|
|
166
322
|
rightPinnedHeader: ElementRef<HTMLDivElement>;
|
|
167
323
|
columnsGroupedBox: ElementRef<HTMLDivElement>;
|
|
324
|
+
private cachedElements;
|
|
325
|
+
private resizeObserver;
|
|
326
|
+
private elementCacheTimeout;
|
|
327
|
+
private columnIndex;
|
|
328
|
+
private rowIndex;
|
|
329
|
+
private visibleColumnCache;
|
|
330
|
+
private domQueryCache;
|
|
331
|
+
private domQueryStats;
|
|
332
|
+
private cacheCleanupInterval;
|
|
333
|
+
private readonly CACHE_TTL;
|
|
334
|
+
private readonly MAX_CACHE_SIZE;
|
|
335
|
+
private getOptimizedElements;
|
|
336
|
+
private evictOldestCacheEntries;
|
|
337
|
+
private getOptimizedElement;
|
|
338
|
+
private invalidateDomCache;
|
|
339
|
+
private startCacheCleanup;
|
|
340
|
+
private stopCacheCleanup;
|
|
341
|
+
private getCachedElements;
|
|
342
|
+
private clearElementCache;
|
|
343
|
+
private buildColumnIndex;
|
|
344
|
+
private buildRowIndex;
|
|
345
|
+
private getColumnByField;
|
|
346
|
+
private getRowIndex;
|
|
347
|
+
private setDataCache;
|
|
348
|
+
private getDataCache;
|
|
349
|
+
private setComputationCache;
|
|
350
|
+
private getComputationCache;
|
|
351
|
+
private templateExpressionCache;
|
|
352
|
+
memoizeTemplateExpression(key: string, expression: () => any, ttl?: number): any;
|
|
353
|
+
clearTemplateCache(): void;
|
|
354
|
+
private zoneOptimizationEnabled;
|
|
355
|
+
private microtaskQueue;
|
|
356
|
+
private isProcessingMicrotasks;
|
|
357
|
+
private scheduleMicrotask;
|
|
358
|
+
private processMicrotaskQueue;
|
|
359
|
+
private weakRefRegistry;
|
|
360
|
+
registerForAdvancedCleanup(obj: object, cleanup: () => void): void;
|
|
361
|
+
cleanupWeakRefs(): void;
|
|
362
|
+
private hydrationQueue;
|
|
363
|
+
private isHydrating;
|
|
364
|
+
queueForHydration(callback: () => void, priority?: number): void;
|
|
365
|
+
private startProgressiveHydration;
|
|
168
366
|
centerFakeScrollbar: ElementRef<HTMLDivElement>;
|
|
169
367
|
updateColumnWidthsAndGroups(columns?: any): Promise<void>;
|
|
170
368
|
refreshPreviewColumns(columns?: any): Promise<void>;
|
|
171
369
|
SetColumnsDefaultWidth(): Promise<void>;
|
|
172
370
|
setSectionsWidth(): void;
|
|
371
|
+
private getCachedElement;
|
|
372
|
+
private performanceMetrics;
|
|
373
|
+
private startPerformanceTimer;
|
|
374
|
+
private endPerformanceTimer;
|
|
375
|
+
private initializeProgressiveLoading;
|
|
376
|
+
private loadNextProgressiveChunk;
|
|
377
|
+
private finalizeProgressiveLoading;
|
|
378
|
+
private processDataSetDirectly;
|
|
379
|
+
private reapplyGroupingAfterDataChange;
|
|
380
|
+
private profilerMarks;
|
|
381
|
+
private profilerMeasures;
|
|
382
|
+
private performanceThresholds;
|
|
383
|
+
metrics: PerformanceMetrics;
|
|
384
|
+
startProfiling(markName: string): void;
|
|
385
|
+
endProfiling(markName: string): number;
|
|
386
|
+
private checkPerformanceThresholds;
|
|
387
|
+
getDetailedPerformanceReport(): {
|
|
388
|
+
metrics: PerformanceMetrics;
|
|
389
|
+
measures: Map<string, {
|
|
390
|
+
start: number;
|
|
391
|
+
end: number;
|
|
392
|
+
duration: number;
|
|
393
|
+
}>;
|
|
394
|
+
domCacheStats: {
|
|
395
|
+
size: number;
|
|
396
|
+
hitRate: number;
|
|
397
|
+
totalQueries: number;
|
|
398
|
+
};
|
|
399
|
+
memoryUsage: any;
|
|
400
|
+
};
|
|
401
|
+
private getMemoryUsage;
|
|
402
|
+
getOptimizationSuggestions(): string[];
|
|
403
|
+
getPerformanceMetrics(): PerformanceMetrics;
|
|
404
|
+
resetPerformanceMetrics(): void;
|
|
405
|
+
private initializeDataStructures;
|
|
406
|
+
private initializeViewportLazyLoading;
|
|
407
|
+
private initializeServiceWorkerCaching;
|
|
408
|
+
private setupAdvancedCaching;
|
|
409
|
+
private createCacheStrategy;
|
|
410
|
+
private precacheCriticalAssets;
|
|
411
|
+
registerForLazyLoading(elementId: string, callback: () => void): void;
|
|
412
|
+
isElementInViewport(element: Element): boolean;
|
|
173
413
|
onLeftBodyScroll(): void;
|
|
174
414
|
onRightBodyScroll(): void;
|
|
175
415
|
fakeScrollbarScrollLeft: number;
|
|
@@ -202,6 +442,9 @@ export declare class TimeSheetComponent implements OnChanges, AfterViewInit {
|
|
|
202
442
|
private markColumnAsGrouped;
|
|
203
443
|
groupBy(col: any): Promise<void>;
|
|
204
444
|
groupDataAsync(data: any[], groupFields: string[]): Promise<any[]>;
|
|
445
|
+
private processHeavyComputationsWithWorker;
|
|
446
|
+
private processHeavyComputations;
|
|
447
|
+
private groupDataWithWorker;
|
|
205
448
|
chooseColumns(): void;
|
|
206
449
|
resetColumns(): void;
|
|
207
450
|
clearFilter(col: any): void;
|
|
@@ -255,17 +498,22 @@ export declare class TimeSheetComponent implements OnChanges, AfterViewInit {
|
|
|
255
498
|
private flattenGroupedRows;
|
|
256
499
|
assignVirtualIndexes(data: any[]): any[];
|
|
257
500
|
updateVisibleRows(scrollTop: number): void;
|
|
501
|
+
private updateVisibleRowsOptimized;
|
|
258
502
|
trackByRenderedIndex: (i: number, _row: any) => number;
|
|
259
503
|
private isSyncingFromMain;
|
|
260
504
|
private isSyncingFromFake;
|
|
261
505
|
private mainScrollRaf;
|
|
262
506
|
trackById(index: number, item: any): any;
|
|
507
|
+
trackByColumnField(index: number, item: any): any;
|
|
508
|
+
trackByColumn(index: number, item: any): any;
|
|
509
|
+
trackByRow(index: number, item: any): any;
|
|
510
|
+
trackByGroupedRow(index: number, item: any): any;
|
|
263
511
|
flattenedData: any[];
|
|
264
512
|
updateFlattenedData(): void;
|
|
265
513
|
private fakeScrollRaf;
|
|
514
|
+
private autoScrollInterval;
|
|
266
515
|
translateY: number;
|
|
267
516
|
loadMore: EventEmitter<void>;
|
|
268
|
-
onMainScroll(event: Event): void;
|
|
269
517
|
get isScrollbarVisible(): boolean;
|
|
270
518
|
onMainFakeScroll(event: Event): void;
|
|
271
519
|
viewportRows: number;
|
|
@@ -391,7 +639,7 @@ export declare class TimeSheetComponent implements OnChanges, AfterViewInit {
|
|
|
391
639
|
deatilsList: any;
|
|
392
640
|
openExpendIndex: any;
|
|
393
641
|
positionedYet: boolean;
|
|
394
|
-
onRightClick(event: MouseEvent | TouchEvent
|
|
642
|
+
onRightClick(event: MouseEvent | TouchEvent, item: any, context?: 'main' | 'accordion-parent' | 'accordion-child'): boolean;
|
|
395
643
|
onActionClick(action: string): void;
|
|
396
644
|
onVerifyClick(type: string): void;
|
|
397
645
|
getCellClasses(column: any, value: any): string;
|
|
@@ -400,6 +648,7 @@ export declare class TimeSheetComponent implements OnChanges, AfterViewInit {
|
|
|
400
648
|
downloadCsv(): void;
|
|
401
649
|
onFontChange(): void;
|
|
402
650
|
onGlobalSearch(): void;
|
|
651
|
+
onSearchReset(): void;
|
|
403
652
|
checkFilterChangesEffect(): any;
|
|
404
653
|
selectedCells: any[];
|
|
405
654
|
selectedKeys: Set<string>;
|
|
@@ -441,7 +690,6 @@ export declare class TimeSheetComponent implements OnChanges, AfterViewInit {
|
|
|
441
690
|
rowSelectedIndexes: Set<number>;
|
|
442
691
|
rowSelecting: boolean;
|
|
443
692
|
rowSelectionStartIndex: number | null;
|
|
444
|
-
autoScrollInterval: any;
|
|
445
693
|
get firstSelectedRow(): number | null;
|
|
446
694
|
get lastSelectedRow(): number | null;
|
|
447
695
|
onRowMouseDown(index: number, event: MouseEvent): void;
|
|
@@ -510,19 +758,18 @@ export declare class TimeSheetComponent implements OnChanges, AfterViewInit {
|
|
|
510
758
|
tooltipEditing: boolean;
|
|
511
759
|
currentTooltipField: string | null;
|
|
512
760
|
currentTooltipData: any;
|
|
513
|
-
tooltipPosition: {
|
|
514
|
-
x: number;
|
|
515
|
-
y: number;
|
|
516
|
-
};
|
|
517
761
|
enableDetailEdits(row: any, dataItem: any, col: any): void;
|
|
518
762
|
disableDetailEdits(row: any, dataItem: any, col: any): void;
|
|
519
763
|
tooltipElement: HTMLElement | null;
|
|
520
764
|
getDisplayValue(dataItem: any, field: string): string;
|
|
765
|
+
getFormattedCellValue(row: any, col: any): any;
|
|
521
766
|
enableDetailEditss(row: any, dataItem: any, col: any, breakItem?: any): void;
|
|
522
767
|
disableDetailEditss(row: any, dataItem: any, col: any): void;
|
|
523
768
|
isDetailEditings(row: any, dataItem: any, col: any): boolean;
|
|
524
769
|
isActiveDetailCells(row: any, dataItem: any, col: any): boolean;
|
|
525
770
|
showCustomTooltip(event: MouseEvent, dataItem: any, field: string): void;
|
|
771
|
+
private currentTooltip;
|
|
772
|
+
getEmployeeNameTitle(row: any): string;
|
|
526
773
|
getTooltipContent(dataItem: any, field: string): string;
|
|
527
774
|
getBreakColor(type: string): string;
|
|
528
775
|
minuteOptions: number[];
|
|
@@ -536,11 +783,18 @@ export declare class TimeSheetComponent implements OnChanges, AfterViewInit {
|
|
|
536
783
|
private customTooltipHideTimeout;
|
|
537
784
|
private restrictionTooltipHideTimeout;
|
|
538
785
|
private manualLogsTooltipHideTimeout;
|
|
539
|
-
|
|
540
|
-
|
|
786
|
+
showManualLogsModal: boolean;
|
|
787
|
+
showManualLogsTooltipModal: boolean;
|
|
788
|
+
selectedManualLogs: any[];
|
|
789
|
+
selectedManualLogsRow: any;
|
|
790
|
+
hideTooltipTimeout: any;
|
|
791
|
+
openManualLogsModal(event: MouseEvent, parentRow: any): void;
|
|
792
|
+
showManualLogsTooltip(event: MouseEvent, row: any, d: any): void;
|
|
541
793
|
hideManualLogsTooltip(): void;
|
|
794
|
+
hideRestrictionTooltip(): void;
|
|
795
|
+
closeManualLogsModal(): void;
|
|
542
796
|
preventRestrictionTooltipHide(): void;
|
|
543
|
-
|
|
797
|
+
preventManualLogsModalHide(): void;
|
|
544
798
|
hideCustomTooltip(): void;
|
|
545
799
|
preventCustomTooltipHide(): void;
|
|
546
800
|
restrictionTooltipVisible: boolean;
|
|
@@ -549,12 +803,7 @@ export declare class TimeSheetComponent implements OnChanges, AfterViewInit {
|
|
|
549
803
|
y: number;
|
|
550
804
|
};
|
|
551
805
|
currentRestrictionLogs: any[];
|
|
552
|
-
|
|
553
|
-
manualLogsTooltipPosition: {
|
|
554
|
-
x: number;
|
|
555
|
-
y: number;
|
|
556
|
-
};
|
|
557
|
-
currentManualLogs: any[];
|
|
806
|
+
currentManualLogsRow: any;
|
|
558
807
|
isDetailMenueHidden: boolean;
|
|
559
808
|
openDetailThreeDotsMenus(event: MouseEvent, col: any, row: any): void;
|
|
560
809
|
sortDetailAsc(col: any, row: any): void;
|
|
@@ -578,11 +827,14 @@ export declare class TimeSheetComponent implements OnChanges, AfterViewInit {
|
|
|
578
827
|
groupDetailData(row: any): void;
|
|
579
828
|
ungroupDetailColumn(col: any, row: any): void;
|
|
580
829
|
toggleExpand(row: any): void;
|
|
581
|
-
toggleDetailSideMenu(row: any, tab: 'cols'
|
|
830
|
+
toggleDetailSideMenu(row: any, tab: 'cols'): void;
|
|
582
831
|
onDetailColumnVisibilityChange(row: any): void;
|
|
583
832
|
applyDetailRowFilter(row: any): void;
|
|
833
|
+
applySideMenuFilters(): void;
|
|
834
|
+
resetSideMenuFilters(): void;
|
|
584
835
|
onResizeDetailColumn(event: MouseEvent, row: any, col: any): void;
|
|
585
836
|
getDetailViewportHeight(row: any): number;
|
|
837
|
+
private getAccordionRowHeight;
|
|
586
838
|
onDetailLeftScroll(event: Event, row: any): void;
|
|
587
839
|
onDetailRightScroll(event: Event, row: any): void;
|
|
588
840
|
onDetailCenterScroll(event: Event, row: any): void;
|
|
@@ -616,6 +868,7 @@ export declare class TimeSheetComponent implements OnChanges, AfterViewInit {
|
|
|
616
868
|
private findFocusedDetailRowAndSection;
|
|
617
869
|
private clearOtherDetailSections;
|
|
618
870
|
get hasOpenAccordion(): boolean;
|
|
871
|
+
private hasAccordionStateChanged;
|
|
619
872
|
selectRange(range: Date[], drp: BsDaterangepickerDirective): void;
|
|
620
873
|
onClear(drp: BsDaterangepickerDirective): void;
|
|
621
874
|
onApply(drp: BsDaterangepickerDirective): void;
|
|
@@ -627,7 +880,49 @@ export declare class TimeSheetComponent implements OnChanges, AfterViewInit {
|
|
|
627
880
|
clearDateRange(): void;
|
|
628
881
|
togglePicker(picker: BsDaterangepickerDirective): void;
|
|
629
882
|
onRangeSelected(range: (Date | undefined)[] | undefined, picker: BsDaterangepickerDirective): void;
|
|
883
|
+
onMainScroll(event: Event): void;
|
|
884
|
+
ngOnDestroy(): void;
|
|
885
|
+
emailClicked: EventEmitter<void>;
|
|
886
|
+
addAttendanceClicked: EventEmitter<void>;
|
|
887
|
+
isStartDateNotEqualToEndDate: () => boolean;
|
|
888
|
+
onEmailClick(): void;
|
|
889
|
+
onAddAttendanceClick(): void;
|
|
890
|
+
onBackPayClick(): void;
|
|
891
|
+
onGrandTotalClick(): void;
|
|
892
|
+
onPrintClick(): void;
|
|
893
|
+
onExportClick(): void;
|
|
894
|
+
onExportDailyClick(): void;
|
|
895
|
+
backPayClicked: EventEmitter<void>;
|
|
896
|
+
grandTotalClicked: EventEmitter<void>;
|
|
897
|
+
printClicked: EventEmitter<void>;
|
|
898
|
+
exportClicked: EventEmitter<void>;
|
|
899
|
+
exportDailyClicked: EventEmitter<void>;
|
|
900
|
+
get areDatesSelectedAndEqual(): boolean;
|
|
901
|
+
isArray(value: any): boolean;
|
|
902
|
+
getTimelineHours(): string[];
|
|
903
|
+
getTimePosition(timeString: string): number;
|
|
904
|
+
getWorkDurationWidth(row: any): number;
|
|
905
|
+
getBreakDurationWidth(breakItem: any): number;
|
|
906
|
+
getCurrentMonthYear(): string;
|
|
907
|
+
getCalendarWeeks(): any[][];
|
|
908
|
+
getEntriesForDate(date: Date): any[];
|
|
909
|
+
getEntryColor(entry: any): string;
|
|
910
|
+
getEntryTooltip(entry: any): string;
|
|
911
|
+
getEntryTime(entry: any): string;
|
|
912
|
+
calculateTotalHours(row: any): string;
|
|
913
|
+
getAvatarColor(name: string): string;
|
|
914
|
+
getInitialss(name: string): string;
|
|
915
|
+
getStatusBadgeClass(status: string): string;
|
|
916
|
+
getHeatmapMonths(): string[];
|
|
917
|
+
getHeatmapWeeks(): any[][];
|
|
918
|
+
getActivityForDate(date: Date): number;
|
|
919
|
+
getHeatmapColor(activity: number): string;
|
|
920
|
+
getHeatmapTooltip(day: any): string;
|
|
921
|
+
shortLeaveTooltipPosition: {
|
|
922
|
+
x: number;
|
|
923
|
+
y: number;
|
|
924
|
+
};
|
|
630
925
|
static ɵfac: i0.ɵɵFactoryDeclaration<TimeSheetComponent, never>;
|
|
631
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TimeSheetComponent, "time-sheet", never, { "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; }; "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; }; "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; }; "isSingleDay": { "alias": "isSingleDay"; "required": false; }; "leftPinnedBoxshadow": { "alias": "leftPinnedBoxshadow"; "required": false; }; "rightPinnedBoxshadow": { "alias": "rightPinnedBoxshadow"; "required": false; }; "selectedRowsBackgroundColor": { "alias": "selectedRowsBackgroundColor"; "required": false; }; "nestedTableHeaderBAckgroundColor": { "alias": "nestedTableHeaderBAckgroundColor"; "required": false; }; "tableView": { "alias": "tableView"; "required": false; }; "columnThreedotsMunuConfig": { "alias": "columnThreedotsMunuConfig"; "required": false; }; "enableInfiniteScroll": { "alias": "enableInfiniteScroll"; "required": false; }; "hasMoreData": { "alias": "hasMoreData"; "required": false; }; "loadingMore": { "alias": "loadingMore"; "required": false; }; "detailsIconPosition": { "alias": "detailsIconPosition"; "required": false; }; "detailsPosition": { "alias": "detailsPosition"; "required": false; }; }, { "loadMoreData": "loadMoreData"; "changeLayout": "changeLayout"; "filterOptions": "filterOptions"; "genericEvent": "genericEvent"; "tablePresetConfig": "tablePresetConfig"; "sortingOrderOptions": "sortingOrderOptions"; "createUpdateConfigListing": "createUpdateConfigListing"; "loadMore": "loadMore"; }, never, never, true, never>;
|
|
926
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TimeSheetComponent, "time-sheet", never, { "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; }; "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; }; "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; }; "isSingleDay": { "alias": "isSingleDay"; "required": false; }; "leftPinnedBoxshadow": { "alias": "leftPinnedBoxshadow"; "required": false; }; "rightPinnedBoxshadow": { "alias": "rightPinnedBoxshadow"; "required": false; }; "enableAccordionShadow": { "alias": "enableAccordionShadow"; "required": false; }; "enableAccordionSeparators": { "alias": "enableAccordionSeparators"; "required": false; }; "enableRowShading": { "alias": "enableRowShading"; "required": false; }; "selectedRowsBackgroundColor": { "alias": "selectedRowsBackgroundColor"; "required": false; }; "nestedTableHeaderBAckgroundColor": { "alias": "nestedTableHeaderBAckgroundColor"; "required": false; }; "tableView": { "alias": "tableView"; "required": false; }; "columnThreedotsMunuConfig": { "alias": "columnThreedotsMunuConfig"; "required": false; }; "timezonePrefs": { "alias": "timezonePrefs"; "required": false; }; "enableProgressiveLoading": { "alias": "enableProgressiveLoading"; "required": false; }; "progressiveChunkSize": { "alias": "progressiveChunkSize"; "required": false; }; "progressiveDelay": { "alias": "progressiveDelay"; "required": false; }; "enableInfiniteScroll": { "alias": "enableInfiniteScroll"; "required": false; }; "hasMoreData": { "alias": "hasMoreData"; "required": false; }; "loadingMore": { "alias": "loadingMore"; "required": false; }; "detailsIconPosition": { "alias": "detailsIconPosition"; "required": false; }; "detailsPosition": { "alias": "detailsPosition"; "required": false; }; "isStartDateNotEqualToEndDate": { "alias": "isStartDateNotEqualToEndDate"; "required": false; }; }, { "onShortBreakClick": "onShortBreakClick"; "searchEvent": "searchEvent"; "loadMoreData": "loadMoreData"; "changeLayout": "changeLayout"; "filterOptions": "filterOptions"; "genericEvent": "genericEvent"; "tablePresetConfig": "tablePresetConfig"; "sortingOrderOptions": "sortingOrderOptions"; "createUpdateConfigListing": "createUpdateConfigListing"; "loadMore": "loadMore"; "emailClicked": "emailClicked"; "addAttendanceClicked": "addAttendanceClicked"; "backPayClicked": "backPayClicked"; "grandTotalClicked": "grandTotalClicked"; "printClicked": "printClicked"; "exportClicked": "exportClicked"; "exportDailyClicked": "exportDailyClicked"; }, never, never, true, never>;
|
|
632
927
|
}
|
|
633
928
|
export {};
|