@elderbyte/ngx-starter 14.4.0-beta.18 → 14.4.0-beta.20

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 (47) hide show
  1. package/esm2020/lib/components/data-view/base/data-view-options-provider-binding.mjs +63 -0
  2. package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +53 -10
  3. package/esm2020/lib/components/data-view/base/elder-data-view-options-provider.mjs +44 -0
  4. package/esm2020/lib/components/data-view/base/elder-data-view-options.mjs +42 -0
  5. package/esm2020/lib/components/data-view/base/public_api.mjs +5 -0
  6. package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +8 -22
  7. package/esm2020/lib/components/data-view/public_api.mjs +2 -2
  8. package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +9 -43
  9. package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +31 -18
  10. package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +1 -1
  11. package/esm2020/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +119 -0
  12. package/esm2020/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +137 -0
  13. package/esm2020/lib/components/iframes/elder-iframe.module.mjs +18 -6
  14. package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +1 -1
  15. package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +56 -30
  16. package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +1 -1
  17. package/esm2020/lib/components/iframes/iframe.service.mjs +2 -2
  18. package/esm2020/lib/components/iframes/typed-event-message.mjs +42 -0
  19. package/esm2020/lib/components/select/elder-select.module.mjs +2 -2
  20. package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +21 -39
  21. package/fesm2015/elderbyte-ngx-starter.mjs +1782 -1350
  22. package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
  23. package/fesm2020/elderbyte-ngx-starter.mjs +1766 -1336
  24. package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
  25. package/lib/components/data-view/base/data-view-options-provider-binding.d.ts +39 -0
  26. package/lib/components/data-view/base/elder-data-view-base.d.ts +29 -6
  27. package/lib/components/data-view/base/elder-data-view-options-provider.d.ts +38 -0
  28. package/lib/components/data-view/base/elder-data-view-options.d.ts +33 -0
  29. package/lib/components/data-view/base/public_api.d.ts +4 -0
  30. package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +4 -6
  31. package/lib/components/data-view/public_api.d.ts +1 -1
  32. package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +5 -19
  33. package/lib/components/forms/directives/elder-form-field-label.directive.d.ts +19 -6
  34. package/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.d.ts +66 -0
  35. package/lib/components/iframes/data-view/data-view-iframe-adapter.directive.d.ts +62 -0
  36. package/lib/components/iframes/elder-iframe.module.d.ts +14 -10
  37. package/lib/components/iframes/iframe-host/iframe-host.component.d.ts +28 -10
  38. package/lib/components/iframes/iframe.service.d.ts +3 -3
  39. package/lib/components/iframes/typed-event-message.d.ts +26 -0
  40. package/lib/components/select/elder-select.module.d.ts +1 -1
  41. package/lib/components/select/popup/selection-model-popup.directive.d.ts +7 -27
  42. package/package.json +1 -1
  43. package/src/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.scss +0 -0
  44. package/esm2020/lib/components/data-view/base/elder-data-view-base.module.mjs +0 -18
  45. package/esm2020/lib/components/iframes/iframe-message.mjs +0 -2
  46. package/lib/components/data-view/base/elder-data-view-base.module.d.ts +0 -9
  47. package/lib/components/iframes/iframe-message.d.ts +0 -5
@@ -1,10 +1,14 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
1
+ import { ElementRef, EventEmitter, OnInit } from '@angular/core';
2
2
  import { BehaviorSubject } from 'rxjs';
3
+ import { TypedEventMessage } from '../typed-event-message';
3
4
  import * as i0 from "@angular/core";
5
+ export declare type IFrameStateType = 'LOADING' | 'LOADED' | 'ERROR';
4
6
  export declare class IFrameState {
5
- readonly state: 'loading' | 'success' | 'error';
6
- readonly message: string;
7
- constructor(state: 'loading' | 'success' | 'error', message?: string);
7
+ readonly type: IFrameStateType;
8
+ readonly message: string | null;
9
+ constructor(type: IFrameStateType, message?: string | null);
10
+ get isLoading(): boolean;
11
+ get hasLoaded(): boolean;
8
12
  get hasError(): boolean;
9
13
  }
