ms-time-sheet 0.0.9 → 0.0.12

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.
@@ -5,6 +5,11 @@ import { BsDaterangepickerDirective, BsDaterangepickerConfig } from 'ngx-bootstr
5
5
  import { CdkDrag, CdkDragDrop, CdkDragEnd, CdkDragEnter, CdkDragExit, CdkDragMove, CdkDragSortEvent, CdkDragStart } from '@angular/cdk/drag-drop';
6
6
  import { CdkDropList } from '@angular/cdk/drag-drop';
7
7
  import * as i0 from "@angular/core";
8
+ export interface DateTimePrefs {
9
+ timeZone: string;
10
+ dateFormat: string;
11
+ timeFormat: string;
12
+ }
8
13
  interface CellPosition {
9
14
  rowIndex: number;
10
15
  colIndex: number;
@@ -17,13 +22,13 @@ interface PerformanceMetrics {
17
22
  scrollTime: number;
18
23
  filterTime: number;
19
24
  sortTime: number;
20
- infiniteScrollTime: number;
21
25
  lastRenderStart: number;
22
26
  renderCount: number;
23
27
  }
24
28
  export declare class TimeSheetComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {
25
29
  private injector;
26
30
  private vcr;
31
+ private commonService;
27
32
  expandedRows: Set<string>;
28
33
  onShortBreakClick: EventEmitter<any>;
29
34
  searchEvent: EventEmitter<any>;
@@ -47,9 +52,6 @@ export declare class TimeSheetComponent implements OnInit, OnChanges, AfterViewI
47
52
  private lastScrollTop;
48
53
  private scrollVelocity;
49
54
  private scrollAcceleration;
50
- private dataLoadQueue;
51
- private isLoadingData;
52
- private lastScrollPosition;
53
55
  private componentRefs;
54
56
  private eventListeners;
55
57
  private resizeObservers;
@@ -153,6 +155,7 @@ export declare class TimeSheetComponent implements OnInit, OnChanges, AfterViewI
153
155
  showResetColumns: boolean;
154
156
  };
155
157
  timezonePrefs: any;
158
+ prefs: DateTimePrefs;
156
159
  shouldShowButton(condition: string | null): boolean;
157
160
  getButtonPermission(button: any): boolean;
158
161
  enableProgressiveLoading: boolean;
@@ -161,12 +164,9 @@ export declare class TimeSheetComponent implements OnInit, OnChanges, AfterViewI
161
164
  private progressiveLoadingChunks;
162
165
  private progressiveLoadingIndex;
163
166
  private isProgressiveLoading;
164
- enableInfiniteScroll: boolean;
165
- hasMoreData: boolean;
166
- loadingMore: boolean;
167
- loadMoreData: EventEmitter<void>;
168
167
  changeLayout: EventEmitter<any>;
169
168
  filterOptions: EventEmitter<any>;
169
+ filterCleared: EventEmitter<boolean>;
170
170
  genericEvent: EventEmitter<any>;
171
171
  tablePresetConfig: EventEmitter<any>;
172
172
  sortingOrderOptions: EventEmitter<any>;
@@ -255,7 +255,8 @@ export declare class TimeSheetComponent implements OnInit, OnChanges, AfterViewI
255
255
  replace: string;
256
256
  }[];
257
257
  transformStatus(status: string): string;
258
- constructor(injector: Injector, vcr: ViewContainerRef);
258
+ constructor(injector: Injector, vcr: ViewContainerRef, commonService: CommonService);
259
+ private datePipe;
259
260
  ngOnInit(): void;
260
261
  private initializeLazyModules;
261
262
  private initializeReactiveStreams;
@@ -271,15 +272,8 @@ export declare class TimeSheetComponent implements OnInit, OnChanges, AfterViewI
271
272
  private calculateStartIndex;
272
273
  private calculateTranslateY;
273
274
  private previousScrollDirection;
274
- private handleAdvancedInfiniteScroll;
275
- private adaptiveDataWindowing;
276
- private isPrefetching;
277
- private prefetchData;
278
- private prefetchNextBatch;
279
275
  private handleOptimizedFilter;
280
276
  private handleViewportResize;
281
- private loadMoreDataOptimized;
282
- private optimizeDataWindow;
283
277
  ngOnChanges(changes: SimpleChanges): Promise<void>;
284
278
  applyFilteroptionList(): Promise<void>;
285
279
  leftPinnedColumns: any[];
@@ -414,7 +408,7 @@ export declare class TimeSheetComponent implements OnInit, OnChanges, AfterViewI
414
408
  closeFilterDropdowns(event: MouseEvent): void;
415
409
  private hasParentWithClass;
416
410
  isMenueHidden: boolean;
417
- openThreeDotsMenu(event: MouseEvent, child: any): void;
411
+ openThreeDotsMenu(event: MouseEvent, child: any, keepOriginalPosition?: boolean): void;
418
412
  sortAsc(col: any): void;
419
413
  sortDesc(col: any): void;
420
414
  resetSort(col: any): void;
@@ -560,6 +554,7 @@ export declare class TimeSheetComponent implements OnInit, OnChanges, AfterViewI
560
554
  isFilterOpen: boolean;
561
555
  selectedColumnForFilter: any;
562
556
  showFilters: boolean;
557
+ columnFilter: string;
563
558
  openFilter(col: any): void;
564
559
  firstValue: any;
565
560
  firstCondition: string;
@@ -605,6 +600,11 @@ export declare class TimeSheetComponent implements OnInit, OnChanges, AfterViewI
605
600
  trackByTable(index: number): number;
606
601
  activeRow: any;
607
602
  activeRowCol: any;
