@elderbyte/ngx-starter 19.2.0 → 19.2.2

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.
@@ -1,5 +1,4 @@
1
1
  import { Observable } from 'rxjs';
2
- import { Signal } from '@angular/core';
3
2
  export type KeyGetterFn<T> = (item: T) => any;
4
3
  /**
5
4
  * Provides a model of a selection.
@@ -17,7 +16,6 @@ export declare class SelectionModel<T> {
17
16
  private _multiple;
18
17
  private readonly _selectionMap;
19
18
  private readonly _selection;
20
- private readonly _selectionSig;
21
19
  private _keyGetterFn;
22
20
  private _selectableEvaluatorFn;
23
21
  static readonly FallbackKeyGetterFn: (a: any) => any;
@@ -42,7 +40,6 @@ export declare class SelectionModel<T> {
42
40
  **************************************************************************/
43
41
  get changed(): Observable<T[]>;
44
42
  get selection(): Observable<T[]>;
45
- get selectionSig(): Signal<T[]>;
46
43
  get selectionSnapshot(): T[];
47
44
  set selectableEvaluatorFn(fn: (item: T) => boolean);
48
45
  set keyGetterFn(fn: KeyGetterFn<T>);
@@ -40,7 +40,7 @@ export declare class ElderGridComponent<T = any> extends ElderDataViewBaseCompon
40
40
  * *
41
41
  **************************************************************************/
42
42
  private readonly log;
43
- private _columnCount;
43
+ private _staticColumnCount$;
44
44
  private readonly sizeToColumns;
