@coolon/angular-ui-powerups 13.1.7 → 13.3.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/assets/table.scss +2 -2
- package/esm2020/lib/components/commands/command/command.component.mjs +18 -5
- package/esm2020/lib/components/components.module.mjs +22 -19
- package/esm2020/lib/components/exports.mjs +28 -21
- package/esm2020/lib/components/tables/abstract-table-model.mjs +70 -29
- package/esm2020/lib/components/tables/abstract-table.component.mjs +12 -10
- package/esm2020/lib/components/tables/column/column-list-model.mjs +39 -0
- package/esm2020/lib/components/tables/column/column-model.mjs +180 -0
- package/esm2020/lib/components/tables/column/column-template/column-template.directive.mjs +35 -0
- package/esm2020/lib/components/tables/column/column-text-properties.mjs +2 -0
- package/esm2020/lib/components/tables/column/custom-template-column-model.mjs +16 -0
- package/esm2020/lib/components/tables/column/custom-value-column-model.mjs +37 -0
- package/esm2020/lib/components/tables/column/editor-controls-column-model.mjs +21 -0
- package/esm2020/lib/components/tables/column/list-propery-column-model.mjs +48 -0
- package/esm2020/lib/components/tables/column/property-column-model.mjs +92 -0
- package/esm2020/lib/components/tables/column/selection-column-model.mjs +40 -0
- package/esm2020/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.mjs +55 -0
- package/esm2020/lib/components/tables/editor/edit-session.mjs +23 -0
- package/esm2020/lib/components/tables/editor/editable-cell-renderer.mjs +2 -0
- package/esm2020/lib/components/tables/{table/paginator → paginator}/paginator.component.mjs +4 -4
- package/esm2020/lib/components/tables/renderer/cell-editors.mjs +2 -0
- package/esm2020/lib/components/tables/renderer/cell-portal-ref.mjs +93 -0
- package/esm2020/lib/components/tables/renderer/cell-renderer.mjs +2 -0
- package/esm2020/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +30 -0
- package/esm2020/lib/components/tables/{table → renderer}/default-header-cell-renderer/default-header-cell-renderer.component.mjs +1 -1
- package/esm2020/lib/components/tables/renderer/default-list-cell-renderer/default-list-cell-renderer.component.mjs +40 -0
- package/esm2020/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.mjs +31 -0
- package/esm2020/lib/components/tables/renderer/selection-cell/selection-cell.component.mjs +26 -0
- package/esm2020/lib/components/tables/renderer/table-cell/table-cell.component.mjs +93 -0
- package/esm2020/lib/components/tables/renderer/table-header-cell/table-header-cell.component.mjs +32 -0
- package/esm2020/lib/components/tables/search/column-text-search-formatter.mjs +52 -0
- package/esm2020/lib/components/tables/search/enable-cell-text-search.decorator.mjs +30 -0
- package/esm2020/lib/components/tables/table/table-model.mjs +2 -10
- package/esm2020/lib/components/tables/table/table.component.mjs +12 -12
- package/esm2020/lib/components/tables/table-row-menu/table-row-menu.component.mjs +84 -0
- package/esm2020/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +1 -1
- package/esm2020/lib/components/tables/tree-table/tree-label-column-model.mjs +3 -3
- package/esm2020/lib/components/tables/tree-table/tree-table-component.mjs +10 -10
- package/esm2020/lib/components/tables/tree-table/tree-table-model.mjs +1 -1
- package/esm2020/lib/interaction/activity-ref.mjs +2 -2
- package/esm2020/lib/interaction/activity.mjs +36 -27
- package/esm2020/lib/interaction/components/abstract-confirm-dialog.component.mjs +1 -1
- package/esm2020/lib/interaction/components/abstract-dialog.component.mjs +6 -1
- package/esm2020/lib/interaction/components/activity-actions/activity-actions.component.mjs +18 -5
- package/esm2020/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs +5 -2
- package/esm2020/lib/interaction/components/input-activities/input-activity.mjs +2 -4
- package/fesm2015/coolon-angular-ui-powerups.mjs +660 -460
- package/fesm2015/coolon-angular-ui-powerups.mjs.map +1 -1
- package/fesm2020/coolon-angular-ui-powerups.mjs +801 -602
- package/fesm2020/coolon-angular-ui-powerups.mjs.map +1 -1
- package/lib/components/commands/command/command.component.d.ts +5 -2
- package/lib/components/components.module.d.ts +55 -54
- package/lib/components/exports.d.ts +27 -20
- package/lib/components/tables/abstract-table-model.d.ts +24 -13
- package/lib/components/tables/abstract-table.component.d.ts +6 -5
- package/lib/components/tables/{column-list-model.d.ts → column/column-list-model.d.ts} +4 -4
- package/lib/components/tables/column/column-model.d.ts +77 -0
- package/lib/components/tables/column/custom-template-column-model.d.ts +8 -0
- package/lib/components/tables/column/custom-value-column-model.d.ts +10 -0
- package/lib/components/tables/column/editor-controls-column-model.d.ts +13 -0
- package/lib/components/tables/column/list-propery-column-model.d.ts +15 -0
- package/lib/components/tables/column/property-column-model.d.ts +24 -0
- package/lib/components/tables/column/selection-column-model.d.ts +12 -0
- package/lib/components/tables/{table → editor}/edit-row-controls/edit-row-controls.component.d.ts +1 -1
- package/lib/components/tables/{edit-session.d.ts → editor/edit-session.d.ts} +2 -2
- package/lib/components/tables/{table/mutable-cell-renderer.d.ts → editor/editable-cell-renderer.d.ts} +2 -2
- package/lib/components/tables/{table/paginator → paginator}/paginator.component.d.ts +1 -1
- package/lib/components/tables/{table → renderer}/cell-portal-ref.d.ts +18 -18
- package/lib/components/tables/renderer/cell-renderer.d.ts +3 -0
- package/lib/components/tables/{table → renderer}/default-cell-renderer/default-cell-renderer.component.d.ts +1 -1
- package/lib/components/tables/renderer/default-list-cell-renderer/default-list-cell-renderer.component.d.ts +12 -0
- package/lib/components/tables/{table/select-header-cell-renderer/select-header-cell-renderer.component.d.ts → renderer/select-header-cell/selection-header-cell.component.d.ts} +3 -3
- package/lib/components/tables/{table/select-cell-renderer/select-cell-renderer.component.d.ts → renderer/selection-cell/selection-cell.component.d.ts} +3 -3
- package/lib/components/tables/{table/table-cell-renderer/table-cell-renderer.component.d.ts → renderer/table-cell/table-cell.component.d.ts} +5 -5
- package/lib/components/tables/{table/table-header-cell-renderer/table-header-cell-renderer.component.d.ts → renderer/table-header-cell/table-header-cell.component.d.ts} +4 -4
- package/lib/components/tables/search/column-text-search-formatter.d.ts +28 -0
- package/lib/components/tables/search/enable-cell-text-search.decorator.d.ts +25 -0
- package/lib/components/tables/table/table-model.d.ts +3 -9
- package/lib/components/tables/table/table.component.d.ts +4 -4
- package/lib/components/tables/{table/table-row-menu → table-row-menu}/table-row-menu.component.d.ts +3 -3
- package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +1 -1
- package/lib/components/tables/tree-table/tree-label-column-model.d.ts +1 -1
- package/lib/components/tables/tree-table/tree-table-component.d.ts +2 -2
- package/lib/components/tables/tree-table/tree-table-model.d.ts +1 -1
- package/lib/interaction/activity.d.ts +15 -10
- package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +6 -1
- package/lib/interaction/components/input-activities/input-activity.d.ts +0 -1
- package/package.json +2 -1
- package/esm2020/lib/components/tables/column-list-model.mjs +0 -39
- package/esm2020/lib/components/tables/edit-session.mjs +0 -23
- package/esm2020/lib/components/tables/table/cell-editors.mjs +0 -2
- package/esm2020/lib/components/tables/table/cell-portal-ref.mjs +0 -93
- package/esm2020/lib/components/tables/table/cell-renderer.mjs +0 -2
- package/esm2020/lib/components/tables/table/column-model.mjs +0 -392
- package/esm2020/lib/components/tables/table/column-template/column-template.directive.mjs +0 -35
- package/esm2020/lib/components/tables/table/column-text-properties.mjs +0 -2
- package/esm2020/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.mjs +0 -22
- package/esm2020/lib/components/tables/table/edit-row-controls/edit-row-controls.component.mjs +0 -55
- package/esm2020/lib/components/tables/table/mutable-cell-renderer.mjs +0 -2
- package/esm2020/lib/components/tables/table/select-cell-renderer/select-cell-renderer.component.mjs +0 -26
- package/esm2020/lib/components/tables/table/select-header-cell-renderer/select-header-cell-renderer.component.mjs +0 -31
- package/esm2020/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.mjs +0 -93
- package/esm2020/lib/components/tables/table/table-def.mjs +0 -2
- package/esm2020/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.mjs +0 -32
- package/esm2020/lib/components/tables/table/table-row-menu/table-row-menu.component.mjs +0 -84
- package/esm2020/lib/components/tables/table/text-search-predicate.mjs +0 -2
- package/lib/components/tables/table/cell-renderer.d.ts +0 -5
- package/lib/components/tables/table/column-model.d.ts +0 -145
- package/lib/components/tables/table/table-def.d.ts +0 -7
- package/lib/components/tables/table/text-search-predicate.d.ts +0 -1
- /package/lib/components/tables/{table → column}/column-template/column-template.directive.d.ts +0 -0
- /package/lib/components/tables/{table → column}/column-text-properties.d.ts +0 -0
- /package/lib/components/tables/{table → renderer}/cell-editors.d.ts +0 -0
- /package/lib/components/tables/{table → renderer}/default-header-cell-renderer/default-header-cell-renderer.component.d.ts +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i4 from '@angular/common';
|
|
2
2
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { ElementRef, Directive, Inject, Host, Optional, Input, HostListener, NgZone, Injectable, Pipe, NgModule, Component, ContentChild, ViewEncapsulation, HostBinding, InjectionToken, ViewChildren, EventEmitter,
|
|
4
|
+
import { ElementRef, Directive, Inject, Host, Optional, Input, HostListener, NgZone, Injectable, Pipe, NgModule, Component, ContentChild, ViewEncapsulation, HostBinding, InjectionToken, ViewChild, ViewChildren, EventEmitter, Output, SkipSelf, Self, ContentChildren, ComponentRef, Injector, PLATFORM_ID } from '@angular/core';
|
|
5
5
|
import * as i4$1 from '@angular/forms';
|
|
6
6
|
import { FormsModule } from '@angular/forms';
|
|
7
7
|
import * as i1$8 from '@angular/material/form-field';
|
|
@@ -20,7 +20,7 @@ import { CdkScrollableModule } from '@angular/cdk/scrolling';
|
|
|
20
20
|
import * as i2$1 from '@angular/material/autocomplete';
|
|
21
21
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
22
22
|
import * as i1 from '@angular/material/button';
|
|
23
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
23
|
+
import { MatButton, MatButtonModule } from '@angular/material/button';
|
|
24
24
|
import * as i1$9 from '@angular/material/checkbox';
|
|
25
25
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
26
26
|
import * as i2 from '@angular/material/divider';
|
|
@@ -40,16 +40,18 @@ import { MatTooltipModule } from '@angular/material/tooltip';
|
|
|
40
40
|
import * as i1$5 from '@fortawesome/angular-fontawesome';
|
|
41
41
|
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
42
42
|
import * as i1$7 from '@coolon/pectin';
|
|
43
|
-
import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, Logger, TrackExternal, ValueModel, StoreInValueModel, Command, MutableListModel, StoreInListModel, Disposable, DelegatingListModel, MutableValueModel, FocusManager, EventListenerList, Form, Guard, Binding, DebugContext, ListModel,
|
|
43
|
+
import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, Logger, TrackExternal, ValueModel, StoreInValueModel, Command, MutableListModel, StoreInListModel, Trace, Disposable, DelegatingListModel, MutableValueModel, FocusManager, EventListenerList, Form, Guard, Binding, DebugContext, ListModel, Functions, MultipleSelectionModel, AbstractComputedListModel, DelegatingSelectionModel, DirtyTrackingForm, ComputedListModel, PageController, Deferred } from '@coolon/pectin';
|
|
44
44
|
import { __decorate, __param, __metadata, __awaiter } from 'tslib';
|
|
45
|
+
import * as _ from 'lodash';
|
|
45
46
|
import { isEmpty, isString, isFunction, isNil, isInteger, isEqual, uniq, first, findLast, isObject, isNumber, isNaN as isNaN$1 } from 'lodash';
|
|
46
47
|
import * as i1$2 from '@angular/platform-browser';
|
|
47
48
|
import { marked } from 'marked';
|
|
48
|
-
import { lang as lang$1, assert as assert$1, Stringy,
|
|
49
|
+
import { lang as lang$1, assert as assert$1, Stringy, Klass, Opts } from '@coolon/typescript-utilities';
|
|
49
50
|
import { Memoize } from '@typescript-plus/fast-memoize-decorator';
|
|
50
51
|
import { Enum } from 'typescript-string-enums';
|
|
51
52
|
import * as i3 from '@angular/material/core';
|
|
52
53
|
import ResizeObserver from 'resize-observer-polyfill';
|
|
54
|
+
import escapeStringRegexp from 'escape-string-regexp';
|
|
53
55
|
import produce from 'immer';
|
|
54
56
|
import { fas } from '@fortawesome/free-solid-svg-icons';
|
|
55
57
|
import * as i6$1 from '@angular/cdk/a11y';
|
|
@@ -1083,9 +1085,12 @@ class CommandComponent extends PopupAwareComponent {
|
|
|
1083
1085
|
getFace() {
|
|
1084
1086
|
return this.face;
|
|
1085
1087
|
}
|
|
1088
|
+
tryAndFocus() {
|
|
1089
|
+
this.button.focus();
|
|
1090
|
+
}
|
|
1086
1091
|
}
|
|
1087
1092
|
CommandComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CommandComponent, deps: [{ token: i0.ElementRef }, { token: POPUP_CONTAINER, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1088
|
-
CommandComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: CommandComponent, selector: "aup-command", inputs: { command: "command", faceModel: "faceModel", face: "face", busyFaceModel: "busyFaceModel", busyFace: "busyFace", alignFace: "alignFace" }, host: { properties: { "class": "this.alignFace" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"iconOnly$.value\">\n <button mat-icon-button [pectinCommand]=\"command\" [color]=\"color$.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n</ng-container>\n<ng-container *ngIf=\"!iconOnly$.value\">\n <ng-container [ngSwitch]=\"buttonStyle$.value\">\n <ng-container *ngSwitchCase=\"CommandFace.Style.STROKED\">\n <button mat-stroked-button [pectinCommand]=\"command\" [color]=\"color$.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFace.Style.RAISED\">\n <button mat-raised-button [pectinCommand]=\"command\" [color]=\"color$.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <button mat-button [pectinCommand]=\"command\" [color]=\"color$.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [":host{display:inline-flex;flex-direction:row;justify-content:stretch}:host.centered button{text-align:center}:host.start button{text-align:start}:host.end button{text-align:end}button{flex:1}\n"], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
|
|
1093
|
+
CommandComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: CommandComponent, selector: "aup-command", inputs: { command: "command", faceModel: "faceModel", face: "face", busyFaceModel: "busyFaceModel", busyFace: "busyFace", alignFace: "alignFace" }, host: { properties: { "class": "this.alignFace" } }, viewQueries: [{ propertyName: "button", first: true, predicate: MatButton, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"iconOnly$.value\">\n <button mat-icon-button [pectinCommand]=\"command\" [color]=\"color$.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n</ng-container>\n<ng-container *ngIf=\"!iconOnly$.value\">\n <ng-container [ngSwitch]=\"buttonStyle$.value\">\n <ng-container *ngSwitchCase=\"CommandFace.Style.STROKED\">\n <button mat-stroked-button [pectinCommand]=\"command\" [color]=\"color$.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFace.Style.RAISED\">\n <button mat-raised-button [pectinCommand]=\"command\" [color]=\"color$.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <button mat-button [pectinCommand]=\"command\" [color]=\"color$.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [":host{display:inline-flex;flex-direction:row;justify-content:stretch}:host.centered button{text-align:center}:host.start button{text-align:start}:host.end button{text-align:end}button{flex:1}\n"], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
|
|
1089
1094
|
__decorate([
|
|
1090
1095
|
TrackExternal(),
|
|
1091
1096
|
__metadata("design:type", Command)
|
|
@@ -1106,6 +1111,12 @@ __decorate([
|
|
|
1106
1111
|
StoreInValueModel('busyFaceModel'),
|
|
1107
1112
|
__metadata("design:type", Object)
|
|
1108
1113
|
], CommandComponent.prototype, "busyFace", void 0);
|
|
1114
|
+
__decorate([
|
|
1115
|
+
Trace(),
|
|
1116
|
+
__metadata("design:type", Function),
|
|
1117
|
+
__metadata("design:paramtypes", []),
|
|
1118
|
+
__metadata("design:returntype", void 0)
|
|
1119
|
+
], CommandComponent.prototype, "tryAndFocus", null);
|
|
1109
1120
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CommandComponent, decorators: [{
|
|
1110
1121
|
type: Component,
|
|
1111
1122
|
args: [{ selector: 'aup-command', template: "<ng-container *ngIf=\"iconOnly$.value\">\n <button mat-icon-button [pectinCommand]=\"command\" [color]=\"color$.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n</ng-container>\n<ng-container *ngIf=\"!iconOnly$.value\">\n <ng-container [ngSwitch]=\"buttonStyle$.value\">\n <ng-container *ngSwitchCase=\"CommandFace.Style.STROKED\">\n <button mat-stroked-button [pectinCommand]=\"command\" [color]=\"color$.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFace.Style.RAISED\">\n <button mat-raised-button [pectinCommand]=\"command\" [color]=\"color$.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <button mat-button [pectinCommand]=\"command\" [color]=\"color$.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [":host{display:inline-flex;flex-direction:row;justify-content:stretch}:host.centered button{text-align:center}:host.start button{text-align:start}:host.end button{text-align:end}button{flex:1}\n"] }]
|
|
@@ -1131,7 +1142,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
1131
1142
|
}, {
|
|
1132
1143
|
type: HostBinding,
|
|
1133
1144
|
args: ["class"]
|
|
1134
|
-
}]
|
|
1145
|
+
}], button: [{
|
|
1146
|
+
type: ViewChild,
|
|
1147
|
+
args: [MatButton]
|
|
1148
|
+
}], tryAndFocus: [] } });
|
|
1135
1149
|
|
|
1136
1150
|
/**
|
|
1137
1151
|
*
|
|
@@ -2535,25 +2549,6 @@ class TemplateCellRendererPortalRef extends CellRendererPortalRef {
|
|
|
2535
2549
|
}
|
|
2536
2550
|
}
|
|
2537
2551
|
|
|
2538
|
-
class DefaultCellRendererComponent {
|
|
2539
|
-
constructor() {
|
|
2540
|
-
}
|
|
2541
|
-
set value(value) {
|
|
2542
|
-
this._value = value;
|
|
2543
|
-
}
|
|
2544
|
-
get value() {
|
|
2545
|
-
return this._value;
|
|
2546
|
-
}
|
|
2547
|
-
}
|
|
2548
|
-
DefaultCellRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DefaultCellRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2549
|
-
DefaultCellRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: DefaultCellRendererComponent, selector: "aup-default-cell-renderer", inputs: { value: "value" }, ngImport: i0, template: "<span [innerHTML]=\"value| aupHighlight\"></span>\n", styles: [""], pipes: { "aupHighlight": HighlightPipe } });
|
|
2550
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DefaultCellRendererComponent, decorators: [{
|
|
2551
|
-
type: Component,
|
|
2552
|
-
args: [{ selector: 'aup-default-cell-renderer', template: "<span [innerHTML]=\"value| aupHighlight\"></span>\n", styles: [""] }]
|
|
2553
|
-
}], ctorParameters: function () { return []; }, propDecorators: { value: [{
|
|
2554
|
-
type: Input
|
|
2555
|
-
}] } });
|
|
2556
|
-
|
|
2557
2552
|
class DefaultHeaderCellRendererComponent {
|
|
2558
2553
|
constructor() {
|
|
2559
2554
|
}
|
|
@@ -2567,104 +2562,82 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
2567
2562
|
type: Input
|
|
2568
2563
|
}] } });
|
|
2569
2564
|
|
|
2570
|
-
class
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
const finished = yield this.editSession.saveCommand.execute();
|
|
2575
|
-
if (finished) {
|
|
2576
|
-
this.editSession.dispose();
|
|
2577
|
-
}
|
|
2578
|
-
}));
|
|
2579
|
-
this.cancelCommand = Command.create(() => {
|
|
2580
|
-
this.editSession.dispose();
|
|
2581
|
-
}).disableWhile(this.saveCommand.busy);
|
|
2565
|
+
class ColumnTextSearchFormatter {
|
|
2566
|
+
}
|
|
2567
|
+
(function (ColumnTextSearchFormatter) {
|
|
2568
|
+
class Delegate extends ColumnTextSearchFormatter {
|
|
2582
2569
|
}
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2570
|
+
ColumnTextSearchFormatter.Delegate = Delegate;
|
|
2571
|
+
class Delegating extends ColumnTextSearchFormatter.Delegate {
|
|
2572
|
+
constructor(delegateClass) {
|
|
2573
|
+
super();
|
|
2574
|
+
this.delegateClass = delegateClass;
|
|
2575
|
+
}
|
|
2576
|
+
initialise(injector) {
|
|
2577
|
+
this._delegate = injector.get(this.delegateClass);
|
|
2578
|
+
if (this._delegate instanceof Delegating) {
|
|
2579
|
+
this._delegate.initialise(injector);
|
|
2580
|
+
}
|
|
2581
|
+
}
|
|
2582
|
+
format(row) {
|
|
2583
|
+
return this._delegate ? this._delegate.format(row) : "";
|
|
2586
2584
|
}
|
|
2587
|
-
this._session = session;
|
|
2588
|
-
}
|
|
2589
|
-
get editSession() {
|
|
2590
|
-
return this._session;
|
|
2591
2585
|
}
|
|
2592
|
-
|
|
2586
|
+
ColumnTextSearchFormatter.Delegating = Delegating;
|
|
2587
|
+
function forFormatter(formatter) {
|
|
2588
|
+
return new class extends ColumnTextSearchFormatter {
|
|
2589
|
+
format(value) {
|
|
2590
|
+
return formatter(value);
|
|
2591
|
+
}
|
|
2592
|
+
};
|
|
2593
2593
|
}
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
2594
|
+
ColumnTextSearchFormatter.forFormatter = forFormatter;
|
|
2595
|
+
class Null extends ColumnTextSearchFormatter {
|
|
2596
|
+
format(value) {
|
|
2597
|
+
return "";
|
|
2598
|
+
}
|
|
2597
2599
|
}
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
__decorate([
|
|
2602
|
-
TrackExternal(),
|
|
2603
|
-
__metadata("design:type", Command)
|
|
2604
|
-
], EditRowControls.prototype, "editRowCommand", void 0);
|
|
2605
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: EditRowControls, decorators: [{
|
|
2606
|
-
type: Component,
|
|
2607
|
-
args: [{ selector: 'aup-row-editor-controls', template: "<button *ngIf=\"!editSession\" mat-icon-button [pectinCommand]=\"editRowCommand\" class=\"edit-button\"><aup-icon icon=\"mat:edit\"></aup-icon></button>\n<button *ngIf=\"editSession\" mat-icon-button [pectinCommand]=\"saveCommand\"><aup-icon icon=\"mat:done\"></aup-icon></button>\n<button *ngIf=\"editSession\" mat-icon-button [pectinCommand]=\"cancelCommand\"><aup-icon icon=\"mat:clear\"></aup-icon></button>\n", styles: [":host{display:block;width:80px}.edit-button{visibility:hidden}:host-context(tr:hover) .edit-button{visibility:visible}\n"] }]
|
|
2608
|
-
}], ctorParameters: function () { return []; }, propDecorators: { row: [{
|
|
2609
|
-
type: Input
|
|
2610
|
-
}], editRowCommand: [{
|
|
2611
|
-
type: Input
|
|
2612
|
-
}], editSession: [{
|
|
2613
|
-
type: Input
|
|
2614
|
-
}] } });
|
|
2615
|
-
|
|
2616
|
-
class SelectCellRendererComponent extends DisposableComponent {
|
|
2617
|
-
constructor() {
|
|
2618
|
-
super();
|
|
2619
|
-
this.selectCommand = Command.create(() => {
|
|
2600
|
+
ColumnTextSearchFormatter.Null = Null;
|
|
2601
|
+
class DefaultValueFormatter extends ColumnTextSearchFormatter {
|
|
2602
|
+
format(value) {
|
|
2620
2603
|
var _a;
|
|
2621
|
-
(_a =
|
|
2622
|
-
|
|
2604
|
+
let s = (_a = value === null || value === void 0 ? void 0 : value.toString()) !== null && _a !== void 0 ? _a : "";
|
|
2605
|
+
console.log("DefaultValueFormatter", { value, text: s });
|
|
2606
|
+
return s;
|
|
2607
|
+
}
|
|
2623
2608
|
}
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2609
|
+
ColumnTextSearchFormatter.DefaultValueFormatter = DefaultValueFormatter;
|
|
2610
|
+
class DefaultArrayFormatter extends ColumnTextSearchFormatter {
|
|
2611
|
+
format(value) {
|
|
2612
|
+
return value ? value.map(it => it === null || it === void 0 ? void 0 : it.toString()).join(",") : "";
|
|
2613
|
+
}
|
|
2627
2614
|
}
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
SelectCellRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: SelectCellRendererComponent, selector: "aup-select-cell-renderer", inputs: { row: "row" }, usesInheritance: true, ngImport: i0, template: "<mat-checkbox [pectinCommand]=\"selectCommand\" [checked]=\"isSelected()\"></mat-checkbox>\n", styles: [""], components: [{ type: i1$9.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }] });
|
|
2631
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SelectCellRendererComponent, decorators: [{
|
|
2632
|
-
type: Component,
|
|
2633
|
-
args: [{ selector: 'aup-select-cell-renderer', template: "<mat-checkbox [pectinCommand]=\"selectCommand\" [checked]=\"isSelected()\"></mat-checkbox>\n", styles: [""] }]
|
|
2634
|
-
}], ctorParameters: function () { return []; }, propDecorators: { row: [{
|
|
2635
|
-
type: Input
|
|
2636
|
-
}] } });
|
|
2615
|
+
ColumnTextSearchFormatter.DefaultArrayFormatter = DefaultArrayFormatter;
|
|
2616
|
+
})(ColumnTextSearchFormatter || (ColumnTextSearchFormatter = {}));
|
|
2637
2617
|
|
|
2638
|
-
|
|
2618
|
+
const noop = () => {
|
|
2619
|
+
};
|
|
2620
|
+
class ColumnTextSearchWrapper extends ColumnTextSearchFormatter.Delegate {
|
|
2639
2621
|
constructor() {
|
|
2640
|
-
super();
|
|
2641
|
-
this.
|
|
2642
|
-
this.selectionModel.toggleAllCommand.execute();
|
|
2643
|
-
});
|
|
2622
|
+
super(...arguments);
|
|
2623
|
+
this._map = Functions.identity;
|
|
2644
2624
|
}
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2625
|
+
initialise(injector) {
|
|
2626
|
+
if (this._delegate instanceof ColumnTextSearchFormatter.Delegate) {
|
|
2627
|
+
this._delegate.initialise(injector);
|
|
2628
|
+
}
|
|
2648
2629
|
}
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
|
|
2630
|
+
format(row) {
|
|
2631
|
+
let value = this._map(row);
|
|
2632
|
+
let result = this._delegate ? this._delegate.format(value) : "";
|
|
2633
|
+
console.log({ format: row, value, text: result });
|
|
2634
|
+
return result;
|
|
2652
2635
|
}
|
|
2653
|
-
|
|
2654
|
-
|
|
2636
|
+
setDelegate(formatter, mapper) {
|
|
2637
|
+
this._delegate = formatter;
|
|
2638
|
+
this._map = mapper !== null && mapper !== void 0 ? mapper : Functions.identity;
|
|
2655
2639
|
}
|
|
2656
2640
|
}
|
|
2657
|
-
SelectHeaderCellRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SelectHeaderCellRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2658
|
-
SelectHeaderCellRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: SelectHeaderCellRendererComponent, selector: "aup-select-header-cell-renderer", usesInheritance: true, ngImport: i0, template: "<mat-checkbox *ngIf=\"isVisible()\" [pectinCommand]=\"selectCommand\" [checked]=\"isSelected()\" [indeterminate]=\"this.isIntermediate()\"></mat-checkbox>\n", styles: [""], components: [{ type: i1$9.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }] });
|
|
2659
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SelectHeaderCellRendererComponent, decorators: [{
|
|
2660
|
-
type: Component,
|
|
2661
|
-
args: [{ selector: 'aup-select-header-cell-renderer', template: "<mat-checkbox *ngIf=\"isVisible()\" [pectinCommand]=\"selectCommand\" [checked]=\"isSelected()\" [indeterminate]=\"this.isIntermediate()\"></mat-checkbox>\n", styles: [""] }]
|
|
2662
|
-
}], ctorParameters: function () { return []; } });
|
|
2663
|
-
|
|
2664
|
-
const noop = () => {
|
|
2665
|
-
};
|
|
2666
|
-
const CELL_RENDERER_COMPONENT_ROW_CACHE = Symbol('aup-cell-renderer:row-data-cache');
|
|
2667
|
-
const DEFAULT_TEXT_SEARCH_PREDICATE = (row, text) => false;
|
|
2668
2641
|
class ColumnModel extends GarbageCollector {
|
|
2669
2642
|
constructor(columnId, textPropertiesProvider) {
|
|
2670
2643
|
super();
|
|
@@ -2672,10 +2645,9 @@ class ColumnModel extends GarbageCollector {
|
|
|
2672
2645
|
this.textPropertiesProvider = textPropertiesProvider;
|
|
2673
2646
|
this._enableRowSelection = true;
|
|
2674
2647
|
this._flex = false;
|
|
2675
|
-
this._defaultVisibility = this.registerDisposable(new DelegatingValueModel().withDefault(true));
|
|
2676
|
-
this._visible = this.registerDisposable(new DelegatingValueModel().withDefault(this._defaultVisibility));
|
|
2677
|
-
this.
|
|
2678
|
-
this._cellRendererTextSearchPredicate = undefined;
|
|
2648
|
+
this._defaultVisibility$ = this.registerDisposable(new DelegatingValueModel().withDefault(true));
|
|
2649
|
+
this._visible$ = this.registerDisposable(new DelegatingValueModel().withDefault(this._defaultVisibility$));
|
|
2650
|
+
this.textSearchDelegate = new ColumnTextSearchWrapper();
|
|
2679
2651
|
this.installHeaderRenderer();
|
|
2680
2652
|
this.dasherisedColumnId = Stringy.from(columnId).dasherize().toString();
|
|
2681
2653
|
}
|
|
@@ -2689,32 +2661,21 @@ class ColumnModel extends GarbageCollector {
|
|
|
2689
2661
|
return ((_a = this.getColumnTextProperties()) === null || _a === void 0 ? void 0 : _a.headerText()) || this.getDefaultHeaderText();
|
|
2690
2662
|
}
|
|
2691
2663
|
isVisible() {
|
|
2692
|
-
return this.visible
|
|
2664
|
+
return this.visible$.value;
|
|
2693
2665
|
}
|
|
2694
|
-
get visible() {
|
|
2695
|
-
return this._visible
|
|
2666
|
+
get visible$() {
|
|
2667
|
+
return this._visible$.readonly;
|
|
2696
2668
|
}
|
|
2697
2669
|
visibleWhile(visible) {
|
|
2698
|
-
this._visible
|
|
2670
|
+
this._visible$.setDelegate(visible);
|
|
2699
2671
|
return this;
|
|
2700
2672
|
}
|
|
2701
2673
|
setDefaultVisibility(visible) {
|
|
2702
|
-
this._defaultVisibility
|
|
2674
|
+
this._defaultVisibility$.setDelegate(visible);
|
|
2703
2675
|
}
|
|
2704
2676
|
getDefaultHeaderText() {
|
|
2705
2677
|
return this.columnId;
|
|
2706
2678
|
}
|
|
2707
|
-
get isTextMatch() {
|
|
2708
|
-
return this._columnModelTextSearchPredicate || this._cellRendererTextSearchPredicate || DEFAULT_TEXT_SEARCH_PREDICATE;
|
|
2709
|
-
}
|
|
2710
|
-
/**
|
|
2711
|
-
* Sets the predicate to use when checking if the specified row is a text match for this column.
|
|
2712
|
-
* @param predicate
|
|
2713
|
-
*/
|
|
2714
|
-
useTextSearchPredicate(predicate) {
|
|
2715
|
-
this._columnModelTextSearchPredicate = predicate;
|
|
2716
|
-
return this;
|
|
2717
|
-
}
|
|
2718
2679
|
getColumnTextProperties() {
|
|
2719
2680
|
return this._columnTextProperties || this.textPropertiesProvider();
|
|
2720
2681
|
}
|
|
@@ -2729,6 +2690,14 @@ class ColumnModel extends GarbageCollector {
|
|
|
2729
2690
|
this._columnTextProperties = columnTextProperties;
|
|
2730
2691
|
return this;
|
|
2731
2692
|
}
|
|
2693
|
+
getSearchTextFor(row) {
|
|
2694
|
+
return this.textSearchDelegate.format(row);
|
|
2695
|
+
}
|
|
2696
|
+
configureColumnTextSearch(formatter, mapper) {
|
|
2697
|
+
assert$1.notNil(formatter);
|
|
2698
|
+
console.log({ col: this.columnId, formatter });
|
|
2699
|
+
this.textSearchDelegate.setDelegate(formatter, mapper);
|
|
2700
|
+
}
|
|
2732
2701
|
configureHeaderRenderer(config) {
|
|
2733
2702
|
this._columnHeaderPortalRef = config;
|
|
2734
2703
|
}
|
|
@@ -2767,12 +2736,6 @@ class ColumnModel extends GarbageCollector {
|
|
|
2767
2736
|
onRendererAttached(host, ref) {
|
|
2768
2737
|
const component = this.getComponentOrEmbeddedView(ref);
|
|
2769
2738
|
this._cellRendererPortalRef.onPortalAttached(host, component);
|
|
2770
|
-
if (isFunction(component === null || component === void 0 ? void 0 : component.matches)) {
|
|
2771
|
-
this._cellRendererTextSearchPredicate = (row, text) => component.matches(row, text);
|
|
2772
|
-
}
|
|
2773
|
-
else {
|
|
2774
|
-
this._cellRendererTextSearchPredicate = undefined;
|
|
2775
|
-
}
|
|
2776
2739
|
}
|
|
2777
2740
|
// @Trace()
|
|
2778
2741
|
onEditorAttached(host, ref) {
|
|
@@ -2805,6 +2768,9 @@ class ColumnModel extends GarbageCollector {
|
|
|
2805
2768
|
return ref;
|
|
2806
2769
|
}
|
|
2807
2770
|
}
|
|
2771
|
+
initialise(injector) {
|
|
2772
|
+
this.textSearchDelegate.initialise(injector);
|
|
2773
|
+
}
|
|
2808
2774
|
}
|
|
2809
2775
|
__decorate([
|
|
2810
2776
|
Memoize(),
|
|
@@ -2818,182 +2784,10 @@ __decorate([
|
|
|
2818
2784
|
__metadata("design:paramtypes", []),
|
|
2819
2785
|
__metadata("design:returntype", Object)
|
|
2820
2786
|
], ColumnModel.prototype, "getColumnTextProperties", null);
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
this._format = (value) => value === null || value === void 0 ? void 0 : value.toString();
|
|
2826
|
-
this.cellRenderer(DefaultCellRendererComponent);
|
|
2827
|
-
this.useTextSearchPredicate((row, regex) => {
|
|
2828
|
-
return regex.test(this._format(row[this.property]));
|
|
2829
|
-
});
|
|
2830
|
-
}
|
|
2831
|
-
cellRenderer(componentType, onComponentInitOrOptions) {
|
|
2832
|
-
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
2833
|
-
if (firstTime) {
|
|
2834
|
-
if (isFunction(onComponentInitOrOptions)) {
|
|
2835
|
-
onComponentInitOrOptions(component);
|
|
2836
|
-
}
|
|
2837
|
-
else {
|
|
2838
|
-
if (isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
|
|
2839
|
-
onComponentInitOrOptions.onComponentInit(component);
|
|
2840
|
-
}
|
|
2841
|
-
}
|
|
2842
|
-
}
|
|
2843
|
-
component.value = this._format(rowData.row[this.property]);
|
|
2844
|
-
}));
|
|
2845
|
-
return this;
|
|
2846
|
-
}
|
|
2847
|
-
liveEditCellRenderer(componentType, options) {
|
|
2848
|
-
return this.mutableCellRenderer(componentType, options);
|
|
2849
|
-
}
|
|
2850
|
-
/**
|
|
2851
|
-
* Deprecated. Use #liveEditCellRenderer instead.
|
|
2852
|
-
* @param componentType
|
|
2853
|
-
* @param options
|
|
2854
|
-
*/
|
|
2855
|
-
mutableCellRenderer(componentType, options) {
|
|
2856
|
-
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
2857
|
-
// keep a local copy most recent row value so it's available to teh
|
|
2858
|
-
// edit callback without having to add/remove subscribers all the time.
|
|
2859
|
-
component[CELL_RENDERER_COMPONENT_ROW_CACHE] = rowData.row;
|
|
2860
|
-
let disableEditCallback = false;
|
|
2861
|
-
if (firstTime) {
|
|
2862
|
-
if (isFunction(options === null || options === void 0 ? void 0 : options.onComponentInit)) {
|
|
2863
|
-
options.onComponentInit(component);
|
|
2864
|
-
}
|
|
2865
|
-
// install our edit callback
|
|
2866
|
-
component.onValueEdited((is, was) => {
|
|
2867
|
-
if (!disableEditCallback) {
|
|
2868
|
-
options.onValueEdit(component[CELL_RENDERER_COMPONENT_ROW_CACHE], is, was);
|
|
2869
|
-
}
|
|
2870
|
-
});
|
|
2871
|
-
}
|
|
2872
|
-
// now push the value the component and disable the callback just incase the component misbehaves
|
|
2873
|
-
// and fires a value change during the operation.
|
|
2874
|
-
disableEditCallback = true;
|
|
2875
|
-
component.value = rowData.row[this.property];
|
|
2876
|
-
disableEditCallback = false;
|
|
2877
|
-
if (!isFunction(options) && isFunction(options === null || options === void 0 ? void 0 : options.onRowUpdate)) {
|
|
2878
|
-
options.onRowUpdate(component, rowData.row);
|
|
2879
|
-
}
|
|
2880
|
-
}));
|
|
2881
|
-
return this;
|
|
2882
|
-
}
|
|
2883
|
-
cellEditor(editor, validatorsOrInitialiser, onComponentInit) {
|
|
2884
|
-
const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
|
|
2885
|
-
const initialiser = isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
|
|
2886
|
-
this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
|
|
2887
|
-
const formValueModel = editSession.form.pluck(this.property);
|
|
2888
|
-
if (validators) {
|
|
2889
|
-
formValueModel.validateUsing(validators);
|
|
2890
|
-
}
|
|
2891
|
-
component.valueModel = formValueModel;
|
|
2892
|
-
if (initialiser) {
|
|
2893
|
-
initialiser(component);
|
|
2894
|
-
}
|
|
2895
|
-
}));
|
|
2896
|
-
return this;
|
|
2897
|
-
}
|
|
2898
|
-
format(formatter) {
|
|
2899
|
-
assert$1.isFunction(formatter);
|
|
2900
|
-
this._format = formatter;
|
|
2901
|
-
return this;
|
|
2902
|
-
}
|
|
2903
|
-
selectRowOnClick(selectOnRowClick) {
|
|
2904
|
-
return this._selectRowOnClick(selectOnRowClick);
|
|
2905
|
-
}
|
|
2906
|
-
}
|
|
2907
|
-
class ListPropertyColumnModel extends ColumnModel {
|
|
2908
|
-
constructor(id, property, defaults) {
|
|
2909
|
-
super(id, defaults);
|
|
2910
|
-
this.property = property;
|
|
2911
|
-
this._format = (value) => value.map(v => v === null || v === void 0 ? void 0 : v.toString()).join(', ');
|
|
2912
|
-
this.cellRenderer(DefaultCellRendererComponent);
|
|
2913
|
-
this.useTextSearchPredicate((row, regex) => {
|
|
2914
|
-
let rowElement = row[this.property];
|
|
2915
|
-
// @ts-ignore Started complaining in ts 4.5.. but I think my logic is correct...
|
|
2916
|
-
return regex.test(this._format(rowElement));
|
|
2917
|
-
});
|
|
2918
|
-
}
|
|
2919
|
-
cellRenderer(componentType) {
|
|
2920
|
-
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {
|
|
2921
|
-
let rowElement = rowData.row[this.property];
|
|
2922
|
-
// @ts-ignore Started complaining in ts 4.5.. but I think my logic is correct...
|
|
2923
|
-
component.value = this._format(rowElement);
|
|
2924
|
-
}));
|
|
2925
|
-
return this;
|
|
2926
|
-
}
|
|
2927
|
-
cellEditor(editor, validatorsOrInitialiser, initialiseComponent) {
|
|
2928
|
-
const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
|
|
2929
|
-
const initialiser = isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
|
|
2930
|
-
this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
|
|
2931
|
-
const formListModel = editSession.form.pluckList(this.property);
|
|
2932
|
-
if (validators) {
|
|
2933
|
-
formListModel.validateUsing(validators);
|
|
2934
|
-
}
|
|
2935
|
-
component.listModel = formListModel;
|
|
2936
|
-
if (initialiser) {
|
|
2937
|
-
initialiser(component);
|
|
2938
|
-
}
|
|
2939
|
-
}));
|
|
2940
|
-
return this;
|
|
2941
|
-
}
|
|
2942
|
-
format(formatter) {
|
|
2943
|
-
assert$1.isFunction(formatter);
|
|
2944
|
-
this._format = formatter;
|
|
2945
|
-
return this;
|
|
2946
|
-
}
|
|
2947
|
-
selectRowOnClick(selectRowOnClick) {
|
|
2948
|
-
return this._selectRowOnClick(selectRowOnClick);
|
|
2949
|
-
}
|
|
2950
|
-
}
|
|
2951
|
-
class CustomValueColumnModel extends ColumnModel {
|
|
2952
|
-
constructor(columnId, defaults, getValue) {
|
|
2953
|
-
super(columnId, defaults);
|
|
2954
|
-
this.getValue = getValue;
|
|
2955
|
-
this.cellRenderer(DefaultCellRendererComponent);
|
|
2956
|
-
}
|
|
2957
|
-
cellRenderer(componentType, onComponentInitOrOptions) {
|
|
2958
|
-
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
2959
|
-
if (firstTime) {
|
|
2960
|
-
if (isFunction(onComponentInitOrOptions)) {
|
|
2961
|
-
onComponentInitOrOptions(component);
|
|
2962
|
-
}
|
|
2963
|
-
else {
|
|
2964
|
-
if (isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
|
|
2965
|
-
onComponentInitOrOptions.onComponentInit(component);
|
|
2966
|
-
}
|
|
2967
|
-
}
|
|
2968
|
-
}
|
|
2969
|
-
component.value = this.getValue(rowData.row);
|
|
2970
|
-
if (!isFunction(onComponentInitOrOptions) && isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
|
|
2971
|
-
onComponentInitOrOptions.onRowUpdate(component, rowData.row);
|
|
2972
|
-
}
|
|
2973
|
-
}));
|
|
2974
|
-
return this;
|
|
2975
|
-
}
|
|
2976
|
-
selectRowOnClick(selectOnRowClick) {
|
|
2977
|
-
return this._selectRowOnClick(selectOnRowClick);
|
|
2978
|
-
}
|
|
2979
|
-
}
|
|
2980
|
-
class EditorControlColumnModel extends ColumnModel {
|
|
2981
|
-
constructor(columnId, saveCommandFactory, defaults) {
|
|
2982
|
-
super(columnId, defaults);
|
|
2983
|
-
this.cellRenderer(EditRowControls);
|
|
2984
|
-
}
|
|
2985
|
-
cellRenderer(componentType) {
|
|
2986
|
-
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {
|
|
2987
|
-
component.row = rowData.row;
|
|
2988
|
-
component.editSession = rowData.editSession;
|
|
2989
|
-
component.editRowCommand = rowData.editRowCommand;
|
|
2990
|
-
}));
|
|
2991
|
-
return this;
|
|
2992
|
-
}
|
|
2993
|
-
getDefaultHeaderText() {
|
|
2994
|
-
return '';
|
|
2995
|
-
}
|
|
2996
|
-
}
|
|
2787
|
+
(function (ColumnModel) {
|
|
2788
|
+
ColumnModel.CELL_RENDERER_COMPONENT_ROW_CACHE = Symbol('aup-cell-renderer:row-data-cache');
|
|
2789
|
+
})(ColumnModel || (ColumnModel = {}));
|
|
2790
|
+
|
|
2997
2791
|
class CustomTemplateColumnModel extends ColumnModel {
|
|
2998
2792
|
constructor(columnId, defaults) {
|
|
2999
2793
|
super(columnId, defaults);
|
|
@@ -3007,45 +2801,11 @@ class CustomTemplateColumnModel extends ColumnModel {
|
|
|
3007
2801
|
return this._selectRowOnClick(selectOnRowClick);
|
|
3008
2802
|
}
|
|
3009
2803
|
}
|
|
3010
|
-
class SelectionColumnModel extends ColumnModel {
|
|
3011
|
-
constructor(columnId, defaults, selectionModel) {
|
|
3012
|
-
super(columnId, defaults);
|
|
3013
|
-
this._enableHeaderControls = true;
|
|
3014
|
-
this.selectionModel = DelegatingSelectionModel.createDelegate();
|
|
3015
|
-
this._selectRowOnClick(false);
|
|
3016
|
-
this.cellHeaderRenderer(SelectHeaderCellRendererComponent, (component) => {
|
|
3017
|
-
component.selectionModel = this.selectionModel;
|
|
3018
|
-
component.enableHeaderControls = this._enableHeaderControls;
|
|
3019
|
-
});
|
|
3020
|
-
this.configureCellRenderer(new ComponentCellRendererPortalRef(SelectCellRendererComponent, (component, rowData) => {
|
|
3021
|
-
component.row = rowData.row;
|
|
3022
|
-
component.selectionModel = this.selectionModel;
|
|
3023
|
-
}));
|
|
3024
|
-
this.setSelectionModel(selectionModel);
|
|
3025
|
-
}
|
|
3026
|
-
setSelectionModel(selectionModel) {
|
|
3027
|
-
this.selectionModel.setDelegate(selectionModel);
|
|
3028
|
-
this.setDefaultVisibility(selectionModel instanceof MultipleSelectionModel ? ValueModel.TRUE : ValueModel.FALSE);
|
|
3029
|
-
}
|
|
3030
|
-
getDefaultHeaderText() {
|
|
3031
|
-
return '';
|
|
3032
|
-
}
|
|
3033
|
-
enableHeaderControls(enable) {
|
|
3034
|
-
this._enableHeaderControls = enable;
|
|
3035
|
-
return this;
|
|
3036
|
-
}
|
|
3037
|
-
selectRow(row) {
|
|
3038
|
-
this.selectionModel.selectCommand.execute(row);
|
|
3039
|
-
}
|
|
3040
|
-
isSelected(row) {
|
|
3041
|
-
return this.selectionModel.isSelected(row);
|
|
3042
|
-
}
|
|
3043
|
-
}
|
|
3044
2804
|
|
|
3045
2805
|
/**
|
|
3046
2806
|
* Create your model:
|
|
3047
2807
|
* @example
|
|
3048
|
-
* this.heroTableModel = TableModel
|
|
2808
|
+
* this.heroTableModel = new TableModel(heroList, table => {
|
|
3049
2809
|
* table.pluck("firstName");
|
|
3050
2810
|
* table.pluck("lastName");
|
|
3051
2811
|
* table.addCustomColumn("fullName", hero => `${hero.firstName} ${hero.lastName}`);
|
|
@@ -3057,7 +2817,7 @@ class SelectionColumnModel extends ColumnModel {
|
|
|
3057
2817
|
*
|
|
3058
2818
|
* Column templates
|
|
3059
2819
|
* @example
|
|
3060
|
-
* this.heroTableModel = TableModel
|
|
2820
|
+
* this.heroTableModel = new TableModel(heroList, table => {
|
|
3061
2821
|
* table.pluck("firstName");
|
|
3062
2822
|
* table.pluck("lastName");
|
|
3063
2823
|
* table.addTemplateColumn("specialColumn");
|
|
@@ -3102,8 +2862,9 @@ class SelectionColumnModel extends ColumnModel {
|
|
|
3102
2862
|
* }
|
|
3103
2863
|
*/
|
|
3104
2864
|
class AbstractTableComponent extends ResizeAwareComponent {
|
|
3105
|
-
constructor(elementRef, ngZone) {
|
|
2865
|
+
constructor(elementRef, ngZone, injector) {
|
|
3106
2866
|
super(elementRef, ngZone);
|
|
2867
|
+
this.injector = injector;
|
|
3107
2868
|
/**
|
|
3108
2869
|
* Set to true to enable scrolling. Once enabled the table will have 0 implicit height. You will either
|
|
3109
2870
|
* need to set it explicitly e.g. height: 400px; or by using flex or grid layout to make it fill it's
|
|
@@ -3135,6 +2896,7 @@ class AbstractTableComponent extends ResizeAwareComponent {
|
|
|
3135
2896
|
}
|
|
3136
2897
|
ngOnInit() {
|
|
3137
2898
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
2899
|
+
this.getModel().initialise(this.injector);
|
|
3138
2900
|
this.columns = chain(this.getModel().columns);
|
|
3139
2901
|
this.columnIds = chain(this.columns).pluck('columnId');
|
|
3140
2902
|
this.columnsById = chain(this.columns).indexBy('columnId');
|
|
@@ -3154,12 +2916,12 @@ class AbstractTableComponent extends ResizeAwareComponent {
|
|
|
3154
2916
|
// @Trace()
|
|
3155
2917
|
isFirstVisibleColumn(columnId) {
|
|
3156
2918
|
var _a;
|
|
3157
|
-
return ((_a = this.getModel().firstVisibleColumn
|
|
2919
|
+
return ((_a = this.getModel().firstVisibleColumn$.query().value) === null || _a === void 0 ? void 0 : _a.columnId) === columnId;
|
|
3158
2920
|
}
|
|
3159
2921
|
// @Trace()
|
|
3160
2922
|
isLastVisibleColumn(columnId) {
|
|
3161
2923
|
var _a;
|
|
3162
|
-
return ((_a = this.getModel().lastVisibleColumn
|
|
2924
|
+
return ((_a = this.getModel().lastVisibleColumn$.query().value) === null || _a === void 0 ? void 0 : _a.columnId) === columnId;
|
|
3163
2925
|
}
|
|
3164
2926
|
getColumnClasses(columnId) {
|
|
3165
2927
|
const classes = [`aup-col-${this.columnsById.get(columnId).dasherisedColumnId}`];
|
|
@@ -3172,7 +2934,7 @@ class AbstractTableComponent extends ResizeAwareComponent {
|
|
|
3172
2934
|
return classes;
|
|
3173
2935
|
}
|
|
3174
2936
|
}
|
|
3175
|
-
AbstractTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AbstractTableComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2937
|
+
AbstractTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AbstractTableComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
3176
2938
|
AbstractTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: AbstractTableComponent, selector: "aup-abstract-table", inputs: { showHeaderModel: "showHeaderModel", showHeader: "showHeader", enableScrolling: "enableScrolling" }, host: { properties: { "class.enable-scrolling": "this.enableScrolling", "class": "this.baseCssClass", "class.hide-header": "this.hideHeader" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
3177
2939
|
__decorate([
|
|
3178
2940
|
TrackExternal({ defaultValue: true }),
|
|
@@ -3188,7 +2950,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
3188
2950
|
selector: 'aup-abstract-table',
|
|
3189
2951
|
template: ''
|
|
3190
2952
|
}]
|
|
3191
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { showHeaderModel: [{
|
|
2953
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { showHeaderModel: [{
|
|
3192
2954
|
type: Input
|
|
3193
2955
|
}], showHeader: [{
|
|
3194
2956
|
type: Input
|
|
@@ -3236,7 +2998,183 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
3236
2998
|
type: Input
|
|
3237
2999
|
}] } });
|
|
3238
3000
|
|
|
3239
|
-
|
|
3001
|
+
const TEXT_SEARCH_FORMATTER_KEY = `aup:table:textSearchFormatter`;
|
|
3002
|
+
const Keys = Enum("useFunction", "useInstance", "useClass");
|
|
3003
|
+
function EnableCellTextSearch(options) {
|
|
3004
|
+
assert$1.notNil(options);
|
|
3005
|
+
return (constructor) => {
|
|
3006
|
+
const klass = Klass.get(constructor);
|
|
3007
|
+
assert$1.isFalsey(klass.hasOwnMetadata(TEXT_SEARCH_FORMATTER_KEY), "class already decorated with @EnableCellTextSearch");
|
|
3008
|
+
klass.defineMetadata(TEXT_SEARCH_FORMATTER_KEY, options);
|
|
3009
|
+
};
|
|
3010
|
+
}
|
|
3011
|
+
(function (EnableCellTextSearch) {
|
|
3012
|
+
function getFormatter(renderer, useDefault) {
|
|
3013
|
+
var _a;
|
|
3014
|
+
const options = (_a = Klass.get(renderer).getMetadata(TEXT_SEARCH_FORMATTER_KEY)) !== null && _a !== void 0 ? _a : {};
|
|
3015
|
+
if (options[Keys.useFunction]) {
|
|
3016
|
+
return ColumnTextSearchFormatter.forFormatter(options[Keys.useFunction]);
|
|
3017
|
+
}
|
|
3018
|
+
if (options[Keys.useInstance]) {
|
|
3019
|
+
return options[Keys.useInstance];
|
|
3020
|
+
}
|
|
3021
|
+
if (options[Keys.useClass]) {
|
|
3022
|
+
return new ColumnTextSearchFormatter.Delegating(options[Keys.useClass]);
|
|
3023
|
+
}
|
|
3024
|
+
return useDefault();
|
|
3025
|
+
}
|
|
3026
|
+
EnableCellTextSearch.getFormatter = getFormatter;
|
|
3027
|
+
})(EnableCellTextSearch || (EnableCellTextSearch = {}));
|
|
3028
|
+
|
|
3029
|
+
let DefaultCellRendererComponent = class DefaultCellRendererComponent {
|
|
3030
|
+
constructor() {
|
|
3031
|
+
}
|
|
3032
|
+
set value(value) {
|
|
3033
|
+
this._value = value;
|
|
3034
|
+
}
|
|
3035
|
+
get value() {
|
|
3036
|
+
return this._value;
|
|
3037
|
+
}
|
|
3038
|
+
};
|
|
3039
|
+
DefaultCellRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DefaultCellRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3040
|
+
DefaultCellRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: DefaultCellRendererComponent, selector: "aup-default-cell-renderer", inputs: { value: "value" }, ngImport: i0, template: "<span [innerHTML]=\"value| aupHighlight\"></span>\n", styles: [""], pipes: { "aupHighlight": HighlightPipe } });
|
|
3041
|
+
DefaultCellRendererComponent = __decorate([
|
|
3042
|
+
EnableCellTextSearch({ useClass: ColumnTextSearchFormatter.DefaultValueFormatter }),
|
|
3043
|
+
__metadata("design:paramtypes", [])
|
|
3044
|
+
], DefaultCellRendererComponent);
|
|
3045
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DefaultCellRendererComponent, decorators: [{
|
|
3046
|
+
type: Component,
|
|
3047
|
+
args: [{ selector: "aup-default-cell-renderer", template: "<span [innerHTML]=\"value| aupHighlight\"></span>\n", styles: [""] }]
|
|
3048
|
+
}], ctorParameters: function () { return []; }, propDecorators: { value: [{
|
|
3049
|
+
type: Input
|
|
3050
|
+
}] } });
|
|
3051
|
+
|
|
3052
|
+
class EditRowControls extends DisposableComponent {
|
|
3053
|
+
constructor() {
|
|
3054
|
+
super();
|
|
3055
|
+
this.saveCommand = Command.create(() => __awaiter(this, void 0, void 0, function* () {
|
|
3056
|
+
const finished = yield this.editSession.saveCommand.execute();
|
|
3057
|
+
if (finished) {
|
|
3058
|
+
this.editSession.dispose();
|
|
3059
|
+
}
|
|
3060
|
+
}));
|
|
3061
|
+
this.cancelCommand = Command.create(() => {
|
|
3062
|
+
this.editSession.dispose();
|
|
3063
|
+
}).disableWhile(this.saveCommand.busy);
|
|
3064
|
+
}
|
|
3065
|
+
set editSession(session) {
|
|
3066
|
+
if (session) {
|
|
3067
|
+
session.form.disableWhile(this.saveCommand.busy);
|
|
3068
|
+
}
|
|
3069
|
+
this._session = session;
|
|
3070
|
+
}
|
|
3071
|
+
get editSession() {
|
|
3072
|
+
return this._session;
|
|
3073
|
+
}
|
|
3074
|
+
ngOnInit() {
|
|
3075
|
+
}
|
|
3076
|
+
get form() {
|
|
3077
|
+
var _a;
|
|
3078
|
+
return (_a = this.editSession) === null || _a === void 0 ? void 0 : _a.form;
|
|
3079
|
+
}
|
|
3080
|
+
}
|
|
3081
|
+
EditRowControls.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: EditRowControls, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3082
|
+
EditRowControls.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: EditRowControls, selector: "aup-row-editor-controls", inputs: { row: "row", editRowCommand: "editRowCommand", editSession: "editSession" }, usesInheritance: true, ngImport: i0, template: "<button *ngIf=\"!editSession\" mat-icon-button [pectinCommand]=\"editRowCommand\" class=\"edit-button\"><aup-icon icon=\"mat:edit\"></aup-icon></button>\n<button *ngIf=\"editSession\" mat-icon-button [pectinCommand]=\"saveCommand\"><aup-icon icon=\"mat:done\"></aup-icon></button>\n<button *ngIf=\"editSession\" mat-icon-button [pectinCommand]=\"cancelCommand\"><aup-icon icon=\"mat:clear\"></aup-icon></button>\n", styles: [":host{display:block;width:80px}.edit-button{visibility:hidden}:host-context(tr:hover) .edit-button{visibility:visible}\n"], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: IconComponent, selector: "aup-icon", inputs: ["icon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }] });
|
|
3083
|
+
__decorate([
|
|
3084
|
+
TrackExternal(),
|
|
3085
|
+
__metadata("design:type", Command)
|
|
3086
|
+
], EditRowControls.prototype, "editRowCommand", void 0);
|
|
3087
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: EditRowControls, decorators: [{
|
|
3088
|
+
type: Component,
|
|
3089
|
+
args: [{ selector: 'aup-row-editor-controls', template: "<button *ngIf=\"!editSession\" mat-icon-button [pectinCommand]=\"editRowCommand\" class=\"edit-button\"><aup-icon icon=\"mat:edit\"></aup-icon></button>\n<button *ngIf=\"editSession\" mat-icon-button [pectinCommand]=\"saveCommand\"><aup-icon icon=\"mat:done\"></aup-icon></button>\n<button *ngIf=\"editSession\" mat-icon-button [pectinCommand]=\"cancelCommand\"><aup-icon icon=\"mat:clear\"></aup-icon></button>\n", styles: [":host{display:block;width:80px}.edit-button{visibility:hidden}:host-context(tr:hover) .edit-button{visibility:visible}\n"] }]
|
|
3090
|
+
}], ctorParameters: function () { return []; }, propDecorators: { row: [{
|
|
3091
|
+
type: Input
|
|
3092
|
+
}], editRowCommand: [{
|
|
3093
|
+
type: Input
|
|
3094
|
+
}], editSession: [{
|
|
3095
|
+
type: Input
|
|
3096
|
+
}] } });
|
|
3097
|
+
|
|
3098
|
+
let formatter = (row) => row.map(e => e === null || e === void 0 ? void 0 : e.toString()).join(", ");
|
|
3099
|
+
let DefaultListCellRendererComponent = class DefaultListCellRendererComponent extends DisposableComponent {
|
|
3100
|
+
constructor() {
|
|
3101
|
+
super();
|
|
3102
|
+
const { chain } = Dsl.disposeWith(this);
|
|
3103
|
+
this.text$ = chain(this.value$).reduce(formatter);
|
|
3104
|
+
}
|
|
3105
|
+
};
|
|
3106
|
+
DefaultListCellRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DefaultListCellRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3107
|
+
DefaultListCellRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: DefaultListCellRendererComponent, selector: "aup-default-list-cell-renderer", inputs: { value$: "value$", value: "value" }, usesInheritance: true, ngImport: i0, template: "<span [innerHTML]=\"text$.value| aupHighlight\"></span>\n", styles: [""], pipes: { "aupHighlight": HighlightPipe } });
|
|
3108
|
+
__decorate([
|
|
3109
|
+
TrackExternal(),
|
|
3110
|
+
__metadata("design:type", ListModel)
|
|
3111
|
+
], DefaultListCellRendererComponent.prototype, "value$", void 0);
|
|
3112
|
+
__decorate([
|
|
3113
|
+
StoreInListModel("value$"),
|
|
3114
|
+
__metadata("design:type", Array)
|
|
3115
|
+
], DefaultListCellRendererComponent.prototype, "value", void 0);
|
|
3116
|
+
DefaultListCellRendererComponent = __decorate([
|
|
3117
|
+
EnableCellTextSearch({ useClass: ColumnTextSearchFormatter.DefaultArrayFormatter }),
|
|
3118
|
+
__metadata("design:paramtypes", [])
|
|
3119
|
+
], DefaultListCellRendererComponent);
|
|
3120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DefaultListCellRendererComponent, decorators: [{
|
|
3121
|
+
type: Component,
|
|
3122
|
+
args: [{ selector: "aup-default-list-cell-renderer", template: "<span [innerHTML]=\"text$.value| aupHighlight\"></span>\n", styles: [""] }]
|
|
3123
|
+
}], ctorParameters: function () { return []; }, propDecorators: { value$: [{
|
|
3124
|
+
type: Input
|
|
3125
|
+
}], value: [{
|
|
3126
|
+
type: Input
|
|
3127
|
+
}] } });
|
|
3128
|
+
|
|
3129
|
+
class SelectionCellComponent extends DisposableComponent {
|
|
3130
|
+
constructor() {
|
|
3131
|
+
super();
|
|
3132
|
+
this.selectCommand = Command.create(() => {
|
|
3133
|
+
var _a;
|
|
3134
|
+
(_a = this.selectionModel) === null || _a === void 0 ? void 0 : _a.selectCommand.execute(this.row);
|
|
3135
|
+
});
|
|
3136
|
+
}
|
|
3137
|
+
isSelected() {
|
|
3138
|
+
var _a;
|
|
3139
|
+
return (_a = this.selectionModel) === null || _a === void 0 ? void 0 : _a.isSelected(this.row);
|
|
3140
|
+
}
|
|
3141
|
+
}
|
|
3142
|
+
SelectionCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SelectionCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3143
|
+
SelectionCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: SelectionCellComponent, selector: "aup-selection-cell", inputs: { row: "row" }, usesInheritance: true, ngImport: i0, template: "<mat-checkbox [pectinCommand]=\"selectCommand\" [checked]=\"isSelected()\"></mat-checkbox>\n", styles: [""], components: [{ type: i1$9.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }] });
|
|
3144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SelectionCellComponent, decorators: [{
|
|
3145
|
+
type: Component,
|
|
3146
|
+
args: [{ selector: 'aup-selection-cell', template: "<mat-checkbox [pectinCommand]=\"selectCommand\" [checked]=\"isSelected()\"></mat-checkbox>\n", styles: [""] }]
|
|
3147
|
+
}], ctorParameters: function () { return []; }, propDecorators: { row: [{
|
|
3148
|
+
type: Input
|
|
3149
|
+
}] } });
|
|
3150
|
+
|
|
3151
|
+
class SelectionHeaderCellComponent extends DisposableComponent {
|
|
3152
|
+
constructor() {
|
|
3153
|
+
super();
|
|
3154
|
+
this.selectCommand = Command.create(() => {
|
|
3155
|
+
this.selectionModel.toggleAllCommand.execute();
|
|
3156
|
+
});
|
|
3157
|
+
}
|
|
3158
|
+
isSelected() {
|
|
3159
|
+
var _a;
|
|
3160
|
+
return ((_a = this.selectionModel) === null || _a === void 0 ? void 0 : _a.allSelected.value) || false;
|
|
3161
|
+
}
|
|
3162
|
+
isIntermediate() {
|
|
3163
|
+
var _a;
|
|
3164
|
+
return ((_a = this.selectionModel) === null || _a === void 0 ? void 0 : _a.someSelected.value) || false;
|
|
3165
|
+
}
|
|
3166
|
+
isVisible() {
|
|
3167
|
+
return this.enableHeaderControls && this.selectionModel.getDelegate() instanceof MultipleSelectionModel;
|
|
3168
|
+
}
|
|
3169
|
+
}
|
|
3170
|
+
SelectionHeaderCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SelectionHeaderCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3171
|
+
SelectionHeaderCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: SelectionHeaderCellComponent, selector: "aup-selection-header-cell", usesInheritance: true, ngImport: i0, template: "<mat-checkbox *ngIf=\"isVisible()\" [pectinCommand]=\"selectCommand\" [checked]=\"isSelected()\" [indeterminate]=\"this.isIntermediate()\"></mat-checkbox>\n", styles: [""], components: [{ type: i1$9.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }] });
|
|
3172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SelectionHeaderCellComponent, decorators: [{
|
|
3173
|
+
type: Component,
|
|
3174
|
+
args: [{ selector: 'aup-selection-header-cell', template: "<mat-checkbox *ngIf=\"isVisible()\" [pectinCommand]=\"selectCommand\" [checked]=\"isSelected()\" [indeterminate]=\"this.isIntermediate()\"></mat-checkbox>\n", styles: [""] }]
|
|
3175
|
+
}], ctorParameters: function () { return []; } });
|
|
3176
|
+
|
|
3177
|
+
class TableCellComponent extends DisposableComponent {
|
|
3240
3178
|
constructor() {
|
|
3241
3179
|
super();
|
|
3242
3180
|
this.defaultClassNames = 'aup-cell-renderer';
|
|
@@ -3248,7 +3186,7 @@ class TableCellRendererComponent extends DisposableComponent {
|
|
|
3248
3186
|
}
|
|
3249
3187
|
ngOnInit() {
|
|
3250
3188
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
3251
|
-
this.firstEditableColumn = chain(this.tableModel.firstEditableColumn).equals(this.column); // this would break if the column changed.
|
|
3189
|
+
this.firstEditableColumn = chain(this.tableModel.firstEditableColumn$).equals(this.column); // this would break if the column changed.
|
|
3252
3190
|
this.column.attachCell(this);
|
|
3253
3191
|
}
|
|
3254
3192
|
hasActiveEditor() {
|
|
@@ -3296,11 +3234,11 @@ class TableCellRendererComponent extends DisposableComponent {
|
|
|
3296
3234
|
};
|
|
3297
3235
|
}
|
|
3298
3236
|
}
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type:
|
|
3237
|
+
TableCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TableCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3238
|
+
TableCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: TableCellComponent, selector: "aup-table-cell", inputs: { row: "row", column: "column", editSession: "editSession", tableModel: "tableModel" }, host: { properties: { "class": "this.defaultClassNames", "class.fillCell": "this.fillCell", "class.padChild": "this.padChild" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!hasActiveEditor()\" [cdkPortalOutlet]=\"getRendererPortal()\" (attached)=\"initialiseRenderer($event)\"></ng-container>\n<ng-container *ngIf=\"hasActiveEditor()\" [cdkPortalOutlet]=\"getEditorPortal()\" (attached)=\"initialiseEditor($event)\"></ng-container>\n", styles: [""], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
|
|
3239
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TableCellComponent, decorators: [{
|
|
3302
3240
|
type: Component,
|
|
3303
|
-
args: [{ selector: 'aup-table-cell
|
|
3241
|
+
args: [{ selector: 'aup-table-cell', template: "<ng-container *ngIf=\"!hasActiveEditor()\" [cdkPortalOutlet]=\"getRendererPortal()\" (attached)=\"initialiseRenderer($event)\"></ng-container>\n<ng-container *ngIf=\"hasActiveEditor()\" [cdkPortalOutlet]=\"getEditorPortal()\" (attached)=\"initialiseEditor($event)\"></ng-container>\n", styles: [""] }]
|
|
3304
3242
|
}], ctorParameters: function () { return []; }, propDecorators: { row: [{
|
|
3305
3243
|
type: Input
|
|
3306
3244
|
}], column: [{
|
|
@@ -3320,7 +3258,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
3320
3258
|
args: ['class.padChild']
|
|
3321
3259
|
}] } });
|
|
3322
3260
|
|
|
3323
|
-
class
|
|
3261
|
+
class TableHeaderCellComponent {
|
|
3324
3262
|
constructor() {
|
|
3325
3263
|
this.defaultClassNames = 'aup-header-cell-renderer';
|
|
3326
3264
|
}
|
|
@@ -3335,11 +3273,11 @@ class TableHeaderCellRendererComponent {
|
|
|
3335
3273
|
return this[HEADER_CELL_RENDERER_PORTAL];
|
|
3336
3274
|
}
|
|
3337
3275
|
}
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type:
|
|
3276
|
+
TableHeaderCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TableHeaderCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3277
|
+
TableHeaderCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: TableHeaderCellComponent, selector: "aup-table-header-cell", inputs: { column: "column" }, host: { properties: { "class": "this.defaultClassNames" } }, ngImport: i0, template: "<ng-container [cdkPortalOutlet]=\"getPortal()\" (attached)=\"initialiseHeader($event)\"></ng-container>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%}\n"], directives: [{ type: i2$4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
|
|
3278
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TableHeaderCellComponent, decorators: [{
|
|
3341
3279
|
type: Component,
|
|
3342
|
-
args: [{ selector: 'aup-table-header-cell
|
|
3280
|
+
args: [{ selector: 'aup-table-header-cell', template: "<ng-container [cdkPortalOutlet]=\"getPortal()\" (attached)=\"initialiseHeader($event)\"></ng-container>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%}\n"] }]
|
|
3343
3281
|
}], ctorParameters: function () { return []; }, propDecorators: { column: [{
|
|
3344
3282
|
type: Input
|
|
3345
3283
|
}], defaultClassNames: [{
|
|
@@ -3425,18 +3363,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
3425
3363
|
class ColumnListModel extends AbstractComputedListModel {
|
|
3426
3364
|
constructor() {
|
|
3427
3365
|
super();
|
|
3428
|
-
this._allColumns = new MutableListModel();
|
|
3366
|
+
this._allColumns$ = new MutableListModel();
|
|
3429
3367
|
const { chain } = Dsl.disposeWith(this);
|
|
3430
|
-
this.columnsById = chain(this._allColumns).indexBy('columnId');
|
|
3368
|
+
this.columnsById$ = chain(this._allColumns$).indexBy('columnId');
|
|
3431
3369
|
}
|
|
3432
|
-
get allColumns() {
|
|
3433
|
-
return this._allColumns
|
|
3370
|
+
get allColumns$() {
|
|
3371
|
+
return this._allColumns$.readonly;
|
|
3434
3372
|
}
|
|
3435
3373
|
getColumn(id) {
|
|
3436
|
-
return this.columnsById
|
|
3374
|
+
return this.columnsById$.get(id);
|
|
3437
3375
|
}
|
|
3438
3376
|
hasColumn(id) {
|
|
3439
|
-
return !!this.columnsById
|
|
3377
|
+
return !!this.columnsById$.get(id);
|
|
3440
3378
|
}
|
|
3441
3379
|
addColumn(column, index) {
|
|
3442
3380
|
if (this.hasColumn(column.columnId)) {
|
|
@@ -3445,17 +3383,227 @@ class ColumnListModel extends AbstractComputedListModel {
|
|
|
3445
3383
|
this.registerDisposable(column);
|
|
3446
3384
|
this.runInTransaction(() => {
|
|
3447
3385
|
if (!isNil(index)) {
|
|
3448
|
-
this._allColumns
|
|
3386
|
+
this._allColumns$.insert(index, column);
|
|
3449
3387
|
}
|
|
3450
3388
|
else {
|
|
3451
|
-
this._allColumns
|
|
3389
|
+
this._allColumns$.push(column);
|
|
3452
3390
|
}
|
|
3453
|
-
this.registerDisposable(this.trackSource(column.visible));
|
|
3391
|
+
this.registerDisposable(this.trackSource(column.visible$));
|
|
3454
3392
|
});
|
|
3455
3393
|
return column;
|
|
3456
3394
|
}
|
|
3457
3395
|
doComputeValue() {
|
|
3458
|
-
return this._allColumns
|
|
3396
|
+
return this._allColumns$.value.filter(c => c.visible$.value);
|
|
3397
|
+
}
|
|
3398
|
+
}
|
|
3399
|
+
|
|
3400
|
+
class CustomValueColumnModel extends ColumnModel {
|
|
3401
|
+
constructor(columnId, defaults, getValue) {
|
|
3402
|
+
super(columnId, defaults);
|
|
3403
|
+
this.getValue = getValue;
|
|
3404
|
+
this.cellRenderer(DefaultCellRendererComponent);
|
|
3405
|
+
}
|
|
3406
|
+
cellRenderer(componentType, onComponentInitOrOptions) {
|
|
3407
|
+
this.configureColumnTextSearch(EnableCellTextSearch.getFormatter(componentType, () => new ColumnTextSearchFormatter.Null()), row => this.getValue(row));
|
|
3408
|
+
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
3409
|
+
if (firstTime) {
|
|
3410
|
+
if (isFunction(onComponentInitOrOptions)) {
|
|
3411
|
+
onComponentInitOrOptions(component);
|
|
3412
|
+
}
|
|
3413
|
+
else {
|
|
3414
|
+
if (isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
|
|
3415
|
+
onComponentInitOrOptions.onComponentInit(component);
|
|
3416
|
+
}
|
|
3417
|
+
}
|
|
3418
|
+
}
|
|
3419
|
+
component.value = this.getValue(rowData.row);
|
|
3420
|
+
if (!isFunction(onComponentInitOrOptions) && isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
|
|
3421
|
+
onComponentInitOrOptions.onRowUpdate(component, rowData.row);
|
|
3422
|
+
}
|
|
3423
|
+
}));
|
|
3424
|
+
return this;
|
|
3425
|
+
}
|
|
3426
|
+
selectRowOnClick(selectOnRowClick) {
|
|
3427
|
+
return this._selectRowOnClick(selectOnRowClick);
|
|
3428
|
+
}
|
|
3429
|
+
}
|
|
3430
|
+
|
|
3431
|
+
class EditorControlColumnModel extends ColumnModel {
|
|
3432
|
+
constructor(columnId, saveCommandFactory, defaults) {
|
|
3433
|
+
super(columnId, defaults);
|
|
3434
|
+
this.cellRenderer(EditRowControls);
|
|
3435
|
+
}
|
|
3436
|
+
cellRenderer(componentType) {
|
|
3437
|
+
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {
|
|
3438
|
+
component.row = rowData.row;
|
|
3439
|
+
component.editSession = rowData.editSession;
|
|
3440
|
+
component.editRowCommand = rowData.editRowCommand;
|
|
3441
|
+
}));
|
|
3442
|
+
return this;
|
|
3443
|
+
}
|
|
3444
|
+
getDefaultHeaderText() {
|
|
3445
|
+
return '';
|
|
3446
|
+
}
|
|
3447
|
+
}
|
|
3448
|
+
|
|
3449
|
+
class ListPropertyColumnModel extends ColumnModel {
|
|
3450
|
+
constructor(id, property, defaults) {
|
|
3451
|
+
super(id, defaults);
|
|
3452
|
+
this.property = property;
|
|
3453
|
+
this._format = (value) => value.map(v => v === null || v === void 0 ? void 0 : v.toString()).join(", ");
|
|
3454
|
+
this.cellRenderer(DefaultListCellRendererComponent);
|
|
3455
|
+
}
|
|
3456
|
+
cellRenderer(componentType) {
|
|
3457
|
+
this.configureColumnTextSearch(EnableCellTextSearch.getFormatter(componentType, () => new ColumnTextSearchFormatter.DefaultArrayFormatter()), row => row[this.property]);
|
|
3458
|
+
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {
|
|
3459
|
+
let rowElement = rowData.row[this.property];
|
|
3460
|
+
// @ts-ignore Started complaining in ts 4.5.. but I think my logic is correct...
|
|
3461
|
+
component.value = this._format(rowElement);
|
|
3462
|
+
}));
|
|
3463
|
+
return this;
|
|
3464
|
+
}
|
|
3465
|
+
cellEditor(editor, validatorsOrInitialiser, initialiseComponent) {
|
|
3466
|
+
const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
|
|
3467
|
+
const initialiser = isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
|
|
3468
|
+
this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
|
|
3469
|
+
const formListModel = editSession.form.pluckList(this.property);
|
|
3470
|
+
if (validators) {
|
|
3471
|
+
formListModel.validateUsing(validators);
|
|
3472
|
+
}
|
|
3473
|
+
component.listModel = formListModel;
|
|
3474
|
+
if (initialiser) {
|
|
3475
|
+
initialiser(component);
|
|
3476
|
+
}
|
|
3477
|
+
}));
|
|
3478
|
+
return this;
|
|
3479
|
+
}
|
|
3480
|
+
format(formatter) {
|
|
3481
|
+
assert$1.isFunction(formatter);
|
|
3482
|
+
this._format = formatter;
|
|
3483
|
+
return this;
|
|
3484
|
+
}
|
|
3485
|
+
selectRowOnClick(selectRowOnClick) {
|
|
3486
|
+
return this._selectRowOnClick(selectRowOnClick);
|
|
3487
|
+
}
|
|
3488
|
+
}
|
|
3489
|
+
|
|
3490
|
+
class PropertyColumnModel extends ColumnModel {
|
|
3491
|
+
constructor(id, property, defaults) {
|
|
3492
|
+
super(id, defaults);
|
|
3493
|
+
this.property = property;
|
|
3494
|
+
this._format = (value) => value === null || value === void 0 ? void 0 : value.toString();
|
|
3495
|
+
this.cellRenderer(DefaultCellRendererComponent);
|
|
3496
|
+
}
|
|
3497
|
+
cellRenderer(componentType, onComponentInitOrOptions) {
|
|
3498
|
+
this.configureColumnTextSearch(EnableCellTextSearch.getFormatter(componentType, () => new ColumnTextSearchFormatter.DefaultValueFormatter()), row => row[this.property]);
|
|
3499
|
+
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
3500
|
+
if (firstTime) {
|
|
3501
|
+
if (isFunction(onComponentInitOrOptions)) {
|
|
3502
|
+
onComponentInitOrOptions(component);
|
|
3503
|
+
}
|
|
3504
|
+
else {
|
|
3505
|
+
if (isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
|
|
3506
|
+
onComponentInitOrOptions.onComponentInit(component);
|
|
3507
|
+
}
|
|
3508
|
+
}
|
|
3509
|
+
}
|
|
3510
|
+
component.value = this._format(rowData.row[this.property]);
|
|
3511
|
+
}));
|
|
3512
|
+
return this;
|
|
3513
|
+
}
|
|
3514
|
+
liveEditCellRenderer(componentType, options) {
|
|
3515
|
+
return this.mutableCellRenderer(componentType, options);
|
|
3516
|
+
}
|
|
3517
|
+
/**
|
|
3518
|
+
* Deprecated. Use #liveEditCellRenderer instead.
|
|
3519
|
+
* @param componentType
|
|
3520
|
+
* @param options
|
|
3521
|
+
*/
|
|
3522
|
+
mutableCellRenderer(componentType, options) {
|
|
3523
|
+
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
3524
|
+
// keep a local copy most recent row value so it's available to teh
|
|
3525
|
+
// edit callback without having to add/remove subscribers all the time.
|
|
3526
|
+
component[ColumnModel.CELL_RENDERER_COMPONENT_ROW_CACHE] = rowData.row;
|
|
3527
|
+
let disableEditCallback = false;
|
|
3528
|
+
if (firstTime) {
|
|
3529
|
+
if (isFunction(options === null || options === void 0 ? void 0 : options.onComponentInit)) {
|
|
3530
|
+
options.onComponentInit(component);
|
|
3531
|
+
}
|
|
3532
|
+
// install our edit callback
|
|
3533
|
+
component.onValueEdited((is, was) => {
|
|
3534
|
+
if (!disableEditCallback) {
|
|
3535
|
+
options.onValueEdit(component[ColumnModel.CELL_RENDERER_COMPONENT_ROW_CACHE], is, was);
|
|
3536
|
+
}
|
|
3537
|
+
});
|
|
3538
|
+
}
|
|
3539
|
+
// now push the value the component and disable the callback just incase the component misbehaves
|
|
3540
|
+
// and fires a value change during the operation.
|
|
3541
|
+
disableEditCallback = true;
|
|
3542
|
+
component.value = rowData.row[this.property];
|
|
3543
|
+
disableEditCallback = false;
|
|
3544
|
+
if (!isFunction(options) && isFunction(options === null || options === void 0 ? void 0 : options.onRowUpdate)) {
|
|
3545
|
+
options.onRowUpdate(component, rowData.row);
|
|
3546
|
+
}
|
|
3547
|
+
}));
|
|
3548
|
+
return this;
|
|
3549
|
+
}
|
|
3550
|
+
cellEditor(editor, validatorsOrInitialiser, onComponentInit) {
|
|
3551
|
+
const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
|
|
3552
|
+
const initialiser = isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
|
|
3553
|
+
this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
|
|
3554
|
+
const formValueModel = editSession.form.pluck(this.property);
|
|
3555
|
+
if (validators) {
|
|
3556
|
+
formValueModel.validateUsing(validators);
|
|
3557
|
+
}
|
|
3558
|
+
component.valueModel = formValueModel;
|
|
3559
|
+
if (initialiser) {
|
|
3560
|
+
initialiser(component);
|
|
3561
|
+
}
|
|
3562
|
+
}));
|
|
3563
|
+
return this;
|
|
3564
|
+
}
|
|
3565
|
+
format(formatter) {
|
|
3566
|
+
assert$1.isFunction(formatter);
|
|
3567
|
+
this._format = formatter;
|
|
3568
|
+
return this;
|
|
3569
|
+
}
|
|
3570
|
+
selectRowOnClick(selectOnRowClick) {
|
|
3571
|
+
return this._selectRowOnClick(selectOnRowClick);
|
|
3572
|
+
}
|
|
3573
|
+
}
|
|
3574
|
+
|
|
3575
|
+
class SelectionColumnModel extends ColumnModel {
|
|
3576
|
+
constructor(columnId, defaults, selectionModel) {
|
|
3577
|
+
super(columnId, defaults);
|
|
3578
|
+
this._enableHeaderControls = true;
|
|
3579
|
+
this.selectionModel = DelegatingSelectionModel.createDelegate();
|
|
3580
|
+
this._selectRowOnClick(false);
|
|
3581
|
+
this.cellHeaderRenderer(SelectionHeaderCellComponent, (component) => {
|
|
3582
|
+
component.selectionModel = this.selectionModel;
|
|
3583
|
+
component.enableHeaderControls = this._enableHeaderControls;
|
|
3584
|
+
});
|
|
3585
|
+
this.configureCellRenderer(new ComponentCellRendererPortalRef(SelectionCellComponent, (component, rowData) => {
|
|
3586
|
+
component.row = rowData.row;
|
|
3587
|
+
component.selectionModel = this.selectionModel;
|
|
3588
|
+
}));
|
|
3589
|
+
this.setSelectionModel(selectionModel);
|
|
3590
|
+
}
|
|
3591
|
+
setSelectionModel(selectionModel) {
|
|
3592
|
+
this.selectionModel.setDelegate(selectionModel);
|
|
3593
|
+
this.setDefaultVisibility(selectionModel instanceof MultipleSelectionModel ? ValueModel.TRUE : ValueModel.FALSE);
|
|
3594
|
+
}
|
|
3595
|
+
getDefaultHeaderText() {
|
|
3596
|
+
return '';
|
|
3597
|
+
}
|
|
3598
|
+
enableHeaderControls(enable) {
|
|
3599
|
+
this._enableHeaderControls = enable;
|
|
3600
|
+
return this;
|
|
3601
|
+
}
|
|
3602
|
+
selectRow(row) {
|
|
3603
|
+
this.selectionModel.selectCommand.execute(row);
|
|
3604
|
+
}
|
|
3605
|
+
isSelected(row) {
|
|
3606
|
+
return this.selectionModel.isSelected(row);
|
|
3459
3607
|
}
|
|
3460
3608
|
}
|
|
3461
3609
|
|
|
@@ -3465,21 +3613,23 @@ class EditSession extends GarbageCollector {
|
|
|
3465
3613
|
this.rowId = rowId;
|
|
3466
3614
|
this.form = form;
|
|
3467
3615
|
this.saveCommand = saveCommand;
|
|
3468
|
-
this._liveRowValue = new MutableValueModel();
|
|
3469
|
-
this.liveRowValue = this._liveRowValue
|
|
3616
|
+
this._liveRowValue$ = new MutableValueModel();
|
|
3617
|
+
this.liveRowValue$ = this._liveRowValue$.readonly;
|
|
3470
3618
|
this.form.load(row);
|
|
3471
|
-
this._liveRowValue
|
|
3619
|
+
this._liveRowValue$.value = row;
|
|
3472
3620
|
this.form.onEdit(() => {
|
|
3473
3621
|
// if (!this._liveRowValue.value[immerable]) {
|
|
3474
3622
|
// console.warn()
|
|
3475
3623
|
// }
|
|
3476
|
-
this._liveRowValue
|
|
3624
|
+
this._liveRowValue$.value = produce(this._liveRowValue$.value, draft => {
|
|
3477
3625
|
this.form.writeDirtyStateTo(draft);
|
|
3478
3626
|
});
|
|
3479
3627
|
});
|
|
3480
3628
|
}
|
|
3481
3629
|
}
|
|
3482
3630
|
|
|
3631
|
+
var DefaultValueFormatter = ColumnTextSearchFormatter.DefaultValueFormatter;
|
|
3632
|
+
var DefaultArrayFormatter = ColumnTextSearchFormatter.DefaultArrayFormatter;
|
|
3483
3633
|
// export type StringPropertiesOf<T> = { [K in keyof T]: T[K] extends string ? K : never }[keyof T];
|
|
3484
3634
|
// export type NumberPropertiesOf<T> = { [K in keyof T]: T[K] extends number ? K : never }[keyof T];
|
|
3485
3635
|
class RowClass {
|
|
@@ -3496,39 +3646,69 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
3496
3646
|
this._editorSessions = new MutableListModel();
|
|
3497
3647
|
this.rowClassNamePredicates = [];
|
|
3498
3648
|
this.rowClickListeners = new EventListenerList();
|
|
3649
|
+
this._searchText$ = new DelegatingValueModel();
|
|
3499
3650
|
this._createForm = (row) => new DirtyTrackingForm();
|
|
3500
3651
|
this.trackBy = (index, item) => {
|
|
3501
3652
|
return this.identityOf ? this.identityOf(item) : index;
|
|
3502
3653
|
};
|
|
3503
3654
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
3504
|
-
this._rowsBeingEdited = new MutableListModel([], {
|
|
3655
|
+
this._rowsBeingEdited$ = new MutableListModel([], {
|
|
3505
3656
|
identifiedWith: row => this.identityOf(row)
|
|
3506
3657
|
});
|
|
3507
|
-
this._editorSessionByRowId = chain(this._editorSessions).indexBy(
|
|
3508
|
-
this.editing = chain(this._editorSessions).count().isGreaterThan(0);
|
|
3509
|
-
this.
|
|
3510
|
-
|
|
3511
|
-
|
|
3512
|
-
|
|
3513
|
-
|
|
3658
|
+
this._editorSessionByRowId = chain(this._editorSessions).indexBy("rowId");
|
|
3659
|
+
this.editing$ = chain(this._editorSessions).count().isGreaterThan(0);
|
|
3660
|
+
this._textSearchPredicate$ = chain(this._searchText$).map(text => {
|
|
3661
|
+
return _.isEmpty(text) ? Functions.identity : (rows) => {
|
|
3662
|
+
const regex = new RegExp(escapeStringRegexp(text), "i");
|
|
3663
|
+
return rows.filter(row => this.hasMatchingColumn(row, regex));
|
|
3664
|
+
};
|
|
3665
|
+
}, {
|
|
3666
|
+
allowNil: true,
|
|
3667
|
+
dependsOn: this.columns
|
|
3668
|
+
});
|
|
3669
|
+
this.dataSource = chain(this._dataSource)
|
|
3670
|
+
.reduceToList(items => this._textSearchPredicate$.value(items), {
|
|
3671
|
+
dependsOn: this._textSearchPredicate$
|
|
3672
|
+
})
|
|
3673
|
+
.replaceAll(this.rowsBeingEdited$);
|
|
3674
|
+
this.firstEditableColumn$ = chain(this.columns).select(c => c.hasEditorPortal()).first();
|
|
3675
|
+
this.firstVisibleColumn$ = chain(this._columnList).first();
|
|
3676
|
+
this.lastVisibleColumn$ = chain(this._columnList).last();
|
|
3677
|
+
this.rowSelectionDisabledOnAllColumns$ = chain(this._columnList).select(column => column.isRowSelectionEnabled()).count().equals(0);
|
|
3514
3678
|
}
|
|
3515
3679
|
findMatchingColumns(row, regex) {
|
|
3516
|
-
return this.columns.value.filter(c => c.
|
|
3680
|
+
return this.columns.value.filter(c => regex.test(c.getSearchTextFor(row)));
|
|
3517
3681
|
}
|
|
3682
|
+
// @Trace()
|
|
3518
3683
|
hasMatchingColumn(row, regex) {
|
|
3519
|
-
return !!this.columns.value.find(c => c.
|
|
3684
|
+
return !!this.columns.value.find(c => regex.test(c.getSearchTextFor(row)));
|
|
3685
|
+
}
|
|
3686
|
+
initialise(injector) {
|
|
3687
|
+
// not sure if I should define these at the module level or not...
|
|
3688
|
+
const customInjector = Injector.create({
|
|
3689
|
+
providers: [
|
|
3690
|
+
{ provide: DefaultValueFormatter },
|
|
3691
|
+
{ provide: DefaultArrayFormatter }
|
|
3692
|
+
],
|
|
3693
|
+
parent: injector
|
|
3694
|
+
});
|
|
3695
|
+
this.columns.value.forEach(c => c.initialise(customInjector));
|
|
3520
3696
|
}
|
|
3521
3697
|
setDataSource(sourceOfTruth) {
|
|
3522
3698
|
this._dataSource.setDelegate(sourceOfTruth);
|
|
3523
3699
|
}
|
|
3700
|
+
setTextSearch(searchText$, throttleDelayMilliseconds = 100) {
|
|
3701
|
+
const { chain } = Dsl.disposeWith(this);
|
|
3702
|
+
this._searchText$.setDelegate(chain(searchText$).throttle(throttleDelayMilliseconds));
|
|
3703
|
+
}
|
|
3524
3704
|
identityOf(row) {
|
|
3525
3705
|
return this._dataSource.identityOf(row);
|
|
3526
3706
|
}
|
|
3527
|
-
get rowsBeingEdited() {
|
|
3528
|
-
return this._rowsBeingEdited
|
|
3707
|
+
get rowsBeingEdited$() {
|
|
3708
|
+
return this._rowsBeingEdited$.readonly;
|
|
3529
3709
|
}
|
|
3530
3710
|
get columns() {
|
|
3531
|
-
return this._columnList.allColumns
|
|
3711
|
+
return this._columnList.allColumns$;
|
|
3532
3712
|
}
|
|
3533
3713
|
get visibleColumns() {
|
|
3534
3714
|
return this._columnList.readonly;
|
|
@@ -3543,9 +3723,9 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
3543
3723
|
}
|
|
3544
3724
|
_addSelectionColumn(selectionModel, visible) {
|
|
3545
3725
|
assert.isNil(this.selectionColumnModel);
|
|
3546
|
-
const columnId =
|
|
3726
|
+
const columnId = "selection-column";
|
|
3547
3727
|
this.selectionColumnModel = new SelectionColumnModel(columnId, () => this.getColumnTextProperties(columnId), selectionModel);
|
|
3548
|
-
this.addRowClass(
|
|
3728
|
+
this.addRowClass("aup-row-selected", row => this.selectionColumnModel.isSelected(row));
|
|
3549
3729
|
const selectionColumnModel = this.addColumn(this.selectionColumnModel, 0);
|
|
3550
3730
|
if (!isNil(visible)) {
|
|
3551
3731
|
selectionColumnModel.visibleWhile(visible instanceof ValueModel ? visible : ValueModel.constant(visible));
|
|
@@ -3557,7 +3737,7 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
3557
3737
|
if (isFunction(formFactory)) {
|
|
3558
3738
|
this._createForm = formFactory;
|
|
3559
3739
|
}
|
|
3560
|
-
const columnId =
|
|
3740
|
+
const columnId = "editControls";
|
|
3561
3741
|
return this.addColumn(new EditorControlColumnModel(columnId, saveCommandFactory, () => this.getColumnTextProperties(columnId)));
|
|
3562
3742
|
}
|
|
3563
3743
|
addCustomColumn(columnId, dataAccessor) {
|
|
@@ -3599,7 +3779,7 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
3599
3779
|
}
|
|
3600
3780
|
startEditSession(row) {
|
|
3601
3781
|
const rowId = this.identityOf(row);
|
|
3602
|
-
if (this._rowsBeingEdited
|
|
3782
|
+
if (this._rowsBeingEdited$.query().indexOf(row) > -1) {
|
|
3603
3783
|
return lang.illegalState(`Row with id=${rowId} already being edited`);
|
|
3604
3784
|
}
|
|
3605
3785
|
// todo: pass the factories to the edit session so we can make the whole lot pluggable?
|
|
@@ -3607,12 +3787,12 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
3607
3787
|
const saveCommand = this.saveCommandFactory.create(form);
|
|
3608
3788
|
const editSession = new EditSession(rowId, row, form, saveCommand);
|
|
3609
3789
|
const { when } = Dsl.disposeWith(editSession);
|
|
3610
|
-
when(editSession.liveRowValue).changes((editedValue) => {
|
|
3611
|
-
this._rowsBeingEdited
|
|
3612
|
-
}, { initialValue:
|
|
3790
|
+
when(editSession.liveRowValue$).changes((editedValue) => {
|
|
3791
|
+
this._rowsBeingEdited$.replaceOrPush(editedValue);
|
|
3792
|
+
}, { initialValue: "triggerChangeUnlessNil" });
|
|
3613
3793
|
this._editorSessions.push(editSession);
|
|
3614
3794
|
editSession.onDispose(() => {
|
|
3615
|
-
this._rowsBeingEdited
|
|
3795
|
+
this._rowsBeingEdited$.remove(editSession.liveRowValue$.value);
|
|
3616
3796
|
this._editorSessions.remove(editSession);
|
|
3617
3797
|
});
|
|
3618
3798
|
return editSession;
|
|
@@ -3622,7 +3802,7 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
3622
3802
|
}
|
|
3623
3803
|
cancelAllEditorSessions() {
|
|
3624
3804
|
this._editorSessions.runInTransaction((draft) => {
|
|
3625
|
-
this._rowsBeingEdited
|
|
3805
|
+
this._rowsBeingEdited$.runInTransaction(() => {
|
|
3626
3806
|
draft.value.forEach(session => session.dispose());
|
|
3627
3807
|
});
|
|
3628
3808
|
});
|
|
@@ -3631,7 +3811,7 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
3631
3811
|
return this.isRowSelectionEnabled() && column.isRowSelectionEnabled();
|
|
3632
3812
|
}
|
|
3633
3813
|
isRowSelectionEnabled() {
|
|
3634
|
-
return this.hasUserSelectionModel() && !this.rowSelectionDisabledOnAllColumns
|
|
3814
|
+
return this.hasUserSelectionModel() && !this.rowSelectionDisabledOnAllColumns$.value;
|
|
3635
3815
|
}
|
|
3636
3816
|
hasUserSelectionModel() {
|
|
3637
3817
|
var _a;
|
|
@@ -3666,7 +3846,7 @@ TrackExternal.oneTimeBinding(AbstractTableModel);
|
|
|
3666
3846
|
/**
|
|
3667
3847
|
* Create your model:
|
|
3668
3848
|
* @example
|
|
3669
|
-
* this.heroTableModel = TableModel
|
|
3849
|
+
* this.heroTableModel = new TableModel(heroList, table => {
|
|
3670
3850
|
* table.pluck("firstName");
|
|
3671
3851
|
* table.pluck("lastName");
|
|
3672
3852
|
* table.addCustomColumn("fullName", hero => `${hero.firstName} ${hero.lastName}`);
|
|
@@ -3678,7 +3858,7 @@ TrackExternal.oneTimeBinding(AbstractTableModel);
|
|
|
3678
3858
|
*
|
|
3679
3859
|
* Column templates
|
|
3680
3860
|
* @example
|
|
3681
|
-
* this.heroTableModel = TableModel
|
|
3861
|
+
* this.heroTableModel = new TableModel(heroList, table => {
|
|
3682
3862
|
* table.pluck("firstName");
|
|
3683
3863
|
* table.pluck("lastName");
|
|
3684
3864
|
* table.addTemplateColumn("specialColumn");
|
|
@@ -3724,17 +3904,17 @@ TrackExternal.oneTimeBinding(AbstractTableModel);
|
|
|
3724
3904
|
* }
|
|
3725
3905
|
*/
|
|
3726
3906
|
class TableComponent extends AbstractTableComponent {
|
|
3727
|
-
constructor(elementRef, ngZone) {
|
|
3728
|
-
super(elementRef, ngZone);
|
|
3907
|
+
constructor(elementRef, ngZone, injector) {
|
|
3908
|
+
super(elementRef, ngZone, injector);
|
|
3729
3909
|
}
|
|
3730
3910
|
getModel() {
|
|
3731
3911
|
return this.tableModel;
|
|
3732
3912
|
}
|
|
3733
3913
|
}
|
|
3734
|
-
TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TableComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3914
|
+
TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TableComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
3735
3915
|
TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: TableComponent, selector: "aup-table", inputs: { tableModel: "tableModel" }, providers: [
|
|
3736
3916
|
{ provide: AbstractTableComponent, useExisting: TableComponent }
|
|
3737
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"getModel().dataSource.value\" [trackBy]=\"getModel().trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\"\n matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef [class.flex]=\"column.isFlex()\" [class.hide]=\"!column.isVisible()\">\n <aup-table-header-cell
|
|
3917
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"getModel().dataSource.value\" [trackBy]=\"getModel().trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\"\n matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef [class.flex]=\"column.isFlex()\" [class.hide]=\"!column.isVisible()\">\n <aup-table-header-cell [column]=\"column\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-header-cell>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"notifyCellClicked(column, row)\"\n [class.enable-cursor]=\"getModel().isCursorEnabled(column)\"\n [class.flex]=\"column.isFlex()\"\n [class.hide]=\"!column.isVisible()\"\n >\n <aup-table-cell [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"getModel()\"\n [editSession]=\"getModel().getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-cell>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value; let i = index\"\n [ngClass]=\"getModel().getRowClasses(row)\" [class.enable-hover]=\"getModel().isHoverEnabled()\"\n [attr.aup-row-id]=\"getModel().trackBy(i, row)\"\n ></tr>\n\n </table>\n</div>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}\n"], components: [{ type: i1$b.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: TableHeaderCellComponent, selector: "aup-table-header-cell", inputs: ["column"] }, { type: TableCellComponent, selector: "aup-table-cell", inputs: ["row", "column", "editSession", "tableModel"] }, { type: i1$b.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i1$b.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$b.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i1$b.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i1$b.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i1$b.MatCellDef, selector: "[matCellDef]" }, { type: i1$b.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i1$b.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i1$b.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
3738
3918
|
__decorate([
|
|
3739
3919
|
TrackExternal(),
|
|
3740
3920
|
__metadata("design:type", AbstractTableModel)
|
|
@@ -3743,8 +3923,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
3743
3923
|
type: Component,
|
|
3744
3924
|
args: [{ selector: 'aup-table', providers: [
|
|
3745
3925
|
{ provide: AbstractTableComponent, useExisting: TableComponent }
|
|
3746
|
-
], template: "<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"getModel().dataSource.value\" [trackBy]=\"getModel().trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\"\n matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef [class.flex]=\"column.isFlex()\" [class.hide]=\"!column.isVisible()\">\n <aup-table-header-cell
|
|
3747
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { tableModel: [{
|
|
3926
|
+
], template: "<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"getModel().dataSource.value\" [trackBy]=\"getModel().trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\"\n matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef [class.flex]=\"column.isFlex()\" [class.hide]=\"!column.isVisible()\">\n <aup-table-header-cell [column]=\"column\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-header-cell>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"notifyCellClicked(column, row)\"\n [class.enable-cursor]=\"getModel().isCursorEnabled(column)\"\n [class.flex]=\"column.isFlex()\"\n [class.hide]=\"!column.isVisible()\"\n >\n <aup-table-cell [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"getModel()\"\n [editSession]=\"getModel().getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-cell>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value; let i = index\"\n [ngClass]=\"getModel().getRowClasses(row)\" [class.enable-hover]=\"getModel().isHoverEnabled()\"\n [attr.aup-row-id]=\"getModel().trackBy(i, row)\"\n ></tr>\n\n </table>\n</div>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}\n"] }]
|
|
3927
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { tableModel: [{
|
|
3748
3928
|
type: Input
|
|
3749
3929
|
}] } });
|
|
3750
3930
|
|
|
@@ -4324,17 +4504,17 @@ class TreeTableModel extends AbstractTableModel {
|
|
|
4324
4504
|
* }
|
|
4325
4505
|
*/
|
|
4326
4506
|
class TreeTableComponent extends AbstractTableComponent {
|
|
4327
|
-
constructor(elementRef, ngZone) {
|
|
4328
|
-
super(elementRef, ngZone);
|
|
4507
|
+
constructor(elementRef, ngZone, injector) {
|
|
4508
|
+
super(elementRef, ngZone, injector);
|
|
4329
4509
|
}
|
|
4330
4510
|
getModel() {
|
|
4331
4511
|
return this.treeTableModel;
|
|
4332
4512
|
}
|
|
4333
4513
|
}
|
|
4334
|
-
TreeTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TreeTableComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
4514
|
+
TreeTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TreeTableComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
4335
4515
|
TreeTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: TreeTableComponent, selector: "aup-tree-table", inputs: { treeTableModel: "treeTableModel" }, providers: [
|
|
4336
4516
|
{ provide: AbstractTableComponent, useExisting: TreeTableComponent }
|
|
4337
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"getModel().dataSource.value\" [trackBy]=\"getModel().trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\"\n matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef [class.flex]=\"column.isFlex()\" [class.hide]=\"!column.isVisible()\">\n <aup-table-header-cell
|
|
4517
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"getModel().dataSource.value\" [trackBy]=\"getModel().trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\"\n matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef [class.flex]=\"column.isFlex()\" [class.hide]=\"!column.isVisible()\">\n <aup-table-header-cell [column]=\"column\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-header-cell>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"notifyCellClicked(column, row)\"\n [class.enable-cursor]=\"getModel().isCursorEnabled(column)\"\n [class.flex]=\"column.isFlex()\"\n [class.hide]=\"!column.isVisible()\"\n >\n <aup-table-cell [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"getModel()\"\n [editSession]=\"getModel().getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-cell>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value; let i = index\"\n [ngClass]=\"getModel().getRowClasses(row)\" [class.enable-hover]=\"getModel().isHoverEnabled()\"\n [attr.aup-row-id]=\"getModel().trackBy(i, row)\"\n ></tr>\n\n </table>\n</div>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}\n", "td.mat-cell{border-top-width:0!important;border-bottom-width:0!important}td.mat-column-tree-label,td.mat-column-tree-label{width:1px}aup-table-cell-renderer[column-id=tree-label]{padding-left:8px!important}aup-tree-label-cell-renderer{flex:1}\n"], components: [{ type: i1$b.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: TableHeaderCellComponent, selector: "aup-table-header-cell", inputs: ["column"] }, { type: TableCellComponent, selector: "aup-table-cell", inputs: ["row", "column", "editSession", "tableModel"] }, { type: i1$b.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i1$b.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$b.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i1$b.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i1$b.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i1$b.MatCellDef, selector: "[matCellDef]" }, { type: i1$b.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i1$b.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i1$b.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
4338
4518
|
__decorate([
|
|
4339
4519
|
TrackExternal(),
|
|
4340
4520
|
__metadata("design:type", TreeTableModel)
|
|
@@ -4343,8 +4523,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
4343
4523
|
type: Component,
|
|
4344
4524
|
args: [{ selector: 'aup-tree-table', providers: [
|
|
4345
4525
|
{ provide: AbstractTableComponent, useExisting: TreeTableComponent }
|
|
4346
|
-
], template: "<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"getModel().dataSource.value\" [trackBy]=\"getModel().trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\"\n matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef [class.flex]=\"column.isFlex()\" [class.hide]=\"!column.isVisible()\">\n <aup-table-header-cell
|
|
4347
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { treeTableModel: [{
|
|
4526
|
+
], template: "<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"getModel().dataSource.value\" [trackBy]=\"getModel().trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\"\n matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef [class.flex]=\"column.isFlex()\" [class.hide]=\"!column.isVisible()\">\n <aup-table-header-cell [column]=\"column\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-header-cell>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"notifyCellClicked(column, row)\"\n [class.enable-cursor]=\"getModel().isCursorEnabled(column)\"\n [class.flex]=\"column.isFlex()\"\n [class.hide]=\"!column.isVisible()\"\n >\n <aup-table-cell [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"getModel()\"\n [editSession]=\"getModel().getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-cell>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value; let i = index\"\n [ngClass]=\"getModel().getRowClasses(row)\" [class.enable-hover]=\"getModel().isHoverEnabled()\"\n [attr.aup-row-id]=\"getModel().trackBy(i, row)\"\n ></tr>\n\n </table>\n</div>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}\n", "td.mat-cell{border-top-width:0!important;border-bottom-width:0!important}td.mat-column-tree-label,td.mat-column-tree-label{width:1px}aup-table-cell-renderer[column-id=tree-label]{padding-left:8px!important}aup-tree-label-cell-renderer{flex:1}\n"] }]
|
|
4527
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { treeTableModel: [{
|
|
4348
4528
|
type: Input
|
|
4349
4529
|
}] } });
|
|
4350
4530
|
|
|
@@ -4572,11 +4752,12 @@ ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
|
|
|
4572
4752
|
EditRowControls,
|
|
4573
4753
|
ColumnTemplateDirective,
|
|
4574
4754
|
DefaultCellRendererComponent,
|
|
4575
|
-
|
|
4576
|
-
|
|
4577
|
-
|
|
4755
|
+
DefaultListCellRendererComponent,
|
|
4756
|
+
TableCellComponent,
|
|
4757
|
+
SelectionCellComponent,
|
|
4758
|
+
SelectionHeaderCellComponent,
|
|
4578
4759
|
DefaultHeaderCellRendererComponent,
|
|
4579
|
-
|
|
4760
|
+
TableHeaderCellComponent,
|
|
4580
4761
|
IconComponent,
|
|
4581
4762
|
SectionHeaderComponent,
|
|
4582
4763
|
TableRowMenuComponent,
|
|
@@ -4735,11 +4916,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
4735
4916
|
EditRowControls,
|
|
4736
4917
|
ColumnTemplateDirective,
|
|
4737
4918
|
DefaultCellRendererComponent,
|
|
4738
|
-
|
|
4739
|
-
|
|
4740
|
-
|
|
4919
|
+
DefaultListCellRendererComponent,
|
|
4920
|
+
TableCellComponent,
|
|
4921
|
+
SelectionCellComponent,
|
|
4922
|
+
SelectionHeaderCellComponent,
|
|
4741
4923
|
DefaultHeaderCellRendererComponent,
|
|
4742
|
-
|
|
4924
|
+
TableHeaderCellComponent,
|
|
4743
4925
|
IconComponent,
|
|
4744
4926
|
SectionHeaderComponent,
|
|
4745
4927
|
TableRowMenuComponent,
|
|
@@ -4863,9 +5045,15 @@ class ActivityActionsComponent extends DisposableComponent {
|
|
|
4863
5045
|
this.cancelCommand = activity.cancelCommand;
|
|
4864
5046
|
this.cdr.detectChanges();
|
|
4865
5047
|
}
|
|
5048
|
+
focusConfirm() {
|
|
5049
|
+
this.confirmCommandComponent.tryAndFocus();
|
|
5050
|
+
}
|
|
5051
|
+
focusCancel() {
|
|
5052
|
+
this.cancelCommandComponent.tryAndFocus();
|
|
5053
|
+
}
|
|
4866
5054
|
}
|
|
4867
5055
|
ActivityActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ActivityActionsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
4868
|
-
ActivityActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ActivityActionsComponent, selector: "aup-activity-actions", inputs: { confirmCommand: "confirmCommand", cancelCommand: "cancelCommand", faces: "faces", confirmFace: "confirmFace", cancelFace: "cancelFace", style: "style", layout: "layout", align: "align" }, host: { properties: { "attr.layout": "this.layout", "attr.align": "this.align" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"hasConfirmFace()\">\n <aup-command class=\"confirm\" [command]=\"confirmCommand\" [face]=\"confirmFace\" data-cy=\"confirm-command\"></aup-command>\n</ng-container>\n<ng-container *ngIf=\"hasCancelFace()\">\n <aup-command class=\"cancel\" [command]=\"cancelCommand\" [face]=\"cancelFace\" data-cy=\"cancel-command\"></aup-command>\n</ng-container>\n", styles: [":host{display:grid;grid-template-rows:auto;align-items:center;justify-content:end;--resolved-activity-actions-gap: var(--activity-actions-gap, 8px)}:host[layout=block][align=start]{grid-template-areas:\"cancel confirm content\";grid-template-columns:auto auto 1fr}:host[layout=block][align=start] .confirm{margin-left:var(--resolved-activity-actions-gap)}:host[layout=block][align=end]{grid-template-areas:\"content cancel confirm\";grid-template-columns:1fr auto auto}:host[layout=block][align=end] .confirm{margin-left:var(--resolved-activity-actions-gap)}:host[layout=block][align=stretch]{grid-template-areas:\"cancel content confirm\";grid-template-columns:auto 1fr auto}:host[layout=inline]{grid-template-areas:\"confirm cancel content\";grid-template-columns:auto auto 1fr}:host[layout=inline] .cancel{margin-left:var(--resolved-activity-actions-gap)}.cancel{grid-area:cancel}.confirm{grid-area:confirm}.content{grid-area:content;text-align:left}\n"], components: [{ type: CommandComponent, selector: "aup-command", inputs: ["command", "faceModel", "face", "busyFaceModel", "busyFace", "alignFace"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
5056
|
+
ActivityActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ActivityActionsComponent, selector: "aup-activity-actions", inputs: { confirmCommand: "confirmCommand", cancelCommand: "cancelCommand", faces: "faces", confirmFace: "confirmFace", cancelFace: "cancelFace", style: "style", layout: "layout", align: "align" }, host: { properties: { "attr.layout": "this.layout", "attr.align": "this.align" } }, viewQueries: [{ propertyName: "confirmCommandComponent", first: true, predicate: ["confirmCommandComponent"], descendants: true }, { propertyName: "cancelCommandComponent", first: true, predicate: ["cancelCommandComponent"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"hasConfirmFace()\">\n <aup-command #confirmCommandComponent class=\"confirm\" [command]=\"confirmCommand\" [face]=\"confirmFace\" data-cy=\"confirm-command\"></aup-command>\n</ng-container>\n<ng-container *ngIf=\"hasCancelFace()\">\n <aup-command #cancelCommandComponent class=\"cancel\" [command]=\"cancelCommand\" [face]=\"cancelFace\" data-cy=\"cancel-command\"></aup-command>\n</ng-container>\n", styles: [":host{display:grid;grid-template-rows:auto;align-items:center;justify-content:end;--resolved-activity-actions-gap: var(--activity-actions-gap, 8px)}:host[layout=block][align=start]{grid-template-areas:\"cancel confirm content\";grid-template-columns:auto auto 1fr}:host[layout=block][align=start] .confirm{margin-left:var(--resolved-activity-actions-gap)}:host[layout=block][align=end]{grid-template-areas:\"content cancel confirm\";grid-template-columns:1fr auto auto}:host[layout=block][align=end] .confirm{margin-left:var(--resolved-activity-actions-gap)}:host[layout=block][align=stretch]{grid-template-areas:\"cancel content confirm\";grid-template-columns:auto 1fr auto}:host[layout=inline]{grid-template-areas:\"confirm cancel content\";grid-template-columns:auto auto 1fr}:host[layout=inline] .cancel{margin-left:var(--resolved-activity-actions-gap)}.cancel{grid-area:cancel}.confirm{grid-area:confirm}.content{grid-area:content;text-align:left}\n"], components: [{ type: CommandComponent, selector: "aup-command", inputs: ["command", "faceModel", "face", "busyFaceModel", "busyFace", "alignFace"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
4869
5057
|
__decorate([
|
|
4870
5058
|
TrackExternal(),
|
|
4871
5059
|
__metadata("design:type", Command)
|
|
@@ -4876,8 +5064,14 @@ __decorate([
|
|
|
4876
5064
|
], ActivityActionsComponent.prototype, "cancelCommand", void 0);
|
|
4877
5065
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ActivityActionsComponent, decorators: [{
|
|
4878
5066
|
type: Component,
|
|
4879
|
-
args: [{ selector: 'aup-activity-actions', template: "<div class=\"content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"hasConfirmFace()\">\n <aup-command class=\"confirm\" [command]=\"confirmCommand\" [face]=\"confirmFace\" data-cy=\"confirm-command\"></aup-command>\n</ng-container>\n<ng-container *ngIf=\"hasCancelFace()\">\n <aup-command class=\"cancel\" [command]=\"cancelCommand\" [face]=\"cancelFace\" data-cy=\"cancel-command\"></aup-command>\n</ng-container>\n", styles: [":host{display:grid;grid-template-rows:auto;align-items:center;justify-content:end;--resolved-activity-actions-gap: var(--activity-actions-gap, 8px)}:host[layout=block][align=start]{grid-template-areas:\"cancel confirm content\";grid-template-columns:auto auto 1fr}:host[layout=block][align=start] .confirm{margin-left:var(--resolved-activity-actions-gap)}:host[layout=block][align=end]{grid-template-areas:\"content cancel confirm\";grid-template-columns:1fr auto auto}:host[layout=block][align=end] .confirm{margin-left:var(--resolved-activity-actions-gap)}:host[layout=block][align=stretch]{grid-template-areas:\"cancel content confirm\";grid-template-columns:auto 1fr auto}:host[layout=inline]{grid-template-areas:\"confirm cancel content\";grid-template-columns:auto auto 1fr}:host[layout=inline] .cancel{margin-left:var(--resolved-activity-actions-gap)}.cancel{grid-area:cancel}.confirm{grid-area:confirm}.content{grid-area:content;text-align:left}\n"] }]
|
|
4880
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: {
|
|
5067
|
+
args: [{ selector: 'aup-activity-actions', template: "<div class=\"content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"hasConfirmFace()\">\n <aup-command #confirmCommandComponent class=\"confirm\" [command]=\"confirmCommand\" [face]=\"confirmFace\" data-cy=\"confirm-command\"></aup-command>\n</ng-container>\n<ng-container *ngIf=\"hasCancelFace()\">\n <aup-command #cancelCommandComponent class=\"cancel\" [command]=\"cancelCommand\" [face]=\"cancelFace\" data-cy=\"cancel-command\"></aup-command>\n</ng-container>\n", styles: [":host{display:grid;grid-template-rows:auto;align-items:center;justify-content:end;--resolved-activity-actions-gap: var(--activity-actions-gap, 8px)}:host[layout=block][align=start]{grid-template-areas:\"cancel confirm content\";grid-template-columns:auto auto 1fr}:host[layout=block][align=start] .confirm{margin-left:var(--resolved-activity-actions-gap)}:host[layout=block][align=end]{grid-template-areas:\"content cancel confirm\";grid-template-columns:1fr auto auto}:host[layout=block][align=end] .confirm{margin-left:var(--resolved-activity-actions-gap)}:host[layout=block][align=stretch]{grid-template-areas:\"cancel content confirm\";grid-template-columns:auto 1fr auto}:host[layout=inline]{grid-template-areas:\"confirm cancel content\";grid-template-columns:auto auto 1fr}:host[layout=inline] .cancel{margin-left:var(--resolved-activity-actions-gap)}.cancel{grid-area:cancel}.confirm{grid-area:confirm}.content{grid-area:content;text-align:left}\n"] }]
|
|
5068
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { confirmCommandComponent: [{
|
|
5069
|
+
type: ViewChild,
|
|
5070
|
+
args: ["confirmCommandComponent"]
|
|
5071
|
+
}], cancelCommandComponent: [{
|
|
5072
|
+
type: ViewChild,
|
|
5073
|
+
args: ["cancelCommandComponent"]
|
|
5074
|
+
}], confirmCommand: [{
|
|
4881
5075
|
type: Input
|
|
4882
5076
|
}], cancelCommand: [{
|
|
4883
5077
|
type: Input
|
|
@@ -4912,31 +5106,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
4912
5106
|
});
|
|
4913
5107
|
})(ActivityActionsComponent || (ActivityActionsComponent = {}));
|
|
4914
5108
|
|
|
4915
|
-
const ACTIVITY_DATA = new InjectionToken(
|
|
5109
|
+
const ACTIVITY_DATA = new InjectionToken("InteractionActivityData");
|
|
4916
5110
|
class Activity extends DisposableComponent {
|
|
4917
5111
|
constructor() {
|
|
4918
5112
|
super();
|
|
4919
|
-
this.
|
|
4920
|
-
this.
|
|
4921
|
-
this.
|
|
5113
|
+
this.activityReadyListeners = new EventListenerList();
|
|
5114
|
+
this._busy$ = this.registerDisposable(new DelegatingValueModel().withDefault(false));
|
|
5115
|
+
this._focused$ = this.registerDisposable(new DelegatingValueModel());
|
|
5116
|
+
this.class = "aup-activity";
|
|
4922
5117
|
this.busyWhile(this.confirmCommand.busy);
|
|
4923
5118
|
}
|
|
4924
5119
|
get isFocused() {
|
|
4925
|
-
return this.
|
|
5120
|
+
return this._focused$.value;
|
|
4926
5121
|
}
|
|
4927
5122
|
initialise(nestedInteractionContext, activityContext) {
|
|
4928
5123
|
const { chain, when } = Dsl.disposeWith(this);
|
|
4929
5124
|
assert$1.isNil(this._activityContext);
|
|
4930
5125
|
this._activityContext = activityContext;
|
|
4931
5126
|
this._interactionContext = nestedInteractionContext;
|
|
4932
|
-
this.
|
|
4933
|
-
when(this.
|
|
4934
|
-
this.
|
|
5127
|
+
this._focused$.setDelegate(activityContext.focused);
|
|
5128
|
+
when(this._focused$).becomesTruthy(() => {
|
|
5129
|
+
this.notifyActivityReady();
|
|
4935
5130
|
});
|
|
4936
5131
|
}
|
|
4937
5132
|
ngAfterViewInit() {
|
|
4938
|
-
|
|
4939
|
-
|
|
5133
|
+
if (this.activityActions) {
|
|
5134
|
+
this.initialiseActivityAction(this.activityActions);
|
|
5135
|
+
}
|
|
5136
|
+
}
|
|
5137
|
+
initialiseActivityAction(activityActions) {
|
|
5138
|
+
activityActions.initCommands(this);
|
|
4940
5139
|
}
|
|
4941
5140
|
get interactionContext() {
|
|
4942
5141
|
assert$1.isTruthy(this.isInitialised());
|
|
@@ -4948,27 +5147,30 @@ class Activity extends DisposableComponent {
|
|
|
4948
5147
|
cancel(error) {
|
|
4949
5148
|
this._activityContext.onCancel(error);
|
|
4950
5149
|
}
|
|
4951
|
-
|
|
4952
|
-
|
|
5150
|
+
notifyActivityReady() {
|
|
5151
|
+
this.activityReadyListeners.fire(l => l(this));
|
|
4953
5152
|
}
|
|
4954
|
-
|
|
4955
|
-
return this.
|
|
5153
|
+
onActivityReady(callback) {
|
|
5154
|
+
return this.activityReadyListeners.add(callback);
|
|
4956
5155
|
}
|
|
4957
|
-
get
|
|
4958
|
-
return this.
|
|
5156
|
+
get busy$() {
|
|
5157
|
+
return this._busy$.readonly;
|
|
5158
|
+
}
|
|
5159
|
+
get focused$() {
|
|
5160
|
+
return this._focused$.readonly;
|
|
4959
5161
|
}
|
|
4960
5162
|
busyWhile(busyModel) {
|
|
4961
|
-
this.
|
|
5163
|
+
this._busy$.setDelegate(busyModel);
|
|
4962
5164
|
}
|
|
4963
5165
|
isBusy() {
|
|
4964
|
-
return this.
|
|
5166
|
+
return this._busy$.value;
|
|
4965
5167
|
}
|
|
4966
5168
|
isInitialised() {
|
|
4967
5169
|
return !!this._activityContext;
|
|
4968
5170
|
}
|
|
4969
5171
|
}
|
|
4970
5172
|
Activity.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: Activity, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4971
|
-
Activity.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: Activity, selector: "ng-component", host: { properties: { "class": "this.class", "attr.focused": "this.isFocused" } }, viewQueries: [{ propertyName: "activityActions", first: true, predicate: ActivityActionsComponent, descendants: true }], usesInheritance: true, ngImport: i0, template:
|
|
5173
|
+
Activity.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: Activity, selector: "ng-component", host: { properties: { "class": "this.class", "attr.focused": "this.isFocused" } }, viewQueries: [{ propertyName: "activityActions", first: true, predicate: ActivityActionsComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "", isInline: true });
|
|
4972
5174
|
__decorate([
|
|
4973
5175
|
TrackExternal(),
|
|
4974
5176
|
__metadata("design:type", Command)
|
|
@@ -4980,17 +5182,17 @@ __decorate([
|
|
|
4980
5182
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: Activity, decorators: [{
|
|
4981
5183
|
type: Component,
|
|
4982
5184
|
args: [{
|
|
4983
|
-
template:
|
|
5185
|
+
template: ""
|
|
4984
5186
|
}]
|
|
4985
5187
|
}], ctorParameters: function () { return []; }, propDecorators: { activityActions: [{
|
|
4986
5188
|
type: ViewChild,
|
|
4987
5189
|
args: [ActivityActionsComponent]
|
|
4988
5190
|
}], confirmCommand: [], cancelCommand: [], class: [{
|
|
4989
5191
|
type: HostBinding,
|
|
4990
|
-
args: [
|
|
5192
|
+
args: ["class"]
|
|
4991
5193
|
}], isFocused: [{
|
|
4992
5194
|
type: HostBinding,
|
|
4993
|
-
args: [
|
|
5195
|
+
args: ["attr.focused"]
|
|
4994
5196
|
}] } });
|
|
4995
5197
|
|
|
4996
5198
|
var Alert;
|
|
@@ -5024,6 +5226,11 @@ class AbstractDialogComponent extends Activity {
|
|
|
5024
5226
|
color: () => this.color || 'primary',
|
|
5025
5227
|
style: () => 'raised'
|
|
5026
5228
|
};
|
|
5229
|
+
this.onActivityReady(() => {
|
|
5230
|
+
if (this.activityActions) {
|
|
5231
|
+
this.isDestructive() ? this.activityActions.focusCancel() : this.activityActions.focusConfirm();
|
|
5232
|
+
}
|
|
5233
|
+
});
|
|
5027
5234
|
}
|
|
5028
5235
|
getConfig() {
|
|
5029
5236
|
return lang$1.abstractMethod(this.constructor);
|
|
@@ -5309,7 +5516,7 @@ class ActivityRef {
|
|
|
5309
5516
|
},
|
|
5310
5517
|
focused: this.focusedModel.readonly
|
|
5311
5518
|
});
|
|
5312
|
-
this._activityBusy.setDelegate(this._activity.busy);
|
|
5519
|
+
this._activityBusy.setDelegate(this._activity.busy$);
|
|
5313
5520
|
}
|
|
5314
5521
|
finishActivity(resolveOrReject) {
|
|
5315
5522
|
assert.isFalsey(this.isComplete());
|
|
@@ -5361,7 +5568,10 @@ class ActivityOutletComponent {
|
|
|
5361
5568
|
loadActivity(activityRef) {
|
|
5362
5569
|
const injector = Injector.create({
|
|
5363
5570
|
providers: [
|
|
5364
|
-
{
|
|
5571
|
+
{
|
|
5572
|
+
provide: ACTIVITY_DATA,
|
|
5573
|
+
useValue: activityRef.activityData
|
|
5574
|
+
}
|
|
5365
5575
|
],
|
|
5366
5576
|
parent: this.injector
|
|
5367
5577
|
});
|
|
@@ -7920,14 +8130,12 @@ class InputActivity extends Activity {
|
|
|
7920
8130
|
this.cancel();
|
|
7921
8131
|
});
|
|
7922
8132
|
this.busyWhile(this.confirmCommand.busy);
|
|
8133
|
+
this.onActivityReady(() => this.valueModel.focusContext.requestFocus());
|
|
7923
8134
|
}
|
|
7924
8135
|
get layout() {
|
|
7925
8136
|
var _a, _b;
|
|
7926
8137
|
return (_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.layout) !== null && _b !== void 0 ? _b : InputActivity.Layout.BLOCK;
|
|
7927
8138
|
}
|
|
7928
|
-
onActivityReady() {
|
|
7929
|
-
this.valueModel.focusContext.requestFocus();
|
|
7930
|
-
}
|
|
7931
8139
|
get additionalCssClassName() {
|
|
7932
8140
|
var _a;
|
|
7933
8141
|
return (_a = this.data.cssClassName) !== null && _a !== void 0 ? _a : '';
|
|
@@ -8145,14 +8353,6 @@ class TableModel extends AbstractTableModel {
|
|
|
8145
8353
|
}
|
|
8146
8354
|
this.setDataSource(sourceOfTruth);
|
|
8147
8355
|
}
|
|
8148
|
-
/**
|
|
8149
|
-
* @deprecated use new TableModel(sourceOfTruth, table => {...}); instead.
|
|
8150
|
-
* @param sourceOfTruth
|
|
8151
|
-
* @param builder
|
|
8152
|
-
*/
|
|
8153
|
-
static fromList(sourceOfTruth, builder) {
|
|
8154
|
-
return new TableModel(sourceOfTruth, builder);
|
|
8155
|
-
}
|
|
8156
8356
|
addSelectionColumn(selectionModel, showSelectionColumn) {
|
|
8157
8357
|
return this._addSelectionColumn(selectionModel, showSelectionColumn);
|
|
8158
8358
|
}
|
|
@@ -10113,5 +10313,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
10113
10313
|
* Generated bundle index. Do not edit.
|
|
10114
10314
|
*/
|
|
10115
10315
|
|
|
10116
|
-
export { ACTIVITY_DATA, ALERT_CONFIG, AUP_PLACE_CONFIG, AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT, AbstractActivityTriggerComponent, AbstractCardContainerComponent, AbstractConfirmDialogComponent, AbstractDialogComponent, AbstractInputComponent, AbstractInteractionContext, AbstractListInputComponent, AbstractPlaceNavigationComponent, AbstractPopStateNavigation, AbstractPopupMenuComponent, AbstractTableComponent, AbstractTableModel, AbstractValueInputComponent, Activity, ActivityActionsComponent, ActivityBodyComponent, ActivityContainerComponent, ActivityOutletComponent, ActivityRef, ActivityTitleComponent, AddCardActivityComponent, AddItemInteractionContextComponent, Alert, AlertDialogComponent, AngularUiPowerupsModule, AutocompleteInputComponent, Bounds, BusyOverlayComponent, CELL_EDITOR_PORTAL, CELL_RENDERER_PORTAL, CardContainerComponent, CardStackComponent, CellEditorPortalRef, CellHeaderPortalRef, CellPortalRef, CellRendererPortalRef, CheckboxInputComponent, ColumnListModel, ColumnModel, ColumnTemplateDirective, CommandComponent, CommandContainer, CommandDirective, CommandFace, CommandFaceComponent, ComponentCellRendererPortalRef, ComponentsModule, ConfirmThenDialogComponent, ConfirmThenExecuteDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, CustomTemplateColumnModel, CustomValueColumnModel, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DecoratedTreeNode, DefaultCellRendererComponent, DefaultHeaderCellRendererComponent, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EditRowControls, EditSession, EditorControlColumnModel, EmptyStateComponent, EventCleanUpSession, FlattenedTreeListModel, FlexComponent, FocusBinding, FocusBindingDirective, FocusBindingFactory, FocusContainerComponent, FocusableComponent, Formatter, HEADER_CELL_RENDERER_PORTAL, HighlightPipe, HighlightTextModelDirective, HorizontalAlignment, IconComponent, InPlaceInteractionContextComponent, InlineActivityTriggerComponent, InlineEditorModel, InlineStringEditorComponent, InputActivity, InteractionContextTriggerFor, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, LEFT_RIGHT_PLACE_ANIMATION, LabelledValueComponent, ListPlaceNavComponent, ListPropertyColumnModel, LoadingContainerComponent, MarkdownComponent, MarkdownService, ModalActivityTriggerComponent, ModalInteractionContextFactory, MoreMenuComponent, MultipleSelectInputComponent, Navigating, NavigatingDuringInteraction, NavigationContext, NavigationSession, NoopAuthGuard, NoopComponent, NotAuthorisedNoticeComponent, NumberInputComponent, POPUP_CONTAINER, PORTAL_EDITOR_COMPONENT, PORTAL_RENDERER_COMPONENT, PaginatorComponent, ParameterDefinition, PasswordInputComponent, Place, PlaceAccessGuard, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, PopupActivityTriggerComponent, PopupAwareComponent, PopupInteractionContextComponent, PopupMenuComponent, PopupMenuRendererComponent, PropertyColumnModel, ROUTE_PARAMETER_LIST_KEY, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, RouteId, ScrollContainerComponent, SectionHeaderComponent,
|
|
10316
|
+
export { ACTIVITY_DATA, ALERT_CONFIG, AUP_PLACE_CONFIG, AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT, AbstractActivityTriggerComponent, AbstractCardContainerComponent, AbstractConfirmDialogComponent, AbstractDialogComponent, AbstractInputComponent, AbstractInteractionContext, AbstractListInputComponent, AbstractPlaceNavigationComponent, AbstractPopStateNavigation, AbstractPopupMenuComponent, AbstractTableComponent, AbstractTableModel, AbstractValueInputComponent, Activity, ActivityActionsComponent, ActivityBodyComponent, ActivityContainerComponent, ActivityOutletComponent, ActivityRef, ActivityTitleComponent, AddCardActivityComponent, AddItemInteractionContextComponent, Alert, AlertDialogComponent, AngularUiPowerupsModule, AutocompleteInputComponent, Bounds, BusyOverlayComponent, CELL_EDITOR_PORTAL, CELL_RENDERER_PORTAL, CardContainerComponent, CardStackComponent, CellEditorPortalRef, CellHeaderPortalRef, CellPortalRef, CellRendererPortalRef, CheckboxInputComponent, ColumnListModel, ColumnModel, ColumnTemplateDirective, ColumnTextSearchFormatter, CommandComponent, CommandContainer, CommandDirective, CommandFace, CommandFaceComponent, ComponentCellRendererPortalRef, ComponentsModule, ConfirmThenDialogComponent, ConfirmThenExecuteDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, CustomTemplateColumnModel, CustomValueColumnModel, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DecoratedTreeNode, DefaultCellRendererComponent, DefaultHeaderCellRendererComponent, DefaultListCellRendererComponent, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EditRowControls, EditSession, EditorControlColumnModel, EmptyStateComponent, EnableCellTextSearch, EventCleanUpSession, FlattenedTreeListModel, FlexComponent, FocusBinding, FocusBindingDirective, FocusBindingFactory, FocusContainerComponent, FocusableComponent, Formatter, HEADER_CELL_RENDERER_PORTAL, HighlightPipe, HighlightTextModelDirective, HorizontalAlignment, IconComponent, InPlaceInteractionContextComponent, InlineActivityTriggerComponent, InlineEditorModel, InlineStringEditorComponent, InputActivity, InteractionContextTriggerFor, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, Keys, LEFT_RIGHT_PLACE_ANIMATION, LabelledValueComponent, ListPlaceNavComponent, ListPropertyColumnModel, LoadingContainerComponent, MarkdownComponent, MarkdownService, ModalActivityTriggerComponent, ModalInteractionContextFactory, MoreMenuComponent, MultipleSelectInputComponent, Navigating, NavigatingDuringInteraction, NavigationContext, NavigationSession, NoopAuthGuard, NoopComponent, NotAuthorisedNoticeComponent, NumberInputComponent, POPUP_CONTAINER, PORTAL_EDITOR_COMPONENT, PORTAL_RENDERER_COMPONENT, PaginatorComponent, ParameterDefinition, PasswordInputComponent, Place, PlaceAccessGuard, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, PopupActivityTriggerComponent, PopupAwareComponent, PopupInteractionContextComponent, PopupMenuComponent, PopupMenuRendererComponent, PropertyColumnModel, ROUTE_PARAMETER_LIST_KEY, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, RouteId, ScrollContainerComponent, SectionHeaderComponent, SelectInputActivity, SelectInputComponent, SelectionCellComponent, SelectionColumnModel, SelectionHeaderCellComponent, SeparatorComponent, SidePlaceNavigationComponent, StringInputActivity, StringInputComponent, SwitchCaseComponent, SwitchCaseDefaultDirective, SwitchCaseOption, SwitchCaseWhenDirective, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, TableCellComponent, TableComponent, TableHeaderCellComponent, TableModel, TableRowMenuComponent, TemplateCellRendererPortalRef, TextInputComponent, ToolBarComponent, TrackBy, TreeExpansionModel, TreeInheritanceIconComponent, TreeLabelCellRendererComponent, TreeLabelColumnModel, TreeTableComponent, TreeTableModel, UrlService, UrlSnapshot, VerticalFocusContainerComponent, VisibilityService, Visit, VisitParameter, VisitParameterList, VisitSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationTypeDetermined, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, markdownPillExtension, slideDownOnEnterAnimation, slideRightOnEnterAnimation, treeNodeDecorator };
|
|
10117
10317
|
//# sourceMappingURL=coolon-angular-ui-powerups.mjs.map
|