603
+ isMandatory(col: any): boolean;
604
+ areAllNonMandatoryVisible(): boolean;
605
+ areAllNonMandatoryHidden(): boolean;
606
+ toggleAllVisibleColumns(): void;
607
+ toggleAllInvisibleColumns(): void;
608
608
  getCellKey(row: any, col: any): string;
609
609
  expandedCells: Map<string, number>;
610
610
  private zCounter;
@@ -757,7 +757,6 @@ export declare class TimeSheetComponent implements OnInit, OnChanges, AfterViewI
757
757
  showCustomTooltip(event: MouseEvent, dataItem: any, field: string): void;
758
758
  private currentTooltip;
759
759
  getEmployeeNameTitle(row: any): string;
760
- getTooltipContent(dataItem: any, field: string): string;
761
760
  minuteOptions: number[];
762
761
  tooltipMinutes: number;
763
762
  formattedDuration: string;
@@ -918,12 +917,13 @@ export declare class TimeSheetComponent implements OnInit, OnChanges, AfterViewI
918
917
  getActivityForDate(date: Date): number;
919
918
  getHeatmapColor(activity: number): string;
920
919
  getHeatmapTooltip(day: any): string;
921
- formatDate(date: string | Date): string;
920
+ getTimeValue(value: any): string;
921
+ formatTime(value: any): string;
922
922
  showShortLeaveTooltip(event: MouseEvent, row: any): void;
923
923
  hideShortLeaveTooltip(): void;
924
924
  preventShortLeaveTooltipHide(): void;
925
925
  onDetailBadgeOverflowCountClick(col: any, detailRow: any, badgeComponent?: any): void;
926
926
  static ɵfac: i0.ɵɵFactoryDeclaration<TimeSheetComponent, never>;
927
- 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; }; "enableExport": { "alias": "enableExport"; "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; }; "selectedPresetId": { "alias": "selectedPresetId"; "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; }; "buttons": { "alias": "buttons"; "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"; "deleteClicked": "deleteClicked"; }, never, never, true, never>;
927
+ 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; }; "enableExport": { "alias": "enableExport"; "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; }; "selectedPresetId": { "alias": "selectedPresetId"; "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; }; "detailsIconPosition": { "alias": "detailsIconPosition"; "required": false; }; "detailsPosition": { "alias": "detailsPosition"; "required": false; }; "buttons": { "alias": "buttons"; "required": false; }; "isStartDateNotEqualToEndDate": { "alias": "isStartDateNotEqualToEndDate"; "required": false; }; }, { "onShortBreakClick": "onShortBreakClick"; "searchEvent": "searchEvent"; "changeLayout": "changeLayout"; "filterOptions": "filterOptions"; "filterCleared": "filterCleared"; "genericEvent": "genericEvent"; "tablePresetConfig": "tablePresetConfig"; "sortingOrderOptions": "sortingOrderOptions"; "createUpdateConfigListing": "createUpdateConfigListing"; "loadMore": "loadMore"; "emailClicked": "emailClicked"; "addAttendanceClicked": "addAttendanceClicked"; "backPayClicked": "backPayClicked"; "grandTotalClicked": "grandTotalClicked"; "printClicked": "printClicked"; "exportClicked": "exportClicked"; "exportDailyClicked": "exportDailyClicked"; "deleteClicked": "deleteClicked"; }, never, never, true, never>;
928
928
  }
929
929
  export {};
@@ -0,0 +1,15 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TimezoneFormatPipe implements PipeTransform {
4
+ private formatCache;
5
+ transform(value: string | Date | null | undefined, prefs?: {
6
+ timeZone: string;
7
+ dateFormat: string;
8
+ timeFormat: string;
9
+ }, formatType?: 'date' | 'time' | 'datetime'): string;
10
+ private formatDate;
11
+ private parseFormatToIntlOptions;
12
+ private convertAngularToMomentFormat;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<TimezoneFormatPipe, never>;
14
+ static ɵpipe: i0.ɵɵPipeDeclaration<TimezoneFormatPipe, "timezoneFormat", true>;
15
+ }
@@ -1,3 +1,4 @@
1
+ import { EventEmitter } from '@angular/core';
1
2
  import * as i0 from "@angular/core";
2
3
  export declare class CommonService {
3
4
  constructor();
@@ -9,6 +10,15 @@ export declare class CommonService {
9
10
  getExpandedRowCount(data: any[]): number;
10
11
  getFiltersFromColumns(columns: any[], filtersConfig: any[]): any[];
11
12
  applyFiltersToColumns(columns: any[], filters: any[]): Promise<any[]>;
13
+ globalSearch: EventEmitter<any>;
14
+ private userData;
15
+ setUserData(user: any): void;
16
+ formatDateTimeWithPrefs(): {
17
+ timeZone: any;
18
+ dateFormat: string;
19
+ timeFormat: string;
20
+ };
21
+ private convertMomentToAngularDateFormat;
12
22
  activeFilteredColumns: any[];
13
23
  updateActiveFilteredColumns(columns: any[]): any[];
14
24
  hasFieldChanged(current: any, original: any, type: string): boolean;
package/package.json CHANGED
@@ -1,9 +1,11 @@
1
1
  {
2
2
  "name": "ms-time-sheet",
3
- "version": "0.0.9",
3
+ "version": "0.0.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
- "@angular/core": "^18.2.0"
6
+ "@angular/core": "^18.2.0",
7
+ "moment": "^2.30.1",
8
+ "moment-timezone": "^0.5.45"
7
9
  },
8
10
  "dependencies": {
9
11
  "tslib": "^2.3.0"
package/public-api.d.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  export * from './lib/ms-time-sheet.service';
2
2
  export * from './lib/ms-time-sheet.component';
3
+ export * from './lib/services/common.service';
4
+ export * from './lib/pipes/timezone-format.pipe';