45
45
  /**
46
46
  * Load next chunk after current is done
@@ -55,7 +55,7 @@ export declare class ElderGridComponent<T = any> extends ElderDataViewBaseCompon
55
55
  footerVisible: boolean;
56
56
  itemHeight: number;
57
57
  readonly tileOutlined: import("@angular/core").InputSignalWithTransform<boolean, import("@angular/cdk/coercion").BooleanInput>;
58
- responsiveColumnCount: boolean;
58
+ readonly responsiveColumnCount: import("@angular/core").InputSignalWithTransform<boolean, import("@angular/cdk/coercion").BooleanInput>;
59
59
  virtualScrollViewPort: CdkVirtualScrollViewport;
60
60
  readonly tiles: Signal<readonly ElderTileComponent<any>[]>;
61
61
  availableCompositeSorts: CompositeSort[];
@@ -67,6 +67,9 @@ export declare class ElderGridComponent<T = any> extends ElderDataViewBaseCompon
67
67
  matPaginator: MatPaginator;
68
68
  toolbarTemplateQuery: TemplateRef<any>;
69
69
  private _toolbarTemplate;
70
+ readonly activeColumnCount$: Observable<number>;
71
+ readonly activeColumnCount: Signal<number>;
72
+ readonly rowClass: Signal<string>;
70
73
  /***************************************************************************
71
74
  * *
72
75
  * Constructor *
@@ -110,9 +113,9 @@ export declare class ElderGridComponent<T = any> extends ElderDataViewBaseCompon
110
113
  private buildGridRow;
111
114
  private rowId;
112
115
  private responsiveColumn;
113
- private activeColumnCount;
116
+ private initialColumnCount;
114
117
  private getTileForItem;
115
118
  static ɵfac: i0.ɵɵFactoryDeclaration<ElderGridComponent<any>, [{ optional: true; }, { optional: true; skipSelf: true; }, null]>;
116
- static ɵcmp: i0.ɵɵComponentDeclaration<ElderGridComponent<any>, "elder-grid", never, { "toolbarVisible": { "alias": "toolbarVisible"; "required": false; }; "footerVisible": { "alias": "footerVisible"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; "tileOutlined": { "alias": "tileOutlined"; "required": false; "isSignal": true; }; "responsiveColumnCount": { "alias": "responsiveColumnCount"; "required": false; }; "availableSorts": { "alias": "availableSorts"; "required": false; }; "sortTranslationPrefix": { "alias": "sortTranslationPrefix"; "required": false; }; "hiddenField": { "alias": "hiddenField"; "required": false; }; "selectionVisible": { "alias": "selectionVisible"; "required": false; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; }; "tileTemplate": { "alias": "tileTemplate"; "required": false; }; "toolbarTemplate": { "alias": "toolbarTemplate"; "required": false; }; "data": { "alias": "data"; "required": false; }; "columnCount": { "alias": "columnCount"; "required": false; }; }, {}, ["tileTemplateQuery", "toolbarTemplateQuery"], never, true, never>;
119
+ static ɵcmp: i0.ɵɵComponentDeclaration<ElderGridComponent<any>, "elder-grid", never, { "toolbarVisible": { "alias": "toolbarVisible"; "required": false; }; "footerVisible": { "alias": "footerVisible"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; "tileOutlined": { "alias": "tileOutlined"; "required": false; "isSignal": true; }; "responsiveColumnCount": { "alias": "responsiveColumnCount"; "required": false; "isSignal": true; }; "availableSorts": { "alias": "availableSorts"; "required": false; }; "sortTranslationPrefix": { "alias": "sortTranslationPrefix"; "required": false; }; "hiddenField": { "alias": "hiddenField"; "required": false; }; "selectionVisible": { "alias": "selectionVisible"; "required": false; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; }; "tileTemplate": { "alias": "tileTemplate"; "required": false; }; "toolbarTemplate": { "alias": "toolbarTemplate"; "required": false; }; "data": { "alias": "data"; "required": false; }; "columnCount": { "alias": "columnCount"; "required": false; }; }, {}, ["tileTemplateQuery", "toolbarTemplateQuery"], never, true, never>;
117
120
  }
118
121
  export {};
@@ -14,6 +14,7 @@ export declare class ElderTileComponent<T = any> {
14
14
  readonly value: import("@angular/core").InputSignal<T>;
15
15
  readonly selectionEnabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
16
16
  readonly selectionModel: import("@angular/core").InputSignal<SelectionModel<T>>;
17
+ readonly selection: Signal<T[]>;
17
18
  readonly interactionMode: import("@angular/core").InputSignal<ElderDataViewInteractionMode>;
18
19
  readonly outlined: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
19
20
  private readonly logger;
@@ -1,31 +1,32 @@
1
- import { OnDestroy, OnInit } from '@angular/core';
1
+ import { DestroyRef, OnInit } from '@angular/core';
2
2
  import { ElderMasterDetailService } from './elder-master-detail.service';
3
3
  import { ElderToastService } from '../../toasts/elder-toast.service';
4
- import { ElderTableActivationDirective } from '../table/activation/elder-table-activation.directive';
4
+ import { DataViewActivationController } from '../common/activation/data-view-activation-controller.service';
5
+ import { ActivationModel } from '../common/activation/model/activation-model';
5
6
  import * as i0 from "@angular/core";
6
- export declare class ElderMasterActivationDirective<T> implements OnInit, OnDestroy {
7
+ export declare class ElderMasterActivationDirective<T> implements OnInit {
8
+ private destroyRef;
7
9
  private toastService;
8
- private tableActivation;
10
+ private activationModel;
11
+ private activationController;
9
12
  private masterDetailService;
10
13
  /***************************************************************************
11
14
  * *
12
15
  * Fields *
13
16
  * *
14
17
  **************************************************************************/
15
- private readonly destroy$;
16
18
  private readonly log;
17
19
  /***************************************************************************
18
20
  * *
19
21
  * Constructor *
20
22
  * *
21
23
  **************************************************************************/
22
- constructor(toastService: ElderToastService, tableActivation: ElderTableActivationDirective<T>, masterDetailService: ElderMasterDetailService<T>);
24
+ constructor(destroyRef: DestroyRef, toastService: ElderToastService, activationModel: ActivationModel<T>, activationController: DataViewActivationController<T>, masterDetailService: ElderMasterDetailService<T>);
23
25
  /***************************************************************************
24
26
  * *
25
27
  * Life Cycle *
26
28
  * *
27
29
  **************************************************************************/
28
- ngOnDestroy(): void;
29
30
  ngOnInit(): void;
