@elderbyte/ngx-starter 15.15.0 → 15.16.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.
Files changed (29) hide show
  1. package/esm2020/lib/common/data/datasource/local/local-list-data-source.mjs +52 -5
  2. package/esm2020/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +69 -0
  3. package/esm2020/lib/components/data-view/master-detail/elder-detail.directive.mjs +36 -0
  4. package/esm2020/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +47 -0
  5. package/esm2020/lib/components/data-view/master-detail/elder-master-detail-mode.mjs +6 -0
  6. package/esm2020/lib/components/data-view/master-detail/elder-master-detail.component.mjs +111 -0
  7. package/esm2020/lib/components/data-view/master-detail/elder-master-detail.module.mjs +115 -0
  8. package/esm2020/lib/components/data-view/master-detail/elder-master.directive.mjs +22 -0
  9. package/esm2020/lib/components/data-view/master-detail/master-detail.service.mjs +70 -0
  10. package/esm2020/lib/components/data-view/public_api.mjs +2 -1
  11. package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +17 -3
  12. package/fesm2015/elderbyte-ngx-starter.mjs +7939 -7475
  13. package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
  14. package/fesm2020/elderbyte-ngx-starter.mjs +7804 -7343
  15. package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
  16. package/lib/common/data/datasource/local/local-list-data-source.d.ts +14 -2
  17. package/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.d.ts +41 -0
  18. package/lib/components/data-view/master-detail/elder-detail.directive.d.ts +23 -0
  19. package/lib/components/data-view/master-detail/elder-master-activation.directive.d.ts +30 -0
  20. package/lib/components/data-view/master-detail/elder-master-detail-mode.d.ts +4 -0
  21. package/lib/components/data-view/master-detail/elder-master-detail.component.d.ts +52 -0
  22. package/lib/components/data-view/master-detail/elder-master-detail.module.d.ts +35 -0
  23. package/lib/components/data-view/master-detail/elder-master.directive.d.ts +14 -0
  24. package/lib/components/data-view/master-detail/master-detail.service.d.ts +41 -0
  25. package/lib/components/data-view/public_api.d.ts +1 -0
  26. package/lib/components/data-view/table/activation/elder-table-activation.directive.d.ts +1 -0
  27. package/package.json +1 -1
  28. package/src/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.scss +0 -0
  29. package/src/lib/components/data-view/master-detail/elder-master-detail.component.scss +0 -0
@@ -33,6 +33,13 @@ export declare class LocalListDataSource<T> extends DataSourceBase<T> implements
33
33
  * *
34
34
  **************************************************************************/
35
35
  constructor(localData: T[], localSort: ((data: T[], sorts: Sort[]) => T[]), localFilter: ((data: T[], filters: Filter[]) => T[]), idProperty: string | null);
36
+ /***************************************************************************
37
+ * *
38
+ * Properties *
39
+ * *
40
+ **************************************************************************/
41
+ get data(): T[];
42
+ set data(data: T[]);
36
43
  /***************************************************************************
37
44
  * *
38
45
  * IDataSource API *
@@ -46,12 +53,17 @@ export declare class LocalListDataSource<T> extends DataSourceBase<T> implements
46
53
  * Public API *
47
54
  * *
48
55
  **************************************************************************/
49
- set data(data: T[]);
50
- get data(): T[];
56
+ replaceAll(data: T[]): void;
57
+ delete(entity: T): void;
58
+ deleteAll(toDelete: T[]): void;
59
+ deleteAllById(idsToDelete: any[]): void;
60
+ saveAll(toSave: T[]): void;
61
+ save(entity: T): void;
51
62
  /***************************************************************************
52
63
  * *
53
64
  * Private methods *
54
65
  * *
55
66
  **************************************************************************/
67
+ private silentReplaceData;
56
68
  private static guessIdProperty;
57
69
  }
