osl-base-extended 7.0.0 → 7.2.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "osl-base-extended",
3
- "version": "7.0.0",
3
+ "version": "7.2.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.2.0",
6
6
  "@angular/core": "^21.2.0"
@@ -25,4 +25,4 @@
25
25
  "module": "fesm2022/osl-base-extended.mjs",
26
26
  "typings": "types/osl-base-extended.d.ts",
27
27
  "type": "module"
28
- }
28
+ }
@@ -5,11 +5,9 @@ import { MatDialogRef } from '@angular/material/dialog';
5
5
  import { HttpHeaders, HttpClient } from '@angular/common/http';
6
6
  import * as i24 from '@angular/forms';
7
7
  import { FormControl } from '@angular/forms';
8
- import * as i34 from '@angular/cdk/scrolling';
9
- import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
10
- import * as i35 from '@angular/cdk/drag-drop';
8
+ import * as i34 from '@angular/cdk/drag-drop';
11
9
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
12
- import * as i37 from '@angular/cdk/overlay';
10
+ import * as i36 from '@angular/cdk/overlay';
13
11
  import { Overlay } from '@angular/cdk/overlay';
14
12
  import * as i23 from '@angular/common';
15
13
  import * as i25 from '@angular/material/form-field';
@@ -19,9 +17,9 @@ import * as i29 from '@angular/material/button';
19
17
  import * as rxjs from 'rxjs';
20
18
  import * as i32 from '@angular/material/datepicker';
21
19
  import * as i33 from '@angular/material/menu';
22
- import * as i36 from '@angular/material/tooltip';
23
- import * as i38 from '@angular/cdk/portal';
24
- import * as i39 from '@ngxmc/datetime-picker';
20
+ import * as i35 from '@angular/material/tooltip';
21
+ import * as i37 from '@angular/cdk/portal';
22
+ import * as i38 from '@ngxmc/datetime-picker';
25
23
  import { CanDeactivateFn } from '@angular/router';
26
24
 