30
31
  /***************************************************************************
31
32
  * *
@@ -33,6 +34,7 @@ export declare class ElderMasterActivationDirective<T> implements OnInit, OnDest
33
34
  * *
34
35
  **************************************************************************/
35
36
  private onModeChange;
37
+ private activationOptions;
36
38
  static ɵfac: i0.ɵɵFactoryDeclaration<ElderMasterActivationDirective<any>, never>;
37
39
  static ɵdir: i0.ɵɵDirectiveDeclaration<ElderMasterActivationDirective<any>, "[elderMasterActivation]", never, {}, {}, never, never, true, never>;
38
40
  }
@@ -16,7 +16,7 @@ import * as i14 from "../../forms/directives/elder-forms-directives.module";
16
16
  import * as i15 from "../../navigation/toolbar/elder-toolbar.module";
17
17
  import * as i16 from "@angular/material/toolbar";
18
18
  import * as i17 from "@angular/material/slide-toggle";
19
- import * as i18 from "./elder-master-detail.component";
19
+ import * as i18 from "./master-detail/elder-master-detail.component";
20
20
  import * as i19 from "./elder-detail.directive";
21
21
  import * as i20 from "./elder-master.directive";
22
22
  import * as i21 from "./elder-master-activation.directive";
@@ -28,7 +28,7 @@ export * from './elder-master-detail-mode';
28
28
  export * from './elder-master-detail.service';
29
29
  export * from './master-detail-activation-event';
30
30
  export * from './elder-detail-dialog/elder-detail-dialog.component';