@@ -0,0 +1,41 @@
1
+ import { OnDestroy, TemplateRef } from '@angular/core';
2
+ import { MatDialogRef } from '@angular/material/dialog';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { MasterDetailService } from '../master-detail.service';
5
+ import * as i0 from "@angular/core";
6
+ export interface IElderDetailDialogOptions<T = any> {
7
+ entity: T;
8
+ detailTemplateRef: TemplateRef<any>;
9
+ }
10
+ export declare class ElderDetailDialogComponent<T = any> implements OnDestroy {
11
+ dialogRef: MatDialogRef<ElderDetailDialogComponent>;
12
+ data: IElderDetailDialogOptions;
13
+ private masterDetailService;
14
+ /***************************************************************************
15
+ * *
16
+ * Fields *
17
+ * *
18
+ **************************************************************************/
19
+ private readonly destroy$;
20
+ readonly entity$: BehaviorSubject<T>;
21
+ /***************************************************************************
22
+ * *
23
+ * Constructor *
24
+ * *
25
+ **************************************************************************/
26
+ constructor(dialogRef: MatDialogRef<ElderDetailDialogComponent>, data: IElderDetailDialogOptions, masterDetailService: MasterDetailService<T>);
27
+ /***************************************************************************
28
+ * *
29
+ * Life Cycle *
30
+ * *
31
+ **************************************************************************/
32
+ ngOnDestroy(): void;
33
+ /***************************************************************************
34
+ * *
35
+ * Public API *
36
+ * *
37
+ **************************************************************************/
38
+ close(): void;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderDetailDialogComponent<any>, [{ optional: true; }, { optional: true; }, null]>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<ElderDetailDialogComponent<any>, "elder-detail-dialog", never, {}, {}, never, never, false, never>;
41
+ }
@@ -0,0 +1,23 @@
1
+ import { TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import { MasterDetailService } from './master-detail.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ElderDetailDirective<T> {
5
+ private masterDetailService;
6
+ templateRef: TemplateRef<any>;
7
+ viewContainer: ViewContainerRef;
8
+ /***************************************************************************
9
+ * *
10
+ * Fields *
11
+ * *
12
+ **************************************************************************/
13
+ private readonly log;
14
+ private readonly activeDetailItem$;
15
+ /***************************************************************************
16
+ * *
17
+ * Constructor *
18
+ * *
19
+ **************************************************************************/
20
+ constructor(masterDetailService: MasterDetailService<T>, templateRef: TemplateRef<any>, viewContainer: ViewContainerRef);
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderDetailDirective<any>, never>;
22
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ElderDetailDirective<any>, "[elderDataDetail]", never, {}, {}, never, never, false, never>;
23
+ }
@@ -0,0 +1,30 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { MasterDetailService } from './master-detail.service';
3
+ import { ElderToastService } from '../../toasts/elder-toast.service';
4
+ import { ElderTableActivationDirective } from '../table/activation/elder-table-activation.directive';
5
+ import * as i0 from "@angular/core";
6
+ export declare class ElderMasterActivationDirective<T> implements OnInit {
7
+ private toastService;
8
+ private tableActivation;
9
+ private masterDetailService;
10
+ /***************************************************************************
11
+ * *
12
+ * Fields *
13
+ * *
14
+ **************************************************************************/
15
+ private readonly log;
16
+ /***************************************************************************
17
+ * *
18
+ * Constructor *
19
+ * *
20
+ **************************************************************************/
21
+ constructor(toastService: ElderToastService, tableActivation: ElderTableActivationDirective<T>, masterDetailService: MasterDetailService<T>);
22
+ /***************************************************************************
23
+ * *
24
+ * Life Cycle *
25
+ * *
26
+ **************************************************************************/
27
+ ngOnInit(): void;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderMasterActivationDirective<any>, never>;
29
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ElderMasterActivationDirective<any>, "[elderMasterActivation]", never, {}, {}, never, never, false, never>;
30
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum ElderMasterDetailMode {
2
+ EMBEDDED = "EMBEDDED",
3
+ DIALOG = "DIALOG"
4
+ }
@@ -0,0 +1,52 @@
1
+ import { OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import { MasterDetailService } from './master-detail.service';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ 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';
7
+ import * as i0 from "@angular/core";
8
+ export declare class ElderMasterDetailComponent<T> implements OnDestroy {
9
+ private masterDetailService;
10
+ dialog: MatDialog;
11
+ private viewContainerRef;
12
+ /***************************************************************************
13
+ * *
14
+ * Fields *
15
+ * *
16
+ **************************************************************************/
17
+ private readonly log;
18
+ private readonly destroy$;
19
+ master: TemplateRef<any>;
20
+ detail: TemplateRef<any>;
21
+ readonly mode$: BehaviorSubject<ElderMasterDetailMode>;
22
+ ElderMasterDetailMode: typeof ElderMasterDetailMode;
23
+ dialogRef: MatDialogRef<ElderDetailDialogComponent>;
24
+ /***************************************************************************
25
+ * *
26
+ * Constructor *
27
+ * *
28
+ **************************************************************************/
29
+ constructor(masterDetailService: MasterDetailService<T>, dialog: MatDialog, viewContainerRef: ViewContainerRef);
30
+ /***************************************************************************
31
+ * *
32
+ * Life Cycle *
33
+ * *
34
+ **************************************************************************/
35
+ ngOnDestroy(): void;
36
+ /***************************************************************************
37
+ * *
38
+ * Properties *
39
+ * *
40
+ **************************************************************************/
41
+ set mode(mode: ElderMasterDetailMode);
42
+ get mode(): ElderMasterDetailMode;
43
+ /***************************************************************************
44
+ * *
45
+ * Private Methods *
46
+ * *
47
+ **************************************************************************/
48
+ private openDetailDialog;
49
+ private closeDialog;
50
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderMasterDetailComponent<any>, never>;
51
+ static ɵcmp: i0.ɵɵComponentDeclaration<ElderMasterDetailComponent<any>, "elder-master-detail", never, { "mode": "mode"; }, {}, ["master", "detail"], never, false, never>;
52
+ }
@@ -0,0 +1,35 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./elder-master-detail.component";
3
+ import * as i2 from "./elder-detail.directive";
4
+ import * as i3 from "./elder-master.directive";
5
+ import * as i4 from "./elder-master-activation.directive";
6
+ import * as i5 from "./elder-detail-dialog/elder-detail-dialog.component";
7
+ import * as i6 from "@angular/common";
8
+ import * as i7 from "@angular/material/icon";
9
+ import * as i8 from "@angular/material/table";
10
+ import * as i9 from "../table/elder-table.module";
11
+ import * as i10 from "../../measures/elder-measures.module";
12
+ import * as i11 from "@angular/material/sort";
13
+ import * as i12 from "@angular/forms";
14
+ import * as i13 from "@angular/material/input";
15
+ import * as i14 from "../../cards/elder-card/elder-card.module";
16
+ import * as i15 from "@angular/material/button";
17
+ import * as i16 from "@angular/material/badge";
18
+ import * as i17 from "@angular/material/tooltip";
19
+ import * as i18 from "../../select/elder-select.module";
20
+ import * as i19 from "../../forms/directives/elder-forms-directives.module";
21
+ import * as i20 from "../../navigation/toolbar/elder-toolbar.module";
22
+ import * as i21 from "@angular/material/toolbar";
23
+ import * as i22 from "@angular/material/slide-toggle";
24
+ export * from './elder-master.directive';
25
+ export * from './elder-detail.directive';
26
+ export * from './elder-master-activation.directive';
27
+ export * from './elder-master-detail-mode';
28
+ export * from './master-detail.service';
29
+ export * from './elder-detail-dialog/elder-detail-dialog.component';
30
+ export * from './elder-master-detail.component';
31
+ export declare class ElderMasterDetailModule {
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderMasterDetailModule, never>;
33
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ElderMasterDetailModule, [typeof i1.ElderMasterDetailComponent, typeof i2.ElderDetailDirective, typeof i3.ElderMasterDirective, typeof i4.ElderMasterActivationDirective, typeof i5.ElderDetailDialogComponent], [typeof i6.CommonModule, typeof i7.MatIconModule, typeof i8.MatTableModule, typeof i9.ElderTableModule, typeof i10.ElderMeasuresModule, typeof i11.MatSortModule, typeof i12.FormsModule, typeof i13.MatInputModule, typeof i14.ElderCardModule, typeof i15.MatButtonModule, typeof i16.MatBadgeModule, typeof i17.MatTooltipModule, typeof i18.ElderSelectModule, typeof i19.ElderFormsDirectivesModule, typeof i20.ElderToolbarModule, typeof i21.MatToolbarModule, typeof i22.MatSlideToggleModule], [typeof i1.ElderMasterDetailComponent, typeof i2.ElderDetailDirective, typeof i3.ElderMasterDirective, typeof i4.ElderMasterActivationDirective, typeof i5.ElderDetailDialogComponent]>;
34
+ static ɵinj: i0.ɵɵInjectorDeclaration<ElderMasterDetailModule>;
35
+ }
@@ -0,0 +1,14 @@
1
+ import { TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ElderMasterDirective {
4
+ templateRef: TemplateRef<any>;
5
+ viewContainer: ViewContainerRef;
6
+ /***************************************************************************
7
+ * *
8
+ * Constructor *
9
+ * *
10
+ **************************************************************************/
11
+ constructor(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef);
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderMasterDirective, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ElderMasterDirective, "[elderDataMaster]", never, {}, {}, never, never, false, never>;
14
+ }
@@ -0,0 +1,41 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import { BehaviorSubject, Observable, Subject } from 'rxjs';
3
+ import { ElderMasterDetailMode } from './elder-master-detail-mode';
4
+ import * as i0 from "@angular/core";
5
+ export declare class MasterDetailService<T> implements OnDestroy {
6
+ /***************************************************************************
7
+ * *
8
+ * Fields *
9
+ * *
10
+ **************************************************************************/
11
+ protected readonly destroy$: Subject<void>;
12
+ readonly mode$: BehaviorSubject<ElderMasterDetailMode>;
13
+ private readonly logger;
14
+ private readonly activeItem$;
15
+ private readonly creatingItem$;
16
+ private readonly activeOrCreating$;
17
+ /***************************************************************************
18
+ * *
19
+ * Constructor *
20
+ * *
21
+ **************************************************************************/
22
+ constructor();
23
+ /***************************************************************************
24
+ * *
25
+ * Life Cycle *
26
+ * *
27
+ **************************************************************************/
28
+ ngOnDestroy(): void;
29
+ /***************************************************************************
30
+ * *
31
+ * Properties *
32
+ * *
33
+ **************************************************************************/
34
+ get activeOrCreatingItemChange(): Observable<T>;
35
+ get activeItem(): T;
36
+ set activeItem(item: T);
37
+ get creatingItem(): T;
38
+ set creatingItem(item: T);
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<MasterDetailService<any>, never>;
40
+ static ɵprov: i0.ɵɵInjectableDeclaration<MasterDetailService<any>>;
41
+ }
@@ -3,3 +3,4 @@ export * from './common/elder-data-common.module';
3
3
  export * from './table/elder-table.module';
4
4
  export * from './simple/elder-simple-selection-view/elder-simple-selection-view.module';
5
5
  export * from './grid/elder-grid.module';
6
+ export * from './master-detail/elder-master-detail.module';
@@ -63,6 +63,7 @@ export declare class ElderTableActivationDirective<T> implements ElderItemActiva
63
63
  private updateRowsActivation;
64
64
  private updateRowActivation;
65
65
  private rowDataUpdated;
66
+ private deactivateById;
66
67
  private getRowForItem;
67
68
  private handleAutoActivations;
68
69
  private get hasActiveItem();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elderbyte/ngx-starter",
3
- "version": "15.15.0",
3
+ "version": "15.16.0",
4
4
  "peerDependencies": {
5
5
  "@angular/core": "^15.0.0 || ^16.0.0",
6
6
  "@angular/common": "^15.0.0 || ^16.0.0",