10
14
  export interface IFrameParams {
@@ -32,10 +36,11 @@ export declare class IframeHostComponent implements OnInit {
32
36
  * Fields *
33
37
  * *
34
38
  **************************************************************************/
35
- private readonly logger;
39
+ private readonly log;
36
40
  readonly iframeParams$: BehaviorSubject<IFrameParams>;
37
41
  readonly iframeState$: BehaviorSubject<IFrameState>;
38
- post: EventEmitter<any>;
42
+ iframe: ElementRef;
43
+ message: EventEmitter<TypedEventMessage<any, any>>;
39
44
  close: EventEmitter<any>;
40
45
  /***************************************************************************
41
46
  * *
@@ -43,13 +48,24 @@ export declare class IframeHostComponent implements OnInit {
43
48
  * *
44
49
  **************************************************************************/
45
50
  constructor();
51
+ /***************************************************************************
52
+ * *
53
+ * Listeners *
54
+ * *
55
+ **************************************************************************/
56
+ /**
57
+ * Listens for messages from window.
58
+ * Makes it possible to react upon messages from iframe child window.
59
+ *
60
+ * @param event message from child window
61
+ */
62
+ onWindowMessage(event: MessageEvent): boolean;
46
63
  /***************************************************************************
47
64
  * *
48
65
  * Lifecycle *
49
66
  * *
50
67
  **************************************************************************/
51
68
  ngOnInit(): void;
52
- onMessage(e: any): boolean;
53
69
  /***************************************************************************
54
70
  * *
55
71
  * Properties *
@@ -61,14 +77,16 @@ export declare class IframeHostComponent implements OnInit {
61
77
  * Public API *
62
78
  * *
63
79
  **************************************************************************/
64
- onIframeLoadError(err: any): void;
80
+ onIframeLoadEvent(event: Event): void;
81
+ onIframeErrorEvent(err: any): void;
82
+ sendMessageToChild(msg: TypedEventMessage<any, any>): void;
65
83
  doClose(event?: Event): void;
66
84
  /***************************************************************************
67
85
  * *
68
86
  * Private methods *
69
87
  * *
70
88
  **************************************************************************/
71
- private onChildMessage;
89
+ private handleMessageFromChild;
72
90
  static ɵfac: i0.ɵɵFactoryDeclaration<IframeHostComponent, never>;
73
- static ɵcmp: i0.ɵɵComponentDeclaration<IframeHostComponent, "elder-i-frame-host", never, { "iframeParams": "iframeParams"; }, { "post": "post"; "close": "close"; }, never, never, false>;
91
+ static ɵcmp: i0.ɵɵComponentDeclaration<IframeHostComponent, "elder-i-frame-host", never, { "iframeParams": "iframeParams"; }, { "message": "message"; "close": "close"; }, never, never, false>;
74
92
  }
@@ -1,11 +1,11 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { MatDialog } from '@angular/material/dialog';
3
3
  import { IFrameParams } from './iframe-host/iframe-host.component';
4
- import { IframeMessage } from './iframe-message';
4
+ import { TypedEventMessage } from './typed-event-message';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class IframeService {
7
7
  dialog: MatDialog;
8
- static postToParent<T>(message: IframeMessage<T>): void;
8
+ static postToParent<T, D>(message: TypedEventMessage<T, D>): void;
9
9
  /***************************************************************************
10
10
  * *
11
11
  * Fields *
@@ -19,7 +19,7 @@ export declare class IframeService {
19
19
  **************************************************************************/
20
20
  openIframeDialog<R>(params: IFrameParams): Observable<R>;
21
21
  postCloseMessage<T>(data?: T): void;
22
- postDataMessage<T>(message: IframeMessage<T>): void;
22
+ postDataMessage<T, D>(message: TypedEventMessage<T, D>): void;
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<IframeService, never>;
24
24
  static ɵprov: i0.ɵɵInjectableDeclaration<IframeService>;
25
25
  }
@@ -0,0 +1,26 @@
1
+ import { ElderDataViewOptions } from '../data-view/base/elder-data-view-options';
2
+ export declare class TypedEventMessage<T, D> {
3
+ type: T;
4
+ data?: D;
5
+ static isOfType(obj: any): obj is TypedEventMessage<any, any>;
6
+ constructor(type: T, data?: D);
7
+ }
8
+ export declare class DataViewSelectionInit<T> {
9
+ options: ElderDataViewOptions;
10
+ initialSelection: T[];
11
+ idField: string;
12
+ constructor(options: ElderDataViewOptions, initialSelection?: T[], idField?: string);
13
+ }
14
+ export declare class DataViewSelection<T> {
15
+ selection: T[];
16
+ constructor(selection: T[]);
17
+ }
18
+ export declare type DataViewMessageType = 'SELECTION_INIT' | 'SELECTION_SELECTED';
19
+ export declare class DataViewMessage<T, D = DataViewSelectionInit<T> | DataViewSelection<T>> extends TypedEventMessage<DataViewMessageType, D> {
20
+ type: DataViewMessageType;
21
+ data: D;
22
+ static initialSelection<D>(init: DataViewSelectionInit<D>): DataViewMessage<D>;
23
+ static selection<D>(selection: DataViewSelection<D>): DataViewMessage<D>;
24
+ static isOfType(obj: any): obj is DataViewMessage<any, any>;
25
+ constructor(type: DataViewMessageType, data: D);
26
+ }
@@ -35,7 +35,7 @@ export * from './elder-select-chip.directive';
35
35
  export { ElderSelectOnTabDirective } from './elder-select-on-tab.directive';
36
36
  export { ElderSelectComponent } from './single/elder-select/elder-select.component';
37
37
  export { TemplatedSelectionDialogComponent, ISelectionModelDialogOptions } from './popup/templated-selection-dialog/templated-selection-dialog.component';
38
- export { SelectionModelPopupDirective, ElderDataViewSelectionMode } from './popup/selection-model-popup.directive';
38
+ export { SelectionModelPopupDirective } from './popup/selection-model-popup.directive';
39
39
  export { ElderMultiSelectBase } from './multi/elder-multi-select-base';
40
40
  export { ElderMultiSelectChipsComponent } from './multi/elder-multi-select-chips/elder-multi-select-chips.component';
41
41
  export { ElderAutoSelectFirstDirective } from './auto/elder-auto-select-first.directive';
@@ -1,26 +1,18 @@
1
- import { ChangeDetectorRef, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
1
+ import { ChangeDetectorRef, TemplateRef, ViewContainerRef } from '@angular/core';
2
2
  import { MatDialog } from '@angular/material/dialog';
3
3
  import { Observable } from 'rxjs';
4
4
  import { KeyGetterFn, SelectionModel } from '../../../common/selection/selection-model';
5
5
  import { Sort } from '../../../common/data/sort';
6
6
  import { Filter } from '../../../common/data/filter';
7
+ import { ElderDataViewOptionsProvider } from '../../data-view/base/elder-data-view-options-provider';
7
8
  import * as i0 from "@angular/core";
8
- /**
9
- * Configures the selection mode on supporting components.
10
- */
11
- export declare class ElderDataViewSelectionMode {
12
- sorts: Sort[];
13
- filters: Filter[];
14
- multi: boolean;
15
- constructor();
16
- }
17
9
  export declare function createSelectionModel(): SelectionModel<any>;
18
- export declare function createDataViewSelection(): ElderDataViewSelectionMode;
19
- export declare class SelectionModelPopupDirective implements OnInit, OnDestroy {
10
+ export declare function createDataViewOptionsProvider(): ElderDataViewOptionsProvider;
11
+ export declare class SelectionModelPopupDirective {
20
12
  private readonly templateRef;
21
13
  private readonly viewContainer;
22
14
  private readonly dialog;
23
- private readonly dataViewSelectionMode;
15
+ private readonly dataViewOptionsProvider;
24
16
  private readonly selectionModel;
25
17
  private readonly changeDetectorRef;
26
18
  /***************************************************************************
@@ -36,19 +28,7 @@ export declare class SelectionModelPopupDirective implements OnInit, OnDestroy {
36
28
  * Constructor *
37
29
  * *
38
30
  **************************************************************************/
39
- constructor(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef, dialog: MatDialog, dataViewSelectionMode: ElderDataViewSelectionMode, selectionModel: SelectionModel<any>, changeDetectorRef: ChangeDetectorRef);
40
- /***************************************************************************
41
- * *
42
- * Host Listeners *
43
- * *
44
- **************************************************************************/
45
- /***************************************************************************
46
- * *
47
- * Life Cycle *
48
- * *
49
- **************************************************************************/
50
- ngOnInit(): void;
51
- ngOnDestroy(): void;
31
+ constructor(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef, dialog: MatDialog, dataViewOptionsProvider: ElderDataViewOptionsProvider, selectionModel: SelectionModel<any>, changeDetectorRef: ChangeDetectorRef);
52
32
  /***************************************************************************
53
33
  * *
54
34
  * Public API *
@@ -65,5 +45,5 @@ export declare class SelectionModelPopupDirective implements OnInit, OnDestroy {
65
45
  **************************************************************************/
66
46
  private openSelectDialog;
67
47
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectionModelPopupDirective, never>;
68
- static ɵdir: i0.ɵɵDirectiveDeclaration<SelectionModelPopupDirective, "[elderSelectionModelPopup]", never, { "elderSelectionModelPopupTransform": "elderSelectionModelPopupTransform"; }, {}, never, never, false>;
48
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectionModelPopupDirective, "[elderSelectionModelPopup]", ["elderSelectionModelPopup"], { "elderSelectionModelPopupTransform": "elderSelectionModelPopupTransform"; }, {}, never, never, false>;
69
49
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elderbyte/ngx-starter",
3
- "version": "14.4.0-beta.18",
3
+ "version": "14.4.0-beta.20",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.0.0",
6
6
  "@angular/core": "^14.0.0",
@@ -1,18 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ElderDataViewBaseComponent } from './elder-data-view-base';
4
- import * as i0 from "@angular/core";
5
- export { ElderDataViewBaseComponent } from './elder-data-view-base';
6
- export class ElderDataViewBaseModule {
7
- }
8
- ElderDataViewBaseModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ElderDataViewBaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- ElderDataViewBaseModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.6", ngImport: i0, type: ElderDataViewBaseModule, declarations: [ElderDataViewBaseComponent], imports: [CommonModule] });
10
- ElderDataViewBaseModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ElderDataViewBaseModule, imports: [CommonModule] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ElderDataViewBaseModule, decorators: [{
12
- type: NgModule,
13
- args: [{
14
- declarations: [ElderDataViewBaseComponent],
15
- imports: [CommonModule],
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0YS12aWV3LWJhc2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9kYXRhLXZpZXcvYmFzZS9lbGRlci1kYXRhLXZpZXctYmFzZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRXBFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBTXBFLE1BQU0sT0FBTyx1QkFBdUI7O29IQUF2Qix1QkFBdUI7cUhBQXZCLHVCQUF1QixpQkFIakIsMEJBQTBCLGFBQy9CLFlBQVk7cUhBRWIsdUJBQXVCLFlBRnRCLFlBQVk7MkZBRWIsdUJBQXVCO2tCQUpuQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLDBCQUEwQixDQUFDO29CQUMxQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFbGRlckRhdGFWaWV3QmFzZUNvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItZGF0YS12aWV3LWJhc2UnO1xuXG5leHBvcnQgeyBFbGRlckRhdGFWaWV3QmFzZUNvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItZGF0YS12aWV3LWJhc2UnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0VsZGVyRGF0YVZpZXdCYXNlQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJEYXRhVmlld0Jhc2VNb2R1bGUge31cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZyYW1lLW1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2lmcmFtZXMvaWZyYW1lLW1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgdHlwZSBJZnJhbWVBY3Rpb24gPSAnUE9TVCcgfCAnQ0xPU0UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElmcmFtZU1lc3NhZ2U8VD4ge1xuXG4gIGFjdGlvbj86IElmcmFtZUFjdGlvbjtcbiAgZGF0YT86IFQ7XG5cbn1cbiJdfQ==
@@ -1,9 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./elder-data-view-base";
3
- import * as i2 from "@angular/common";
4
- export { ElderDataViewBaseComponent } from './elder-data-view-base';
5
- export declare class ElderDataViewBaseModule {
6
- static ɵfac: i0.ɵɵFactoryDeclaration<ElderDataViewBaseModule, never>;
7
- static ɵmod: i0.ɵɵNgModuleDeclaration<ElderDataViewBaseModule, [typeof i1.ElderDataViewBaseComponent], [typeof i2.CommonModule], never>;
8
- static ɵinj: i0.ɵɵInjectorDeclaration<ElderDataViewBaseModule>;
9
- }
@@ -1,5 +0,0 @@
1
- export declare type IframeAction = 'POST' | 'CLOSE';
2
- export interface IframeMessage<T> {
3
- action?: IframeAction;
4
- data?: T;
5
- }