31
- export * from './elder-master-detail.component';
31
+ export * from './master-detail/elder-master-detail.component';
32
32
  export declare class ElderMasterDetailModule {
33
33
  static ɵfac: i0.ɵɵFactoryDeclaration<ElderMasterDetailModule, never>;
34
34
  static ɵmod: i0.ɵɵNgModuleDeclaration<ElderMasterDetailModule, never, [typeof i1.CommonModule, typeof i2.MatIconModule, typeof i3.MatTableModule, typeof i4.ElderTableModule, typeof i5.ElderMeasuresModule, typeof i6.MatSortModule, typeof i7.FormsModule, typeof i8.MatInputModule, typeof i9.ElderCardModule, typeof i10.MatButtonModule, typeof i11.MatBadgeModule, typeof i12.MatTooltipModule, typeof i13.ElderSelectModule, typeof i14.ElderFormsDirectivesModule, typeof i15.ElderToolbarModule, typeof i16.MatToolbarModule, typeof i17.MatSlideToggleModule, typeof i18.ElderMasterDetailComponent, typeof i19.ElderDetailDirective, typeof i20.ElderMasterDirective, typeof i21.ElderMasterActivationDirective, typeof i22.ElderDetailDialogComponent], [typeof i18.ElderMasterDetailComponent, typeof i19.ElderDetailDirective, typeof i20.ElderMasterDirective, typeof i21.ElderMasterActivationDirective, typeof i22.ElderDetailDialogComponent]>;
@@ -1,11 +1,10 @@
1
- import { OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';
2
- import { ElderMasterDetailService } from './elder-master-detail.service';
3
- import { BehaviorSubject } from 'rxjs';
1
+ import { Signal, TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import { ElderMasterDetailService } from '../elder-master-detail.service';
4
3
  import { MatDialog, MatDialogRef } from '@angular/material/dialog';
5
- import { ElderDetailDialogComponent } from './elder-detail-dialog/elder-detail-dialog.component';
6
- import { ElderMasterDetailMode } from './elder-master-detail-mode';
4
+ import { ElderDetailDialogComponent } from '../elder-detail-dialog/elder-detail-dialog.component';
5
+ import { ElderMasterDetailMode } from '../elder-master-detail-mode';
7
6
  import * as i0 from "@angular/core";
8
- export declare class ElderMasterDetailComponent<T> implements OnDestroy {
7
+ export declare class ElderMasterDetailComponent<T> {
9
8
  private masterDetailService;
10
9
  dialog: MatDialog;
11
10
  private viewContainerRef;
@@ -15,24 +14,17 @@ export declare class ElderMasterDetailComponent<T> implements OnDestroy {
15
14
  * *
16
15
  **************************************************************************/
17
16
  private readonly log;
18
- private readonly destroy$;
19
17
  master: TemplateRef<any>;
20
18
  detail: TemplateRef<any>;
21
- readonly mode$: BehaviorSubject<ElderMasterDetailMode>;
22
19
  dialogRef: MatDialogRef<ElderDetailDialogComponent>;
23
- currentActive$: BehaviorSubject<T>;
20
+ readonly currentActive: Signal<T>;
21
+ readonly modeSig: Signal<ElderMasterDetailMode>;
24
22
  /***************************************************************************
25
23
  * *
26
24
  * Constructor *
27
25
  * *
28
26
  **************************************************************************/
29
27
  constructor(masterDetailService: ElderMasterDetailService<T>, dialog: MatDialog, viewContainerRef: ViewContainerRef);
30
- /***************************************************************************
31
- * *
32
- * Life Cycle *
33
- * *
34
- **************************************************************************/
35
- ngOnDestroy(): void;
36
28
  /***************************************************************************
37
29
  * *
38
30
  * Properties *
@@ -46,6 +38,7 @@ export declare class ElderMasterDetailComponent<T> implements OnDestroy {
46
38
  * *
47
39
  **************************************************************************/
48
40
  private openDetailDialog;
41
+ private onCurrentItemChange;
49
42
  private closeDialog;
50
43
  static ɵfac: i0.ɵɵFactoryDeclaration<ElderMasterDetailComponent<any>, never>;
51
44
  static ɵcmp: i0.ɵɵComponentDeclaration<ElderMasterDetailComponent<any>, "elder-master-detail", never, { "mode": { "alias": "mode"; "required": false; }; }, {}, ["master", "detail"], never, true, never>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elderbyte/ngx-starter",
3
- "version": "19.2.0",
3
+ "version": "19.2.2",
4
4
  "peerDependencies": {
5
5
  "@angular/core": "^18.0.0 || ^19.0.0",
6
6
  "@angular/common": "^18.0.0 || ^19.0.0",
@@ -1,21 +1,51 @@
1
1
  $elder-tile-padding: 8px;
2
2
 
3
3
  .elder-grid-tile {
4
- flex: 0 1 100%;
5
- flex-grow: 1;
6
- margin: 0 $elder-tile-padding;
4
+ // margin: 0 $elder-tile-padding;
7
5
  width: 100%;
8
6
  height: 100%;
9
7
  cursor: pointer;
10
8
  }
11
9
 
12
10
  .elder-grid-tile-row {
13
- display: flex;
14
- flex-direction: row;
15
- padding: $elder-tile-padding;
11
+ display: grid;
12
+ align-items: start;
13
+ justify-items: start;
14
+
15
+ padding: $elder-tile-padding ($elder-tile-padding * 2);
16
+
16
17
  &:first-child {
17
18
  padding-top: ($elder-tile-padding * 2);
18
19
  }
20
+ column-gap: ($elder-tile-padding * 2);
21
+
22
+ &.cols-1 {
23
+ grid-template-columns: repeat(1, 1fr);
24
+ }
25
+
26
+ &.cols-2 {
27
+ grid-template-columns: repeat(2, 1fr);
28
+ }
29
+
30
+ &.cols-3 {
31
+ grid-template-columns: repeat(3, 1fr);
32
+ }
33
+
34
+ &.cols-4 {
35
+ grid-template-columns: repeat(4, 1fr);
36
+ }
37
+
38
+ &.cols-5 {
39
+ grid-template-columns: repeat(5, 1fr);
40
+ }
41
+
42
+ &.cols-6 {
43
+ grid-template-columns: repeat(6, 1fr);
44
+ }
45
+
46
+ &.cols-7 {
47
+ grid-template-columns: repeat(7, 1fr);
48
+ }
19
49
  }
20
50
 
21
51
  .elder-grid-tile-hidden {