@danske/sapphire-angular 1.15.0 → 1.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.
- package/esm2020/lib/table/src/table-row.directive.mjs +22 -6
- package/fesm2015/danske-sapphire-angular.mjs +19 -5
- package/fesm2015/danske-sapphire-angular.mjs.map +1 -1
- package/fesm2020/danske-sapphire-angular.mjs +19 -5
- package/fesm2020/danske-sapphire-angular.mjs.map +1 -1
- package/lib/table/src/table-row.directive.d.ts +3 -1
- package/package.json +2 -2
|
@@ -1,16 +1,20 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
1
2
|
import { ContentChildren, Directive, forwardRef, HostListener, Inject, Input, QueryList, } from '@angular/core';
|
|
2
3
|
import { TableComponent } from './table.component';
|
|
3
4
|
import { TableCellDirective } from './table-cell.directive';
|
|
4
5
|
import { UseComponentStyles } from '../../common/sapphire-view-encapsulation';
|
|
6
|
+
import { CoerceBoolean } from '../../common/coerce-boolean.decorator';
|
|
5
7
|
import * as i0 from "@angular/core";
|
|
6
8
|
import * as i1 from "../../common/sapphire-view-encapsulation";
|
|
7
9
|
import * as i2 from "./table.component";
|
|
8
10
|
export class TableRowDirective {
|
|
9
11
|
onRowClick() {
|
|
10
|
-
this.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
if (!this.disabled) {
|
|
13
|
+
this.table.rowAction.emit({
|
|
14
|
+
index: this.table.rows?.toArray().findIndex((row) => row === this) ?? -1,
|
|
15
|
+
rowData: this.rowData,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
14
18
|
}
|
|
15
19
|
getColumnHeadCell(cell) {
|
|
16
20
|
const index = this.cells.toArray().indexOf(cell);
|
|
@@ -20,16 +24,26 @@ export class TableRowDirective {
|
|
|
20
24
|
this.table = table;
|
|
21
25
|
this.cells = new QueryList();
|
|
22
26
|
this.rowData = null;
|
|
27
|
+
this.disabled = false;
|
|
23
28
|
}
|
|
24
29
|
}
|
|
25
30
|
TableRowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TableRowDirective, deps: [{ token: forwardRef(() => TableComponent) }], target: i0.ɵɵFactoryTarget.Directive });
|
|
26
|
-
TableRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: TableRowDirective, selector: "tr[sp-table-tr]", inputs: { rowData: "rowData" }, host: { listeners: { "click": "onRowClick()" }, classAttribute: "sapphire-table__row" }, queries: [{ propertyName: "cells", predicate: TableCellDirective }], hostDirectives: [{ directive: i1.UseComponentStyles }], ngImport: i0 });
|
|
31
|
+
TableRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: TableRowDirective, selector: "tr[sp-table-tr]", inputs: { rowData: "rowData", disabled: "disabled" }, host: { listeners: { "click": "onRowClick()" }, properties: { "class.js-hover": "disabled" }, classAttribute: "sapphire-table__row" }, queries: [{ propertyName: "cells", predicate: TableCellDirective }], hostDirectives: [{ directive: i1.UseComponentStyles }], ngImport: i0 });
|
|
32
|
+
__decorate([
|
|
33
|
+
CoerceBoolean
|
|
34
|
+
], TableRowDirective.prototype, "disabled", void 0);
|
|
27
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TableRowDirective, decorators: [{
|
|
28
36
|
type: Directive,
|
|
29
37
|
args: [{
|
|
30
38
|
selector: 'tr[sp-table-tr]',
|
|
31
39
|
host: {
|
|
32
40
|
class: 'sapphire-table__row',
|
|
41
|
+
/**
|
|
42
|
+
* We want the css hover styles to not be applied for the disabled rows.
|
|
43
|
+
* The "js-hover" class basically means that we're taking over the hover
|
|
44
|
+
* styles from css.
|
|
45
|
+
*/
|
|
46
|
+
'[class.js-hover]': 'disabled',
|
|
33
47
|
},
|
|
34
48
|
hostDirectives: [UseComponentStyles],
|
|
35
49
|
}]
|
|
@@ -41,8 +55,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
41
55
|
args: [TableCellDirective]
|
|
42
56
|
}], rowData: [{
|
|
43
57
|
type: Input
|
|
58
|
+
}], disabled: [{
|
|
59
|
+
type: Input
|
|
44
60
|
}], onRowClick: [{
|
|
45
61
|
type: HostListener,
|
|
46
62
|
args: ['click']
|
|
47
63
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcm93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvdGFibGUvc3JjL3RhYmxlLXJvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7OztBQWdCdEUsTUFBTSxPQUFPLGlCQUFpQjtJQVlwQixVQUFVO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDeEIsS0FBSyxFQUNILElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbkUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3RCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVNLGlCQUFpQixDQUFDLElBQXdCO1FBQy9DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFlBRVMsS0FBcUI7UUFBckIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUEzQjlCLFVBQUssR0FBa0MsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUd2RCxZQUFPLEdBQWEsSUFBSSxDQUFDO1FBSXpCLGFBQVEsR0FBaUIsS0FBSyxDQUFDO0lBcUI1QixDQUFDOzs4R0E5Qk8saUJBQWlCLGtCQTRCbEIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQztrR0E1Qi9CLGlCQUFpQiwwUUFDWCxrQkFBa0I7QUFRbkM7SUFEQyxhQUFhO21EQUNpQjsyRkFUcEIsaUJBQWlCO2tCQWI3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUscUJBQXFCO3dCQUM1Qjs7OzsyQkFJRzt3QkFDSCxrQkFBa0IsRUFBRSxVQUFVO3FCQUMvQjtvQkFDRCxjQUFjLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDckM7OzBCQTZCSSxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7NENBMUIxQyxLQUFLO3NCQURKLGVBQWU7dUJBQUMsa0JBQWtCO2dCQUluQyxPQUFPO3NCQUROLEtBQUs7Z0JBS04sUUFBUTtzQkFGUCxLQUFLO2dCQUtFLFVBQVU7c0JBRGpCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlQ2VsbERpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUtY2VsbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGFibGVIZWFkQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtaGVhZC1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VDb21wb25lbnRTdHlsZXMgfSBmcm9tICcuLi8uLi9jb21tb24vc2FwcGhpcmUtdmlldy1lbmNhcHN1bGF0aW9uJztcbmltcG9ydCB7IENvZXJjZUJvb2xlYW4gfSBmcm9tICcuLi8uLi9jb21tb24vY29lcmNlLWJvb2xlYW4uZGVjb3JhdG9yJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3RyW3NwLXRhYmxlLXRyXScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ3NhcHBoaXJlLXRhYmxlX19yb3cnLFxuICAgIC8qKlxuICAgICAqIFdlIHdhbnQgdGhlIGNzcyBob3ZlciBzdHlsZXMgdG8gbm90IGJlIGFwcGxpZWQgZm9yIHRoZSBkaXNhYmxlZCByb3dzLlxuICAgICAqIFRoZSBcImpzLWhvdmVyXCIgY2xhc3MgYmFzaWNhbGx5IG1lYW5zIHRoYXQgd2UncmUgdGFraW5nIG92ZXIgdGhlIGhvdmVyXG4gICAgICogc3R5bGVzIGZyb20gY3NzLlxuICAgICAqL1xuICAgICdbY2xhc3MuanMtaG92ZXJdJzogJ2Rpc2FibGVkJyxcbiAgfSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtVc2VDb21wb25lbnRTdHlsZXNdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVJvd0RpcmVjdGl2ZTxEID0gdW5rbm93bj4ge1xuICBAQ29udGVudENoaWxkcmVuKFRhYmxlQ2VsbERpcmVjdGl2ZSlcbiAgY2VsbHM6IFF1ZXJ5TGlzdDxUYWJsZUNlbGxEaXJlY3RpdmU+ID0gbmV3IFF1ZXJ5TGlzdCgpO1xuXG4gIEBJbnB1dCgpXG4gIHJvd0RhdGE6IEQgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBAQ29lcmNlQm9vbGVhblxuICBkaXNhYmxlZDogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBwcml2YXRlIG9uUm93Q2xpY2soKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnRhYmxlLnJvd0FjdGlvbi5lbWl0KHtcbiAgICAgICAgaW5kZXg6XG4gICAgICAgICAgdGhpcy50YWJsZS5yb3dzPy50b0FycmF5KCkuZmluZEluZGV4KChyb3cpID0+IHJvdyA9PT0gdGhpcykgPz8gLTEsXG4gICAgICAgIHJvd0RhdGE6IHRoaXMucm93RGF0YSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRDb2x1bW5IZWFkQ2VsbChjZWxsOiBUYWJsZUNlbGxEaXJlY3RpdmUpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY2VsbHMudG9BcnJheSgpLmluZGV4T2YoY2VsbCk7XG4gICAgcmV0dXJuIHRoaXMudGFibGUuaGVhZENlbGxzPy50b0FycmF5KClbaW5kZXhdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IFRhYmxlQ29tcG9uZW50KSlcbiAgICBwdWJsaWMgdGFibGU6IFRhYmxlQ29tcG9uZW50XG4gICkge31cbn1cbiJdfQ==
|
|
@@ -5414,10 +5414,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
5414
5414
|
class TableRowDirective {
|
|
5415
5415
|
onRowClick() {
|
|
5416
5416
|
var _a, _b;
|
|
5417
|
-
this.
|
|
5418
|
-
|
|
5419
|
-
|
|
5420
|
-
|
|
5417
|
+
if (!this.disabled) {
|
|
5418
|
+
this.table.rowAction.emit({
|
|
5419
|
+
index: (_b = (_a = this.table.rows) === null || _a === void 0 ? void 0 : _a.toArray().findIndex((row) => row === this)) !== null && _b !== void 0 ? _b : -1,
|
|
5420
|
+
rowData: this.rowData,
|
|
5421
|
+
});
|
|
5422
|
+
}
|
|
5421
5423
|
}
|
|
5422
5424
|
getColumnHeadCell(cell) {
|
|
5423
5425
|
var _a;
|
|
@@ -5428,16 +5430,26 @@ class TableRowDirective {
|
|
|
5428
5430
|
this.table = table;
|
|
5429
5431
|
this.cells = new QueryList();
|
|
5430
5432
|
this.rowData = null;
|
|
5433
|
+
this.disabled = false;
|
|
5431
5434
|
}
|
|
5432
5435
|
}
|
|
5433
5436
|
TableRowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TableRowDirective, deps: [{ token: forwardRef(() => TableComponent) }], target: i0.ɵɵFactoryTarget.Directive });
|
|
5434
|
-
TableRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: TableRowDirective, selector: "tr[sp-table-tr]", inputs: { rowData: "rowData" }, host: { listeners: { "click": "onRowClick()" }, classAttribute: "sapphire-table__row" }, queries: [{ propertyName: "cells", predicate: TableCellDirective }], hostDirectives: [{ directive: UseComponentStyles }], ngImport: i0 });
|
|
5437
|
+
TableRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: TableRowDirective, selector: "tr[sp-table-tr]", inputs: { rowData: "rowData", disabled: "disabled" }, host: { listeners: { "click": "onRowClick()" }, properties: { "class.js-hover": "disabled" }, classAttribute: "sapphire-table__row" }, queries: [{ propertyName: "cells", predicate: TableCellDirective }], hostDirectives: [{ directive: UseComponentStyles }], ngImport: i0 });
|
|
5438
|
+
__decorate([
|
|
5439
|
+
CoerceBoolean
|
|
5440
|
+
], TableRowDirective.prototype, "disabled", void 0);
|
|
5435
5441
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TableRowDirective, decorators: [{
|
|
5436
5442
|
type: Directive,
|
|
5437
5443
|
args: [{
|
|
5438
5444
|
selector: 'tr[sp-table-tr]',
|
|
5439
5445
|
host: {
|
|
5440
5446
|
class: 'sapphire-table__row',
|
|
5447
|
+
/**
|
|
5448
|
+
* We want the css hover styles to not be applied for the disabled rows.
|
|
5449
|
+
* The "js-hover" class basically means that we're taking over the hover
|
|
5450
|
+
* styles from css.
|
|
5451
|
+
*/
|
|
5452
|
+
'[class.js-hover]': 'disabled',
|
|
5441
5453
|
},
|
|
5442
5454
|
hostDirectives: [UseComponentStyles],
|
|
5443
5455
|
}]
|
|
@@ -5451,6 +5463,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
5451
5463
|
args: [TableCellDirective]
|
|
5452
5464
|
}], rowData: [{
|
|
5453
5465
|
type: Input
|
|
5466
|
+
}], disabled: [{
|
|
5467
|
+
type: Input
|
|
5454
5468
|
}], onRowClick: [{
|
|
5455
5469
|
type: HostListener,
|
|
5456
5470
|
args: ['click']
|