@sumaris-net/ngx-components 18.23.55-beta.2 → 18.23.55-beta.3
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/esm2022/src/app/shared/directives/cell-selection/cell-identifier.directive.mjs +9 -3
- package/fesm2022/sumaris-net.ngx-components.mjs +7 -2
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/src/app/shared/directives/cell-selection/cell-identifier.directive.d.ts +1 -0
- package/src/app/shared/inputs.d.ts +1 -1
- package/src/theme/_ngx-components.table.scss +4 -2
|
@@ -2,11 +2,13 @@ import { DestroyRef, Directive, inject, input } from '@angular/core';
|
|
|
2
2
|
import { APP_CELL_SELECTION_SERVICE_TOKEN } from './cell-selection.service';
|
|
3
3
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { filter } from 'rxjs/operators';
|
|
5
|
+
import { arraySize } from '../../functions';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export class CellIdentifierDirective {
|
|
7
8
|
cellId = input.required({ alias: 'appCellId' });
|
|
8
9
|
isInitialized = false;
|
|
9
10
|
isCellSelected = false;
|
|
11
|
+
isMultipleCellsSelected = false;
|
|
10
12
|
isDragging = false;
|
|
11
13
|
service = inject(APP_CELL_SELECTION_SERVICE_TOKEN);
|
|
12
14
|
destroyRef = inject(DestroyRef);
|
|
@@ -14,7 +16,10 @@ export class CellIdentifierDirective {
|
|
|
14
16
|
// Listen to service selection changes and emit
|
|
15
17
|
this.service.selectionChangeSubject
|
|
16
18
|
.pipe(filter(() => this.isInitialized), takeUntilDestroyed(this.destroyRef))
|
|
17
|
-
.subscribe(() =>
|
|
19
|
+
.subscribe(() => {
|
|
20
|
+
this.isCellSelected = this.service.isCellSelected(this.cellId());
|
|
21
|
+
this.isMultipleCellsSelected = arraySize(this.service.selectedCells) > 1;
|
|
22
|
+
});
|
|
18
23
|
this.isInitialized = true;
|
|
19
24
|
}
|
|
20
25
|
async handleMouseDown(event) {
|
|
@@ -28,7 +33,7 @@ export class CellIdentifierDirective {
|
|
|
28
33
|
await this.service.handleCellMouseEnter(event, this.cellId());
|
|
29
34
|
}
|
|
30
35
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellIdentifierDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
31
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: CellIdentifierDirective, isStandalone: true, selector: "[appCellId]", inputs: { cellId: { classPropertyName: "cellId", publicName: "appCellId", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "mousedown": "handleMouseDown($event)", "mouseenter": "handleMouseEnter($event)" }, properties: { "class.cell-selected": "isCellSelected", "class.cell-dragging": "isDragging", "attr.data-row-id": "cellId().rowId", "attr.data-column-name": "cellId().columnName" } }, ngImport: i0 });
|
|
36
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: CellIdentifierDirective, isStandalone: true, selector: "[appCellId]", inputs: { cellId: { classPropertyName: "cellId", publicName: "appCellId", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "mousedown": "handleMouseDown($event)", "mouseenter": "handleMouseEnter($event)" }, properties: { "class.cell-selected": "isCellSelected", "class.cell-multiple-selected": "isMultipleCellsSelected", "class.cell-dragging": "isDragging", "attr.data-row-id": "cellId().rowId", "attr.data-column-name": "cellId().columnName" } }, ngImport: i0 });
|
|
32
37
|
}
|
|
33
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellIdentifierDirective, decorators: [{
|
|
34
39
|
type: Directive,
|
|
@@ -39,10 +44,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
39
44
|
'(mousedown)': 'handleMouseDown($event)',
|
|
40
45
|
'(mouseenter)': 'handleMouseEnter($event)',
|
|
41
46
|
'[class.cell-selected]': 'isCellSelected',
|
|
47
|
+
'[class.cell-multiple-selected]': 'isMultipleCellsSelected',
|
|
42
48
|
'[class.cell-dragging]': 'isDragging',
|
|
43
49
|
'[attr.data-row-id]': 'cellId().rowId',
|
|
44
50
|
'[attr.data-column-name]': 'cellId().columnName',
|
|
45
51
|
},
|
|
46
52
|
}]
|
|
47
53
|
}] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1pZGVudGlmaWVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvY2VsbC1zZWxlY3Rpb24vY2VsbC1pZGVudGlmaWVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBVyxNQUFNLDBCQUEwQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBZTVDLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUUzQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsdUJBQXVCLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFWixPQUFPLEdBQUcsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDbkQsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVqRCxRQUFRO1FBQ04sK0NBQStDO1FBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCO2FBQ2hDLElBQUksQ0FDSCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUNoQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQ3BDO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFUyxLQUFLLENBQUMsZUFBZSxDQUFDLEtBQWlCO1FBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUFFLE9BQU87UUFDaEMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRVMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEtBQWlCO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUFFLE9BQU87UUFDaEMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO3dHQWpDVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFibkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDSixhQUFhLEVBQUUseUJBQXlCO3dCQUN4QyxjQUFjLEVBQUUsMEJBQTBCO3dCQUMxQyx1QkFBdUIsRUFBRSxnQkFBZ0I7d0JBQ3pDLGdDQUFnQyxFQUFFLHlCQUF5Qjt3QkFDM0QsdUJBQXVCLEVBQUUsWUFBWTt3QkFDckMsb0JBQW9CLEVBQUUsZ0JBQWdCO3dCQUN0Qyx5QkFBeUIsRUFBRSxxQkFBcUI7cUJBQ2pEO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBpbmplY3QsIGlucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFQUF9DRUxMX1NFTEVDVElPTl9TRVJWSUNFX1RPS0VOLCBJQ2VsbElkIH0gZnJvbSAnLi9jZWxsLXNlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGFycmF5U2l6ZSB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thcHBDZWxsSWRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgICcobW91c2Vkb3duKSc6ICdoYW5kbGVNb3VzZURvd24oJGV2ZW50KScsXG4gICAgJyhtb3VzZWVudGVyKSc6ICdoYW5kbGVNb3VzZUVudGVyKCRldmVudCknLFxuICAgICdbY2xhc3MuY2VsbC1zZWxlY3RlZF0nOiAnaXNDZWxsU2VsZWN0ZWQnLFxuICAgICdbY2xhc3MuY2VsbC1tdWx0aXBsZS1zZWxlY3RlZF0nOiAnaXNNdWx0aXBsZUNlbGxzU2VsZWN0ZWQnLFxuICAgICdbY2xhc3MuY2VsbC1kcmFnZ2luZ10nOiAnaXNEcmFnZ2luZycsXG4gICAgJ1thdHRyLmRhdGEtcm93LWlkXSc6ICdjZWxsSWQoKS5yb3dJZCcsXG4gICAgJ1thdHRyLmRhdGEtY29sdW1uLW5hbWVdJzogJ2NlbGxJZCgpLmNvbHVtbk5hbWUnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDZWxsSWRlbnRpZmllckRpcmVjdGl2ZTxDIGV4dGVuZHMgSUNlbGxJZCA9IElDZWxsSWQ+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY2VsbElkID0gaW5wdXQucmVxdWlyZWQ8Qz4oeyBhbGlhczogJ2FwcENlbGxJZCcgfSk7XG5cbiAgcHJpdmF0ZSBpc0luaXRpYWxpemVkID0gZmFsc2U7XG4gIHByb3RlY3RlZCBpc0NlbGxTZWxlY3RlZCA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgaXNNdWx0aXBsZUNlbGxzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGlzRHJhZ2dpbmcgPSBmYWxzZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2UgPSBpbmplY3QoQVBQX0NFTExfU0VMRUNUSU9OX1NFUlZJQ0VfVE9LRU4pO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gTGlzdGVuIHRvIHNlcnZpY2Ugc2VsZWN0aW9uIGNoYW5nZXMgYW5kIGVtaXRcbiAgICB0aGlzLnNlcnZpY2Uuc2VsZWN0aW9uQ2hhbmdlU3ViamVjdFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmlzSW5pdGlhbGl6ZWQpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNDZWxsU2VsZWN0ZWQgPSB0aGlzLnNlcnZpY2UuaXNDZWxsU2VsZWN0ZWQodGhpcy5jZWxsSWQoKSk7XG4gICAgICAgIHRoaXMuaXNNdWx0aXBsZUNlbGxzU2VsZWN0ZWQgPSBhcnJheVNpemUodGhpcy5zZXJ2aWNlLnNlbGVjdGVkQ2VsbHMpID4gMTtcbiAgICAgIH0pO1xuICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmlzSW5pdGlhbGl6ZWQpIHJldHVybjtcbiAgICBhd2FpdCB0aGlzLnNlcnZpY2UuaGFuZGxlQ2VsbE1vdXNlRG93bihldmVudCwgdGhpcy5jZWxsSWQoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlTW91c2VFbnRlcihldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICghdGhpcy5pc0luaXRpYWxpemVkKSByZXR1cm47XG4gICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmhhbmRsZUNlbGxNb3VzZUVudGVyKGV2ZW50LCB0aGlzLmNlbGxJZCgpKTtcbiAgfVxufVxuIl19
|
|
@@ -29394,6 +29394,7 @@ class CellIdentifierDirective {
|
|
|
29394
29394
|
cellId = input.required({ alias: 'appCellId' });
|
|
29395
29395
|
isInitialized = false;
|
|
29396
29396
|
isCellSelected = false;
|
|
29397
|
+
isMultipleCellsSelected = false;
|
|
29397
29398
|
isDragging = false;
|
|
29398
29399
|
service = inject(APP_CELL_SELECTION_SERVICE_TOKEN);
|
|
29399
29400
|
destroyRef = inject(DestroyRef);
|
|
@@ -29401,7 +29402,10 @@ class CellIdentifierDirective {
|
|
|
29401
29402
|
// Listen to service selection changes and emit
|
|
29402
29403
|
this.service.selectionChangeSubject
|
|
29403
29404
|
.pipe(filter(() => this.isInitialized), takeUntilDestroyed(this.destroyRef))
|
|
29404
|
-
.subscribe(() =>
|
|
29405
|
+
.subscribe(() => {
|
|
29406
|
+
this.isCellSelected = this.service.isCellSelected(this.cellId());
|
|
29407
|
+
this.isMultipleCellsSelected = arraySize(this.service.selectedCells) > 1;
|
|
29408
|
+
});
|
|
29405
29409
|
this.isInitialized = true;
|
|
29406
29410
|
}
|
|
29407
29411
|
async handleMouseDown(event) {
|
|
@@ -29415,7 +29419,7 @@ class CellIdentifierDirective {
|
|
|
29415
29419
|
await this.service.handleCellMouseEnter(event, this.cellId());
|
|
29416
29420
|
}
|
|
29417
29421
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellIdentifierDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
29418
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: CellIdentifierDirective, isStandalone: true, selector: "[appCellId]", inputs: { cellId: { classPropertyName: "cellId", publicName: "appCellId", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "mousedown": "handleMouseDown($event)", "mouseenter": "handleMouseEnter($event)" }, properties: { "class.cell-selected": "isCellSelected", "class.cell-dragging": "isDragging", "attr.data-row-id": "cellId().rowId", "attr.data-column-name": "cellId().columnName" } }, ngImport: i0 });
|
|
29422
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: CellIdentifierDirective, isStandalone: true, selector: "[appCellId]", inputs: { cellId: { classPropertyName: "cellId", publicName: "appCellId", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "mousedown": "handleMouseDown($event)", "mouseenter": "handleMouseEnter($event)" }, properties: { "class.cell-selected": "isCellSelected", "class.cell-multiple-selected": "isMultipleCellsSelected", "class.cell-dragging": "isDragging", "attr.data-row-id": "cellId().rowId", "attr.data-column-name": "cellId().columnName" } }, ngImport: i0 });
|
|
29419
29423
|
}
|
|
29420
29424
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellIdentifierDirective, decorators: [{
|
|
29421
29425
|
type: Directive,
|
|
@@ -29426,6 +29430,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
29426
29430
|
'(mousedown)': 'handleMouseDown($event)',
|
|
29427
29431
|
'(mouseenter)': 'handleMouseEnter($event)',
|
|
29428
29432
|
'[class.cell-selected]': 'isCellSelected',
|
|
29433
|
+
'[class.cell-multiple-selected]': 'isMultipleCellsSelected',
|
|
29429
29434
|
'[class.cell-dragging]': 'isDragging',
|
|
29430
29435
|
'[attr.data-row-id]': 'cellId().rowId',
|
|
29431
29436
|
'[attr.data-column-name]': 'cellId().columnName',
|