@elderbyte/ngx-starter 19.5.0 → 19.6.1

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 (27) hide show
  1. package/fesm2022/elderbyte-ngx-starter.mjs +816 -29
  2. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  3. package/lib/common/data/datasource/data-source.d.ts +2 -0
  4. package/lib/common/data/datasource/local/local-list-data-source.d.ts +1 -1
  5. package/lib/common/data/sort-context.d.ts +1 -0
  6. package/lib/components/data-view/common/drag-and-drop/data-view-dnd-controller.service.d.ts +70 -0
  7. package/lib/components/data-view/common/drag-and-drop/elder-data-view-dnd.directive.d.ts +66 -0
  8. package/lib/components/data-view/common/drag-and-drop/elder-data-view-item-drag.directive.d.ts +38 -0
  9. package/lib/components/data-view/common/drag-and-drop/events/data-view-drag-entered-event.d.ts +16 -0
  10. package/lib/components/data-view/common/drag-and-drop/events/data-view-drag-exited-event.d.ts +12 -0
  11. package/lib/components/data-view/common/drag-and-drop/events/data-view-item-drop-event.d.ts +74 -0
  12. package/lib/components/data-view/common/drag-and-drop/events/public_api.d.ts +3 -0
  13. package/lib/components/data-view/common/drag-and-drop/grouping/data-view-dnd-group-controller.service.d.ts +42 -0
  14. package/lib/components/data-view/common/drag-and-drop/grouping/elder-data-view-dnd-group.directive.d.ts +30 -0
  15. package/lib/components/data-view/common/drag-and-drop/grouping/public_api.d.ts +2 -0
  16. package/lib/components/data-view/common/drag-and-drop/local-data/data-view-dnd-model-util.d.ts +40 -0
  17. package/lib/components/data-view/common/drag-and-drop/local-data/elder-local-dnd-support.directive.d.ts +54 -0
  18. package/lib/components/data-view/common/drag-and-drop/local-data/public_api.d.ts +2 -0
  19. package/lib/components/data-view/common/drag-and-drop/public_api.d.ts +7 -0
  20. package/lib/components/data-view/common/elder-data-common.module.d.ts +14 -9
  21. package/lib/components/data-view/common/public_api.d.ts +1 -0
  22. package/lib/components/data-view/table/drag-and-drop/elder-table-drop-list-connector.directive.d.ts +37 -0
  23. package/lib/components/data-view/table/drag-and-drop/public_api.d.ts +1 -0
  24. package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +5 -1
  25. package/lib/components/data-view/table/elder-table.module.d.ts +26 -23
  26. package/package.json +1 -1
  27. package/theming/components/_elder-table-theme.scss +24 -0
@@ -5,6 +5,7 @@ import { Page, Pageable } from '../page';
5
5
  import { TokenChunkRequest } from '../token-chunk-request';
6
6
  import { ContinuableListing } from '../continuable-listing';
7
7
  import { DataSourceChangeEvent } from './data-source-change-event';
8
+ import { LocalListDataSource } from "./local/local-list-data-source";
8
9
  /***************************************************************************
9
10
  * *
10
11
  * Data Fetcher APIs *
@@ -55,5 +56,6 @@ export interface IContinuableDataSource<T> extends IContinuationFetcher<T>, IDat
55
56
  **************************************************************************/
56
57
  export declare function isDataSource(object: any): object is IDataSource<any>;
57
58
  export declare function isListDataSource(object: IDataSource<any>): object is IListDataSource<any>;
59
+ export declare function isLocalListDataSource(object: IDataSource<any>): object is LocalListDataSource<any>;
58
60
  export declare function isPagedDataSource(object: IDataSource<any>): object is IPagedDataSource<any>;
59
61
  export declare function isContinuableDataSource(object: IDataSource<any>): object is IContinuableDataSource<any>;
@@ -58,7 +58,7 @@ export declare class LocalListDataSource<T> extends DataSourceBase<T> implements
58
58
  deleteAll(toDelete: T[]): void;
59
59
  deleteAllById(idsToDelete: any[]): void;
60
60
  saveAll(toSave: T[]): void;