27
25
  declare class OslBaseExtended {
@@ -597,6 +595,7 @@ interface OslSetupState {
597
595
 
598
596
  type OslDisplayType = 'date' | 'datetime' | 'time' | 'link' | 'customDateFormat' | 'boolean';
599
597
  interface OslGridColumn {
598
+ col?: number;
600
599
  key: string;
601
600
  label: string;
602
601
  enums?: {
@@ -716,6 +715,7 @@ declare class OslSetup implements OnInit, OnChanges, AfterViewInit {
716
715
  saveLoading: boolean;
717
716
  restoredRow: any;
718
717
  private _pendingScrollTop;
718
+ private _pendingCardScrollTop;
719
719
  private _isRestoring;
720
720
  private _pendingAutoEditId;
721
721
  formBodyTpl: TemplateRef<any>;
@@ -723,7 +723,7 @@ declare class OslSetup implements OnInit, OnChanges, AfterViewInit {
723
723
  customFooterWrapperTpl: TemplateRef<any>;
724
724
  searchbar?: OslSearchbar;
725
725
  gridRef: OslGrid | undefined;
726
- cardViewport?: CdkVirtualScrollViewport;
726
+ cardGridRef?: ElementRef<HTMLDivElement>;
727
727
  title: string | undefined;
728
728
  columns: OslGridColumn[];
729
729
  datasource: any[];
@@ -748,12 +748,12 @@ declare class OslSetup implements OnInit, OnChanges, AfterViewInit {
748
748
  stateKey: string;
749
749
  primaryKey: string;
750
750
  onSave: ((row?: any) => boolean | undefined) | undefined;
751
- /** Fixed page size used for card view infinite scroll. Defaults to pageSize. */
751
+ /** Fixed page size used for card view pagination. Defaults to pageSize. */
752
752
  cardPageSize?: number;
753
753
  /** Optional custom card template. Context: { $implicit: row, index: number } */
754
754
  cardTemplate?: TemplateRef<any>;
755
- /** Height (px) of each card row used by the virtual scroll engine. Default: 70. */
756
- cardHeightForVirtualscroll: number;
755
+ /** Bootstrap col-* class number for each field in the card body. Default: 3 (4 per row). */
756
+ cardCol: number;
757
757
  onSearch: EventEmitter<string>;
758
758
  onAdd: EventEmitter<void>;
759
759
  onEdit: EventEmitter<any>;
@@ -767,17 +767,13 @@ declare class OslSetup implements OnInit, OnChanges, AfterViewInit {
767
767
  dialogMode: 'add' | 'edit';
768
768
  _dialogRef: MatDialogRef<any> | null;
769
769
  viewMode: 'table' | 'card';
770
- cardDatasource: any[];
771
- cardPage: number;
772
- allCardsLoaded: boolean;
770
+ cardCurrentPage: number;
771
+ cardPageSizeOptions: number[];
773
772
  cardOpenMenuIndex: number | null;
774
773
  cardMenuPosition: {
775
774
  top: number;
776
775
  left: number;
777
776
  };
778
- private _cardExpectedPage;
779
- private _cardRestoreTargetPage;
780
- private _needsInitialCardLoad;
781
777
  onDocumentClick(): void;
782
778
  get hasForm(): boolean;
783
779
  get _effectiveCardPageSize(): number;
@@ -785,19 +781,22 @@ declare class OslSetup implements OnInit, OnChanges, AfterViewInit {
785
781
  get cardTitleColumn(): OslGridColumn | undefined;
786
782
  get cardBodyColumns(): OslGridColumn[];
787
783
  get skeletonCardRows(): number[];
788
- trackByCard: (_: number, row: any) => any;
784
+ get _cardTotal(): number;
785
+ get cardTotalPages(): number;
786
+ get cardPagedData(): any[];
787
+ get cardPageNumbers(): number[];
788
+ get cardStartRecord(): number;
789
+ get cardEndRecord(): number;
790
+ cardGoToPage(page: number): void;
791
+ cardOnPageSizeChange(size: number): void;
789
792
  ngOnInit(): void;
790
793
  ngAfterViewInit(): void;
791
794
  ngOnChanges(changes: SimpleChanges): void;
792
795
  private _getViewKey;
793
796
  private _loadViewMode;
794
797
  toggleView(mode: 'table' | 'card'): void;
795
- private _startCardLoad;
796
- private _loadCardPageLocally;
797
- loadMoreCards(): void;
798
- onVirtualScrollIndexChange(firstIndex: number): void;
799
- isHighlightedCard(row: any): boolean;
800
798
  toggleCardMenu(index: number, event: Event): void;
799
+ isHighlightedCard(row: any): boolean;
801
800
  getCellValue(row: any, col: OslGridColumn): string;
802
801
  getCardInitial(row: any): string;
803
802
  hasVisibleActions(row: any): boolean;
@@ -812,7 +811,7 @@ declare class OslSetup implements OnInit, OnChanges, AfterViewInit {
812
811
  saveDialog(): Promise<void>;
813
812
  private _openDialog;
814
813
  static ɵfac: i0.ɵɵFactoryDeclaration<OslSetup, never>;
815
- static ɵcmp: i0.ɵɵComponentDeclaration<OslSetup, "osl-setup", never, { "title": { "alias": "title"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "datasource": { "alias": "datasource"; "required": false; }; "isPaginated": { "alias": "isPaginated"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "autoMode": { "alias": "autoMode"; "required": false; }; "tableHeight": { "alias": "tableHeight"; "required": false; }; "totalRecords": { "alias": "totalRecords"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "dialogWidth": { "alias": "dialogWidth"; "required": false; }; "formElements": { "alias": "formElements"; "required": false; }; "beforeDisplay": { "alias": "beforeDisplay"; "required": false; }; "onAddEditFn": { "alias": "onAddEditFn"; "required": false; }; "isLister": { "alias": "isLister"; "required": false; }; "canAdd": { "alias": "canAdd"; "required": false; }; "canEdit": { "alias": "canEdit"; "required": false; }; "canDelete": { "alias": "canDelete"; "required": false; }; "moreMenuActions": { "alias": "moreMenuActions"; "required": false; }; "customFormFooter": { "alias": "customFormFooter"; "required": false; }; "customHeaderTemp": { "alias": "customHeaderTemp"; "required": false; }; "partialCustomHeaderTemp": { "alias": "partialCustomHeaderTemp"; "required": false; }; "stateKey": { "alias": "stateKey"; "required": false; }; "primaryKey": { "alias": "primaryKey"; "required": false; }; "onSave": { "alias": "onSave"; "required": false; }; "cardPageSize": { "alias": "cardPageSize"; "required": false; }; "cardTemplate": { "alias": "cardTemplate"; "required": false; }; "cardHeightForVirtualscroll": { "alias": "cardHeightForVirtualscroll"; "required": false; }; }, { "onSearch": "onSearch"; "onAdd": "onAdd"; "onEdit": "onEdit"; "onDelete": "onDelete"; "pageChange": "pageChange"; "pageSizeChange": "pageSizeChange"; "sortChange": "sortChange"; "onRowClick": "onRowClick"; "onStateRestored": "onStateRestored"; }, never, never, false, never>;
814
+ static ɵcmp: i0.ɵɵComponentDeclaration<OslSetup, "osl-setup", never, { "title": { "alias": "title"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "datasource": { "alias": "datasource"; "required": false; }; "isPaginated": { "alias": "isPaginated"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "autoMode": { "alias": "autoMode"; "required": false; }; "tableHeight": { "alias": "tableHeight"; "required": false; }; "totalRecords": { "alias": "totalRecords"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "dialogWidth": { "alias": "dialogWidth"; "required": false; }; "formElements": { "alias": "formElements"; "required": false; }; "beforeDisplay": { "alias": "beforeDisplay"; "required": false; }; "onAddEditFn": { "alias": "onAddEditFn"; "required": false; }; "isLister": { "alias": "isLister"; "required": false; }; "canAdd": { "alias": "canAdd"; "required": false; }; "canEdit": { "alias": "canEdit"; "required": false; }; "canDelete": { "alias": "canDelete"; "required": false; }; "moreMenuActions": { "alias": "moreMenuActions"; "required": false; }; "customFormFooter": { "alias": "customFormFooter"; "required": false; }; "customHeaderTemp": { "alias": "customHeaderTemp"; "required": false; }; "partialCustomHeaderTemp": { "alias": "partialCustomHeaderTemp"; "required": false; }; "stateKey": { "alias": "stateKey"; "required": false; }; "primaryKey": { "alias": "primaryKey"; "required": false; }; "onSave": { "alias": "onSave"; "required": false; }; "cardPageSize": { "alias": "cardPageSize"; "required": false; }; "cardTemplate": { "alias": "cardTemplate"; "required": false; }; "cardCol": { "alias": "cardCol"; "required": false; }; }, { "onSearch": "onSearch"; "onAdd": "onAdd"; "onEdit": "onEdit"; "onDelete": "onDelete"; "pageChange": "pageChange"; "pageSizeChange": "pageSizeChange"; "sortChange": "sortChange"; "onRowClick": "onRowClick"; "onStateRestored": "onStateRestored"; }, never, never, false, never>;
816
815
  }
817
816
 
818
817
  interface OslFormGridColumn {
@@ -1412,7 +1411,7 @@ declare class OslTooltipDirective implements OnDestroy {
1412
1411
 
1413
1412
  declare class FormStructureModule {
1414
1413
  static ɵfac: i0.ɵɵFactoryDeclaration<FormStructureModule, never>;
1415
- static ɵmod: i0.ɵɵNgModuleDeclaration<FormStructureModule, [typeof DynamicForm, typeof Oslinput, typeof Osltextarea, typeof OslSelect, typeof OslRadio, typeof OslSlideToggle, typeof OslAutocomplete, typeof OslFileUpload, typeof OslDatepicker, typeof OslDatetimepicker, typeof OslCheckbox, typeof OslButton, typeof OslSetup, typeof OslSearchbar, typeof OslGrid, typeof OslFormGrid, typeof OslAutocompleteLister, typeof OslReportGrid, typeof OslReportForm, typeof OslUserLog, typeof OslMenu, typeof OslMenuTriggerFor, typeof OslDocumentUploader], [typeof i23.NgTemplateOutlet, typeof i23.NgStyle, typeof i23.NgClass, typeof i23.DatePipe, typeof i23.DecimalPipe, typeof i23.UpperCasePipe, typeof i24.FormsModule, typeof i24.ReactiveFormsModule, typeof i25.MatFormFieldModule, typeof i26.MatInputModule, typeof i25.MatHint, typeof i27.MatIconModule, typeof i28.MatDialogModule, typeof i29.MatButtonModule, typeof OslSkeletonModule, typeof OslTooltipDirective, typeof i32.MatDatepickerModule, typeof i33.MatMenuModule, typeof i34.ScrollingModule, typeof i35.DragDropModule, typeof i36.MatTooltipModule, typeof i37.OverlayModule, typeof i38.PortalModule, typeof i39.NgxMatDatetimepicker, typeof i39.NgxMatDatepickerInput], [typeof DynamicForm, typeof OslSetup, typeof OslGrid, typeof OslFormGrid, typeof Oslinput, typeof OslUserLog, typeof Osltextarea, typeof OslSelect, typeof OslRadio, typeof OslSlideToggle, typeof OslAutocomplete, typeof OslFileUpload, typeof OslDatepicker, typeof OslDatetimepicker, typeof OslCheckbox, typeof OslButton, typeof OslSetup, typeof OslSearchbar, typeof OslAutocompleteLister, typeof OslReportGrid, typeof OslReportForm, typeof OslMenu, typeof OslMenuTriggerFor, typeof OslDocumentUploader, typeof OslTooltipDirective]>;
1414
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FormStructureModule, [typeof DynamicForm, typeof Oslinput, typeof Osltextarea, typeof OslSelect, typeof OslRadio, typeof OslSlideToggle, typeof OslAutocomplete, typeof OslFileUpload, typeof OslDatepicker, typeof OslDatetimepicker, typeof OslCheckbox, typeof OslButton, typeof OslSetup, typeof OslSearchbar, typeof OslGrid, typeof OslFormGrid, typeof OslAutocompleteLister, typeof OslReportGrid, typeof OslReportForm, typeof OslUserLog, typeof OslMenu, typeof OslMenuTriggerFor, typeof OslDocumentUploader], [typeof i23.NgTemplateOutlet, typeof i23.NgStyle, typeof i23.NgClass, typeof i23.DatePipe, typeof i23.DecimalPipe, typeof i23.UpperCasePipe, typeof i24.FormsModule, typeof i24.ReactiveFormsModule, typeof i25.MatFormFieldModule, typeof i26.MatInputModule, typeof i25.MatHint, typeof i27.MatIconModule, typeof i28.MatDialogModule, typeof i29.MatButtonModule, typeof OslSkeletonModule, typeof OslTooltipDirective, typeof i32.MatDatepickerModule, typeof i33.MatMenuModule, typeof i34.DragDropModule, typeof i35.MatTooltipModule, typeof i36.OverlayModule, typeof i37.PortalModule, typeof i38.NgxMatDatetimepicker, typeof i38.NgxMatDatepickerInput], [typeof DynamicForm, typeof OslSetup, typeof OslGrid, typeof OslFormGrid, typeof Oslinput, typeof OslUserLog, typeof Osltextarea, typeof OslSelect, typeof OslRadio, typeof OslSlideToggle, typeof OslAutocomplete, typeof OslFileUpload, typeof OslDatepicker, typeof OslDatetimepicker, typeof OslCheckbox, typeof OslButton, typeof OslSetup, typeof OslSearchbar, typeof OslAutocompleteLister, typeof OslReportGrid, typeof OslReportForm, typeof OslMenu, typeof OslMenuTriggerFor, typeof OslDocumentUploader, typeof OslTooltipDirective]>;
1416
1415
  static ɵinj: i0.ɵɵInjectorDeclaration<FormStructureModule>;
1417
1416
  }
1418
1417