61
- save(entity: T): void;
61
+ save(entity: T, index?: number): void;
62
62
  /***************************************************************************
63
63
  * *
64
64
  * Private methods *
@@ -16,6 +16,7 @@ export declare class SortContext {
16
16
  get sortsSnapshot(): Sort[];
17
17
  findSortDirection(prop: string): SortDirection | undefined;
18
18
  findSort(prop: string): Sort | undefined;
19
+ isEmpty(): boolean;
19
20
  /***************************************************************************
20
21
  * *
21
22
  * Public API *
@@ -0,0 +1,70 @@
1
+ import { CdkDragDrop, CdkDragEnter, CdkDragExit, CdkDropList } from '@angular/cdk/drag-drop';
2
+ import { Observable, Subject } from 'rxjs';
3
+ import { IElderDataView } from '../../base/elder-data-view';
4
+ import { DataViewItemDropEvent } from './events/data-view-item-drop-event';
5
+ import { IDataContext } from '../../../../common/data/data-context/data-context';
6
+ import { DataViewDragEnteredEvent } from './events/data-view-drag-entered-event';
7
+ import { DataViewDragExitedEvent } from './events/data-view-drag-exited-event';
8
+ import * as i0 from "@angular/core";
9
+ /**
10
+ * Controller service for a single data view with drag and drop support
11
+ * (ElderDataViewDndDirective).
12
+ */
13
+ export declare class DataViewDndControllerService<T> {
14
+ /***************************************************************************
15
+ * *
16
+ * Fields *
17
+ * *
18
+ **************************************************************************/
19
+ private readonly log;
20
+ private readonly _dropList$;
21
+ private readonly _dataView$;
22
+ private readonly _canDragItemPredicate$;
23
+ private readonly _ignoreSamePositionDrops$;
24
+ readonly itemDropped$: Subject<DataViewItemDropEvent<T>>;
25
+ readonly dropListEntered$: Subject<DataViewDragEnteredEvent<T>>;
26
+ readonly dropListExited$: Subject<DataViewDragExitedEvent<T>>;
27
+ /***************************************************************************
28
+ * *
29
+ * Constructor *
30
+ * *
31
+ **************************************************************************/
32
+ constructor();
33
+ /***************************************************************************
34
+ * *
35
+ * Properties *
36
+ * *
37
+ **************************************************************************/
38
+ get dropList$(): Observable<CdkDropList>;
39
+ get canDragItemPredicate$(): Observable<(item: T) => boolean>;
40
+ /***************************************************************************
41
+ * *
42
+ * Public API *
43
+ * *
44
+ **************************************************************************/
45
+ registerDataView(dataView: IElderDataView<T>): void;
46
+ register(cdkDropList: CdkDropList): void;
47
+ setCanDragItemPredicate(predicate: (item: T) => boolean): void;
48
+ setIgnoreSamePositionDrops(ignoreSamePositionDrops: boolean): void;
49
+ /***************************************************************************
50
+ * *
51
+ * Event Handling *
52
+ * *
53
+ **************************************************************************/
54
+ onItemDropped(event: CdkDragDrop<IDataContext<T>>): void;
55
+ onDropListEntered(event: CdkDragEnter<IDataContext<T>, T>): void;
56
+ onDropListExited(event: CdkDragExit<IDataContext<T>, T>): void;
57
+ /***************************************************************************
58
+ * *
59
+ * Private Methods *
60
+ * *
61
+ **************************************************************************/
62
+ private handleItemDropped;
63
+ private buildItemDropEvent;
64
+ private handleDropListEntered;
65
+ private buildDragEnteredEvent;
66
+ private handleDropListExited;
67
+ private buildDragExitedEvent;
68
+ static ɵfac: i0.ɵɵFactoryDeclaration<DataViewDndControllerService<any>, never>;
69
+ static ɵprov: i0.ɵɵInjectableDeclaration<DataViewDndControllerService<any>>;
70
+ }
@@ -0,0 +1,66 @@
1
+ import { OutputRef } from '@angular/core';
2
+ import { DataViewItemDropEvent } from './events/data-view-item-drop-event';
3
+ import { IElderDataView } from '../../base/elder-data-view';
4
+ import { DataViewDndControllerService } from './data-view-dnd-controller.service';
5
+ import { IDataContext } from '../../../../common/data/data-context/data-context';
6
+ import { DataViewDragEnteredEvent } from './events/data-view-drag-entered-event';
7
+ import { DataViewDragExitedEvent } from './events/data-view-drag-exited-event';
8
+ import * as i0 from "@angular/core";
9
+ /**
10
+ * Directive adding drag and drop support on an Elder data view.
11
+ */
12
+ export declare class ElderDataViewDndDirective<T> {
13
+ private readonly dndController;
14
+ readonly _dataView: IElderDataView<T>;
15
+ /***************************************************************************
16
+ * *
17
+ * Fields *
18
+ * *
19
+ **************************************************************************/
20
+ private readonly log;
21
+ private readonly _dataContext;
22
+ private readonly _dropList;
23
+ /** Used to disconnect obsolete event bindings. */
24
+ private readonly _unsubscribeEventBindings;
25
+ /** Controls if drag and drop is generally enabled or not. */
26
+ readonly canDrag: import("@angular/core").InputSignalWithTransform<boolean, import("@angular/cdk/coercion").BooleanInput>;
27
+ /** Allows connecting different drop views together. */
28
+ readonly dropConnectedTo: import("@angular/core").InputSignal<string[]>;
29
+ /** Predicate to determine if an item is draggable or not. */
30
+ readonly canDragItemPredicate: import("@angular/core").InputSignal<(item: T) => boolean>;
31
+ /** Predicate to determine if one can enter a drop view. */
32
+ readonly canEnterPredicate: import("@angular/core").InputSignal<(item: T, context: IDataContext<T>) => boolean>;
33
+ /** If ture, will ignore drop events where the item was dropped at the same position from where it was dragged. */
34
+ readonly ignoreSamePositionDrops: import("@angular/core").InputSignalWithTransform<boolean, import("@angular/cdk/coercion").BooleanInput>;
35
+ /** Fired when an item is dropped. */
36
+ readonly itemDropped: OutputRef<DataViewItemDropEvent<T>>;
37
+ /** Fired when a drop view is entered while dragging. */
38
+ readonly dropListEntered: OutputRef<DataViewDragEnteredEvent<T>>;
39
+ /** Fired when a drop view is exited while dragging. */
40
+ readonly dropListExited: OutputRef<DataViewDragExitedEvent<T>>;
41
+ /***************************************************************************
42
+ * *
43
+ * Constructor *
44
+ * *
45
+ **************************************************************************/
46
+ constructor(dndController: DataViewDndControllerService<T>, _dataView: IElderDataView<T>);
47
+ /***************************************************************************
48
+ * *
49
+ * Properties *
50
+ * *
51
+ **************************************************************************/
52
+ get controller(): DataViewDndControllerService<T>;
53
+ /***************************************************************************
54
+ * *
55
+ * Private Methods *
56
+ * *
57
+ **************************************************************************/
58
+ private bindEvents;
59
+ private bindCanDrag;
60
+ private bindConnectedTo;
61
+ private bindCanEnterPredicate;
62
+ private dropEnterPredicate;
63
+ private bindData;
64
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderDataViewDndDirective<any>, never>;
65
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ElderDataViewDndDirective<any>, "[elderDataViewDnd]", never, { "canDrag": { "alias": "canDrag"; "required": false; "isSignal": true; }; "dropConnectedTo": { "alias": "dropConnectedTo"; "required": false; "isSignal": true; }; "canDragItemPredicate": { "alias": "canDragItemPredicate"; "required": false; "isSignal": true; }; "canEnterPredicate": { "alias": "canEnterPredicate"; "required": false; "isSignal": true; }; "ignoreSamePositionDrops": { "alias": "ignoreSamePositionDrops"; "required": false; "isSignal": true; }; }, { "itemDropped": "itemDropped"; "dropListEntered": "dropListEntered"; "dropListExited": "dropListExited"; }, never, never, true, never>;
66
+ }
@@ -0,0 +1,38 @@
1
+ import { CdkDrag } from '@angular/cdk/drag-drop';
2
+ import { DataViewDndControllerService } from './data-view-dnd-controller.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/cdk/drag-drop";
5
+ /**
6
+ * Adds drag and drop support for items of elder data view.
7
+ */
8
+ export declare class ElderDataViewItemDragDirective<T> {
9
+ readonly dndController: DataViewDndControllerService<T>;
10
+ readonly cdkDrag: CdkDrag;
11
+ /***************************************************************************
12
+ * *
13
+ * Fields *
14
+ * *
15
+ **************************************************************************/
16
+ /** The item that is being dragged. */
17
+ readonly item: import("@angular/core").InputSignal<T>;
18
+ /** Controls if the item can be dragged or not.
19
+ * We explicitly initialize with null and don't use booleanTransformFn since we need to know if the
20
+ * user defined this or if we should fall back to a superior predicate fn.
21
+ * */
22
+ readonly canDragItem: import("@angular/core").InputSignal<any>;
23
+ /***************************************************************************
24
+ * *
25
+ * Constructor *
26
+ * *
27
+ **************************************************************************/
28
+ constructor(dndController: DataViewDndControllerService<T>, cdkDrag: CdkDrag);
29
+ /***************************************************************************
30
+ * *
31
+ * Private Methods *
32
+ * *
33
+ **************************************************************************/
34
+ private bindCanDragItem;
35
+ private bindData;
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderDataViewItemDragDirective<any>, [{ optional: true; }, null]>;
37
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ElderDataViewItemDragDirective<any>, "[elderElderDataViewItemDrag]", never, { "item": { "alias": "elderElderDataViewItemDrag"; "required": true; "isSignal": true; }; "canDragItem": { "alias": "canDragItem"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.CdkDrag; inputs: {}; outputs: {}; }]>;
38
+ }
@@ -0,0 +1,16 @@
1
+ import { IDataContext } from '../../../../../common/data/data-context/data-context';
2
+ export declare class DataViewDragEnteredEvent<T> {
3
+ /** Data context into which the user has moved the item. */
4
+ readonly context: IDataContext<T>;
5
+ /** Item that was moved into the container. */
6
+ readonly item: T;
7
+ /** Index at which the item has entered the container. */
8
+ readonly currentIndex: number;
9
+ constructor(
10
+ /** Data context into which the user has moved the item. */
11
+ context: IDataContext<T>,
12
+ /** Item that was moved into the container. */
13
+ item: T,
14
+ /** Index at which the item has entered the container. */
15
+ currentIndex: number);
16
+ }
@@ -0,0 +1,12 @@
1
+ import { IDataContext } from '../../../../../common/data/data-context/data-context';
2
+ export declare class DataViewDragExitedEvent<T> {
3
+ /** Data context from which the user has a removed an item. */
4
+ readonly context: IDataContext<T>;
5
+ /** Item that was removed from the container. */
6
+ readonly item: T;
7
+ constructor(
8
+ /** Data context from which the user has a removed an item. */
9
+ context: IDataContext<T>,
10
+ /** Item that was removed from the container. */
11
+ item: T);
12
+ }
@@ -0,0 +1,74 @@
1
+ import { IDataContext } from '../../../../../common/data/data-context/data-context';
2
+ export declare class DataViewItemDropEvent<T> {
3
+ /**
4
+ * fromStack The stack where the card originated from
5
+ */
6
+ readonly fromContext: IDataContext<T>;
7
+ /**
8
+ * toStack The stack where the card is dropped to
9
+ */
10
+ readonly toContext: IDataContext<T>;
11
+ /**
12
+ * card The row-item domain model
13
+ */
14
+ readonly item: T;
15
+ /**
16
+ * fromIndex Index of the item when it was picked up fromContext.
17
+ */
18
+ readonly fromIndex: number;
19
+ /**
20
+ * toIndex Current index of the item in toContext.
21
+ */
22
+ readonly toIndex: number;
23
+ /**
24
+ * isPointerOverContainer Whether the user's pointer was over the container when the item was dropped.
25
+ */
26
+ readonly isPointerOverContainer: boolean;
27
+ /***************************************************************************
28
+ * *
29
+ * Constructor *
30
+ * *
31
+ **************************************************************************/
32
+ constructor(
33
+ /**
34
+ * fromStack The stack where the card originated from
35
+ */
36
+ fromContext: IDataContext<T>,
37
+ /**
38
+ * toStack The stack where the card is dropped to
39
+ */
40
+ toContext: IDataContext<T>,
41
+ /**
42
+ * card The row-item domain model
43
+ */
44
+ item: T,
45
+ /**
46
+ * fromIndex Index of the item when it was picked up fromContext.
47
+ */
48
+ fromIndex: number,
49
+ /**
50
+ * toIndex Current index of the item in toContext.
51
+ */
52
+ toIndex: number,
53
+ /**
54
+ * isPointerOverContainer Whether the user's pointer was over the container when the item was dropped.
55
+ */
56
+ isPointerOverContainer: boolean);
57
+ /***************************************************************************
58
+ * *
59
+ * Public API *
60
+ * *
61
+ **************************************************************************/
62
+ /**
63
+ * Returns true if the drop happened across drop contexts.
64
+ */
65
+ isCrossContextDrop(): boolean;
66
+ /**
67
+ * Returns true if the drop happened at the exact same position as the drag started
68
+ */
69
+ isSamePositionDrop(): boolean;
70
+ /**
71
+ * Returns message string stating the drag. Useful for logging.
72
+ */
73
+ getDragLogMessage(): string;
74
+ }
@@ -0,0 +1,3 @@
1
+ export * from './data-view-drag-entered-event';
2
+ export * from './data-view-drag-exited-event';
3
+ export * from './data-view-item-drop-event';
@@ -0,0 +1,42 @@
1
+ import { Subject } from 'rxjs';
2
+ import { DataViewItemDropEvent } from '../events/data-view-item-drop-event';
3
+ import { ElderDataViewDndDirective } from '../elder-data-view-dnd.directive';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Controller service for a single DataViewDndGroup.
7
+ */
8
+ export declare class DataViewDndGroupControllerService<T> {
9
+ /***************************************************************************
10
+ * *
11
+ * Fields *
12
+ * *
13
+ **************************************************************************/
14
+ private readonly log;
15
+ private readonly _dropViews$;
16
+ /**
17
+ * Subject emitting each time an item is dropped on any drop view of this group.
18
+ */
19
+ readonly itemDropped$: Subject<DataViewItemDropEvent<T>>;
20
+ /***************************************************************************
21
+ * *
22
+ * Constructor *
23
+ * *
24
+ **************************************************************************/
25
+ constructor();
26
+ /***************************************************************************
27
+ * *
28
+ * Public API *
29
+ * *
30
+ **************************************************************************/
31
+ setDropViews(dropViews: readonly ElderDataViewDndDirective<T>[]): void;
32
+ /***************************************************************************
33
+ * *
34
+ * Private Methods *
35
+ * *
36
+ **************************************************************************/
37
+ private getItemDropObservables;
38
+ private getItemDropObservable;
39
+ private handleItemDrop;
40
+ static ɵfac: i0.ɵɵFactoryDeclaration<DataViewDndGroupControllerService<any>, never>;
41
+ static ɵprov: i0.ɵɵInjectableDeclaration<DataViewDndGroupControllerService<any>>;
42
+ }
@@ -0,0 +1,30 @@
1
+ import { OutputRef } from '@angular/core';
2
+ import { ElderDataViewDndDirective } from '../elder-data-view-dnd.directive';
3
+ import { DataViewItemDropEvent } from '../events/data-view-item-drop-event';
4
+ import { DataViewDndGroupControllerService } from './data-view-dnd-group-controller.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/cdk/drag-drop";
7
+ /**
8
+ * Directive to group multiple drop data view together.
9
+ * Placing this directive to any element will automatically connect
10
+ * all ElderDataViewDndDirective elements beneath it.
11
+ */
12
+ export declare class ElderDataViewDndGroupDirective<T> {
13
+ private readonly groupController;
14
+ /***************************************************************************
15
+ * *
16
+ * Fields *
17
+ * *
18
+ **************************************************************************/
19
+ private readonly log;
20
+ readonly dropViews: import("@angular/core").Signal<readonly ElderDataViewDndDirective<T>[]>;
21
+ readonly itemDropped: OutputRef<DataViewItemDropEvent<T>>;
22
+ /***************************************************************************
23
+ * *
24
+ * Constructor *
25
+ * *
26
+ **************************************************************************/
27
+ constructor(groupController: DataViewDndGroupControllerService<T>);
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderDataViewDndGroupDirective<any>, never>;
29
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ElderDataViewDndGroupDirective<any>, "[elderDataViewDndGroup]", never, {}, { "itemDropped": "itemDropped"; }, ["dropViews"], never, true, [{ directive: typeof i1.CdkDropListGroup; inputs: {}; outputs: {}; }]>;
30
+ }
@@ -0,0 +1,2 @@
1
+ export * from './elder-data-view-dnd-group.directive';
2
+ export * from './data-view-dnd-group-controller.service';
@@ -0,0 +1,40 @@
1
+ import { DataViewItemDropEvent } from '../events/data-view-item-drop-event';
2
+ import { LocalListDataSource } from '../../../../../common/data/datasource/local/local-list-data-source';
3
+ import { IDataContext } from '../../../../../common/data/data-context/data-context';
4
+ /**
5
+ * Support util for updating data view models
6
+ * according to drop events.
7
+ */
8
+ export declare class DataViewDndModelUtil {
9
+ /***************************************************************************
10
+ * *
11
+ * Fields *
12
+ * *
13
+ **************************************************************************/
14
+ private static readonly log;
15
+ /***************************************************************************
16
+ * *
17
+ * Public API *
18
+ * *
19
+ **************************************************************************/
20
+ static updateModel<T>(itemDropEvent: DataViewItemDropEvent<T>): void;
21
+ private static supportsModelUpdate;
22
+ private static moveItemAcrossContexts;
23
+ private static moveItemWithinContext;
24
+ }
25
+ export declare class ViewDropModelUpdateInstruction<T> {
26
+ readonly item: T;
27
+ readonly fromContext: IDataContext<T>;
28
+ readonly toContext: IDataContext<T>;
29
+ readonly fromIndex: number;
30
+ readonly toIndex: number;
31
+ static of<T>(dropEvent: DataViewItemDropEvent<T>): ViewDropModelUpdateInstruction<T>;
32
+ constructor(item: T, fromContext: IDataContext<T>, toContext: IDataContext<T>, fromIndex: number, toIndex: number);
33
+ /***************************************************************************
34
+ * *
35
+ * Properties *
36
+ * *
37
+ **************************************************************************/
38
+ get fromDataSource(): LocalListDataSource<T>;
39
+ get toDataSource(): LocalListDataSource<T>;
40
+ }
@@ -0,0 +1,54 @@
1
+ import { DataViewDndControllerService } from '../data-view-dnd-controller.service';
2
+ import { IElderDataView } from '../../../base/elder-data-view';
3
+ import { DataViewDndGroupControllerService } from '../grouping/data-view-dnd-group-controller.service';
4
+ import { ElderDataViewDndDirective } from '../elder-data-view-dnd.directive';
5
+ import { ElderDataViewDndGroupDirective } from '../grouping/elder-data-view-dnd-group.directive';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * Adds support for automatic model updates
9
+ * according to occurring drag and drop on data views.
10
+ */
11
+ export declare class ElderLocalDndSupportDirective<T> {
12
+ readonly dropView: ElderDataViewDndDirective<T>;
13
+ readonly dropGroup: ElderDataViewDndGroupDirective<T>;
14
+ readonly dropViewController: DataViewDndControllerService<T>;
15
+ readonly dropGroupController: DataViewDndGroupControllerService<T>;
16
+ readonly _dataView: IElderDataView<T>;
17
+ /***************************************************************************
18
+ * *
19
+ * Fields *
20
+ * *
21
+ **************************************************************************/
22
+ private readonly log;
23
+ private dataContext;
24
+ private dataSource;
25
+ /***************************************************************************
26
+ * *
27
+ * Constructor *
28
+ * *
29
+ **************************************************************************/
30
+ constructor(dropView: ElderDataViewDndDirective<T>, dropGroup: ElderDataViewDndGroupDirective<T>, dropViewController: DataViewDndControllerService<T>, dropGroupController: DataViewDndGroupControllerService<T>, _dataView: IElderDataView<T>);
31
+ /***************************************************************************
32
+ * *
33
+ * Single Drop View Mode *
34
+ * *
35
+ **************************************************************************/
36
+ private initSingleDropViewModelTracking;
37
+ private handleItemDrop;
38
+ private isSortDefined;
39
+ /***************************************************************************
40
+ * *
41
+ * Drop Group Mode *
42
+ * *
43
+ **************************************************************************/
44
+ private initDropGroupModelTracking;
45
+ private handleGroupDrop;
46
+ /***************************************************************************
47
+ * *
48
+ * Private Methods *
49
+ * *
50
+ **************************************************************************/
51
+ private updateModel;
52
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderLocalDndSupportDirective<any>, [{ optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
53
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ElderLocalDndSupportDirective<any>, "[elderLocalDndSupport]", never, {}, {}, never, never, true, never>;
54
+ }
@@ -0,0 +1,2 @@
1
+ export * from './data-view-dnd-model-util';
2
+ export * from './elder-local-dnd-support.directive';
@@ -0,0 +1,7 @@
1
+ export * from './events/public_api';
2
+ export * from './grouping/public_api';
3
+ export * from './local-data/public_api';
4
+ export * from './elder-data-view-dnd.directive';
5
+ export * from './elder-data-view-item-drag.directive';
6
+ export * from './local-data/elder-local-dnd-support.directive';
7
+ export * from './data-view-dnd-controller.service';
@@ -11,16 +11,21 @@ import * as i9 from "@angular/material/progress-bar";
11
11
  import * as i10 from "@angular/material/dialog";
12
12
  import * as i11 from "@angular/material/tooltip";
13
13
  import * as i12 from "@ngx-translate/core";
14
- import * as i13 from "../../badge/elder-badge.module";
15
- import * as i14 from "./elder-data-toolbar/elder-data-toolbar.component";
16
- import * as i15 from "./elder-single-sort/elder-single-sort.component";
17
- import * as i16 from "./composite-sort/elder-composite-sort/elder-composite-sort.component";
18
- import * as i17 from "./composite-sort/composite-sort-dc.directive";
19
- import * as i18 from "./selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component";
20
- import * as i19 from "./selection/data-context-selection.directive";
21
- import * as i20 from "./data-context-state-indicator/data-context-state-indicator.component";
14
+ import * as i13 from "@angular/cdk/drag-drop";
15
+ import * as i14 from "../../badge/elder-badge.module";
16
+ import * as i15 from "./elder-data-toolbar/elder-data-toolbar.component";
17
+ import * as i16 from "./elder-single-sort/elder-single-sort.component";
18
+ import * as i17 from "./composite-sort/elder-composite-sort/elder-composite-sort.component";
19
+ import * as i18 from "./composite-sort/composite-sort-dc.directive";
20
+ import * as i19 from "./selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component";
21
+ import * as i20 from "./selection/data-context-selection.directive";
22
+ import * as i21 from "./data-context-state-indicator/data-context-state-indicator.component";
23
+ import * as i22 from "./drag-and-drop/elder-data-view-dnd.directive";
24
+ import * as i23 from "./drag-and-drop/elder-data-view-item-drag.directive";
25
+ import * as i24 from "./drag-and-drop/local-data/elder-local-dnd-support.directive";
26
+ import * as i25 from "./drag-and-drop/grouping/elder-data-view-dnd-group.directive";
22
27
  export declare class ElderDataCommonModule {
23
28
  static ɵfac: i0.ɵɵFactoryDeclaration<ElderDataCommonModule, never>;
24
- static ɵmod: i0.ɵɵNgModuleDeclaration<ElderDataCommonModule, never, [typeof i1.CommonModule, typeof i2.RouterModule, typeof i3.MatDividerModule, typeof i4.MatCheckboxModule, typeof i5.MatMenuModule, typeof i6.MatButtonModule, typeof i7.MatIconModule, typeof i8.MatBadgeModule, typeof i9.MatProgressBarModule, typeof i10.MatDialogModule, typeof i11.MatTooltipModule, typeof i12.TranslateModule, typeof i13.ElderBadgeModule, typeof i14.ElderDataToolbarComponent, typeof i14.ElderToolbarContentDirective, typeof i15.ElderSingleSortComponent, typeof i16.ElderCompositeSortComponent, typeof i17.ElderCompositeSortDcDirective, typeof i18.ElderSelectionMasterCheckboxComponent, typeof i19.DataContextSelectionDirective, typeof i20.DataContextStateIndicatorComponent], [typeof i14.ElderDataToolbarComponent, typeof i14.ElderToolbarContentDirective, typeof i15.ElderSingleSortComponent, typeof i16.ElderCompositeSortComponent, typeof i17.ElderCompositeSortDcDirective, typeof i18.ElderSelectionMasterCheckboxComponent, typeof i19.DataContextSelectionDirective, typeof i20.DataContextStateIndicatorComponent]>;
29
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ElderDataCommonModule, never, [typeof i1.CommonModule, typeof i2.RouterModule, typeof i3.MatDividerModule, typeof i4.MatCheckboxModule, typeof i5.MatMenuModule, typeof i6.MatButtonModule, typeof i7.MatIconModule, typeof i8.MatBadgeModule, typeof i9.MatProgressBarModule, typeof i10.MatDialogModule, typeof i11.MatTooltipModule, typeof i12.TranslateModule, typeof i13.DragDropModule, typeof i14.ElderBadgeModule, typeof i15.ElderDataToolbarComponent, typeof i15.ElderToolbarContentDirective, typeof i16.ElderSingleSortComponent, typeof i17.ElderCompositeSortComponent, typeof i18.ElderCompositeSortDcDirective, typeof i19.ElderSelectionMasterCheckboxComponent, typeof i20.DataContextSelectionDirective, typeof i21.DataContextStateIndicatorComponent, typeof i22.ElderDataViewDndDirective, typeof i23.ElderDataViewItemDragDirective, typeof i24.ElderLocalDndSupportDirective, typeof i25.ElderDataViewDndGroupDirective], [typeof i15.ElderDataToolbarComponent, typeof i15.ElderToolbarContentDirective, typeof i16.ElderSingleSortComponent, typeof i17.ElderCompositeSortComponent, typeof i18.ElderCompositeSortDcDirective, typeof i19.ElderSelectionMasterCheckboxComponent, typeof i20.DataContextSelectionDirective, typeof i21.DataContextStateIndicatorComponent, typeof i22.ElderDataViewDndDirective, typeof i23.ElderDataViewItemDragDirective, typeof i24.ElderLocalDndSupportDirective, typeof i25.ElderDataViewDndGroupDirective]>;
25
30
  static ɵinj: i0.ɵɵInjectorDeclaration<ElderDataCommonModule>;
26
31
  }
@@ -8,5 +8,6 @@ export { MasterSelectionState } from './selection/master-selection-state';
8
8
  export { DataContextSelectionDirective } from './selection/data-context-selection.directive';
9
9
  export { DataContextStateIndicatorComponent } from './data-context-state-indicator/data-context-state-indicator.component';
10
10
  export * from './activation/public_api';
11
+ export * from './drag-and-drop/public_api';
11
12
  export { ElderDataCommonModule } from './elder-data-common.module';
12
13
  export { ElderContinuatorComponent } from './elder-continuator/elder-continuator.component';
@@ -0,0 +1,37 @@
1
+ import { DataViewDndControllerService } from '../../common/drag-and-drop/data-view-dnd-controller.service';
2
+ import { CdkDropList } from '@angular/cdk/drag-drop';
3
+ import { ElderTableComponent } from '../elder-table/elder-table.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/cdk/drag-drop";
6
+ /**
7
+ * Directive which defines its host table as a CdkDropList and connects
8
+ * it with the drag and drop controller service of the parent data view.
9
+ *
10
+ * This is needed since our elder-table wraps the mat-table.
11
+ * If we someday switch to a more composition-based approach we might not need this anymore.
12
+ */
13
+ export declare class ElderTableDropListConnectorDirective<T> {
14
+ private readonly dndController;
15
+ readonly elderTable: ElderTableComponent;
16
+ readonly cdkDropList: CdkDropList;
17
+ /***************************************************************************
18
+ * *
19
+ * Fields *
20
+ * *
21
+ **************************************************************************/
22
+ private readonly log;
23
+ /***************************************************************************
24
+ * *
25
+ * Constructor *
26
+ * *
27
+ **************************************************************************/
28
+ constructor(dndController: DataViewDndControllerService<T>, elderTable: ElderTableComponent, cdkDropList: CdkDropList);
29
+ /***************************************************************************
30
+ * *
31
+ * Private Methods *
32
+ * *
33
+ **************************************************************************/
34
+ private disableDrag;
35
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderTableDropListConnectorDirective<any>, [{ optional: true; }, null, null]>;
36
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ElderTableDropListConnectorDirective<any>, "[elderTableDropListConnector]", never, {}, {}, never, never, true, [{ directive: typeof i1.CdkDropList; inputs: {}; outputs: {}; }]>;
37
+ }
@@ -0,0 +1 @@
1
+ export * from './elder-table-drop-list-connector.directive';
@@ -37,6 +37,10 @@ export declare class ElderTableComponent<T = any> extends ElderDataViewBaseCompo
37
37
  columnDefs: QueryList<CdkColumnDef>;
38
38
  elderColumns: QueryList<ElderTableColumnDirective>;
39
39
  rowDefs: QueryList<CdkRowDef<any>>;
40
+ /**
41
+ * ID of table component.
42
+ */
43
+ readonly id: import("@angular/core").InputSignal<string>;
40
44
  /**
41
45
  * Field to identify the data records (ID field).
42
46
  * Note: This property is only considered in case the
@@ -130,5 +134,5 @@ export declare class ElderTableComponent<T = any> extends ElderDataViewBaseCompo
130
134
  private setupSelectionLifeCycle;
131
135
  private getRowForItem;
132
136
  static ɵfac: i0.ɵɵFactoryDeclaration<ElderTableComponent<any>, [null, { optional: true; }, { optional: true; skipSelf: true; }, { optional: true; }, { optional: true; skipSelf: true; }, null, null]>;
133
- static ɵcmp: i0.ɵɵComponentDeclaration<ElderTableComponent<any>, "elder-table", never, { "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "idField": { "alias": "idField"; "required": false; }; "removingField": { "alias": "removingField"; "required": false; }; "hiddenField": { "alias": "hiddenField"; "required": false; }; "keepSelection": { "alias": "keepSelection"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "denseHorizontal": { "alias": "denseHorizontal"; "required": false; "isSignal": true; }; "toolbarTemplate": { "alias": "toolbarTemplate"; "required": false; }; "data": { "alias": "data"; "required": false; }; "displayedColumns": { "alias": "displayedColumns"; "required": false; }; "selectionVisible": { "alias": "selectionVisible"; "required": false; }; }, {}, ["columnDefs", "elderColumns", "rowDefs", "toolbarRowTemplateQuery"], never, true, never>;
137
+ static ɵcmp: i0.ɵɵComponentDeclaration<ElderTableComponent<any>, "elder-table", ["elderTable"], { "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "idField": { "alias": "idField"; "required": false; }; "removingField": { "alias": "removingField"; "required": false; }; "hiddenField": { "alias": "hiddenField"; "required": false; }; "keepSelection": { "alias": "keepSelection"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "denseHorizontal": { "alias": "denseHorizontal"; "required": false; "isSignal": true; }; "toolbarTemplate": { "alias": "toolbarTemplate"; "required": false; }; "data": { "alias": "data"; "required": false; }; "displayedColumns": { "alias": "displayedColumns"; "required": false; }; "selectionVisible": { "alias": "selectionVisible"; "required": false; }; }, {}, ["columnDefs", "elderColumns", "rowDefs", "toolbarRowTemplateQuery"], never, true, never>;
134
138
  }