@coolon/angular-ui-powerups 16.1.0-aplpha.11 → 16.1.0-aplpha.110
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/activities/input-activities.scss +14 -6
- package/assets/form.scss +74 -27
- package/assets/icons.scss +1 -0
- package/assets/table.scss +33 -23
- package/assets/tabs.scss +2 -6
- package/esm2022/lib/animations/slide-animations.mjs +6 -1
- package/esm2022/lib/components/cards/card-container/card-container.component.mjs +4 -4
- package/esm2022/lib/components/commands/command/command.component.mjs +24 -10
- package/esm2022/lib/components/commands/command-face/command-face.component.mjs +11 -3
- package/esm2022/lib/components/commands/command-face.mjs +11 -11
- package/esm2022/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +11 -11
- package/esm2022/lib/components/commands/group/tool-bar/tool-bar.component.mjs +6 -4
- package/esm2022/lib/components/components.module.mjs +27 -8
- package/esm2022/lib/components/disposable-component.mjs +19 -37
- package/esm2022/lib/components/exports.mjs +8 -2
- package/esm2022/lib/components/forms/abstract-input.component.mjs +55 -12
- package/esm2022/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +2 -2
- package/esm2022/lib/components/forms/checkbox-input/checkbox-input.component.mjs +8 -6
- package/esm2022/lib/components/forms/form-field.mjs +2 -0
- package/esm2022/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +2 -2
- package/esm2022/lib/components/forms/number-input/number-input.component.mjs +49 -10
- package/esm2022/lib/components/forms/password-input/password-input.component.mjs +40 -3
- package/esm2022/lib/components/forms/search-input/search-input.component.mjs +33 -0
- package/esm2022/lib/components/forms/select-input/select-input.component.mjs +11 -10
- package/esm2022/lib/components/forms/string-input/string-input.component.mjs +21 -9
- package/esm2022/lib/components/icon/icon.component.mjs +7 -4
- package/esm2022/lib/components/loadable-component.mjs +49 -0
- package/esm2022/lib/components/resize-aware.component.mjs +61 -24
- package/esm2022/lib/components/switch-case/switch-case.component.mjs +5 -7
- package/esm2022/lib/components/tables/abstract-table-model.mjs +49 -25
- package/esm2022/lib/components/tables/abstract-table.component.mjs +19 -5
- package/esm2022/lib/components/tables/column/column-manager.mjs +81 -0
- package/esm2022/lib/components/tables/column/column-model.mjs +13 -3
- package/esm2022/lib/components/tables/column/column-order-manager.mjs +19 -0
- package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/property-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/selection-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.mjs +1 -1
- package/esm2022/lib/components/tables/editor/edit-session.mjs +4 -2
- package/esm2022/lib/components/tables/filter/table-filter-model.mjs +4 -2
- package/esm2022/lib/components/tables/filter/text-search-predicate.mjs +16 -2
- package/esm2022/lib/components/tables/footer/footer-row-model.mjs +38 -0
- package/esm2022/lib/components/tables/renderer/cell-portal-ref.mjs +19 -1
- package/esm2022/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +3 -3
- package/esm2022/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.mjs +3 -2
- package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +150 -40
- package/esm2022/lib/components/tables/renderer/table-cell/table-cell.component.mjs +1 -1
- package/esm2022/lib/components/tables/renderer/table-footer-row/table-footer-row.component.mjs +30 -0
- package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +7 -2
- package/esm2022/lib/components/tables/table/table-model.mjs +1 -1
- package/esm2022/lib/components/tables/table/table.component.mjs +39 -62
- package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +5 -4
- package/esm2022/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +1 -1
- package/esm2022/lib/components/tables/tree-table/tree-label-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/tree-table/tree-table-component.mjs +12 -6
- package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +3 -3
- package/esm2022/lib/components/text/markdown/markdown.component.mjs +2 -2
- package/esm2022/lib/directives/directives.module.mjs +1 -1
- package/esm2022/lib/directives/exports.mjs +2 -1
- package/esm2022/lib/directives/highlight.pipe.mjs +2 -2
- package/esm2022/lib/directives/resize-observer.directive.mjs +40 -0
- package/esm2022/lib/interaction/activity.mjs +3 -4
- package/esm2022/lib/interaction/alert.mjs +2 -2
- package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +8 -4
- package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +20 -11
- package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +28 -11
- package/esm2022/lib/interaction/components/activity-title/activity-title.component.mjs +4 -4
- package/esm2022/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +1 -1
- package/esm2022/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +1 -1
- package/esm2022/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +1 -1
- package/esm2022/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +1 -1
- package/esm2022/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +1 -1
- package/esm2022/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +1 -1
- package/esm2022/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +1 -1
- package/esm2022/lib/interaction/components/editors/edit-context.mjs +1 -1
- package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +3 -3
- package/esm2022/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +15 -4
- package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +2 -2
- package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +4 -2
- package/esm2022/lib/interaction/components/input-activities/string-input-activity.mjs +8 -4
- package/esm2022/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.mjs +129 -0
- package/esm2022/lib/interaction/directives/interaction-context-trigger-for.directive.mjs +2 -2
- package/esm2022/lib/interaction/exports.mjs +2 -1
- package/esm2022/lib/interaction/interaction.module.mjs +7 -9
- package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +3 -4
- package/esm2022/lib/place/components/place-outlet/place-outlet.component.mjs +7 -9
- package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +2 -2
- package/esm2022/lib/place/guards/consolidated-param-map.mjs +4 -4
- package/esm2022/lib/place/guards/place.guard.mjs +2 -1
- package/esm2022/lib/place/navigation/place-component-deactivation-handler.mjs +2 -2
- package/esm2022/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +3 -6
- package/esm2022/lib/place/place-component.mjs +7 -7
- package/esm2022/lib/place/place-definition.mjs +3 -3
- package/esm2022/lib/place/place-history.mjs +2 -2
- package/esm2022/lib/place/place-router.mjs +20 -18
- package/esm2022/lib/place/place.decorator.mjs +2 -2
- package/esm2022/lib/place/place.module.mjs +1 -5
- package/esm2022/lib/place/route/formatter.mjs +2 -2
- package/esm2022/lib/place/route/parameter-decorators.mjs +54 -50
- package/esm2022/lib/place/route/parameter-definition.mjs +2 -2
- package/esm2022/lib/place/url-snapshot.mjs +3 -3
- package/esm2022/lib/place/visit-segment.mjs +2 -2
- package/esm2022/lib/place/visit.mjs +2 -2
- package/fesm2022/coolon-angular-ui-powerups.mjs +1291 -536
- package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
- package/lib/animations/slide-animations.d.ts +1 -0
- package/lib/components/cards/card-container/card-container.component.d.ts +1 -1
- package/lib/components/commands/command/command.component.d.ts +2 -1
- package/lib/components/commands/command-face/command-face.component.d.ts +2 -0
- package/lib/components/commands/command-face.d.ts +5 -7
- package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +2 -2
- package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +1 -1
- package/lib/components/components.module.d.ts +56 -53
- package/lib/components/disposable-component.d.ts +11 -8
- package/lib/components/exports.d.ts +7 -1
- package/lib/components/forms/abstract-input.component.d.ts +13 -5
- package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +2 -0
- package/lib/components/forms/form-field.d.ts +5 -0
- package/lib/components/forms/number-input/number-input.component.d.ts +8 -4
- package/lib/components/forms/password-input/password-input.component.d.ts +7 -1
- package/lib/components/forms/search-input/search-input.component.d.ts +10 -0
- package/lib/components/forms/select-input/select-input.component.d.ts +4 -3
- package/lib/components/forms/string-input/string-input.component.d.ts +3 -1
- package/lib/components/loadable-component.d.ts +17 -0
- package/lib/components/resize-aware.component.d.ts +24 -5
- package/lib/components/switch-case/switch-case.component.d.ts +2 -3
- package/lib/components/tables/abstract-table-model.d.ts +14 -6
- package/lib/components/tables/abstract-table.component.d.ts +4 -3
- package/lib/components/tables/column/column-manager.d.ts +19 -0
- package/lib/components/tables/column/column-model.d.ts +7 -3
- package/lib/components/tables/column/column-order-manager.d.ts +20 -0
- package/lib/components/tables/column/custom-template-column-model.d.ts +3 -2
- package/lib/components/tables/column/custom-value-column-model.d.ts +3 -2
- package/lib/components/tables/column/editor-controls-column-model.d.ts +3 -2
- package/lib/components/tables/column/list-propery-column-model.d.ts +3 -2
- package/lib/components/tables/column/property-column-model.d.ts +3 -2
- package/lib/components/tables/column/selection-column-model.d.ts +3 -2
- package/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.d.ts +1 -1
- package/lib/components/tables/editor/edit-session.d.ts +1 -1
- package/lib/components/tables/filter/text-search-predicate.d.ts +9 -0
- package/lib/components/tables/footer/footer-row-model.d.ts +22 -0
- package/lib/components/tables/renderer/cell-portal-ref.d.ts +14 -6
- package/lib/components/tables/renderer/table-body/table-body.component.d.ts +40 -16
- package/lib/components/tables/renderer/table-cell/table-cell.component.d.ts +1 -1
- package/lib/components/tables/renderer/table-footer-row/table-footer-row.component.d.ts +11 -0
- package/lib/components/tables/renderer/table-more-menu/table-more-menu.component.d.ts +2 -1
- package/lib/components/tables/table/table-model.d.ts +1 -1
- package/lib/components/tables/table/table.component.d.ts +14 -10
- 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 +3 -2
- package/lib/components/tables/tree-table/tree-table-component.d.ts +3 -0
- package/lib/components/tables/tree-table/tree-table-model.d.ts +1 -1
- package/lib/directives/exports.d.ts +1 -0
- package/lib/directives/resize-observer.directive.d.ts +16 -0
- package/lib/interaction/activity.d.ts +2 -2
- package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +1 -0
- package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +10 -5
- package/lib/interaction/components/activity-container/activity-container.component.d.ts +7 -3
- package/lib/interaction/components/activity-title/activity-title.component.d.ts +1 -1
- package/lib/interaction/components/editors/edit-context.d.ts +1 -1
- package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +5 -3
- package/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.d.ts +53 -0
- package/lib/interaction/exports.d.ts +1 -0
- package/lib/interaction/interaction.module.d.ts +28 -28
- package/lib/place/components/place-outlet/place-outlet.component.d.ts +3 -4
- package/lib/place/place-component.d.ts +4 -4
- package/lib/place/place-router.d.ts +4 -0
- package/lib/place/place.module.d.ts +4 -5
- package/package.json +6 -4
- package/esm2022/lib/components/tables/column/column-list-model.mjs +0 -44
- package/lib/components/tables/column/column-list-model.d.ts +0 -13
|
@@ -2,27 +2,27 @@ import { ObserversModule } from '@angular/cdk/observers';
|
|
|
2
2
|
import * as i1$1 from '@angular/common';
|
|
3
3
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
|
-
import { ElementRef, Directive, Inject, Host, Optional, Input, HostListener, inject, NgZone, Injectable, Pipe, NgModule, Component, ContentChild, HostBinding, ViewEncapsulation, InjectionToken, ViewChild, ViewChildren, EventEmitter, Output, SkipSelf, Self, ContentChildren, ComponentRef, Injector, PLATFORM_ID } from '@angular/core';
|
|
5
|
+
import { ElementRef, Directive, Inject, Host, Optional, Input, HostListener, ChangeDetectorRef, inject, NgZone, Injectable, Pipe, NgModule, Component, ContentChild, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, InjectionToken, ViewChild, ViewChildren, EventEmitter, Output, SkipSelf, Self, ContentChildren, ComponentRef, Injector, PLATFORM_ID } from '@angular/core';
|
|
6
6
|
import * as i2$4 from '@angular/forms';
|
|
7
7
|
import { FormsModule } from '@angular/forms';
|
|
8
8
|
import * as i4$2 from '@angular/material/form-field';
|
|
9
9
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
10
10
|
import * as i3 from '@angular/material/input';
|
|
11
11
|
import { MatInputModule, MatInput } from '@angular/material/input';
|
|
12
|
-
import * as i4$
|
|
12
|
+
import * as i4$3 from '@angular/material/select';
|
|
13
13
|
import { MatSelectModule } from '@angular/material/select';
|
|
14
|
-
import * as i3$
|
|
14
|
+
import * as i3$2 from '@angular/material/tabs';
|
|
15
15
|
import { MatTabsModule, MAT_TABS_CONFIG } from '@angular/material/tabs';
|
|
16
16
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
17
|
-
import * as
|
|
17
|
+
import * as i1$4 from '@angular/cdk/portal';
|
|
18
18
|
import { ComponentPortal, TemplatePortal, PortalModule } from '@angular/cdk/portal';
|
|
19
19
|
import * as i1$2 from '@angular/cdk/scrolling';
|
|
20
|
-
import { CdkScrollableModule } from '@angular/cdk/scrolling';
|
|
20
|
+
import { CdkVirtualScrollViewport, CdkScrollableModule, ScrollingModule } from '@angular/cdk/scrolling';
|
|
21
21
|
import * as i7 from '@angular/material/autocomplete';
|
|
22
22
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
23
23
|
import * as i2 from '@angular/material/button';
|
|
24
24
|
import { MatButton, MatButtonModule } from '@angular/material/button';
|
|
25
|
-
import * as
|
|
25
|
+
import * as i3$1 from '@angular/material/checkbox';
|
|
26
26
|
import { MAT_CHECKBOX_DEFAULT_OPTIONS, MatCheckboxModule } from '@angular/material/checkbox';
|
|
27
27
|
import * as i2$3 from '@angular/material/divider';
|
|
28
28
|
import { MatDividerModule } from '@angular/material/divider';
|
|
@@ -38,35 +38,34 @@ import * as i2$6 from '@angular/material/table';
|
|
|
38
38
|
import { MatTableModule } from '@angular/material/table';
|
|
39
39
|
import * as i4$1 from '@angular/material/tooltip';
|
|
40
40
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
41
|
+
import * as i4$4 from 'ng-table-virtual-scroll';
|
|
42
|
+
import { TableVirtualScrollDataSource, TableVirtualScrollModule } from 'ng-table-virtual-scroll';
|
|
41
43
|
import * as i1$3 from '@coolon/pectin';
|
|
42
|
-
import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl,
|
|
44
|
+
import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, Logger, proxify, ValueModel, Proxify, StoreInValueModel, Command, MutableListModel, StoreInListModel, Disposable, DelegatingListModel, MutableValueModel, DelegateToValueModel, FocusManager, EventListenerList, Guard, DelegatingFormListModel, Binding, DebugContext, DelegateToListModel, DelegatingFormValueModel, ListModel, Functions, PageController, SelectionModel, CanProxy, MultipleSelectionModel, WatchList, ProxyRegistry, DirtyTrackingForm, DelegatingCommand, ComputedListModel, Deferred, ReducingValueModel, AndValueModel } from '@coolon/pectin';
|
|
43
45
|
import { __decorate, __param, __metadata } from 'tslib';
|
|
44
46
|
import * as i1 from '@angular/platform-browser';
|
|
45
47
|
import escapeStringRegexp from 'escape-string-regexp';
|
|
46
|
-
import { isEmpty, isString, isFunction, isNil, isInteger, isObject, isEqual, join, first, uniq,
|
|
48
|
+
import { isEmpty, isString, isFunction, isNil, isInteger, isObject, isEqual, join, last, first, uniq, findLast, isNumber, isNaN as isNaN$1 } from 'lodash-es';
|
|
47
49
|
import { marked } from 'marked';
|
|
48
|
-
import {
|
|
50
|
+
import { MemoizeGet, lang as lang$1, assert as assert$1, Stringy, Klass, Opts } from '@coolon/typescript-utilities';
|
|
49
51
|
import { Enum } from 'typescript-string-enums';
|
|
50
|
-
import { lang as lang$1, assert as assert$1, Stringy, Klass, Opts } from '@coolon/typescript-utilities';
|
|
51
52
|
import * as i5 from '@angular/material/core';
|
|
52
|
-
import
|
|
53
|
+
import { Memoize } from 'fast-typescript-memoize';
|
|
54
|
+
import { produce } from 'immer';
|
|
53
55
|
import ResizeObserver from 'resize-observer-polyfill';
|
|
54
|
-
import {
|
|
56
|
+
import { generateKeyBetween } from 'fractional-indexing';
|
|
55
57
|
import * as i5$1 from '@angular/cdk/a11y';
|
|
56
58
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
57
|
-
import * as
|
|
58
|
-
import { FlexModule, GridModule } from '@angular/flex-layout';
|
|
59
|
-
import * as i1$6 from '@angular/material/dialog';
|
|
59
|
+
import * as i1$7 from '@angular/material/dialog';
|
|
60
60
|
import { MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
|
|
61
|
-
import * as i1$
|
|
61
|
+
import * as i1$5 from '@angular/router';
|
|
62
62
|
import { ActivatedRouteSnapshot, UrlSegment, NavigationStart, NavigationEnd, NavigationError, NavigationCancel, RouterModule } from '@angular/router';
|
|
63
|
-
import { Memoize as Memoize$1 } from 'typescript-memoize';
|
|
64
63
|
import 'reflect-metadata';
|
|
65
|
-
import * as i1$
|
|
64
|
+
import * as i1$6 from '@angular/cdk/overlay';
|
|
65
|
+
import { style, trigger, transition, animate, group, query } from '@angular/animations';
|
|
66
66
|
import { MatCardModule } from '@angular/material/card';
|
|
67
67
|
import * as i3$3 from '@angular/material/list';
|
|
68
68
|
import { MatListModule } from '@angular/material/list';
|
|
69
|
-
import { style, query, group, animate, trigger, transition } from '@angular/animations';
|
|
70
69
|
|
|
71
70
|
class CommandDirective extends GarbageCollector {
|
|
72
71
|
elementRef;
|
|
@@ -213,11 +212,12 @@ var Track;
|
|
|
213
212
|
|
|
214
213
|
class DisposableComponent extends GarbageCollector {
|
|
215
214
|
trackById = Track.byId();
|
|
216
|
-
#_loaded$ = new MutableValueModel();
|
|
217
|
-
#asyncLoadables = [];
|
|
218
|
-
#awaitedLoadables = [];
|
|
215
|
+
// #_loaded$ = new MutableValueModel<boolean>();
|
|
216
|
+
// #asyncLoadables: Loadable[] = [];
|
|
217
|
+
// #awaitedLoadables: Loadable[] = [];
|
|
219
218
|
#initCallbacks = [];
|
|
220
219
|
#initialised = false;
|
|
220
|
+
cdr = this.inject(ChangeDetectorRef);
|
|
221
221
|
onInit(callback) {
|
|
222
222
|
if (this.#initialised) {
|
|
223
223
|
callback();
|
|
@@ -226,44 +226,25 @@ class DisposableComponent extends GarbageCollector {
|
|
|
226
226
|
this.#initCallbacks.push(callback);
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
|
-
get loaded$() {
|
|
230
|
-
return this.#_loaded$.readonly$;
|
|
231
|
-
}
|
|
232
229
|
ngOnInit() {
|
|
233
230
|
this.#initCallbacks.forEach(it => it());
|
|
234
|
-
this.#asyncLoadables.forEach(it => it.ensureLoaded());
|
|
235
|
-
if (this.#awaitedLoadables.length > 0) {
|
|
236
|
-
Promise.all(this.#awaitedLoadables.map(it => {
|
|
237
|
-
return it.ensureLoaded(); //.then(() => console.log(`${it.constructor.name} loaded`));
|
|
238
|
-
})).then(() => {
|
|
239
|
-
this.#_loaded$.value = true;
|
|
240
|
-
});
|
|
241
|
-
}
|
|
242
|
-
else {
|
|
243
|
-
this.#_loaded$.value = true;
|
|
244
|
-
}
|
|
245
231
|
this.#initialised = true;
|
|
246
232
|
}
|
|
233
|
+
ngOnDestroy() {
|
|
234
|
+
this.dispose();
|
|
235
|
+
}
|
|
247
236
|
inject(token) {
|
|
248
237
|
return inject(token);
|
|
249
238
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
else {
|
|
260
|
-
this.#asyncLoadables.push(loadable);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
return loadable;
|
|
264
|
-
}
|
|
265
|
-
ngOnDestroy() {
|
|
266
|
-
this.dispose();
|
|
239
|
+
/**
|
|
240
|
+
* Monitors the specified models for any change and triggers and angular change detect cycle. This is intended for use
|
|
241
|
+
* when the component uses the ON_PUSH change detection strategy.
|
|
242
|
+
* @param models
|
|
243
|
+
* @protected
|
|
244
|
+
*/
|
|
245
|
+
trackChangesAndMarkForCheck(...models) {
|
|
246
|
+
const { when } = Dsl.disposeWith(this);
|
|
247
|
+
when.anyOf(...models).changes(() => this.cdr.markForCheck());
|
|
267
248
|
}
|
|
268
249
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DisposableComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
269
250
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: DisposableComponent, usesInheritance: true, ngImport: i0 });
|
|
@@ -736,42 +717,42 @@ var CommandFace;
|
|
|
736
717
|
}
|
|
737
718
|
}
|
|
738
719
|
__decorate([
|
|
739
|
-
|
|
720
|
+
MemoizeGet(),
|
|
740
721
|
__metadata("design:type", Object),
|
|
741
722
|
__metadata("design:paramtypes", [])
|
|
742
723
|
], Adapter.prototype, "text", null);
|
|
743
724
|
__decorate([
|
|
744
|
-
|
|
725
|
+
MemoizeGet(),
|
|
745
726
|
__metadata("design:type", Object),
|
|
746
727
|
__metadata("design:paramtypes", [])
|
|
747
728
|
], Adapter.prototype, "icon", null);
|
|
748
729
|
__decorate([
|
|
749
|
-
|
|
730
|
+
MemoizeGet(),
|
|
750
731
|
__metadata("design:type", Object),
|
|
751
732
|
__metadata("design:paramtypes", [])
|
|
752
733
|
], Adapter.prototype, "iconPosition", null);
|
|
753
734
|
__decorate([
|
|
754
|
-
|
|
735
|
+
MemoizeGet(),
|
|
755
736
|
__metadata("design:type", Object),
|
|
756
737
|
__metadata("design:paramtypes", [])
|
|
757
738
|
], Adapter.prototype, "tooltip", null);
|
|
758
739
|
__decorate([
|
|
759
|
-
|
|
740
|
+
MemoizeGet(),
|
|
760
741
|
__metadata("design:type", Boolean),
|
|
761
742
|
__metadata("design:paramtypes", [])
|
|
762
743
|
], Adapter.prototype, "iconPositionStart", null);
|
|
763
744
|
__decorate([
|
|
764
|
-
|
|
745
|
+
MemoizeGet(),
|
|
765
746
|
__metadata("design:type", Boolean),
|
|
766
747
|
__metadata("design:paramtypes", [])
|
|
767
748
|
], Adapter.prototype, "iconPositionEnd", null);
|
|
768
749
|
__decorate([
|
|
769
|
-
|
|
750
|
+
MemoizeGet(),
|
|
770
751
|
__metadata("design:type", String),
|
|
771
752
|
__metadata("design:paramtypes", [])
|
|
772
753
|
], Adapter.prototype, "color", null);
|
|
773
754
|
__decorate([
|
|
774
|
-
|
|
755
|
+
MemoizeGet(),
|
|
775
756
|
__metadata("design:type", String),
|
|
776
757
|
__metadata("design:paramtypes", [])
|
|
777
758
|
], Adapter.prototype, "style", null);
|
|
@@ -842,6 +823,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
842
823
|
args: ["class.disable-scroll"]
|
|
843
824
|
}] } });
|
|
844
825
|
|
|
826
|
+
/* eslint-disable @angular-eslint/no-host-metadata-property */
|
|
845
827
|
class IconComponent {
|
|
846
828
|
_icon;
|
|
847
829
|
prefix;
|
|
@@ -873,11 +855,13 @@ class IconComponent {
|
|
|
873
855
|
return `fa-${this.suffix}`;
|
|
874
856
|
}
|
|
875
857
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
876
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: IconComponent, selector: "aup-icon", inputs: { icon: "icon" }, host: { properties: { "attr.icon": "this.icon" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"prefix\">\n\n <mat-icon *ngSwitchCase=\"iconPrefix.SVG\"\n [svgIcon]=\"suffix\"\n class=\"svgIcon\">\n </mat-icon>\n\n <mat-icon *ngSwitchCase=\"iconPrefix.MATERIAL\">\n {{suffix}}\n </mat-icon>\n\n <div *ngSwitchCase=\"iconPrefix.FONT_AWESOME\" class=\"faIconWrapper\">\n <i class=\"fa-solid\" [class]=\"faIcon\"></i>\n </div>\n\n <mat-icon *ngSwitchDefault\n [matTooltip]=\"errorMessage\">\n bug_report\n </mat-icon>\n\n</ng-container>\n\n", styles: [":host{display:inline-flex;--resolved-size: var(--aup-icon-size, 24px);width:var(--resolved-size) fa-icon
|
|
858
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: IconComponent, selector: "aup-icon", inputs: { icon: "icon" }, host: { properties: { "attr.icon": "this.icon" }, classAttribute: "mat-icon" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"prefix\">\n\n <mat-icon *ngSwitchCase=\"iconPrefix.SVG\"\n [svgIcon]=\"suffix\"\n class=\"svgIcon\">\n </mat-icon>\n\n <mat-icon *ngSwitchCase=\"iconPrefix.MATERIAL\">\n {{suffix}}\n </mat-icon>\n\n <div *ngSwitchCase=\"iconPrefix.FONT_AWESOME\" class=\"faIconWrapper\">\n <i class=\"fa-solid\" [class]=\"faIcon\"></i>\n </div>\n\n <mat-icon *ngSwitchDefault\n [matTooltip]=\"errorMessage\">\n bug_report\n </mat-icon>\n\n</ng-container>\n\n", styles: [":host{display:inline-flex;--resolved-size: var(--aup-icon-size, 24px);width:var(--resolved-size)!important;min-width:var(--resolved-size)!important;height:var(--resolved-size)!important;min-height:var(--resolved-size)!important}:host fa-icon{vertical-align:middle}:host .faIconWrapper{display:flex;flex-direction:row;align-items:center;justify-content:center;width:var(--resolved-size)!important;height:var(--resolved-size)!important}:host .svgIcon{width:var(--resolved-size)!important;height:var(--resolved-size)!important}:host :host(.mat-chip-remove){--aup-icon-size: 18px}:host mat-icon{font-size:var(--resolved-size)!important;width:var(--resolved-size)!important;height:var(--resolved-size)!important;margin-right:0!important}\n"], dependencies: [{ kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
877
859
|
}
|
|
878
860
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IconComponent, decorators: [{
|
|
879
861
|
type: Component,
|
|
880
|
-
args: [{ selector: 'aup-icon',
|
|
862
|
+
args: [{ selector: 'aup-icon', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
863
|
+
class: "mat-icon" // this ensures angular form styles that target mat icon also work with us
|
|
864
|
+
}, template: "<ng-container [ngSwitch]=\"prefix\">\n\n <mat-icon *ngSwitchCase=\"iconPrefix.SVG\"\n [svgIcon]=\"suffix\"\n class=\"svgIcon\">\n </mat-icon>\n\n <mat-icon *ngSwitchCase=\"iconPrefix.MATERIAL\">\n {{suffix}}\n </mat-icon>\n\n <div *ngSwitchCase=\"iconPrefix.FONT_AWESOME\" class=\"faIconWrapper\">\n <i class=\"fa-solid\" [class]=\"faIcon\"></i>\n </div>\n\n <mat-icon *ngSwitchDefault\n [matTooltip]=\"errorMessage\">\n bug_report\n </mat-icon>\n\n</ng-container>\n\n", styles: [":host{display:inline-flex;--resolved-size: var(--aup-icon-size, 24px);width:var(--resolved-size)!important;min-width:var(--resolved-size)!important;height:var(--resolved-size)!important;min-height:var(--resolved-size)!important}:host fa-icon{vertical-align:middle}:host .faIconWrapper{display:flex;flex-direction:row;align-items:center;justify-content:center;width:var(--resolved-size)!important;height:var(--resolved-size)!important}:host .svgIcon{width:var(--resolved-size)!important;height:var(--resolved-size)!important}:host :host(.mat-chip-remove){--aup-icon-size: 18px}:host mat-icon{font-size:var(--resolved-size)!important;width:var(--resolved-size)!important;height:var(--resolved-size)!important;margin-right:0!important}\n"] }]
|
|
881
865
|
}], propDecorators: { icon: [{
|
|
882
866
|
type: Input
|
|
883
867
|
}, {
|
|
@@ -908,6 +892,7 @@ class CommandFaceComponent extends DisposableComponent {
|
|
|
908
892
|
// tslint:disable-next-line:no-input-rename
|
|
909
893
|
get _rawFaces() { return this.#_rawFaces_accessor_storage; }
|
|
910
894
|
set _rawFaces(value) { this.#_rawFaces_accessor_storage = value; }
|
|
895
|
+
hasTextAndLeadingIcon$;
|
|
911
896
|
set face(face) {
|
|
912
897
|
this.faces$.value = [face];
|
|
913
898
|
}
|
|
@@ -927,6 +912,7 @@ class CommandFaceComponent extends DisposableComponent {
|
|
|
927
912
|
const activeFace = this.faceAdapters.first();
|
|
928
913
|
this.activeIcon = activeFace.pluck("icon");
|
|
929
914
|
this.activeColor = activeFace.pluck("color");
|
|
915
|
+
this.hasTextAndLeadingIcon$ = valueOf.all(this.activeIcon.isNotNil(), activeFace.pluckString('text').isNotBlank(), activeFace.pluck("iconPosition").doesNotEqual(CommandFace.Position.END)).areTruthy();
|
|
930
916
|
}
|
|
931
917
|
shouldIncludeIcon(face) {
|
|
932
918
|
return (!this.ignoreIcon && face.icon) || this.includeMissingIconInLayout;
|
|
@@ -940,8 +926,11 @@ class CommandFaceComponent extends DisposableComponent {
|
|
|
940
926
|
get color() {
|
|
941
927
|
return this.activeColor.value;
|
|
942
928
|
}
|
|
929
|
+
get hasTextAndIcon() {
|
|
930
|
+
return this.hasTextAndLeadingIcon$.value;
|
|
931
|
+
}
|
|
943
932
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CommandFaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
944
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: CommandFaceComponent, selector: "aup-command-face", inputs: { _rawFaces: ["faces", "_rawFaces"], face: "face", ignoreIcon: "ignoreIcon", ignoreText: "ignoreText", includeMissingIconInLayout: "includeMissingIconInLayout" }, host: { properties: { "class.hide-icon": "this.requiresMissingIconInLayout", "attr.color": "this.color" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"face-container\" *ngFor=\"let face of faceAdapters.value\">\n <aup-icon *ngIf=\"hasIconStart(face)\" [icon]=\"face.icon\"></aup-icon>\n <span *ngIf=\"face.text\">{{face.text}}</span>\n <aup-icon *ngIf=\"hasIconEnd(face)\" [icon]=\"face.icon\"></aup-icon>\n</div>\n", styles: ["aup-command-face{--icon-gap: var(--aup-command-face-icon-gap);display:inline-grid}aup-command-face>.face-container{grid-column:1;grid-row:1;display:inline-flex;flex-direction:row;align-items:center}aup-command-face>.face-container:not(:first-child){visibility:hidden}aup-command-face>.face-container *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}aup-command-face.centered{justify-items:center}aup-command-face.start{justify-items:self-start}aup-command-face.end{justify-items:self-end}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "aup-icon", inputs: ["icon"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
933
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: CommandFaceComponent, selector: "aup-command-face", inputs: { _rawFaces: ["faces", "_rawFaces"], face: "face", ignoreIcon: "ignoreIcon", ignoreText: "ignoreText", includeMissingIconInLayout: "includeMissingIconInLayout" }, host: { properties: { "class.hide-icon": "this.requiresMissingIconInLayout", "attr.color": "this.color", "class.has-text-and-leading-icon": "this.hasTextAndIcon" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"face-container\" *ngFor=\"let face of faceAdapters.value\">\n <aup-icon *ngIf=\"hasIconStart(face)\" [icon]=\"face.icon\"></aup-icon>\n <span *ngIf=\"face.text\">{{face.text}}</span>\n <aup-icon *ngIf=\"hasIconEnd(face)\" [icon]=\"face.icon\"></aup-icon>\n</div>\n", styles: ["aup-command-face{--icon-gap: var(--aup-command-face-icon-gap);display:inline-grid}aup-command-face>.face-container{grid-column:1;grid-row:1;display:inline-flex;flex-direction:row;align-items:center}aup-command-face>.face-container>span{white-space:nowrap}aup-command-face>.face-container:not(:first-child){visibility:hidden}aup-command-face>.face-container *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}aup-command-face.centered{justify-items:center}aup-command-face.start{justify-items:self-start}aup-command-face.end{justify-items:self-end}aup-command-face.has-text-and-leading-icon{margin-top:4px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "aup-icon", inputs: ["icon"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
945
934
|
}
|
|
946
935
|
__decorate([
|
|
947
936
|
StoreInListModel("faces$"),
|
|
@@ -949,7 +938,7 @@ __decorate([
|
|
|
949
938
|
], CommandFaceComponent.prototype, "_rawFaces", null);
|
|
950
939
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CommandFaceComponent, decorators: [{
|
|
951
940
|
type: Component,
|
|
952
|
-
args: [{ selector: 'aup-command-face', encapsulation: ViewEncapsulation.None, template: "<div class=\"face-container\" *ngFor=\"let face of faceAdapters.value\">\n <aup-icon *ngIf=\"hasIconStart(face)\" [icon]=\"face.icon\"></aup-icon>\n <span *ngIf=\"face.text\">{{face.text}}</span>\n <aup-icon *ngIf=\"hasIconEnd(face)\" [icon]=\"face.icon\"></aup-icon>\n</div>\n", styles: ["aup-command-face{--icon-gap: var(--aup-command-face-icon-gap);display:inline-grid}aup-command-face>.face-container{grid-column:1;grid-row:1;display:inline-flex;flex-direction:row;align-items:center}aup-command-face>.face-container:not(:first-child){visibility:hidden}aup-command-face>.face-container *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}aup-command-face.centered{justify-items:center}aup-command-face.start{justify-items:self-start}aup-command-face.end{justify-items:self-end}\n"] }]
|
|
941
|
+
args: [{ selector: 'aup-command-face', encapsulation: ViewEncapsulation.None, template: "<div class=\"face-container\" *ngFor=\"let face of faceAdapters.value\">\n <aup-icon *ngIf=\"hasIconStart(face)\" [icon]=\"face.icon\"></aup-icon>\n <span *ngIf=\"face.text\">{{face.text}}</span>\n <aup-icon *ngIf=\"hasIconEnd(face)\" [icon]=\"face.icon\"></aup-icon>\n</div>\n", styles: ["aup-command-face{--icon-gap: var(--aup-command-face-icon-gap);display:inline-grid}aup-command-face>.face-container{grid-column:1;grid-row:1;display:inline-flex;flex-direction:row;align-items:center}aup-command-face>.face-container>span{white-space:nowrap}aup-command-face>.face-container:not(:first-child){visibility:hidden}aup-command-face>.face-container *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}aup-command-face.centered{justify-items:center}aup-command-face.start{justify-items:self-start}aup-command-face.end{justify-items:self-end}aup-command-face.has-text-and-leading-icon{margin-top:4px}\n"] }]
|
|
953
942
|
}], ctorParameters: function () { return []; }, propDecorators: { _rawFaces: [{
|
|
954
943
|
type: Input,
|
|
955
944
|
args: ['faces']
|
|
@@ -967,6 +956,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
967
956
|
}], color: [{
|
|
968
957
|
type: HostBinding,
|
|
969
958
|
args: ['attr.color']
|
|
959
|
+
}], hasTextAndIcon: [{
|
|
960
|
+
type: HostBinding,
|
|
961
|
+
args: ['class.has-text-and-leading-icon']
|
|
970
962
|
}] } });
|
|
971
963
|
|
|
972
964
|
/**
|
|
@@ -1070,11 +1062,11 @@ class CardContainerComponent extends AbstractCardContainerComponent {
|
|
|
1070
1062
|
}
|
|
1071
1063
|
}
|
|
1072
1064
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CardContainerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1073
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: CardContainerComponent, selector: "aup-card-container", inputs: { columnCount: "columnCount", enableScroll: "enableScroll" }, host: { properties: { "class.auto-columns": "this.isAutoColumns", "class.single-column": "this.isSingleColumn" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"header-container\">\n <ng-content select=\"[card-container-header]\"></ng-content>\n</div>\n\n<ng-template #content>\n <div class=\"card-container\">\n <ng-content></ng-content>\n\n <div class=\"add-card-container\" *ngIf=\"addCardCommand.enabled$.value\" [pectinCommand]=\"addCardCommand\">\n <aup-command-face *ngIf=\"addCardFace\" [faces]=\"[addCardFace]\"></aup-command-face>\n <aup-icon *ngIf=\"!addCardFace\" icon=\"mat:add\"></aup-icon>\n </div>\n\n <div class=\"add-card-template\" *ngIf=\"addCardTemplate\">\n <ng-container [ngTemplateOutlet]=\"addCardTemplate\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<div class=\"no-scroll-container\" *ngIf=\"!enableScroll\">\n
|
|
1065
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: CardContainerComponent, selector: "aup-card-container", inputs: { columnCount: "columnCount", enableScroll: "enableScroll" }, host: { properties: { "class.auto-columns": "this.isAutoColumns", "class.single-column": "this.isSingleColumn" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"header-container\">\n <ng-content select=\"[card-container-header], [slot=header]\"></ng-content>\n</div>\n\n<ng-template #content>\n <div class=\"card-container\">\n <ng-content></ng-content>\n\n <div class=\"add-card-container\" *ngIf=\"addCardCommand.enabled$.value\" [pectinCommand]=\"addCardCommand\">\n <aup-command-face *ngIf=\"addCardFace\" [faces]=\"[addCardFace]\"></aup-command-face>\n <aup-icon *ngIf=\"!addCardFace\" icon=\"mat:add\"></aup-icon>\n </div>\n\n <div class=\"add-card-template\" *ngIf=\"addCardTemplate\">\n <ng-container [ngTemplateOutlet]=\"addCardTemplate\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<div class=\"no-scroll-container\" *ngIf=\"!enableScroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n\n<aup-scroll-container *ngIf=\"enableScroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</aup-scroll-container>\n\n<div class=\"footer-container\">\n <ng-content select=\"[card-container-footer], [slot=footer]\"></ng-content>\n</div>\n\n", styles: [":host{--resolved-card-gap: var(--card-gap, 16px);--resolved-card-width: var(--card-width, 300px);--resolved-card-min-width: var(--card-min-width, var(--card-width, var(--card-max-width)));--resolved-card-max-width: var(--card-max-width, var(--card-width, var(--card-min-width)));--resolved-card-height: var(--card-height, auto);--resolved-card-min-height: var(--card-min-height, auto);--resolved-card-background: var(--card-background, var(--aup-card-container-default-background-color));flex:1;display:flex;flex-direction:column;align-items:stretch;background:var(--resolved-card-background)}:host.auto-columns>*>.card-container{grid-template-columns:repeat(auto-fill,minmax(var(--resolved-card-min-width),var(--resolved-card-max-width)))}:host:not(.auto-columns)>*>.card-container{grid-template-columns:repeat(var(--aup-card-container-column-count),1fr)}.card-container{display:grid;box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));max-width:100%;grid-auto-rows:minmax(var(--resolved-card-min-height),var(--resolved-card-height));grid-gap:var(--resolved-card-gap)}aup-scroll-container,.no-scroll-container{flex:1}.add-card-container{height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.add-card-container:hover{border-color:transparent;background-color:#fff;color:#0000008a}.add-card-template-container{height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "component", type: ScrollContainerComponent, selector: "aup-scroll-container", inputs: ["disableScroll$", "disableScroll"] }, { kind: "component", type: IconComponent, selector: "aup-icon", inputs: ["icon"] }, { kind: "component", type: CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
|
|
1074
1066
|
}
|
|
1075
1067
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CardContainerComponent, decorators: [{
|
|
1076
1068
|
type: Component,
|
|
1077
|
-
args: [{ selector: 'aup-card-container', template: "<div class=\"header-container\">\n <ng-content select=\"[card-container-header]\"></ng-content>\n</div>\n\n<ng-template #content>\n <div class=\"card-container\">\n <ng-content></ng-content>\n\n <div class=\"add-card-container\" *ngIf=\"addCardCommand.enabled$.value\" [pectinCommand]=\"addCardCommand\">\n <aup-command-face *ngIf=\"addCardFace\" [faces]=\"[addCardFace]\"></aup-command-face>\n <aup-icon *ngIf=\"!addCardFace\" icon=\"mat:add\"></aup-icon>\n </div>\n\n <div class=\"add-card-template\" *ngIf=\"addCardTemplate\">\n <ng-container [ngTemplateOutlet]=\"addCardTemplate\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<div class=\"no-scroll-container\" *ngIf=\"!enableScroll\">\n
|
|
1069
|
+
args: [{ selector: 'aup-card-container', template: "<div class=\"header-container\">\n <ng-content select=\"[card-container-header], [slot=header]\"></ng-content>\n</div>\n\n<ng-template #content>\n <div class=\"card-container\">\n <ng-content></ng-content>\n\n <div class=\"add-card-container\" *ngIf=\"addCardCommand.enabled$.value\" [pectinCommand]=\"addCardCommand\">\n <aup-command-face *ngIf=\"addCardFace\" [faces]=\"[addCardFace]\"></aup-command-face>\n <aup-icon *ngIf=\"!addCardFace\" icon=\"mat:add\"></aup-icon>\n </div>\n\n <div class=\"add-card-template\" *ngIf=\"addCardTemplate\">\n <ng-container [ngTemplateOutlet]=\"addCardTemplate\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<div class=\"no-scroll-container\" *ngIf=\"!enableScroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n\n<aup-scroll-container *ngIf=\"enableScroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</aup-scroll-container>\n\n<div class=\"footer-container\">\n <ng-content select=\"[card-container-footer], [slot=footer]\"></ng-content>\n</div>\n\n", styles: [":host{--resolved-card-gap: var(--card-gap, 16px);--resolved-card-width: var(--card-width, 300px);--resolved-card-min-width: var(--card-min-width, var(--card-width, var(--card-max-width)));--resolved-card-max-width: var(--card-max-width, var(--card-width, var(--card-min-width)));--resolved-card-height: var(--card-height, auto);--resolved-card-min-height: var(--card-min-height, auto);--resolved-card-background: var(--card-background, var(--aup-card-container-default-background-color));flex:1;display:flex;flex-direction:column;align-items:stretch;background:var(--resolved-card-background)}:host.auto-columns>*>.card-container{grid-template-columns:repeat(auto-fill,minmax(var(--resolved-card-min-width),var(--resolved-card-max-width)))}:host:not(.auto-columns)>*>.card-container{grid-template-columns:repeat(var(--aup-card-container-column-count),1fr)}.card-container{display:grid;box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));max-width:100%;grid-auto-rows:minmax(var(--resolved-card-min-height),var(--resolved-card-height));grid-gap:var(--resolved-card-gap)}aup-scroll-container,.no-scroll-container{flex:1}.add-card-container{height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.add-card-container:hover{border-color:transparent;background-color:#fff;color:#0000008a}.add-card-template-container{height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}\n"] }]
|
|
1078
1070
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { columnCount: [{
|
|
1079
1071
|
type: Input
|
|
1080
1072
|
}], enableScroll: [{
|
|
@@ -1150,14 +1142,24 @@ class CommandComponent extends PopupAwareComponent {
|
|
|
1150
1142
|
activeFace$;
|
|
1151
1143
|
iconOnly$;
|
|
1152
1144
|
tooltip$;
|
|
1145
|
+
visible$;
|
|
1153
1146
|
constructor(element, parent) {
|
|
1154
1147
|
super(element, parent);
|
|
1155
1148
|
const { chain, switchOn } = Dsl.disposeWith(this);
|
|
1156
|
-
this.faces$ = chain(this.command.busy$)
|
|
1149
|
+
this.faces$ = chain(this.command.busy$)
|
|
1150
|
+
.mapToList(busy => {
|
|
1157
1151
|
return busy ?
|
|
1158
|
-
[this.busyFace$.value, this.face$.value] :
|
|
1159
|
-
[this.face$.value, this.busyFace$.value];
|
|
1160
|
-
}, {
|
|
1152
|
+
[this.busyFace$.value ?? this.command.busyFace$.value, this.face$.value ?? this.command.defaultFace$.value] :
|
|
1153
|
+
[this.face$.value ?? this.command.defaultFace$.value, this.busyFace$.value ?? this.command.busyFace$.value];
|
|
1154
|
+
}, {
|
|
1155
|
+
allowNil: true,
|
|
1156
|
+
dependsOn: [
|
|
1157
|
+
this.face$,
|
|
1158
|
+
this.busyFace$,
|
|
1159
|
+
this.command.defaultFace$,
|
|
1160
|
+
this.command.busyFace$
|
|
1161
|
+
]
|
|
1162
|
+
})
|
|
1161
1163
|
.rejectNil();
|
|
1162
1164
|
this.activeFace$ = this.faces$.first();
|
|
1163
1165
|
this.buttonStyle$ = chain(this.activeFace$).map(f => CommandFace.getStyleOf(f));
|
|
@@ -1166,18 +1168,19 @@ class CommandComponent extends PopupAwareComponent {
|
|
|
1166
1168
|
this.iconOnly$ = this.faces$.select(face => {
|
|
1167
1169
|
return isEmpty(CommandFace.getTextOf(face)) && !isEmpty(CommandFace.getIconOf(face));
|
|
1168
1170
|
}).count().equals(this.faces$.count());
|
|
1171
|
+
this.visible$ = chain(this.command.visible$);
|
|
1172
|
+
}
|
|
1173
|
+
get cssDisplayProperty() {
|
|
1174
|
+
return this.visible$.value ? undefined : 'none';
|
|
1169
1175
|
}
|
|
1170
1176
|
isActive(face) {
|
|
1171
1177
|
return this.activeFace$.query().equals(face);
|
|
1172
1178
|
}
|
|
1173
|
-
getFace() {
|
|
1174
|
-
return this.face;
|
|
1175
|
-
}
|
|
1176
1179
|
requestFocus() {
|
|
1177
1180
|
this.button.focus();
|
|
1178
1181
|
}
|
|
1179
1182
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CommandComponent, deps: [{ token: i0.ElementRef }, { token: POPUP_CONTAINER, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1180
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: CommandComponent, selector: "aup-command", inputs: { command: "command", face$: "face$", face: "face", busyFace$: "busyFace$", 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"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i4$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
|
|
1183
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: CommandComponent, selector: "aup-command", inputs: { command: "command", face$: "face$", face: "face", busyFace$: "busyFace$", busyFace: "busyFace", alignFace: "alignFace" }, host: { properties: { "class": "this.alignFace", "style.display": "this.cssDisplayProperty" } }, 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"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i4$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
|
|
1181
1184
|
}
|
|
1182
1185
|
__decorate([
|
|
1183
1186
|
Proxify(),
|
|
@@ -1225,6 +1228,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1225
1228
|
}], button: [{
|
|
1226
1229
|
type: ViewChild,
|
|
1227
1230
|
args: [MatButton]
|
|
1231
|
+
}], cssDisplayProperty: [{
|
|
1232
|
+
type: HostBinding,
|
|
1233
|
+
args: ["style.display"]
|
|
1228
1234
|
}] } });
|
|
1229
1235
|
|
|
1230
1236
|
/**
|
|
@@ -1252,12 +1258,12 @@ class AbstractPopupMenuComponent extends PopupAwareComponent {
|
|
|
1252
1258
|
xPosition = 'after';
|
|
1253
1259
|
yPosition = 'below';
|
|
1254
1260
|
triggers;
|
|
1255
|
-
#enabled_accessor_storage;
|
|
1256
|
-
get enabled() { return this.#enabled_accessor_storage; }
|
|
1257
|
-
set enabled(value) { this.#enabled_accessor_storage = value; }
|
|
1258
1261
|
#enabled$_accessor_storage = proxify((ValueModel));
|
|
1259
1262
|
get enabled$() { return this.#enabled$_accessor_storage; }
|
|
1260
1263
|
set enabled$(value) { this.#enabled$_accessor_storage = value; }
|
|
1264
|
+
#enabled_accessor_storage = true;
|
|
1265
|
+
get enabled() { return this.#enabled_accessor_storage; }
|
|
1266
|
+
set enabled(value) { this.#enabled_accessor_storage = value; }
|
|
1261
1267
|
children;
|
|
1262
1268
|
faces$;
|
|
1263
1269
|
constructor(element, parent) {
|
|
@@ -1299,16 +1305,16 @@ class AbstractPopupMenuComponent extends PopupAwareComponent {
|
|
|
1299
1305
|
return this.faceAdapter.face;
|
|
1300
1306
|
}
|
|
1301
1307
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractPopupMenuComponent, deps: [{ token: i0.ElementRef }, { token: POPUP_CONTAINER }], target: i0.ɵɵFactoryTarget.Component });
|
|
1302
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractPopupMenuComponent, selector: "aup-abstract-popup-menu", inputs: { xPosition: "xPosition", yPosition: "yPosition", enabled
|
|
1308
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractPopupMenuComponent, selector: "aup-abstract-popup-menu", inputs: { xPosition: "xPosition", yPosition: "yPosition", enabled$: "enabled$", enabled: "enabled" }, viewQueries: [{ propertyName: "triggers", predicate: MatMenuTrigger, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
1303
1309
|
}
|
|
1304
|
-
__decorate([
|
|
1305
|
-
StoreInValueModel(),
|
|
1306
|
-
__metadata("design:type", Boolean)
|
|
1307
|
-
], AbstractPopupMenuComponent.prototype, "enabled", null);
|
|
1308
1310
|
__decorate([
|
|
1309
1311
|
Proxify(),
|
|
1310
1312
|
__metadata("design:type", Object)
|
|
1311
1313
|
], AbstractPopupMenuComponent.prototype, "enabled$", null);
|
|
1314
|
+
__decorate([
|
|
1315
|
+
StoreInValueModel(),
|
|
1316
|
+
__metadata("design:type", Object)
|
|
1317
|
+
], AbstractPopupMenuComponent.prototype, "enabled", null);
|
|
1312
1318
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractPopupMenuComponent, decorators: [{
|
|
1313
1319
|
type: Component,
|
|
1314
1320
|
args: [{ selector: 'aup-abstract-popup-menu', template: '' }]
|
|
@@ -1322,10 +1328,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1322
1328
|
}], triggers: [{
|
|
1323
1329
|
type: ViewChildren,
|
|
1324
1330
|
args: [MatMenuTrigger]
|
|
1325
|
-
}], enabled: [{
|
|
1326
|
-
type: Input
|
|
1327
1331
|
}], enabled$: [{
|
|
1328
1332
|
type: Input
|
|
1333
|
+
}], enabled: [{
|
|
1334
|
+
type: Input
|
|
1329
1335
|
}] } });
|
|
1330
1336
|
|
|
1331
1337
|
class CommandContainer extends GarbageCollector {
|
|
@@ -1358,13 +1364,15 @@ class ToolBarComponent extends CommandContainer {
|
|
|
1358
1364
|
get orientation() {
|
|
1359
1365
|
return CommandContainer.Orientation.HORIZONTAL;
|
|
1360
1366
|
}
|
|
1361
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ToolBarComponent, deps: [{ token: CommandContainer }], target: i0.ɵɵFactoryTarget.Component });
|
|
1367
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ToolBarComponent, deps: [{ token: CommandContainer, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1362
1368
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ToolBarComponent, selector: "aup-tool-bar", usesInheritance: true, ngImport: i0, template: '<div class="toolbar-content"><ng-content></ng-content></div>', isInline: true, styles: [":host{display:inline-block}.toolbar-content{display:inline-flex;flex-direction:row;align-items:center}.toolbar-content>aup-separator{align-self:stretch;margin:4px 0 4px 8px}.toolbar-content>aup-flex{flex:1}.toolbar-content>*+*{margin-left:8px}\n"], encapsulation: i0.ViewEncapsulation.None });
|
|
1363
1369
|
}
|
|
1364
1370
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ToolBarComponent, decorators: [{
|
|
1365
1371
|
type: Component,
|
|
1366
1372
|
args: [{ selector: 'aup-tool-bar', template: '<div class="toolbar-content"><ng-content></ng-content></div>', encapsulation: ViewEncapsulation.None, styles: [":host{display:inline-block}.toolbar-content{display:inline-flex;flex-direction:row;align-items:center}.toolbar-content>aup-separator{align-self:stretch;margin:4px 0 4px 8px}.toolbar-content>aup-flex{flex:1}.toolbar-content>*+*{margin-left:8px}\n"] }]
|
|
1367
|
-
}], ctorParameters: function () { return [{ type: CommandContainer
|
|
1373
|
+
}], ctorParameters: function () { return [{ type: CommandContainer, decorators: [{
|
|
1374
|
+
type: Optional
|
|
1375
|
+
}] }]; } });
|
|
1368
1376
|
|
|
1369
1377
|
/**
|
|
1370
1378
|
*
|
|
@@ -1675,7 +1683,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1675
1683
|
args: ['blur']
|
|
1676
1684
|
}] } });
|
|
1677
1685
|
|
|
1678
|
-
/* tslint:disable:no-input-rename */
|
|
1679
1686
|
const INPUT_TOKEN_HACK = new InjectionToken("INPUT_TOKEN_HACK");
|
|
1680
1687
|
class AbstractInputComponent extends DisposableComponent {
|
|
1681
1688
|
onValueEditedListeners = new EventListenerList();
|
|
@@ -1690,11 +1697,16 @@ class AbstractInputComponent extends DisposableComponent {
|
|
|
1690
1697
|
* gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
|
|
1691
1698
|
*/
|
|
1692
1699
|
formValue$;
|
|
1693
|
-
|
|
1694
|
-
|
|
1700
|
+
#i18n$_accessor_storage = proxify((MutableValueModel));
|
|
1701
|
+
get i18n$() { return this.#i18n$_accessor_storage; }
|
|
1702
|
+
set i18n$(value) { this.#i18n$_accessor_storage = value; }
|
|
1703
|
+
#i18n_accessor_storage;
|
|
1704
|
+
get i18n() { return this.#i18n_accessor_storage; }
|
|
1705
|
+
set i18n(value) { this.#i18n_accessor_storage = value; }
|
|
1706
|
+
_label;
|
|
1695
1707
|
userFloatLabel = 'always'; // TODO: make this an injectable default
|
|
1696
|
-
|
|
1697
|
-
|
|
1708
|
+
_hint;
|
|
1709
|
+
_placeholder;
|
|
1698
1710
|
dense = false;
|
|
1699
1711
|
_enabled$ = this.registerDisposable(new DelegatingValueModel());
|
|
1700
1712
|
set enabled$(condition$) {
|
|
@@ -1761,6 +1773,9 @@ class AbstractInputComponent extends DisposableComponent {
|
|
|
1761
1773
|
isEnabled() {
|
|
1762
1774
|
return this.enabled$.value;
|
|
1763
1775
|
}
|
|
1776
|
+
get disabled() {
|
|
1777
|
+
return !this.isEnabled();
|
|
1778
|
+
}
|
|
1764
1779
|
hasErrors() {
|
|
1765
1780
|
return !this.errorList$.query().isEmpty();
|
|
1766
1781
|
}
|
|
@@ -1773,6 +1788,15 @@ class AbstractInputComponent extends DisposableComponent {
|
|
|
1773
1788
|
get focusContext() {
|
|
1774
1789
|
return this.formValue$.focusContext;
|
|
1775
1790
|
}
|
|
1791
|
+
get label() {
|
|
1792
|
+
return this._label ?? this.i18n?.label();
|
|
1793
|
+
}
|
|
1794
|
+
get hint() {
|
|
1795
|
+
return this._hint ?? this.hackyGetI18n("hint");
|
|
1796
|
+
}
|
|
1797
|
+
get placeholder() {
|
|
1798
|
+
return this._placeholder ?? this.hackyGetI18n("placeholder");
|
|
1799
|
+
}
|
|
1776
1800
|
get floatLabel() {
|
|
1777
1801
|
// return this.dense ? 'never' : this.userFloatLabel;
|
|
1778
1802
|
return this.userFloatLabel;
|
|
@@ -1787,24 +1811,45 @@ class AbstractInputComponent extends DisposableComponent {
|
|
|
1787
1811
|
onValueEdited(callback) {
|
|
1788
1812
|
return this.onValueEditedListeners.add(callback);
|
|
1789
1813
|
}
|
|
1814
|
+
hackyGetI18n(key) {
|
|
1815
|
+
// TODO: update I18n to make it possible to get an optional value with return the missing key message.
|
|
1816
|
+
const i18nFn = this.i18n ? this.i18n[key] : undefined;
|
|
1817
|
+
const i18nValue = i18nFn && i18nFn();
|
|
1818
|
+
return i18nValue?.startsWith("missing key") ? undefined : i18nValue;
|
|
1819
|
+
}
|
|
1790
1820
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractInputComponent, deps: [{ token: INPUT_TOKEN_HACK }], target: i0.ɵɵFactoryTarget.Component });
|
|
1791
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractInputComponent, selector: "ng-component", inputs: {
|
|
1821
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractInputComponent, selector: "ng-component", inputs: { i18n$: "i18n$", i18n: "i18n", _label: ["label", "_label"], userFloatLabel: ["floatLabel", "userFloatLabel"], _hint: ["hint", "_hint"], _placeholder: ["placeholder", "_placeholder"], dense: "dense", enabled$: "enabled$", focusCommand: ["command.focus", "focusCommand"], blurCommand: ["command.blur", "blurCommand"], enterCommand: ["command.enter", "enterCommand"], escapeCommand: ["command.escape", "escapeCommand"], clickCommand: ["command.click", "clickCommand"] }, outputs: { focus: "focus", blur: "blur", enterKey: "enterKey", escapeKey: "escapeKey" }, host: { listeners: { "click": "notifyClick()", "focusin": "notifyFocusIn()", "focusout": "notifyFocusOut()" }, properties: { "class.dense": "this.dense", "class": "this.baseClassName", "class.disabled": "this.disabled" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
1792
1822
|
}
|
|
1823
|
+
__decorate([
|
|
1824
|
+
Proxify(),
|
|
1825
|
+
__metadata("design:type", Object)
|
|
1826
|
+
], AbstractInputComponent.prototype, "i18n$", null);
|
|
1827
|
+
__decorate([
|
|
1828
|
+
StoreInValueModel(),
|
|
1829
|
+
__metadata("design:type", Object)
|
|
1830
|
+
], AbstractInputComponent.prototype, "i18n", null);
|
|
1793
1831
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractInputComponent, decorators: [{
|
|
1794
1832
|
type: Component,
|
|
1795
1833
|
args: [{ template: '' }]
|
|
1796
1834
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
1797
1835
|
type: Inject,
|
|
1798
1836
|
args: [INPUT_TOKEN_HACK]
|
|
1799
|
-
}] }]; }, propDecorators: {
|
|
1837
|
+
}] }]; }, propDecorators: { i18n$: [{
|
|
1838
|
+
type: Input
|
|
1839
|
+
}], i18n: [{
|
|
1800
1840
|
type: Input
|
|
1841
|
+
}], _label: [{
|
|
1842
|
+
type: Input,
|
|
1843
|
+
args: ["label"]
|
|
1801
1844
|
}], userFloatLabel: [{
|
|
1802
1845
|
type: Input,
|
|
1803
1846
|
args: ['floatLabel']
|
|
1804
|
-
}],
|
|
1805
|
-
type: Input
|
|
1806
|
-
|
|
1807
|
-
|
|
1847
|
+
}], _hint: [{
|
|
1848
|
+
type: Input,
|
|
1849
|
+
args: ['hint']
|
|
1850
|
+
}], _placeholder: [{
|
|
1851
|
+
type: Input,
|
|
1852
|
+
args: ['placeholder']
|
|
1808
1853
|
}], dense: [{
|
|
1809
1854
|
type: HostBinding,
|
|
1810
1855
|
args: ['class.dense']
|
|
@@ -1847,6 +1892,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1847
1892
|
}], notifyFocusOut: [{
|
|
1848
1893
|
type: HostListener,
|
|
1849
1894
|
args: ['focusout']
|
|
1895
|
+
}], disabled: [{
|
|
1896
|
+
type: HostBinding,
|
|
1897
|
+
args: ["class.disabled"]
|
|
1850
1898
|
}] } });
|
|
1851
1899
|
|
|
1852
1900
|
class AbstractListInputComponent extends AbstractInputComponent {
|
|
@@ -2084,12 +2132,15 @@ class CheckboxInputComponent extends AbstractValueInputComponent {
|
|
|
2084
2132
|
constructor() {
|
|
2085
2133
|
super();
|
|
2086
2134
|
}
|
|
2135
|
+
select($event) {
|
|
2136
|
+
this.componentValue$.value = $event.checked;
|
|
2137
|
+
}
|
|
2087
2138
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CheckboxInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2088
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: CheckboxInputComponent, selector: "aup-checkbox-input", inputs: { color: "color", labelPosition: "labelPosition" }, usesInheritance: true, ngImport: i0, template: "<!-- TODO: add focus binding -->\n<mat-checkbox\n [
|
|
2139
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: CheckboxInputComponent, selector: "aup-checkbox-input", inputs: { color: "color", labelPosition: "labelPosition" }, usesInheritance: true, ngImport: i0, template: "<!-- TODO: add focus binding -->\n<!-- NOTE: using [(ngModel)] affects how material renders the component and makes it harder to test so we're using [checked] and (change) -->\n<mat-checkbox\n [checked]=\"componentValue$.value\"\n (change)=\"select($event)\"\n [color]=\"color\"\n [labelPosition]=\"labelPosition\"\n [disabled]=\"!isEnabled()\"\n>{{ label }}\n</mat-checkbox>\n<ng-container *ngIf=\"!dense\">\n <mat-hint *ngIf=\"showHint\">{{ hint }}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{ firstError }}</mat-error>\n</ng-container>\n", styles: [":host{display:inline-flex;flex-direction:column;padding:10px 0 0}:host.dense{padding:4px 0 2px}mat-hint,mat-error{margin-top:4px;margin-left:24px;font-size:12px;font-weight:400;line-height:13.5px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i3$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }] });
|
|
2089
2140
|
}
|
|
2090
2141
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CheckboxInputComponent, decorators: [{
|
|
2091
2142
|
type: Component,
|
|
2092
|
-
args: [{ selector: 'aup-checkbox-input', template: "<!-- TODO: add focus binding -->\n<mat-checkbox\n [
|
|
2143
|
+
args: [{ selector: 'aup-checkbox-input', template: "<!-- TODO: add focus binding -->\n<!-- NOTE: using [(ngModel)] affects how material renders the component and makes it harder to test so we're using [checked] and (change) -->\n<mat-checkbox\n [checked]=\"componentValue$.value\"\n (change)=\"select($event)\"\n [color]=\"color\"\n [labelPosition]=\"labelPosition\"\n [disabled]=\"!isEnabled()\"\n>{{ label }}\n</mat-checkbox>\n<ng-container *ngIf=\"!dense\">\n <mat-hint *ngIf=\"showHint\">{{ hint }}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{ firstError }}</mat-error>\n</ng-container>\n", styles: [":host{display:inline-flex;flex-direction:column;padding:10px 0 0}:host.dense{padding:4px 0 2px}mat-hint,mat-error{margin-top:4px;margin-left:24px;font-size:12px;font-weight:400;line-height:13.5px}\n"] }]
|
|
2093
2144
|
}], ctorParameters: function () { return []; }, propDecorators: { color: [{
|
|
2094
2145
|
type: Input
|
|
2095
2146
|
}], labelPosition: [{
|
|
@@ -2128,7 +2179,7 @@ class MultipleSelectInputComponent extends AbstractListInputComponent {
|
|
|
2128
2179
|
const self = this;
|
|
2129
2180
|
this.registerDisposable(new Binding(this.componentList$, this.ids$, {
|
|
2130
2181
|
toLeft(selectedItems, currentLeftValue) {
|
|
2131
|
-
const newValues = selectedItems.map(it => lookup.get(it)).filter(it =>
|
|
2182
|
+
const newValues = selectedItems.map(it => lookup.get(it)).filter(it => !!it);
|
|
2132
2183
|
// if our lookup didn't find anything then we return the previous values so we don't clobber selections when the options go empty
|
|
2133
2184
|
return newValues.length < 1 && selectedItems.length > 0 ? currentLeftValue : newValues;
|
|
2134
2185
|
},
|
|
@@ -2139,7 +2190,7 @@ class MultipleSelectInputComponent extends AbstractListInputComponent {
|
|
|
2139
2190
|
})).writeRight();
|
|
2140
2191
|
}
|
|
2141
2192
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: MultipleSelectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2142
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: MultipleSelectInputComponent, selector: "aup-multiple-select-input", inputs: { options$: "options$", options: "options", optionLabel: "optionLabel", optionLabelFormat: "optionLabelFormat" }, queries: [{ propertyName: "optionTemplateRef", first: true, predicate: ["optionTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n multiple\n [ngModel]=\"componentList$.value\"\n (ngModelChange)=\"selectAll($event)\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngFor=\"let option of options$.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <div>{{placeholder}}</div>\n <div class=\"item\" *ngFor=\"let item of options\">{{optionLabelFormat(item)}}</div>\n</div>\n", styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:30px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4$
|
|
2193
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: MultipleSelectInputComponent, selector: "aup-multiple-select-input", inputs: { options$: "options$", options: "options", optionLabel: "optionLabel", optionLabelFormat: "optionLabelFormat" }, queries: [{ propertyName: "optionTemplateRef", first: true, predicate: ["optionTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n multiple\n [ngModel]=\"componentList$.value\"\n (ngModelChange)=\"selectAll($event)\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngFor=\"let option of options$.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <div>{{placeholder}}</div>\n <div class=\"item\" *ngFor=\"let item of options\">{{optionLabelFormat(item)}}</div>\n</div>\n", styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:30px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4$3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }] });
|
|
2143
2194
|
}
|
|
2144
2195
|
__decorate([
|
|
2145
2196
|
Proxify(),
|
|
@@ -2167,48 +2218,142 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
2167
2218
|
|
|
2168
2219
|
class NumberInputComponent extends AbstractValueInputComponent {
|
|
2169
2220
|
autocomplete;
|
|
2170
|
-
min =
|
|
2171
|
-
|
|
2172
|
-
|
|
2221
|
+
#min$_accessor_storage = proxify((ValueModel));
|
|
2222
|
+
get min$() { return this.#min$_accessor_storage; }
|
|
2223
|
+
set min$(value) { this.#min$_accessor_storage = value; }
|
|
2224
|
+
#min_accessor_storage = Number.MIN_SAFE_INTEGER;
|
|
2225
|
+
get min() { return this.#min_accessor_storage; }
|
|
2226
|
+
set min(value) { this.#min_accessor_storage = value; }
|
|
2227
|
+
#max$_accessor_storage = proxify((ValueModel));
|
|
2228
|
+
get max$() { return this.#max$_accessor_storage; }
|
|
2229
|
+
set max$(value) { this.#max$_accessor_storage = value; }
|
|
2230
|
+
#max_accessor_storage = Number.MAX_SAFE_INTEGER;
|
|
2231
|
+
get max() { return this.#max_accessor_storage; }
|
|
2232
|
+
set max(value) { this.#max_accessor_storage = value; }
|
|
2233
|
+
incrementCommand;
|
|
2234
|
+
decrementCommand;
|
|
2173
2235
|
constructor() {
|
|
2174
2236
|
super();
|
|
2237
|
+
const { chain } = Dsl.disposeWith(this);
|
|
2238
|
+
const normalisedValue$ = chain(this.value$).otherwise(0);
|
|
2239
|
+
this.incrementCommand = Command.create(() => {
|
|
2240
|
+
this.value$.value = normalisedValue$.value + 1;
|
|
2241
|
+
}).enableWhile(chain.numericValue(normalisedValue$).isLessThan(this.max$).and(this.enabled$));
|
|
2242
|
+
this.decrementCommand = Command.create(() => {
|
|
2243
|
+
this.value$.value = normalisedValue$.value - 1;
|
|
2244
|
+
}).enableWhile(chain.numericValue(normalisedValue$).isGreaterThan(this.min$).and(this.enabled$));
|
|
2175
2245
|
}
|
|
2176
2246
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: NumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2177
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: NumberInputComponent, selector: "aup-number-input", inputs: { autocomplete: "autocomplete", min: "min", max
|
|
2247
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: NumberInputComponent, selector: "aup-number-input", inputs: { autocomplete: "autocomplete", min$: "min$", min: "min", max$: "max$", max: "max" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field floatLabel=\"always\">\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\n <input type=\"number\"\n matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [min]=\"min\"\n [max]=\"max\"\n [size]=\"4\">\n <section matIconSuffix>\n <button [pectinCommand]=\"decrementCommand\">-</button>\n <button [pectinCommand]=\"incrementCommand\">+</button>\n </section>\n <mat-hint *ngIf=\"hint && !dense\">{{ hint }}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{ firstError }}</mat-error>\n</mat-form-field>\n", styles: [":host{--width: 56px;--height: 42px;--margin-right: 1px;--border-radius: 3px;--border-color:#d5d5d5;--button-background: #fafafa;--button-background-hover: #efefef}:host input[type=number]{appearance:textfield}:host input[type=number]::-webkit-inner-spin-button,:host input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}:host:focus-within:has(section:not(:focus-within)){--height: 40px;--margin-right: 2px;--border-radius: 2px}:host section[maticonsuffix]{display:flex;flex-direction:row;align-items:stretch;gap:1px;background-color:var(--border-color);border-left:1px solid var(--border-color);width:var(--width);min-width:var(--width);height:var(--height);min-height:var(--height);margin-right:var(--margin-right);border-top-right-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);overflow:hidden}:host button{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:center;font-weight:600;border-style:none;background-color:var(--button-background)}:host button:hover{background-color:var(--button-background-hover)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2$4.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }] });
|
|
2178
2248
|
}
|
|
2249
|
+
__decorate([
|
|
2250
|
+
Proxify(),
|
|
2251
|
+
__metadata("design:type", ValueModel)
|
|
2252
|
+
], NumberInputComponent.prototype, "min$", null);
|
|
2253
|
+
__decorate([
|
|
2254
|
+
StoreInValueModel(),
|
|
2255
|
+
__metadata("design:type", Object)
|
|
2256
|
+
], NumberInputComponent.prototype, "min", null);
|
|
2257
|
+
__decorate([
|
|
2258
|
+
Proxify(),
|
|
2259
|
+
__metadata("design:type", ValueModel)
|
|
2260
|
+
], NumberInputComponent.prototype, "max$", null);
|
|
2261
|
+
__decorate([
|
|
2262
|
+
StoreInValueModel(),
|
|
2263
|
+
__metadata("design:type", Object)
|
|
2264
|
+
], NumberInputComponent.prototype, "max", null);
|
|
2179
2265
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: NumberInputComponent, decorators: [{
|
|
2180
2266
|
type: Component,
|
|
2181
|
-
args: [{ selector: 'aup-number-input', template: "<mat-form-field
|
|
2267
|
+
args: [{ selector: 'aup-number-input', template: "<mat-form-field floatLabel=\"always\">\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\n <input type=\"number\"\n matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [min]=\"min\"\n [max]=\"max\"\n [size]=\"4\">\n <section matIconSuffix>\n <button [pectinCommand]=\"decrementCommand\">-</button>\n <button [pectinCommand]=\"incrementCommand\">+</button>\n </section>\n <mat-hint *ngIf=\"hint && !dense\">{{ hint }}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{ firstError }}</mat-error>\n</mat-form-field>\n", styles: [":host{--width: 56px;--height: 42px;--margin-right: 1px;--border-radius: 3px;--border-color:#d5d5d5;--button-background: #fafafa;--button-background-hover: #efefef}:host input[type=number]{appearance:textfield}:host input[type=number]::-webkit-inner-spin-button,:host input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}:host:focus-within:has(section:not(:focus-within)){--height: 40px;--margin-right: 2px;--border-radius: 2px}:host section[maticonsuffix]{display:flex;flex-direction:row;align-items:stretch;gap:1px;background-color:var(--border-color);border-left:1px solid var(--border-color);width:var(--width);min-width:var(--width);height:var(--height);min-height:var(--height);margin-right:var(--margin-right);border-top-right-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);overflow:hidden}:host button{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:center;font-weight:600;border-style:none;background-color:var(--button-background)}:host button:hover{background-color:var(--button-background-hover)}\n"] }]
|
|
2182
2268
|
}], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
|
|
2183
2269
|
type: Input
|
|
2270
|
+
}], min$: [{
|
|
2271
|
+
type: Input
|
|
2184
2272
|
}], min: [{
|
|
2185
2273
|
type: Input
|
|
2186
|
-
}], max
|
|
2274
|
+
}], max$: [{
|
|
2187
2275
|
type: Input
|
|
2188
|
-
}],
|
|
2276
|
+
}], max: [{
|
|
2189
2277
|
type: Input
|
|
2190
2278
|
}] } });
|
|
2191
2279
|
|
|
2192
2280
|
class PasswordInputComponent extends AbstractValueInputComponent {
|
|
2193
2281
|
autocomplete;
|
|
2282
|
+
#enableShowPassword$_accessor_storage = proxify((ValueModel));
|
|
2283
|
+
get enableShowPassword$() { return this.#enableShowPassword$_accessor_storage; }
|
|
2284
|
+
set enableShowPassword$(value) { this.#enableShowPassword$_accessor_storage = value; }
|
|
2285
|
+
#enableShowPassword_accessor_storage = false;
|
|
2286
|
+
get enableShowPassword() { return this.#enableShowPassword_accessor_storage; }
|
|
2287
|
+
set enableShowPassword(value) { this.#enableShowPassword_accessor_storage = value; }
|
|
2288
|
+
showPassword$ = new MutableValueModel(false);
|
|
2289
|
+
toggleShowPasswordCommand;
|
|
2194
2290
|
constructor() {
|
|
2195
2291
|
super();
|
|
2292
|
+
const { chain, valueOf } = Dsl.disposeWith(this);
|
|
2293
|
+
const face$ = chain(this.showPassword$).map(show => {
|
|
2294
|
+
return {
|
|
2295
|
+
icon: () => show ? "mat:visibility_off" : "mat:visibility"
|
|
2296
|
+
};
|
|
2297
|
+
});
|
|
2298
|
+
this.toggleShowPasswordCommand = Command.create(() => {
|
|
2299
|
+
this.showPassword$.value = !this.showPassword$.value;
|
|
2300
|
+
})
|
|
2301
|
+
.withFace(face$)
|
|
2302
|
+
.enableWhile(chain.stringValue(this.componentValue$).isNotBlank());
|
|
2303
|
+
}
|
|
2304
|
+
get fieldType() {
|
|
2305
|
+
return this.showPassword$.value ? "text" : "password";
|
|
2196
2306
|
}
|
|
2197
2307
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PasswordInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2198
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PasswordInputComponent, selector: "aup-password-input", inputs: { autocomplete: "autocomplete" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"
|
|
2308
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PasswordInputComponent, selector: "aup-password-input", inputs: { autocomplete: "autocomplete", enableShowPassword$: "enableShowPassword$", enableShowPassword: "enableShowPassword" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input [type]=\"fieldType\"\n matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <span matSuffix *ngIf=\"enableShowPassword$.value\">\n <aup-command [command]=\"toggleShowPasswordCommand\" data-cy=\"showPassword\"></aup-command>\n </span>\n</mat-form-field>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }, { kind: "component", type: CommandComponent, selector: "aup-command", inputs: ["command", "face$", "face", "busyFace$", "busyFace", "alignFace"] }] });
|
|
2199
2309
|
}
|
|
2310
|
+
__decorate([
|
|
2311
|
+
Proxify(),
|
|
2312
|
+
__metadata("design:type", Object)
|
|
2313
|
+
], PasswordInputComponent.prototype, "enableShowPassword$", null);
|
|
2314
|
+
__decorate([
|
|
2315
|
+
StoreInValueModel(),
|
|
2316
|
+
__metadata("design:type", Object)
|
|
2317
|
+
], PasswordInputComponent.prototype, "enableShowPassword", null);
|
|
2200
2318
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PasswordInputComponent, decorators: [{
|
|
2201
2319
|
type: Component,
|
|
2202
|
-
args: [{ selector: 'aup-password-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"
|
|
2320
|
+
args: [{ selector: 'aup-password-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input [type]=\"fieldType\"\n matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <span matSuffix *ngIf=\"enableShowPassword$.value\">\n <aup-command [command]=\"toggleShowPasswordCommand\" data-cy=\"showPassword\"></aup-command>\n </span>\n</mat-form-field>\n\n" }]
|
|
2321
|
+
}], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
|
|
2322
|
+
type: Input
|
|
2323
|
+
}], enableShowPassword$: [{
|
|
2324
|
+
type: Input
|
|
2325
|
+
}], enableShowPassword: [{
|
|
2326
|
+
type: Input
|
|
2327
|
+
}] } });
|
|
2328
|
+
|
|
2329
|
+
class SearchInputComponent extends AbstractValueInputComponent {
|
|
2330
|
+
autocomplete;
|
|
2331
|
+
clearCommand;
|
|
2332
|
+
constructor() {
|
|
2333
|
+
super();
|
|
2334
|
+
this.dense = true;
|
|
2335
|
+
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
2336
|
+
this.clearCommand = Command.create(() => {
|
|
2337
|
+
this.componentValue$.value = "";
|
|
2338
|
+
});
|
|
2339
|
+
this.clearCommand.disableWhile(chain.stringValue(this.componentValue$).isBlank());
|
|
2340
|
+
}
|
|
2341
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2342
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SearchInputComponent, selector: "aup-search-input", inputs: { autocomplete: "autocomplete" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n\n <input matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <aup-icon matPrefix icon=\"mat:search\"></aup-icon>\n <button mat-icon-button matSuffix [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n", styles: ["button[disabled]{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
|
|
2343
|
+
}
|
|
2344
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SearchInputComponent, decorators: [{
|
|
2345
|
+
type: Component,
|
|
2346
|
+
args: [{ selector: 'aup-search-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\n\n <input matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <aup-icon matPrefix icon=\"mat:search\"></aup-icon>\n <button mat-icon-button matSuffix [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n", styles: ["button[disabled]{visibility:hidden}\n"] }]
|
|
2203
2347
|
}], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
|
|
2204
2348
|
type: Input
|
|
2205
2349
|
}] } });
|
|
2206
2350
|
|
|
2207
2351
|
/**
|
|
2208
2352
|
* Using templates:
|
|
2209
|
-
* <aup-select-input [
|
|
2353
|
+
* <aup-select-input [value$]="myModel" [options]="myOptions">
|
|
2210
2354
|
* <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
|
|
2211
|
-
* <ng-template #
|
|
2355
|
+
* <ng-template #selectedOptionTemplate let-option>{{option.thePropertyYouWant}} note, not used for nils (the placeholder is used)</ng-template>
|
|
2356
|
+
* <ng-template #nilOptionTemplate>Uses the placeholder by default but you can customise it</ng-template>
|
|
2212
2357
|
* </aup-select_input>
|
|
2213
2358
|
*/
|
|
2214
2359
|
class SelectInputComponent extends AbstractValueInputComponent {
|
|
@@ -2233,7 +2378,7 @@ class SelectInputComponent extends AbstractValueInputComponent {
|
|
|
2233
2378
|
super();
|
|
2234
2379
|
const { chain } = Dsl.disposeWith(this);
|
|
2235
2380
|
this.cookedOptions$ = chain(this.options$)
|
|
2236
|
-
.
|
|
2381
|
+
.mapAll(options => {
|
|
2237
2382
|
return options.length < 1 && !isNil(this.componentValue$.value) ? [this.componentValue$.value] : options;
|
|
2238
2383
|
}, {
|
|
2239
2384
|
dependsOn: this.componentValue$
|
|
@@ -2272,21 +2417,21 @@ class SelectInputComponent extends AbstractValueInputComponent {
|
|
|
2272
2417
|
id: this.delegatedIdentityOf(value)
|
|
2273
2418
|
});
|
|
2274
2419
|
let lastIdSnapshot = snapshotValueAndId(this.componentValue$.value);
|
|
2275
|
-
console.log(lastIdSnapshot)
|
|
2420
|
+
// console.log(lastIdSnapshot)
|
|
2276
2421
|
before(this.options$).changes(() => {
|
|
2277
2422
|
lastIdSnapshot = snapshotValueAndId(this.componentValue$.value);
|
|
2278
|
-
console.log(lastIdSnapshot)
|
|
2423
|
+
// console.log(lastIdSnapshot)
|
|
2279
2424
|
});
|
|
2280
2425
|
when(this.options$).changes((is, was) => {
|
|
2281
2426
|
const newIdSnapshot = snapshotValueAndId(lastIdSnapshot.value);
|
|
2282
|
-
console.log(lastIdSnapshot, newIdSnapshot)
|
|
2427
|
+
// console.log(lastIdSnapshot, newIdSnapshot)
|
|
2283
2428
|
if (newIdSnapshot !== lastIdSnapshot.id) {
|
|
2284
2429
|
this.id$.value = this.delegatedIdentityOf(this.componentValue$.value);
|
|
2285
2430
|
}
|
|
2286
2431
|
});
|
|
2287
2432
|
}
|
|
2288
2433
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2289
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SelectInputComponent, selector: "aup-select-input", inputs: { options$: "options$", options: "options", optionLabel: "optionLabel", allowNil: "allowNil", optionLabelFormat: "optionLabelFormat" }, queries: [{ propertyName: "selectedOptionTemplateRef", first: true, predicate: ["selectedOptionTemplate"], descendants: true }, { propertyName: "optionTemplateRef", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "nilOptionTemplateRef", first: true, predicate: ["nilOptionTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [ngModel]=\"componentValue$.value\"\n (ngModelChange)=\"select($event)\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n\n <!--\n TODO: dave has a scenario where the selected item isn't rendering that I can't reproduce so we explicity render it..\n It typically happens because the ngModel value isn't the one contained in the list - this means our source model\n identifyOf function has changed and our id$/lookup$/componentValue$ are out of sync.\n We get around this for now by explicity rendering the component value.\n Please Note: I haven't been able to reproduce this\n -->\n <mat-select-trigger *ngIf=\"!selectedOptionTemplateRef\">\n {{optionLabelFormat(componentValue$.value)}}\n </mat-select-trigger>\n\n <mat-select-trigger *ngIf=\"selectedOptionTemplateRef\">\n <ng-container [ngTemplateOutlet]=\"selectedOptionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: componentValue$.value}\"></ng-container>\n </mat-select-trigger>\n\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of cookedOptions$.value; trackBy: trackByIdentity;let i = index\"\n [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <div class=\"item\" *ngFor=\"let item of cookedOptions$.value\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(item)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: 0 }\"\n >\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:0}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4$
|
|
2434
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SelectInputComponent, selector: "aup-select-input", inputs: { options$: "options$", options: "options", optionLabel: "optionLabel", allowNil: "allowNil", optionLabelFormat: "optionLabelFormat" }, queries: [{ propertyName: "selectedOptionTemplateRef", first: true, predicate: ["selectedOptionTemplate"], descendants: true }, { propertyName: "optionTemplateRef", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "nilOptionTemplateRef", first: true, predicate: ["nilOptionTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [ngModel]=\"componentValue$.value\"\n (ngModelChange)=\"select($event)\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n\n <!--\n TODO: dave has a scenario where the selected item isn't rendering that I can't reproduce so we explicity render it..\n It typically happens because the ngModel value isn't the one contained in the list - this means our source model\n identifyOf function has changed and our id$/lookup$/componentValue$ are out of sync.\n We get around this for now by explicity rendering the component value.\n Please Note: I haven't been able to reproduce this\n -->\n <mat-select-trigger *ngIf=\"!selectedOptionTemplateRef\">\n {{optionLabelFormat(componentValue$.value)}}\n </mat-select-trigger>\n\n <mat-select-trigger *ngIf=\"selectedOptionTemplateRef\">\n <ng-container [ngTemplateOutlet]=\"selectedOptionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: componentValue$.value}\"></ng-container>\n </mat-select-trigger>\n\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of cookedOptions$.value; trackBy: trackByIdentity;let i = index\"\n [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n <ng-content select=\"[select-option-footer]\"></ng-content>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <div class=\"item\" *ngFor=\"let item of cookedOptions$.value\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(item)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: 0 }\"\n >\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:0}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4$3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i4$3.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }] });
|
|
2290
2435
|
}
|
|
2291
2436
|
__decorate([
|
|
2292
2437
|
Proxify(),
|
|
@@ -2298,7 +2443,7 @@ __decorate([
|
|
|
2298
2443
|
], SelectInputComponent.prototype, "options", null);
|
|
2299
2444
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectInputComponent, decorators: [{
|
|
2300
2445
|
type: Component,
|
|
2301
|
-
args: [{ selector: 'aup-select-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [ngModel]=\"componentValue$.value\"\n (ngModelChange)=\"select($event)\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n\n <!--\n TODO: dave has a scenario where the selected item isn't rendering that I can't reproduce so we explicity render it..\n It typically happens because the ngModel value isn't the one contained in the list - this means our source model\n identifyOf function has changed and our id$/lookup$/componentValue$ are out of sync.\n We get around this for now by explicity rendering the component value.\n Please Note: I haven't been able to reproduce this\n -->\n <mat-select-trigger *ngIf=\"!selectedOptionTemplateRef\">\n {{optionLabelFormat(componentValue$.value)}}\n </mat-select-trigger>\n\n <mat-select-trigger *ngIf=\"selectedOptionTemplateRef\">\n <ng-container [ngTemplateOutlet]=\"selectedOptionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: componentValue$.value}\"></ng-container>\n </mat-select-trigger>\n\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of cookedOptions$.value; trackBy: trackByIdentity;let i = index\"\n [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <div class=\"item\" *ngFor=\"let item of cookedOptions$.value\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(item)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: 0 }\"\n >\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:0}\n"] }]
|
|
2446
|
+
args: [{ selector: 'aup-select-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [ngModel]=\"componentValue$.value\"\n (ngModelChange)=\"select($event)\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n\n <!--\n TODO: dave has a scenario where the selected item isn't rendering that I can't reproduce so we explicity render it..\n It typically happens because the ngModel value isn't the one contained in the list - this means our source model\n identifyOf function has changed and our id$/lookup$/componentValue$ are out of sync.\n We get around this for now by explicity rendering the component value.\n Please Note: I haven't been able to reproduce this\n -->\n <mat-select-trigger *ngIf=\"!selectedOptionTemplateRef\">\n {{optionLabelFormat(componentValue$.value)}}\n </mat-select-trigger>\n\n <mat-select-trigger *ngIf=\"selectedOptionTemplateRef\">\n <ng-container [ngTemplateOutlet]=\"selectedOptionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: componentValue$.value}\"></ng-container>\n </mat-select-trigger>\n\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of cookedOptions$.value; trackBy: trackByIdentity;let i = index\"\n [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n <ng-content select=\"[select-option-footer]\"></ng-content>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <div class=\"item\" *ngFor=\"let item of cookedOptions$.value\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(item)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: 0 }\"\n >\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{display:block;height:0;max-height:0;width:auto;visibility:hidden;overflow:hidden;padding-right:35px}.width-strut mat-label{font-size:75%}.width-strut>.item{font-size:16px;padding-left:0}\n"] }]
|
|
2302
2447
|
}], ctorParameters: function () { return []; }, propDecorators: { options$: [{
|
|
2303
2448
|
type: Input
|
|
2304
2449
|
}], options: [{
|
|
@@ -2329,17 +2474,24 @@ class StringInputComponent extends AbstractValueInputComponent {
|
|
|
2329
2474
|
get enableClear() { return this.#enableClear_accessor_storage; }
|
|
2330
2475
|
set enableClear(value) { this.#enableClear_accessor_storage = value; }
|
|
2331
2476
|
iconPrefix;
|
|
2477
|
+
#suffixCommand_accessor_storage = proxify(Command);
|
|
2478
|
+
get suffixCommand() { return this.#suffixCommand_accessor_storage; }
|
|
2479
|
+
set suffixCommand(value) { this.#suffixCommand_accessor_storage = value; }
|
|
2332
2480
|
clearCommand;
|
|
2333
2481
|
constructor() {
|
|
2334
2482
|
super();
|
|
2335
2483
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
2336
2484
|
this.clearCommand = Command.create(() => {
|
|
2337
2485
|
this.componentValue$.value = "";
|
|
2338
|
-
})
|
|
2339
|
-
|
|
2486
|
+
})
|
|
2487
|
+
.withFace({ icon: () => "mat:clear" })
|
|
2488
|
+
.enableWhile(chain.stringValue(this.componentValue$).isNotBlank());
|
|
2489
|
+
}
|
|
2490
|
+
get hasSuffixCommand() {
|
|
2491
|
+
return Proxify.hasTarget(this.suffixCommand);
|
|
2340
2492
|
}
|
|
2341
2493
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: StringInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2342
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: StringInputComponent, selector: "aup-string-input", inputs: { autocomplete: "autocomplete", enableClear$: "enableClear$", enableClear: "enableClear", iconPrefix: "iconPrefix" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <aup-icon *ngIf=\"iconPrefix\" matPrefix [icon]=\"iconPrefix\"></aup-icon>\n <
|
|
2494
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: StringInputComponent, selector: "aup-string-input", inputs: { autocomplete: "autocomplete", enableClear$: "enableClear$", enableClear: "enableClear", iconPrefix: "iconPrefix", suffixCommand: "suffixCommand" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <aup-icon *ngIf=\"iconPrefix\" matPrefix [icon]=\"iconPrefix\"></aup-icon>\n <span matSuffix>\n <aup-command *ngIf=\"enableClear\" [command]=\"clearCommand\" data-cy=\"clearCommand\"></aup-command>\n <aup-command *ngIf=\"hasSuffixCommand\" [command]=\"suffixCommand\" data-cy=\"suffixCommand\"></aup-command>\n </span>\n</mat-form-field>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4$2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }, { kind: "component", type: IconComponent, selector: "aup-icon", inputs: ["icon"] }, { kind: "component", type: CommandComponent, selector: "aup-command", inputs: ["command", "face$", "face", "busyFace$", "busyFace", "alignFace"] }] });
|
|
2343
2495
|
}
|
|
2344
2496
|
__decorate([
|
|
2345
2497
|
Proxify(),
|
|
@@ -2349,9 +2501,13 @@ __decorate([
|
|
|
2349
2501
|
StoreInValueModel(),
|
|
2350
2502
|
__metadata("design:type", Object)
|
|
2351
2503
|
], StringInputComponent.prototype, "enableClear", null);
|
|
2504
|
+
__decorate([
|
|
2505
|
+
Proxify(),
|
|
2506
|
+
__metadata("design:type", Command)
|
|
2507
|
+
], StringInputComponent.prototype, "suffixCommand", null);
|
|
2352
2508
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: StringInputComponent, decorators: [{
|
|
2353
2509
|
type: Component,
|
|
2354
|
-
args: [{ selector: 'aup-string-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <aup-icon *ngIf=\"iconPrefix\" matPrefix [icon]=\"iconPrefix\"></aup-icon>\n <
|
|
2510
|
+
args: [{ selector: 'aup-string-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <aup-icon *ngIf=\"iconPrefix\" matPrefix [icon]=\"iconPrefix\"></aup-icon>\n <span matSuffix>\n <aup-command *ngIf=\"enableClear\" [command]=\"clearCommand\" data-cy=\"clearCommand\"></aup-command>\n <aup-command *ngIf=\"hasSuffixCommand\" [command]=\"suffixCommand\" data-cy=\"suffixCommand\"></aup-command>\n </span>\n</mat-form-field>\n\n" }]
|
|
2355
2511
|
}], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
|
|
2356
2512
|
type: Input
|
|
2357
2513
|
}], enableClear$: [{
|
|
@@ -2360,6 +2516,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
2360
2516
|
type: Input
|
|
2361
2517
|
}], iconPrefix: [{
|
|
2362
2518
|
type: Input
|
|
2519
|
+
}], suffixCommand: [{
|
|
2520
|
+
type: Input
|
|
2363
2521
|
}] } });
|
|
2364
2522
|
|
|
2365
2523
|
class TextInputComponent extends AbstractValueInputComponent {
|
|
@@ -2547,7 +2705,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
2547
2705
|
* </aup-switch-case>
|
|
2548
2706
|
*/
|
|
2549
2707
|
class SwitchCaseComponent extends DisposableComponent {
|
|
2550
|
-
cdr;
|
|
2551
2708
|
#switch$_accessor_storage = proxify((ValueModel));
|
|
2552
2709
|
get switch$() { return this.#switch$_accessor_storage; }
|
|
2553
2710
|
set switch$(value) { this.#switch$_accessor_storage = value; }
|
|
@@ -2556,9 +2713,8 @@ class SwitchCaseComponent extends DisposableComponent {
|
|
|
2556
2713
|
set switch(value) { this.#switch_accessor_storage = value; }
|
|
2557
2714
|
switchCaseOptions;
|
|
2558
2715
|
selectedIndex = 0;
|
|
2559
|
-
constructor(
|
|
2716
|
+
constructor() {
|
|
2560
2717
|
super();
|
|
2561
|
-
this.cdr = cdr;
|
|
2562
2718
|
}
|
|
2563
2719
|
ngAfterContentInit() {
|
|
2564
2720
|
const subscription = this.switchCaseOptions.changes.subscribe(change => this.updateSelection());
|
|
@@ -2595,8 +2751,8 @@ class SwitchCaseComponent extends DisposableComponent {
|
|
|
2595
2751
|
this.selectedIndex = -1;
|
|
2596
2752
|
}
|
|
2597
2753
|
}
|
|
2598
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SwitchCaseComponent, deps: [
|
|
2599
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SwitchCaseComponent, selector: "aup-switch-case", inputs: { switch$: "switch$", switch: "switch" }, queries: [{ propertyName: "switchCaseOptions", predicate: SwitchCaseOption }], usesInheritance: true, ngImport: i0, template: "<mat-tab-group class=\"content-wrapper\" no-tab-header full-height-tabs [selectedIndex]=\"selectedIndex\">\n <mat-tab *ngFor=\"let option of switchCaseOptions\">\n <ng-template [ngTemplateOutlet]=\"option.templateRef\"></ng-template>\n </mat-tab>\n</mat-tab-group>\n\n\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}mat-tab-group{flex:1}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$
|
|
2754
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SwitchCaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2755
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SwitchCaseComponent, selector: "aup-switch-case", inputs: { switch$: "switch$", switch: "switch" }, queries: [{ propertyName: "switchCaseOptions", predicate: SwitchCaseOption }], usesInheritance: true, ngImport: i0, template: "<mat-tab-group class=\"content-wrapper\" no-tab-header full-height-tabs [selectedIndex]=\"selectedIndex\">\n <mat-tab *ngFor=\"let option of switchCaseOptions\">\n <ng-template [ngTemplateOutlet]=\"option.templateRef\"></ng-template>\n </mat-tab>\n</mat-tab-group>\n\n\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}mat-tab-group{flex:1}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$2.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i3$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }] });
|
|
2600
2756
|
}
|
|
2601
2757
|
__decorate([
|
|
2602
2758
|
Proxify(),
|
|
@@ -2609,7 +2765,7 @@ __decorate([
|
|
|
2609
2765
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SwitchCaseComponent, decorators: [{
|
|
2610
2766
|
type: Component,
|
|
2611
2767
|
args: [{ selector: 'aup-switch-case', template: "<mat-tab-group class=\"content-wrapper\" no-tab-header full-height-tabs [selectedIndex]=\"selectedIndex\">\n <mat-tab *ngFor=\"let option of switchCaseOptions\">\n <ng-template [ngTemplateOutlet]=\"option.templateRef\"></ng-template>\n </mat-tab>\n</mat-tab-group>\n\n\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}mat-tab-group{flex:1}\n"] }]
|
|
2612
|
-
}], ctorParameters: function () { return [
|
|
2768
|
+
}], ctorParameters: function () { return []; }, propDecorators: { switch$: [{
|
|
2613
2769
|
type: Input
|
|
2614
2770
|
}], switch: [{
|
|
2615
2771
|
type: Input
|
|
@@ -2619,6 +2775,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
2619
2775
|
}] } });
|
|
2620
2776
|
|
|
2621
2777
|
const HEADER_CELL_RENDERER_PORTAL = Symbol('aup-cell-header-renderer-component-ref');
|
|
2778
|
+
const FOOTER_CELL_RENDERER_PORTAL = Symbol('aup-cell-footer-renderer-component-ref');
|
|
2622
2779
|
const CELL_RENDERER_PORTAL = Symbol('aup-cell-renderer-component-ref');
|
|
2623
2780
|
const CELL_EDITOR_PORTAL = Symbol('aup-cell-editor-component-ref');
|
|
2624
2781
|
const PORTAL_RENDERER_COMPONENT = Symbol('aup-cell-renderer-portal-component');
|
|
@@ -2716,6 +2873,23 @@ class TemplateCellRendererPortalRef extends CellRendererPortalRef {
|
|
|
2716
2873
|
return new TemplatePortal(this.templateRef, this.viewContainer, { ...(data), $implicit: data.row });
|
|
2717
2874
|
}
|
|
2718
2875
|
}
|
|
2876
|
+
class CellFooterPortalRef extends CellPortalRef {
|
|
2877
|
+
componentType;
|
|
2878
|
+
initialiseHeader;
|
|
2879
|
+
constructor(componentType, initialiseHeader) {
|
|
2880
|
+
super();
|
|
2881
|
+
this.componentType = componentType;
|
|
2882
|
+
this.initialiseHeader = initialiseHeader;
|
|
2883
|
+
}
|
|
2884
|
+
initialiseHost(host, columnModel) {
|
|
2885
|
+
assert$1.isTruthy(host);
|
|
2886
|
+
host[HEADER_CELL_RENDERER_PORTAL] = new ComponentPortal(this.componentType);
|
|
2887
|
+
}
|
|
2888
|
+
// @Trace()
|
|
2889
|
+
onPortalAttached(host, portalComponent) {
|
|
2890
|
+
this.initialiseHeader(portalComponent, host.column);
|
|
2891
|
+
}
|
|
2892
|
+
}
|
|
2719
2893
|
|
|
2720
2894
|
class ColumnTextSearchFormatter {
|
|
2721
2895
|
}
|
|
@@ -2806,6 +2980,7 @@ class ColumnTextSearchWrapper extends ColumnTextSearchFormatter.Delegate {
|
|
|
2806
2980
|
}
|
|
2807
2981
|
class ColumnModel extends GarbageCollector {
|
|
2808
2982
|
columnId;
|
|
2983
|
+
order;
|
|
2809
2984
|
textPropertiesProvider;
|
|
2810
2985
|
_columnTextProperties;
|
|
2811
2986
|
_columnHeaderPortalRef;
|
|
@@ -2819,9 +2994,10 @@ class ColumnModel extends GarbageCollector {
|
|
|
2819
2994
|
dasherisedColumnId;
|
|
2820
2995
|
textSearchDelegate = new ColumnTextSearchWrapper();
|
|
2821
2996
|
visible$;
|
|
2822
|
-
constructor(columnId, textPropertiesProvider) {
|
|
2997
|
+
constructor(columnId, order, textPropertiesProvider) {
|
|
2823
2998
|
super();
|
|
2824
2999
|
this.columnId = columnId;
|
|
3000
|
+
this.order = order;
|
|
2825
3001
|
this.textPropertiesProvider = textPropertiesProvider;
|
|
2826
3002
|
const { valueOf } = Dsl.disposeWith(this);
|
|
2827
3003
|
this.installHeaderRenderer();
|
|
@@ -2866,6 +3042,14 @@ class ColumnModel extends GarbageCollector {
|
|
|
2866
3042
|
this._columnTextProperties = columnTextProperties;
|
|
2867
3043
|
return this;
|
|
2868
3044
|
}
|
|
3045
|
+
positionAfter(column) {
|
|
3046
|
+
this.order.position(this, { after: column });
|
|
3047
|
+
return this;
|
|
3048
|
+
}
|
|
3049
|
+
positionBefore(column) {
|
|
3050
|
+
this.order.position(this, { before: column });
|
|
3051
|
+
return this;
|
|
3052
|
+
}
|
|
2869
3053
|
getSearchTextFor(row) {
|
|
2870
3054
|
return this.textSearchDelegate.format(row);
|
|
2871
3055
|
}
|
|
@@ -2967,8 +3151,8 @@ __decorate([
|
|
|
2967
3151
|
|
|
2968
3152
|
class CustomTemplateColumnModel extends ColumnModel {
|
|
2969
3153
|
config = new TemplateCellRendererPortalRef();
|
|
2970
|
-
constructor(columnId, defaults) {
|
|
2971
|
-
super(columnId, defaults);
|
|
3154
|
+
constructor(columnId, order, defaults) {
|
|
3155
|
+
super(columnId, order, defaults);
|
|
2972
3156
|
this.configureCellRenderer(this.config);
|
|
2973
3157
|
}
|
|
2974
3158
|
setTemplate(templateRef, viewContainer, fillCell, padChild) {
|
|
@@ -3046,12 +3230,17 @@ class AbstractTableComponent extends DisposableComponent {
|
|
|
3046
3230
|
#showHeader_accessor_storage = true;
|
|
3047
3231
|
get showHeader() { return this.#showHeader_accessor_storage; }
|
|
3048
3232
|
set showHeader(value) { this.#showHeader_accessor_storage = value; }
|
|
3233
|
+
#enableScrolling$_accessor_storage = proxify((ValueModel));
|
|
3049
3234
|
/**
|
|
3050
3235
|
* Set to true to enable scrolling. Once enabled the table will have 0 implicit height. You will either
|
|
3051
3236
|
* need to set it explicitly e.g. height: 400px; or by using flex or grid layout to make it fill it's
|
|
3052
3237
|
* containment area.
|
|
3053
3238
|
*/
|
|
3054
|
-
enableScrolling
|
|
3239
|
+
get enableScrolling$() { return this.#enableScrolling$_accessor_storage; }
|
|
3240
|
+
set enableScrolling$(value) { this.#enableScrolling$_accessor_storage = value; }
|
|
3241
|
+
#enableScrolling_accessor_storage = false;
|
|
3242
|
+
get enableScrolling() { return this.#enableScrolling_accessor_storage; }
|
|
3243
|
+
set enableScrolling(value) { this.#enableScrolling_accessor_storage = value; }
|
|
3055
3244
|
columns;
|
|
3056
3245
|
columnIds;
|
|
3057
3246
|
columnsById;
|
|
@@ -3070,7 +3259,6 @@ class AbstractTableComponent extends DisposableComponent {
|
|
|
3070
3259
|
super();
|
|
3071
3260
|
this.injector = injector;
|
|
3072
3261
|
const { chain, when } = Dsl.disposeWith(this);
|
|
3073
|
-
this._visibleRows$.setDelegate(this._dataSource$);
|
|
3074
3262
|
when(chain(this._dataSource$).first()).becomesTruthy(it => {
|
|
3075
3263
|
if (it === this.identityOf(it)) {
|
|
3076
3264
|
console.warn("Table model identity function is using reference equality. This can cause lots of table re-rendering", {
|
|
@@ -3089,7 +3277,7 @@ class AbstractTableComponent extends DisposableComponent {
|
|
|
3089
3277
|
if (!model) {
|
|
3090
3278
|
lang$1.illegalState("aup-table tableModel is nil");
|
|
3091
3279
|
}
|
|
3092
|
-
this.columnsById = chain(model.columns).indexBy('columnId');
|
|
3280
|
+
this.columnsById = chain(model.columns$).indexBy('columnId');
|
|
3093
3281
|
this._dataSource$.setDelegate(model.dataSource$);
|
|
3094
3282
|
model.initialise(this.injector, (row) => this.identityOf(row));
|
|
3095
3283
|
}
|
|
@@ -3106,7 +3294,7 @@ class AbstractTableComponent extends DisposableComponent {
|
|
|
3106
3294
|
}
|
|
3107
3295
|
}
|
|
3108
3296
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractTableComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
3109
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractTableComponent, selector: "aup-abstract-table", inputs: { showHeader$: "showHeader$", showHeader: "showHeader", enableScrolling: "enableScrolling" }, host: { properties: { "class": "this.baseCssClass" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
3297
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractTableComponent, selector: "aup-abstract-table", inputs: { showHeader$: "showHeader$", showHeader: "showHeader", enableScrolling$: "enableScrolling$", enableScrolling: "enableScrolling" }, host: { properties: { "class": "this.baseCssClass" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
3110
3298
|
}
|
|
3111
3299
|
__decorate([
|
|
3112
3300
|
Proxify(),
|
|
@@ -3116,6 +3304,14 @@ __decorate([
|
|
|
3116
3304
|
StoreInValueModel(),
|
|
3117
3305
|
__metadata("design:type", Object)
|
|
3118
3306
|
], AbstractTableComponent.prototype, "showHeader", null);
|
|
3307
|
+
__decorate([
|
|
3308
|
+
Proxify(),
|
|
3309
|
+
__metadata("design:type", ValueModel)
|
|
3310
|
+
], AbstractTableComponent.prototype, "enableScrolling$", null);
|
|
3311
|
+
__decorate([
|
|
3312
|
+
StoreInValueModel(),
|
|
3313
|
+
__metadata("design:type", Boolean)
|
|
3314
|
+
], AbstractTableComponent.prototype, "enableScrolling", null);
|
|
3119
3315
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractTableComponent, decorators: [{
|
|
3120
3316
|
type: Component,
|
|
3121
3317
|
args: [{
|
|
@@ -3126,6 +3322,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
3126
3322
|
type: Input
|
|
3127
3323
|
}], showHeader: [{
|
|
3128
3324
|
type: Input
|
|
3325
|
+
}], enableScrolling$: [{
|
|
3326
|
+
type: Input
|
|
3129
3327
|
}], enableScrolling: [{
|
|
3130
3328
|
type: Input
|
|
3131
3329
|
}], baseCssClass: [{
|
|
@@ -3186,6 +3384,8 @@ class EditSession extends GarbageCollector {
|
|
|
3186
3384
|
// console.warn()
|
|
3187
3385
|
// }
|
|
3188
3386
|
this._liveRowValue$.value = produce(this._liveRowValue$.value, draft => {
|
|
3387
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3388
|
+
// @ts-ignore
|
|
3189
3389
|
this.form.writeDirtyStateTo(draft);
|
|
3190
3390
|
});
|
|
3191
3391
|
});
|
|
@@ -3288,11 +3488,11 @@ class DefaultCellRendererComponent {
|
|
|
3288
3488
|
return this._value;
|
|
3289
3489
|
}
|
|
3290
3490
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DefaultCellRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3291
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: DefaultCellRendererComponent, selector: "aup-default-cell-renderer", inputs: { value: "value" }, ngImport: i0, template: "<span [innerHTML]=\"value| aupHighlight\"></span>\n", styles: [""], dependencies: [{ kind: "pipe", type: HighlightPipe, name: "aupHighlight" }] });
|
|
3491
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: DefaultCellRendererComponent, selector: "aup-default-cell-renderer", inputs: { value: "value" }, ngImport: i0, template: "<span [innerHTML]=\"value?.toString()| aupHighlight\"></span>\n", styles: [""], dependencies: [{ kind: "pipe", type: HighlightPipe, name: "aupHighlight" }] });
|
|
3292
3492
|
}
|
|
3293
3493
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DefaultCellRendererComponent, decorators: [{
|
|
3294
3494
|
type: Component,
|
|
3295
|
-
args: [{ selector: "aup-default-cell-renderer", template: "<span [innerHTML]=\"value| aupHighlight\"></span>\n" }]
|
|
3495
|
+
args: [{ selector: "aup-default-cell-renderer", template: "<span [innerHTML]=\"value?.toString()| aupHighlight\"></span>\n" }]
|
|
3296
3496
|
}], propDecorators: { value: [{
|
|
3297
3497
|
type: Input
|
|
3298
3498
|
}] } });
|
|
@@ -3308,7 +3508,8 @@ class SelectionHeaderCellComponent extends DisposableComponent {
|
|
|
3308
3508
|
super();
|
|
3309
3509
|
this.selectCommand = Command.create(() => {
|
|
3310
3510
|
this.selectionModel.toggleAllCommand.execute();
|
|
3311
|
-
})
|
|
3511
|
+
}).visibleWhile(this.selectionModel.toggleAllCommand.visible$)
|
|
3512
|
+
.enableWhile(this.selectionModel.toggleAllCommand.enabled$);
|
|
3312
3513
|
}
|
|
3313
3514
|
isSelected() {
|
|
3314
3515
|
return this.ifMultiSelectionModel(m => m.allSelected$.value, false);
|
|
@@ -3336,7 +3537,7 @@ class SelectionHeaderCellComponent extends DisposableComponent {
|
|
|
3336
3537
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectionHeaderCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3337
3538
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SelectionHeaderCellComponent, selector: "aup-selection-header-cell", providers: [
|
|
3338
3539
|
{ provide: MAT_CHECKBOX_DEFAULT_OPTIONS, useValue: { clickAction: 'noop' } }
|
|
3339
|
-
], usesInheritance: true, ngImport: i0, template: "<mat-checkbox *ngIf=\"isVisible()\"\n (click)=\"handleClick($event)\"\n [checked]=\"isSelected()\"\n [indeterminate]=\"this.isIntermediate()\"\n [color]=\"color\"\n></mat-checkbox>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type:
|
|
3540
|
+
], usesInheritance: true, ngImport: i0, template: "<mat-checkbox *ngIf=\"isVisible()\"\n (click)=\"handleClick($event)\"\n [checked]=\"isSelected()\"\n [indeterminate]=\"this.isIntermediate()\"\n [color]=\"color\"\n></mat-checkbox>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }] });
|
|
3340
3541
|
}
|
|
3341
3542
|
__decorate([
|
|
3342
3543
|
Proxify(),
|
|
@@ -3369,7 +3570,7 @@ class SelectionCellComponent extends DisposableComponent {
|
|
|
3369
3570
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectionCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3370
3571
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SelectionCellComponent, selector: "aup-selection-cell", inputs: { row: "row" }, providers: [
|
|
3371
3572
|
{ provide: MAT_CHECKBOX_DEFAULT_OPTIONS, useValue: { clickAction: 'noop' } }
|
|
3372
|
-
], usesInheritance: true, ngImport: i0, template: "<mat-checkbox (click)=\"select($event)\" [checked]=\"isSelected()\" [color]=\"color\"></mat-checkbox>\n", styles: [""], dependencies: [{ kind: "component", type:
|
|
3573
|
+
], usesInheritance: true, ngImport: i0, template: "<mat-checkbox (click)=\"select($event)\" [checked]=\"isSelected()\" [color]=\"color\"></mat-checkbox>\n", styles: [""], dependencies: [{ kind: "component", type: i3$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }] });
|
|
3373
3574
|
}
|
|
3374
3575
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectionCellComponent, decorators: [{
|
|
3375
3576
|
type: Component,
|
|
@@ -3430,25 +3631,14 @@ class Bounds extends Dimension {
|
|
|
3430
3631
|
})(Bounds || (Bounds = {}));
|
|
3431
3632
|
|
|
3432
3633
|
class ResizeAwareComponent extends DisposableComponent {
|
|
3433
|
-
elementRef;
|
|
3434
|
-
ngZone;
|
|
3435
|
-
|
|
3436
|
-
constructor(elementRef, ngZone) {
|
|
3437
|
-
super();
|
|
3438
|
-
this.elementRef = elementRef;
|
|
3439
|
-
this.ngZone = ngZone;
|
|
3440
|
-
}
|
|
3634
|
+
elementRef = this.inject(ElementRef);
|
|
3635
|
+
ngZone = this.inject(NgZone);
|
|
3636
|
+
boundsTracker = new ResizeAwareComponent.ResizeTracker(this.elementRef, this.ngZone);
|
|
3441
3637
|
ngAfterViewInit() {
|
|
3442
|
-
|
|
3443
|
-
const ro = new ResizeObserver((entries, observer) => {
|
|
3444
|
-
this.ngZone.run(() => this._updateBounds());
|
|
3445
|
-
});
|
|
3446
|
-
ro.observe(element);
|
|
3447
|
-
this.onDispose(() => ro.disconnect());
|
|
3448
|
-
setTimeout(() => this._updateBounds());
|
|
3638
|
+
this.boundsTracker.notifyViewReady();
|
|
3449
3639
|
}
|
|
3450
3640
|
get bounds$() {
|
|
3451
|
-
return this.
|
|
3641
|
+
return this.boundsTracker.bounds$;
|
|
3452
3642
|
}
|
|
3453
3643
|
get nativeElement() {
|
|
3454
3644
|
return this.elementRef.nativeElement;
|
|
@@ -3458,57 +3648,160 @@ class ResizeAwareComponent extends DisposableComponent {
|
|
|
3458
3648
|
return this.bounds.relativePositionOf(point);
|
|
3459
3649
|
}
|
|
3460
3650
|
get bounds() {
|
|
3461
|
-
return this.
|
|
3462
|
-
}
|
|
3463
|
-
_updateBounds() {
|
|
3464
|
-
this._bounds$.value = Bounds.ofElement(this.nativeElement);
|
|
3651
|
+
return this.bounds$.value;
|
|
3465
3652
|
}
|
|
3466
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ResizeAwareComponent, deps:
|
|
3653
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ResizeAwareComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3467
3654
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: ResizeAwareComponent, usesInheritance: true, ngImport: i0 });
|
|
3468
3655
|
}
|
|
3469
3656
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ResizeAwareComponent, decorators: [{
|
|
3470
3657
|
type: Directive
|
|
3471
|
-
}]
|
|
3658
|
+
}] });
|
|
3659
|
+
(function (ResizeAwareComponent) {
|
|
3660
|
+
class ResizeTracker extends GarbageCollector {
|
|
3661
|
+
elementRef;
|
|
3662
|
+
ngZone;
|
|
3663
|
+
_bounds$ = new MutableValueModel(new Bounds(0, 0, 0, 0));
|
|
3664
|
+
width$;
|
|
3665
|
+
height$;
|
|
3666
|
+
top$;
|
|
3667
|
+
left$;
|
|
3668
|
+
bottom$;
|
|
3669
|
+
right$;
|
|
3670
|
+
constructor(elementRef, ngZone) {
|
|
3671
|
+
super();
|
|
3672
|
+
this.elementRef = elementRef;
|
|
3673
|
+
this.ngZone = ngZone;
|
|
3674
|
+
const { chain } = Dsl.disposeWith(this);
|
|
3675
|
+
this.width$ = chain(this.bounds$).pluck("width");
|
|
3676
|
+
this.height$ = chain(this.bounds$).pluck("height");
|
|
3677
|
+
this.top$ = chain(this.bounds$).pluck("top");
|
|
3678
|
+
this.left$ = chain(this.bounds$).pluck("left");
|
|
3679
|
+
this.bottom$ = chain.numericValue(this.top$).add(this.height$);
|
|
3680
|
+
this.right$ = chain.numericValue(this.left$).add(this.width$);
|
|
3681
|
+
}
|
|
3682
|
+
notifyViewReady() {
|
|
3683
|
+
const element = this.elementRef.nativeElement;
|
|
3684
|
+
const ro = new ResizeObserver((entries, observer) => {
|
|
3685
|
+
this.ngZone.run(() => this._updateBounds());
|
|
3686
|
+
});
|
|
3687
|
+
ro.observe(element);
|
|
3688
|
+
this.onDispose(() => ro.disconnect());
|
|
3689
|
+
setTimeout(() => this._updateBounds());
|
|
3690
|
+
}
|
|
3691
|
+
get bounds$() {
|
|
3692
|
+
return this._bounds$.readonly$;
|
|
3693
|
+
}
|
|
3694
|
+
get nativeElement() {
|
|
3695
|
+
return this.elementRef.nativeElement;
|
|
3696
|
+
}
|
|
3697
|
+
// TODO: Make this handle body scroll
|
|
3698
|
+
relativePositionOf(point) {
|
|
3699
|
+
return this.bounds.relativePositionOf(point);
|
|
3700
|
+
}
|
|
3701
|
+
get bounds() {
|
|
3702
|
+
return this._bounds$.value;
|
|
3703
|
+
}
|
|
3704
|
+
_updateBounds() {
|
|
3705
|
+
this._bounds$.value = Bounds.ofElement(this.nativeElement);
|
|
3706
|
+
}
|
|
3707
|
+
}
|
|
3708
|
+
ResizeAwareComponent.ResizeTracker = ResizeTracker;
|
|
3709
|
+
})(ResizeAwareComponent || (ResizeAwareComponent = {}));
|
|
3472
3710
|
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
|
|
3711
|
+
var ColumnOrderManager;
|
|
3712
|
+
(function (ColumnOrderManager) {
|
|
3713
|
+
function processPosition(position, callback) {
|
|
3714
|
+
if (position) {
|
|
3715
|
+
const keys = Object.keys(position);
|
|
3716
|
+
if (keys.includes("before")) {
|
|
3717
|
+
return position["before"] ? callback.before(position["before"]) : callback.first();
|
|
3718
|
+
}
|
|
3719
|
+
else {
|
|
3720
|
+
return position["after"] ? callback.after(position["after"]) : callback.last();
|
|
3721
|
+
}
|
|
3722
|
+
}
|
|
3723
|
+
else {
|
|
3724
|
+
return callback.last();
|
|
3725
|
+
}
|
|
3726
|
+
}
|
|
3727
|
+
ColumnOrderManager.processPosition = processPosition;
|
|
3728
|
+
})(ColumnOrderManager || (ColumnOrderManager = {}));
|
|
3729
|
+
|
|
3730
|
+
class ColumnRef {
|
|
3731
|
+
column;
|
|
3732
|
+
position;
|
|
3733
|
+
constructor(column, position) {
|
|
3734
|
+
this.column = column;
|
|
3735
|
+
this.position = position;
|
|
3736
|
+
}
|
|
3737
|
+
}
|
|
3738
|
+
class ColumnManager extends GarbageCollector {
|
|
3739
|
+
_columnRefs$ = new MutableListModel();
|
|
3740
|
+
orderedColumnRefs$;
|
|
3741
|
+
_columnsById$;
|
|
3742
|
+
allColumns$;
|
|
3743
|
+
columnVisibilities$ = new WatchList();
|
|
3744
|
+
visibleColumns$;
|
|
3476
3745
|
constructor() {
|
|
3477
3746
|
super();
|
|
3478
3747
|
const { chain } = Dsl.disposeWith(this);
|
|
3479
|
-
this.
|
|
3748
|
+
this.orderedColumnRefs$ = chain(this._columnRefs$).orderBy("position", "asc");
|
|
3749
|
+
this.allColumns$ = this.orderedColumnRefs$.pluck("column");
|
|
3750
|
+
this._columnsById$ = chain(this.allColumns$).indexBy('columnId');
|
|
3751
|
+
this.visibleColumns$ = chain(this.allColumns$).select(it => it.visible$.value, {
|
|
3752
|
+
dependsOn: this.columnVisibilities$
|
|
3753
|
+
});
|
|
3480
3754
|
}
|
|
3481
|
-
|
|
3482
|
-
|
|
3755
|
+
position(column, newPosition) {
|
|
3756
|
+
const target = this._columnRefs$.query().findMatching(it => it.column === column);
|
|
3757
|
+
const position = this.computePosition(newPosition);
|
|
3758
|
+
this._columnRefs$.replace(target, { with: new ColumnRef(target.column, position) });
|
|
3483
3759
|
}
|
|
3484
3760
|
getColumn(id) {
|
|
3485
|
-
return this.
|
|
3761
|
+
return this._columnsById$.get(id);
|
|
3486
3762
|
}
|
|
3487
3763
|
hasColumn(id) {
|
|
3488
|
-
return !!this.
|
|
3764
|
+
return !!this._columnsById$.get(id);
|
|
3489
3765
|
}
|
|
3490
3766
|
hasMatchingColumn(row, regex) {
|
|
3491
3767
|
// only search the visible columns
|
|
3492
|
-
return !!this.value.find(c => regex.test(c.getSearchTextFor(row)));
|
|
3768
|
+
return !!this.visibleColumns$.value.find(c => regex.test(c.getSearchTextFor(row)));
|
|
3493
3769
|
}
|
|
3494
|
-
addColumn(column,
|
|
3770
|
+
addColumn(column, position) {
|
|
3495
3771
|
if (this.hasColumn(column.columnId)) {
|
|
3496
3772
|
lang.illegalState(`Column with id=${column.columnId} already exists`);
|
|
3497
3773
|
}
|
|
3498
3774
|
this.registerDisposable(column);
|
|
3499
|
-
this.
|
|
3500
|
-
|
|
3501
|
-
|
|
3502
|
-
|
|
3503
|
-
|
|
3504
|
-
|
|
3775
|
+
this._columnRefs$.push(new ColumnRef(column, this.computePosition(position)));
|
|
3776
|
+
this.columnVisibilities$.add(column.visible$);
|
|
3777
|
+
return column;
|
|
3778
|
+
}
|
|
3779
|
+
computePosition(position) {
|
|
3780
|
+
const q = this.orderedColumnRefs$.query();
|
|
3781
|
+
return ColumnOrderManager.processPosition(position, {
|
|
3782
|
+
before(col) {
|
|
3783
|
+
const index = q.findIndex(ref => ref.column === col);
|
|
3784
|
+
const beforeCol = q.value[index];
|
|
3785
|
+
const afterCol = index - 1 >= 0 ? q.value[index - 1] : undefined;
|
|
3786
|
+
return generateKeyBetween(afterCol?.position, beforeCol.position);
|
|
3787
|
+
},
|
|
3788
|
+
after(col) {
|
|
3789
|
+
const index = q.findIndex(ref => ref.column === col);
|
|
3790
|
+
const afterCol = q.value[index];
|
|
3791
|
+
const beforeCol = index + 1 < q.length ? q.value[index + 1] : undefined;
|
|
3792
|
+
return generateKeyBetween(afterCol.position, beforeCol?.position);
|
|
3793
|
+
},
|
|
3794
|
+
first() {
|
|
3795
|
+
return generateKeyBetween(null, q.first()?.position);
|
|
3796
|
+
},
|
|
3797
|
+
last() {
|
|
3798
|
+
// add it to the end of the list
|
|
3799
|
+
return generateKeyBetween(q.last()?.position, null);
|
|
3505
3800
|
}
|
|
3506
|
-
this.registerDisposable(this.trackSource(column.visible$));
|
|
3507
3801
|
});
|
|
3508
|
-
return column;
|
|
3509
3802
|
}
|
|
3510
3803
|
doComputeValue() {
|
|
3511
|
-
return this.
|
|
3804
|
+
return this.allColumns$.value.filter(c => c.visible$.value);
|
|
3512
3805
|
}
|
|
3513
3806
|
}
|
|
3514
3807
|
|
|
@@ -3542,8 +3835,8 @@ function EnableCellTextSearch(options) {
|
|
|
3542
3835
|
|
|
3543
3836
|
class CustomValueColumnModel extends ColumnModel {
|
|
3544
3837
|
getValue;
|
|
3545
|
-
constructor(columnId, defaults, getValue) {
|
|
3546
|
-
super(columnId, defaults);
|
|
3838
|
+
constructor(columnId, order, defaults, getValue) {
|
|
3839
|
+
super(columnId, order, defaults);
|
|
3547
3840
|
this.getValue = getValue;
|
|
3548
3841
|
this.cellRenderer(DefaultCellRendererComponent);
|
|
3549
3842
|
}
|
|
@@ -3551,17 +3844,17 @@ class CustomValueColumnModel extends ColumnModel {
|
|
|
3551
3844
|
this.configureColumnTextSearch(EnableCellTextSearch.getFormatter(componentType, () => new ColumnTextSearchFormatter.Null()), row => this.getValue(row));
|
|
3552
3845
|
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
3553
3846
|
if (firstTime) {
|
|
3554
|
-
if (isFunction
|
|
3847
|
+
if (isFunction(onComponentInitOrOptions)) {
|
|
3555
3848
|
onComponentInitOrOptions(component);
|
|
3556
3849
|
}
|
|
3557
3850
|
else {
|
|
3558
|
-
if (isFunction
|
|
3851
|
+
if (isFunction(onComponentInitOrOptions?.onComponentInit)) {
|
|
3559
3852
|
onComponentInitOrOptions.onComponentInit(component);
|
|
3560
3853
|
}
|
|
3561
3854
|
}
|
|
3562
3855
|
}
|
|
3563
3856
|
component.value = this.getValue(rowData.row);
|
|
3564
|
-
if (!isFunction
|
|
3857
|
+
if (!isFunction(onComponentInitOrOptions) && isFunction(onComponentInitOrOptions?.onRowUpdate)) {
|
|
3565
3858
|
onComponentInitOrOptions.onRowUpdate(component, rowData.row);
|
|
3566
3859
|
}
|
|
3567
3860
|
}));
|
|
@@ -3573,8 +3866,8 @@ class CustomValueColumnModel extends ColumnModel {
|
|
|
3573
3866
|
}
|
|
3574
3867
|
|
|
3575
3868
|
class EditorControlColumnModel extends ColumnModel {
|
|
3576
|
-
constructor(columnId, saveCommandFactory, defaults) {
|
|
3577
|
-
super(columnId, defaults);
|
|
3869
|
+
constructor(columnId, order, saveCommandFactory, defaults) {
|
|
3870
|
+
super(columnId, order, defaults);
|
|
3578
3871
|
this.cellRenderer(EditRowControlsComponent);
|
|
3579
3872
|
}
|
|
3580
3873
|
cellRenderer(componentType) {
|
|
@@ -3599,8 +3892,8 @@ class ListPropertyColumnModel extends ColumnModel {
|
|
|
3599
3892
|
intermediate.map(v => v?.toString()).join(", ") :
|
|
3600
3893
|
intermediate?.toString();
|
|
3601
3894
|
};
|
|
3602
|
-
constructor(id, property, defaults) {
|
|
3603
|
-
super(id, defaults);
|
|
3895
|
+
constructor(id, order, property, defaults) {
|
|
3896
|
+
super(id, order, defaults);
|
|
3604
3897
|
this.property = property;
|
|
3605
3898
|
this.cellRenderer(DefaultCellRendererComponent);
|
|
3606
3899
|
}
|
|
@@ -3616,7 +3909,7 @@ class ListPropertyColumnModel extends ColumnModel {
|
|
|
3616
3909
|
}
|
|
3617
3910
|
cellEditor(editor, validatorsOrInitialiser, initialiseComponent) {
|
|
3618
3911
|
const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
|
|
3619
|
-
const initialiser = isFunction
|
|
3912
|
+
const initialiser = isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
|
|
3620
3913
|
this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
|
|
3621
3914
|
const formListModel = editSession.form.pluckList(this.property);
|
|
3622
3915
|
if (validators) {
|
|
@@ -3645,8 +3938,8 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
3645
3938
|
_defaultSearchTextFormatter = (value) => {
|
|
3646
3939
|
return (this._userFormat ?? Functions.identity)(value)?.toString();
|
|
3647
3940
|
};
|
|
3648
|
-
constructor(id, property, defaults) {
|
|
3649
|
-
super(id, defaults);
|
|
3941
|
+
constructor(id, order, property, defaults) {
|
|
3942
|
+
super(id, order, defaults);
|
|
3650
3943
|
this.property = property;
|
|
3651
3944
|
this.cellRenderer(DefaultCellRendererComponent);
|
|
3652
3945
|
}
|
|
@@ -3654,11 +3947,11 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
3654
3947
|
this.configureColumnTextSearch(EnableCellTextSearch.getFormatter(componentType, () => ColumnTextSearchFormatter.forFormatter(this._defaultSearchTextFormatter)), row => row[this.property]);
|
|
3655
3948
|
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
3656
3949
|
if (firstTime) {
|
|
3657
|
-
if (isFunction
|
|
3950
|
+
if (isFunction(onComponentInitOrOptions)) {
|
|
3658
3951
|
onComponentInitOrOptions(component);
|
|
3659
3952
|
}
|
|
3660
3953
|
else {
|
|
3661
|
-
if (isFunction
|
|
3954
|
+
if (isFunction(onComponentInitOrOptions?.onComponentInit)) {
|
|
3662
3955
|
onComponentInitOrOptions.onComponentInit(component);
|
|
3663
3956
|
}
|
|
3664
3957
|
}
|
|
@@ -3683,7 +3976,7 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
3683
3976
|
component[ColumnModel.CELL_RENDERER_COMPONENT_ROW_CACHE] = rowData.row;
|
|
3684
3977
|
let disableEditCallback = false;
|
|
3685
3978
|
if (firstTime) {
|
|
3686
|
-
if (isFunction
|
|
3979
|
+
if (isFunction(options?.onComponentInit)) {
|
|
3687
3980
|
options.onComponentInit(component);
|
|
3688
3981
|
}
|
|
3689
3982
|
// install our edit callback
|
|
@@ -3698,7 +3991,7 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
3698
3991
|
disableEditCallback = true;
|
|
3699
3992
|
component.value = rowData.row[this.property];
|
|
3700
3993
|
disableEditCallback = false;
|
|
3701
|
-
if (!isFunction
|
|
3994
|
+
if (!isFunction(options) && isFunction(options?.onRowUpdate)) {
|
|
3702
3995
|
options.onRowUpdate(component, rowData.row);
|
|
3703
3996
|
}
|
|
3704
3997
|
}));
|
|
@@ -3706,7 +3999,7 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
3706
3999
|
}
|
|
3707
4000
|
cellEditor(editor, validatorsOrInitialiser, onComponentInit) {
|
|
3708
4001
|
const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
|
|
3709
|
-
const initialiser = isFunction
|
|
4002
|
+
const initialiser = isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
|
|
3710
4003
|
this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
|
|
3711
4004
|
const formValueModel = editSession.form.pluck(this.property);
|
|
3712
4005
|
if (validators) {
|
|
@@ -3733,8 +4026,8 @@ class SelectionColumnModel extends ColumnModel {
|
|
|
3733
4026
|
selectionModel;
|
|
3734
4027
|
_enableHeaderControls = true;
|
|
3735
4028
|
_color = "accent";
|
|
3736
|
-
constructor(columnId, defaults, selectionModel) {
|
|
3737
|
-
super(columnId, defaults);
|
|
4029
|
+
constructor(columnId, order, defaults, selectionModel) {
|
|
4030
|
+
super(columnId, order, defaults);
|
|
3738
4031
|
this.selectionModel = selectionModel;
|
|
3739
4032
|
const { chain } = Dsl.disposeWith(this);
|
|
3740
4033
|
this._selectRowOnClick(false);
|
|
@@ -3775,6 +4068,42 @@ class SelectionColumnModel extends ColumnModel {
|
|
|
3775
4068
|
}
|
|
3776
4069
|
}
|
|
3777
4070
|
|
|
4071
|
+
let RowClass$1 = class RowClass {
|
|
4072
|
+
className;
|
|
4073
|
+
matches;
|
|
4074
|
+
constructor(className, matches) {
|
|
4075
|
+
this.className = className;
|
|
4076
|
+
this.matches = matches;
|
|
4077
|
+
}
|
|
4078
|
+
};
|
|
4079
|
+
class FooterRowModel {
|
|
4080
|
+
_rowClasses = [];
|
|
4081
|
+
noPadding() {
|
|
4082
|
+
this.addClass("no-padding");
|
|
4083
|
+
}
|
|
4084
|
+
addClass(className, condition) {
|
|
4085
|
+
this._rowClasses.push(new RowClass$1(className, condition ?? (() => true)));
|
|
4086
|
+
}
|
|
4087
|
+
}
|
|
4088
|
+
(function (FooterRowModel) {
|
|
4089
|
+
class Impl extends FooterRowModel {
|
|
4090
|
+
component;
|
|
4091
|
+
onInit;
|
|
4092
|
+
portal;
|
|
4093
|
+
constructor(component, onInit) {
|
|
4094
|
+
super();
|
|
4095
|
+
this.component = component;
|
|
4096
|
+
this.onInit = onInit;
|
|
4097
|
+
this.portal = new ComponentPortal(component);
|
|
4098
|
+
}
|
|
4099
|
+
getActiveRowClasses() {
|
|
4100
|
+
return this._rowClasses.filter(c => c.matches()).map(c => c.className).join(" ");
|
|
4101
|
+
}
|
|
4102
|
+
}
|
|
4103
|
+
FooterRowModel.Impl = Impl;
|
|
4104
|
+
})(FooterRowModel || (FooterRowModel = {}));
|
|
4105
|
+
ProxyRegistry.registerOneTimeBinding(FooterRowModel);
|
|
4106
|
+
|
|
3778
4107
|
class TableMoreMenuComponent extends DisposableComponent {
|
|
3779
4108
|
value$ = new MutableValueModel();
|
|
3780
4109
|
#value_accessor_storage;
|
|
@@ -3784,13 +4113,15 @@ class TableMoreMenuComponent extends DisposableComponent {
|
|
|
3784
4113
|
popupType$ = new MutableValueModel();
|
|
3785
4114
|
popupComponentPortal$;
|
|
3786
4115
|
_visible$ = this.registerDisposable(new DelegatingValueModel());
|
|
4116
|
+
initialiseCallback;
|
|
3787
4117
|
constructor() {
|
|
3788
4118
|
super();
|
|
3789
4119
|
const { chain } = Dsl.disposeWith(this);
|
|
3790
4120
|
this.popupComponentPortal$ = chain(this.popupType$).map(type => new ComponentPortal(type));
|
|
3791
4121
|
}
|
|
3792
|
-
configurePopupComponentType(popupComponentType) {
|
|
4122
|
+
configurePopupComponentType(popupComponentType, configureCallback) {
|
|
3793
4123
|
this.popupType$.value = popupComponentType;
|
|
4124
|
+
this.initialiseCallback = configureCallback;
|
|
3794
4125
|
}
|
|
3795
4126
|
// Stops tree selection when clicking the menu button
|
|
3796
4127
|
preventDefault($event) {
|
|
@@ -3801,12 +4132,15 @@ class TableMoreMenuComponent extends DisposableComponent {
|
|
|
3801
4132
|
const component = $event.instance;
|
|
3802
4133
|
component.initialise(this.value$, Command.create(() => this.matMenuTrigger.closeMenu()));
|
|
3803
4134
|
this._visible$.setDelegate(component.visible$);
|
|
4135
|
+
if (this.initialiseCallback) {
|
|
4136
|
+
this.initialiseCallback(component);
|
|
4137
|
+
}
|
|
3804
4138
|
}
|
|
3805
4139
|
get visible$() {
|
|
3806
4140
|
return this._visible$.readonly$;
|
|
3807
4141
|
}
|
|
3808
4142
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableMoreMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3809
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableMoreMenuComponent, selector: "aup-table-more-menu", host: { listeners: { "click": "preventDefault($event)" } }, viewQueries: [{ propertyName: "matMenuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <ng-template matMenuContent [cdkPortalOutlet]=\"popupComponentPortal$.value\"\n (attached)=\"initialise($event)\"></ng-template>\n</mat-menu>\n\n<button mat-icon-button [matMenuTriggerFor]=\"menu\" data-cy=\"more-menu-trigger\" *ngIf=\"visible$.value\">\n <aup-icon icon=\"mat:more_vert\"></aup-icon>\n</button>\n", styles: [":host{display:inline;text-align:end}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type:
|
|
4143
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableMoreMenuComponent, selector: "aup-table-more-menu", host: { listeners: { "click": "preventDefault($event)" } }, viewQueries: [{ propertyName: "matMenuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <ng-template matMenuContent [cdkPortalOutlet]=\"popupComponentPortal$.value\"\n (attached)=\"initialise($event)\"></ng-template>\n</mat-menu>\n\n<button mat-icon-button [matMenuTriggerFor]=\"menu\" data-cy=\"more-menu-trigger\" *ngIf=\"visible$.value\">\n <aup-icon icon=\"mat:more_vert\"></aup-icon>\n</button>\n", styles: [":host{display:inline;text-align:end}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1$4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i4.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
|
|
3810
4144
|
}
|
|
3811
4145
|
__decorate([
|
|
3812
4146
|
StoreInValueModel(),
|
|
@@ -3835,16 +4169,25 @@ class RowClass {
|
|
|
3835
4169
|
this.matches = matches;
|
|
3836
4170
|
}
|
|
3837
4171
|
}
|
|
4172
|
+
class RowAttribute {
|
|
4173
|
+
attributeName;
|
|
4174
|
+
getValue;
|
|
4175
|
+
constructor(attributeName, getValue) {
|
|
4176
|
+
this.attributeName = attributeName;
|
|
4177
|
+
this.getValue = getValue;
|
|
4178
|
+
}
|
|
4179
|
+
}
|
|
3838
4180
|
class AbstractTableModel extends GarbageCollector {
|
|
3839
4181
|
_dataSource$ = this.registerDisposable(new DelegatingListModel());
|
|
3840
4182
|
_filteredRows$ = this.registerDisposable(new DelegatingListModel());
|
|
3841
4183
|
_visibleRows$ = this.registerDisposable(new DelegatingListModel());
|
|
3842
|
-
|
|
4184
|
+
columnManager = this.registerDisposable(new ColumnManager());
|
|
3843
4185
|
_editorSessions = new MutableListModel();
|
|
3844
4186
|
_rowsBeingEdited$;
|
|
3845
4187
|
saveCommandFactory;
|
|
3846
4188
|
_editorSessionByRowId;
|
|
3847
4189
|
rowClassNamePredicates = [];
|
|
4190
|
+
rowAttributeGenerators = [];
|
|
3848
4191
|
_columnTextPropertiesLookup;
|
|
3849
4192
|
editing$;
|
|
3850
4193
|
firstEditableColumn$;
|
|
@@ -3861,6 +4204,7 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
3861
4204
|
selectedItems$;
|
|
3862
4205
|
leadSelection$;
|
|
3863
4206
|
hasSelection$;
|
|
4207
|
+
footerRowModel;
|
|
3864
4208
|
constructor() {
|
|
3865
4209
|
super();
|
|
3866
4210
|
const { chain } = Dsl.disposeWith(this);
|
|
@@ -3869,15 +4213,15 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
3869
4213
|
});
|
|
3870
4214
|
this._editorSessionByRowId = chain(this._editorSessions).indexBy("rowId");
|
|
3871
4215
|
this.editing$ = chain(this._editorSessions).count().isGreaterThan(0);
|
|
3872
|
-
this.textSearchPredicate$ = chain(this.visibleColumns).
|
|
4216
|
+
this.textSearchPredicate$ = chain(this.visibleColumns$).reduceAll(columns => {
|
|
3873
4217
|
return (row, regex) => {
|
|
3874
4218
|
return (!regex || !!columns.find(c => regex.test(c.getSearchTextFor(row))));
|
|
3875
4219
|
};
|
|
3876
4220
|
});
|
|
3877
|
-
this.firstEditableColumn$ = chain(this.columns).select(c => c.hasEditorPortal()).first();
|
|
3878
|
-
this.firstVisibleColumn$ = chain(this.
|
|
3879
|
-
this.lastVisibleColumn$ = chain(this.
|
|
3880
|
-
this.rowSelectionDisabledOnAllColumns$ = chain(this.
|
|
4221
|
+
this.firstEditableColumn$ = chain(this.columns$).select(c => c.hasEditorPortal()).first();
|
|
4222
|
+
this.firstVisibleColumn$ = chain(this.visibleColumns$).first();
|
|
4223
|
+
this.lastVisibleColumn$ = chain(this.visibleColumns$).last();
|
|
4224
|
+
this.rowSelectionDisabledOnAllColumns$ = chain(this.columnManager.visibleColumns$).select(column => column.isRowSelectionEnabled()).count().equals(0);
|
|
3881
4225
|
this.dataSourceEmpty$ = chain(this.dataSource$).isEmpty();
|
|
3882
4226
|
this.selectedItems$ = this.selectionModelProxy.selectedItems$;
|
|
3883
4227
|
this.leadSelection$ = this.selectionModelProxy.leadSelection$;
|
|
@@ -3901,7 +4245,7 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
3901
4245
|
],
|
|
3902
4246
|
parent: injector
|
|
3903
4247
|
});
|
|
3904
|
-
this.columns
|
|
4248
|
+
this.columns$.value.forEach(c => c.initialise(customInjector));
|
|
3905
4249
|
this.identityOf = identityOf;
|
|
3906
4250
|
}
|
|
3907
4251
|
get dataSource$() {
|
|
@@ -3954,19 +4298,19 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
3954
4298
|
});
|
|
3955
4299
|
});
|
|
3956
4300
|
}
|
|
3957
|
-
get columns() {
|
|
3958
|
-
return this.
|
|
4301
|
+
get columns$() {
|
|
4302
|
+
return this.columnManager.allColumns$;
|
|
3959
4303
|
}
|
|
3960
|
-
get visibleColumns() {
|
|
3961
|
-
return this.
|
|
4304
|
+
get visibleColumns$() {
|
|
4305
|
+
return this.columnManager.visibleColumns$;
|
|
3962
4306
|
}
|
|
3963
4307
|
pluck(property, options) {
|
|
3964
4308
|
const columnId = options?.columnId || property.toString();
|
|
3965
|
-
return this.addColumn(new PropertyColumnModel(columnId, property, () => this.getColumnTextProperties(columnId)));
|
|
4309
|
+
return this.addColumn(new PropertyColumnModel(columnId, this.columnManager, property, () => this.getColumnTextProperties(columnId)));
|
|
3966
4310
|
}
|
|
3967
4311
|
pluckList(property, options) {
|
|
3968
4312
|
const columnId = options?.columnId || property.toString();
|
|
3969
|
-
return this.addColumn(new ListPropertyColumnModel(columnId, property, () => this.getColumnTextProperties(columnId)));
|
|
4313
|
+
return this.addColumn(new ListPropertyColumnModel(columnId, this.columnManager, property, () => this.getColumnTextProperties(columnId)));
|
|
3970
4314
|
}
|
|
3971
4315
|
// TODO: clean this up and assign the selection model on teh table directly.
|
|
3972
4316
|
// tableModel.useSelectionModel(model) and have the seleciton column automatically
|
|
@@ -3975,44 +4319,52 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
3975
4319
|
_addSelectionColumn(selectionModel, visible) {
|
|
3976
4320
|
assert.isNil(this.selectionColumnModel);
|
|
3977
4321
|
const columnId = "selection-column";
|
|
3978
|
-
this.selectionColumnModel = new SelectionColumnModel(columnId, () => this.getColumnTextProperties(columnId), this.selectionModelProxy);
|
|
4322
|
+
this.selectionColumnModel = new SelectionColumnModel(columnId, this.columnManager, () => this.getColumnTextProperties(columnId), this.selectionModelProxy);
|
|
3979
4323
|
this.selectionColumnModel.useSelectionModel(selectionModel);
|
|
3980
4324
|
this.addRowClass("aup-row-selected", row => this.selectionColumnModel.isSelected(row));
|
|
3981
|
-
const selectionColumnModel = this.addColumn(this.selectionColumnModel,
|
|
3982
|
-
if (!isNil
|
|
4325
|
+
const selectionColumnModel = this.addColumn(this.selectionColumnModel, { before: null }); // first column
|
|
4326
|
+
if (!isNil(visible)) {
|
|
3983
4327
|
selectionColumnModel.visibleWhile(visible instanceof ValueModel ? visible : ValueModel.constant(visible));
|
|
3984
4328
|
}
|
|
3985
4329
|
return selectionColumnModel;
|
|
3986
4330
|
}
|
|
3987
4331
|
addEditControls(saveCommandFactory, formFactory) {
|
|
3988
4332
|
this.saveCommandFactory = saveCommandFactory;
|
|
3989
|
-
if (isFunction
|
|
4333
|
+
if (isFunction(formFactory)) {
|
|
3990
4334
|
this._createForm = formFactory;
|
|
3991
4335
|
}
|
|
3992
4336
|
const columnId = "editControls";
|
|
3993
|
-
return this.addColumn(new EditorControlColumnModel(columnId, saveCommandFactory, () => this.getColumnTextProperties(columnId)));
|
|
4337
|
+
return this.addColumn(new EditorControlColumnModel(columnId, this.columnManager, saveCommandFactory, () => this.getColumnTextProperties(columnId)));
|
|
3994
4338
|
}
|
|
3995
4339
|
addCustomColumn(columnId, dataAccessor) {
|
|
3996
|
-
return this.addColumn(new CustomValueColumnModel(columnId, () => this.getColumnTextProperties(columnId), dataAccessor));
|
|
4340
|
+
return this.addColumn(new CustomValueColumnModel(columnId, this.columnManager, () => this.getColumnTextProperties(columnId), dataAccessor));
|
|
3997
4341
|
}
|
|
3998
4342
|
addComponentColumn(columnId, component, onComponentInitOrOptions) {
|
|
3999
|
-
return this.addColumn(new CustomValueColumnModel(columnId, () => this.getColumnTextProperties(columnId), row => row)).cellRenderer(component, onComponentInitOrOptions);
|
|
4343
|
+
return this.addColumn(new CustomValueColumnModel(columnId, this.columnManager, () => this.getColumnTextProperties(columnId), row => row)).cellRenderer(component, onComponentInitOrOptions);
|
|
4000
4344
|
}
|
|
4001
|
-
addMoreMenu(componentClass) {
|
|
4345
|
+
addMoreMenu(componentClass, initialiseCallback) {
|
|
4002
4346
|
return this.addComponentColumn("more-menu", TableMoreMenuComponent, (component) => {
|
|
4003
|
-
component.configurePopupComponentType(componentClass);
|
|
4347
|
+
component.configurePopupComponentType(componentClass, initialiseCallback);
|
|
4004
4348
|
}).columnTextProperties({
|
|
4005
4349
|
headerText() {
|
|
4006
4350
|
return "";
|
|
4007
4351
|
}
|
|
4008
4352
|
});
|
|
4009
4353
|
}
|
|
4354
|
+
addFooterRow(component, initialiseCallback) {
|
|
4355
|
+
assert.isNil(this.footerRowModel);
|
|
4356
|
+
this.footerRowModel = new FooterRowModel.Impl(component, initialiseCallback);
|
|
4357
|
+
return this.footerRowModel;
|
|
4358
|
+
}
|
|
4010
4359
|
addTemplateColumn(columnId) {
|
|
4011
|
-
return this.addColumn(new CustomTemplateColumnModel(columnId, () => this.getColumnTextProperties(columnId)));
|
|
4360
|
+
return this.addColumn(new CustomTemplateColumnModel(columnId, this.columnManager, () => this.getColumnTextProperties(columnId)));
|
|
4012
4361
|
}
|
|
4013
4362
|
addRowClass(className, predicate) {
|
|
4014
4363
|
this.rowClassNamePredicates.push(new RowClass(className, predicate));
|
|
4015
4364
|
}
|
|
4365
|
+
addRowAttribute(attributeName, getValue) {
|
|
4366
|
+
this.rowAttributeGenerators.push(new RowAttribute(attributeName, getValue));
|
|
4367
|
+
}
|
|
4016
4368
|
getRowClasses(row) {
|
|
4017
4369
|
const classNames = [];
|
|
4018
4370
|
this.rowClassNamePredicates.forEach(i => {
|
|
@@ -4022,8 +4374,13 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4022
4374
|
});
|
|
4023
4375
|
return classNames;
|
|
4024
4376
|
}
|
|
4025
|
-
|
|
4026
|
-
return this.
|
|
4377
|
+
getRowAttributes(row) {
|
|
4378
|
+
return this.rowAttributeGenerators.reduce((result, generator) => {
|
|
4379
|
+
return { ...result, [generator.attributeName]: generator.getValue(row) };
|
|
4380
|
+
}, {});
|
|
4381
|
+
}
|
|
4382
|
+
addColumn(column, position) {
|
|
4383
|
+
return this.columnManager.addColumn(column, position);
|
|
4027
4384
|
}
|
|
4028
4385
|
columnTextProperties(columnTextProperties) {
|
|
4029
4386
|
this._columnTextPropertiesLookup = columnTextProperties;
|
|
@@ -4140,7 +4497,7 @@ class TableCellComponent extends DisposableComponent {
|
|
|
4140
4497
|
};
|
|
4141
4498
|
}
|
|
4142
4499
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4143
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", 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: [""], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type:
|
|
4500
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", 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: [""], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
|
|
4144
4501
|
}
|
|
4145
4502
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableCellComponent, decorators: [{
|
|
4146
4503
|
type: Component,
|
|
@@ -4179,7 +4536,7 @@ class TableHeaderCellComponent {
|
|
|
4179
4536
|
return this[HEADER_CELL_RENDERER_PORTAL];
|
|
4180
4537
|
}
|
|
4181
4538
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableHeaderCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4182
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", 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"], dependencies: [{ kind: "directive", type:
|
|
4539
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", 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"], dependencies: [{ kind: "directive", type: i1$4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
|
|
4183
4540
|
}
|
|
4184
4541
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableHeaderCellComponent, decorators: [{
|
|
4185
4542
|
type: Component,
|
|
@@ -4191,61 +4548,132 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
4191
4548
|
args: ['class']
|
|
4192
4549
|
}] } });
|
|
4193
4550
|
|
|
4551
|
+
// eslint-disable-next-line @angular-eslint/component-class-suffix
|
|
4552
|
+
class TableFooterRow {
|
|
4553
|
+
row;
|
|
4554
|
+
defaultClassNames = 'aup-footer-row-renderer';
|
|
4555
|
+
get rowClasses() {
|
|
4556
|
+
return this.row.getActiveRowClasses();
|
|
4557
|
+
}
|
|
4558
|
+
initialise($event) {
|
|
4559
|
+
this.row.onInit && this.row.onInit($event.instance);
|
|
4560
|
+
}
|
|
4561
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableFooterRow, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4562
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableFooterRow, selector: "aup-table-footer-row", inputs: { row: "row" }, host: { properties: { "class": "this.rowClasses" } }, ngImport: i0, template: "<ng-container [cdkPortalOutlet]=\"row.portal\" (attached)=\"initialise($event)\"></ng-container>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%}\n"], dependencies: [{ kind: "directive", type: i1$4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
|
|
4563
|
+
}
|
|
4564
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableFooterRow, decorators: [{
|
|
4565
|
+
type: Component,
|
|
4566
|
+
args: [{ selector: 'aup-table-footer-row', template: "<ng-container [cdkPortalOutlet]=\"row.portal\" (attached)=\"initialise($event)\"></ng-container>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%}\n"] }]
|
|
4567
|
+
}], propDecorators: { row: [{
|
|
4568
|
+
type: Input
|
|
4569
|
+
}], defaultClassNames: [{
|
|
4570
|
+
type: HostBinding,
|
|
4571
|
+
args: ['class']
|
|
4572
|
+
}], rowClasses: [{
|
|
4573
|
+
type: HostBinding,
|
|
4574
|
+
args: ['class']
|
|
4575
|
+
}] } });
|
|
4576
|
+
|
|
4577
|
+
const AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER = new InjectionToken("AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER");
|
|
4578
|
+
class TableRowAttributesDirective {
|
|
4579
|
+
elementRef;
|
|
4580
|
+
aupTableRowAttributes;
|
|
4581
|
+
constructor(elementRef) {
|
|
4582
|
+
this.elementRef = elementRef;
|
|
4583
|
+
}
|
|
4584
|
+
ngOnInit() {
|
|
4585
|
+
for (const attr in this.aupTableRowAttributes) {
|
|
4586
|
+
this.elementRef.nativeElement.setAttribute(attr, this.aupTableRowAttributes[attr]);
|
|
4587
|
+
}
|
|
4588
|
+
}
|
|
4589
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableRowAttributesDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4590
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: TableRowAttributesDirective, selector: "[aupTableRowAttributes]", inputs: { aupTableRowAttributes: "aupTableRowAttributes" }, ngImport: i0 });
|
|
4591
|
+
}
|
|
4592
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableRowAttributesDirective, decorators: [{
|
|
4593
|
+
type: Directive,
|
|
4594
|
+
args: [{
|
|
4595
|
+
selector: "[aupTableRowAttributes]",
|
|
4596
|
+
}]
|
|
4597
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { aupTableRowAttributes: [{
|
|
4598
|
+
type: Input
|
|
4599
|
+
}] } });
|
|
4194
4600
|
class TableBodyComponent extends ResizeAwareComponent {
|
|
4601
|
+
bufferMultiplier;
|
|
4195
4602
|
#data$_accessor_storage = proxify((ListModel));
|
|
4196
4603
|
get data$() { return this.#data$_accessor_storage; }
|
|
4197
4604
|
set data$(value) { this.#data$_accessor_storage = value; }
|
|
4198
4605
|
#tableModel_accessor_storage = proxify((AbstractTableModel));
|
|
4199
4606
|
get tableModel() { return this.#tableModel_accessor_storage; }
|
|
4200
4607
|
set tableModel(value) { this.#tableModel_accessor_storage = value; }
|
|
4608
|
+
#footerRow_accessor_storage = proxify((FooterRowModel.Impl));
|
|
4609
|
+
get footerRow() { return this.#footerRow_accessor_storage; }
|
|
4610
|
+
set footerRow(value) { this.#footerRow_accessor_storage = value; }
|
|
4201
4611
|
#showHeader$_accessor_storage = proxify((ValueModel));
|
|
4202
4612
|
get showHeader$() { return this.#showHeader$_accessor_storage; }
|
|
4203
4613
|
set showHeader$(value) { this.#showHeader$_accessor_storage = value; }
|
|
4204
4614
|
#showHeader_accessor_storage = true;
|
|
4205
4615
|
get showHeader() { return this.#showHeader_accessor_storage; }
|
|
4206
4616
|
set showHeader(value) { this.#showHeader_accessor_storage = value; }
|
|
4207
|
-
visibleRowCount = new EventEmitter();
|
|
4208
4617
|
trackBy;
|
|
4209
|
-
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
|
|
4213
|
-
|
|
4214
|
-
|
|
4618
|
+
#scrollMode$_accessor_storage = proxify((ValueModel));
|
|
4619
|
+
get scrollMode$() { return this.#scrollMode$_accessor_storage; }
|
|
4620
|
+
set scrollMode$(value) { this.#scrollMode$_accessor_storage = value; }
|
|
4621
|
+
#scrollMode_accessor_storage = "none";
|
|
4622
|
+
get scrollMode() { return this.#scrollMode_accessor_storage; }
|
|
4623
|
+
set scrollMode(value) { this.#scrollMode_accessor_storage = value; }
|
|
4624
|
+
scrollViewport;
|
|
4215
4625
|
columns$;
|
|
4216
4626
|
columnIds$;
|
|
4217
4627
|
columnsById$;
|
|
4218
|
-
_visibleRowCount$;
|
|
4219
4628
|
// TODO: support user defined header and row heights via css vars.
|
|
4220
|
-
headerHeight$ = new MutableValueModel(
|
|
4221
|
-
rowHeight$ = new MutableValueModel(
|
|
4629
|
+
headerHeight$ = new MutableValueModel(48);
|
|
4630
|
+
rowHeight$ = new MutableValueModel(44);
|
|
4222
4631
|
baseCssClass = "aup-table-component";
|
|
4223
|
-
|
|
4224
|
-
|
|
4225
|
-
|
|
4632
|
+
virtualScrollDataSource = new TableVirtualScrollDataSource();
|
|
4633
|
+
virtualScrollActive$ = new MutableValueModel(false);
|
|
4634
|
+
scrollTimeout;
|
|
4635
|
+
constructor(bufferMultiplier = 1) {
|
|
4636
|
+
super();
|
|
4637
|
+
this.bufferMultiplier = bufferMultiplier;
|
|
4638
|
+
const { chain, when, observe } = Dsl.disposeWith(this);
|
|
4226
4639
|
const actualHeaderHeight$ = chain(this.showHeader$).map(show => {
|
|
4227
4640
|
return show ? this.headerHeight$.value : 0;
|
|
4228
4641
|
}, { dependsOn: this.headerHeight$ });
|
|
4229
|
-
|
|
4230
|
-
|
|
4231
|
-
|
|
4232
|
-
|
|
4233
|
-
|
|
4234
|
-
|
|
4235
|
-
|
|
4236
|
-
});
|
|
4237
|
-
when(this._visibleRowCount$).changes(visibleRows => {
|
|
4238
|
-
this.visibleRowCount.emit(visibleRows);
|
|
4239
|
-
}, { initialValue: "triggerChangeUnlessNil" });
|
|
4642
|
+
// performance is terrible if the data changes while we're scrolling, so we postpone updates until
|
|
4643
|
+
// scrolling stops.
|
|
4644
|
+
const delayedDatea$ = chain(this.data$).postponeWhile(this.virtualScrollActive$);
|
|
4645
|
+
when(delayedDatea$).changes(delatedData => {
|
|
4646
|
+
this.virtualScrollDataSource.data = delatedData;
|
|
4647
|
+
this.scheduleTableHeightCheck();
|
|
4648
|
+
}, { initialValue: "evaluate" });
|
|
4240
4649
|
this.onInit(() => {
|
|
4241
|
-
this.columns$ = chain(this.tableModel.
|
|
4650
|
+
this.columns$ = chain(this.tableModel.visibleColumns$);
|
|
4242
4651
|
this.columnIds$ = chain(this.columns$).pluck("columnId");
|
|
4243
4652
|
this.columnsById$ = chain(this.columns$).indexBy('columnId');
|
|
4244
4653
|
});
|
|
4654
|
+
// const txo = new TransactionObserver({verbose: false}).onEvent(e => console.log(e.name, e.payload));
|
|
4655
|
+
// txo.observe('this.virtualScrollRowRange$', this.virtualScrollRowRange$);
|
|
4656
|
+
// txo.observe('this.virtualScrollSpacerSize$', this.virtualScrollSpacerSize$);
|
|
4657
|
+
// txo.observe('this.virtualRows$', this.virtualRows$);
|
|
4658
|
+
// txo.observe('this.tableBodyHeight$', this.tableBodyHeight$);
|
|
4659
|
+
// txo.observe('this.virtualScrollActive$', this.virtualScrollActive$);
|
|
4660
|
+
}
|
|
4661
|
+
ngAfterViewInit() {
|
|
4662
|
+
super.ngAfterViewInit();
|
|
4663
|
+
if (this.scrollViewport) {
|
|
4664
|
+
const { observe } = Dsl.disposeWith(this);
|
|
4665
|
+
this.scrollViewport.elementScrolled().subscribe(() => this.notifyScrolled());
|
|
4666
|
+
}
|
|
4245
4667
|
}
|
|
4246
4668
|
get hideHeader() {
|
|
4247
4669
|
return !this.showHeader;
|
|
4248
4670
|
}
|
|
4671
|
+
get headerHeightCssVar() {
|
|
4672
|
+
return `${this.headerHeight$.value}px`;
|
|
4673
|
+
}
|
|
4674
|
+
get rowHeightCssVar() {
|
|
4675
|
+
return `${this.rowHeight$.value}px`;
|
|
4676
|
+
}
|
|
4249
4677
|
isEditing(row) {
|
|
4250
4678
|
return !!this.tableModel.getEditSessionFor(row);
|
|
4251
4679
|
}
|
|
@@ -4270,51 +4698,110 @@ class TableBodyComponent extends ResizeAwareComponent {
|
|
|
4270
4698
|
}
|
|
4271
4699
|
return classes;
|
|
4272
4700
|
}
|
|
4273
|
-
|
|
4274
|
-
|
|
4701
|
+
scheduleTableHeightCheck(waitMillis = 50) {
|
|
4702
|
+
setTimeout(() => {
|
|
4703
|
+
const tbody = this.elementRef.nativeElement.querySelector("tbody");
|
|
4704
|
+
const bodyHeight = tbody.offsetHeight;
|
|
4705
|
+
if (this.data$.length > 0 && bodyHeight < this.rowHeight$.value) {
|
|
4706
|
+
// Hacks to get our virtual scroll to repaint
|
|
4707
|
+
// Logger.get(this).log(`rowCount=${this.data$.length}, bodyHeight=${bodyHeight} -> virtual table not rendering, triggering resize to force repaint`)
|
|
4708
|
+
window.dispatchEvent(new Event('resize'));
|
|
4709
|
+
if (waitMillis < 500) {
|
|
4710
|
+
this.scheduleTableHeightCheck(waitMillis + 50);
|
|
4711
|
+
}
|
|
4712
|
+
}
|
|
4713
|
+
}, waitMillis);
|
|
4714
|
+
}
|
|
4715
|
+
notifyScrolled() {
|
|
4716
|
+
this.virtualScrollActive$.value = true;
|
|
4717
|
+
this.clearScrollTimeout();
|
|
4718
|
+
this.scrollTimeout = setTimeout(() => {
|
|
4719
|
+
return this.virtualScrollActive$.value = false;
|
|
4720
|
+
}, 200);
|
|
4721
|
+
}
|
|
4722
|
+
clearScrollTimeout() {
|
|
4723
|
+
if (this.scrollTimeout) {
|
|
4724
|
+
clearTimeout(this.scrollTimeout);
|
|
4725
|
+
}
|
|
4726
|
+
}
|
|
4727
|
+
initialiseFooter($event) {
|
|
4728
|
+
const portalRef = $event;
|
|
4729
|
+
this.footerRow.onInit(portalRef.instance);
|
|
4730
|
+
}
|
|
4731
|
+
Proxify = Proxify;
|
|
4732
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableBodyComponent, deps: [{ token: AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
4733
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableBodyComponent, selector: "aup-table-body", inputs: { data$: "data$", tableModel: "tableModel", footerRow: "footerRow", showHeader$: "showHeader$", showHeader: "showHeader", trackBy: "trackBy", scrollMode$: "scrollMode$", scrollMode: "scrollMode" }, host: { properties: { "attr.scrollMode": "this.scrollMode", "class": "this.baseCssClass", "class.hide-header": "this.hideHeader", "style.--aup-table-header-height": "this.headerHeightCssVar", "style.--aup-table-row-height": "this.rowHeightCssVar" } }, viewQueries: [{ propertyName: "scrollViewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesInheritance: true, ngImport: i0, template: "\n<div class=\"classic-scroll-container\" *ngIf=\"scrollMode$.value !== 'virtual'\">\n <table mat-table [dataSource]=\"data$.value\" [trackBy]=\"trackBy\" [multiTemplateDataRows]>\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]=\"$any(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]=\"tableModel.isCursorEnabled(column)\"\n [class.flex]=\"column.isFlex()\"\n [class.hide]=\"!column.isVisible()\"\n >\n <aup-table-cell [column]=\"$any(column)\"\n [row]=\"row\"\n [tableModel]=\"$any(tableModel)\"\n [editSession]=\"$any(tableModel.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; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds$.value; let i = index\"\n [ngClass]=\"tableModel.getRowClasses(row)\"\n [class.enable-hover]=\"tableModel.isHoverEnabled()\"\n [aupTableRowAttributes]=\"tableModel.getRowAttributes(row)\"\n [attr.aup-row-id]=\"trackBy(i, row)\"\n ></tr>\n\n <ng-container matColumnDef=\"sticky-footer\" *ngIf=\"Proxify.hasTarget(footerRow)\">\n <td mat-footer-cell *matFooterCellDef [attr.colspan]=\"columns$.length\" [ngClass]=\"'footer-cell'\">\n <aup-table-footer-row [row]=\"$any(footerRow)\"></aup-table-footer-row>\n </td>\n <tr mat-footer-row *matFooterRowDef=\"['sticky-footer']; sticky: true\"></tr>\n </ng-container>\n\n </table>\n</div>\n\n<cdk-virtual-scroll-viewport *ngIf=\"scrollMode$.value === 'virtual'\"\n [tvsItemSize]=\"rowHeight$.value\"\n [headerHeight]=\"headerHeight$.value\"\n [bufferMultiplier]=\"bufferMultiplier\"\n>\n <table mat-table [dataSource]=\"virtualScrollDataSource\" [trackBy]=\"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]=\"tableModel.isCursorEnabled(column)\"\n [class.flex]=\"column.isFlex()\"\n [class.hide]=\"!column.isVisible()\"\n >\n <aup-table-cell [column]=\"$any(column)\"\n [row]=\"row\"\n [tableModel]=\"$any(tableModel)\"\n [editSession]=\"$any(tableModel.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; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds$.value; let i = index\"\n [ngClass]=\"tableModel.getRowClasses(row)\"\n [class.enable-hover]=\"tableModel.isHoverEnabled()\"\n [aupTableRowAttributes]=\"tableModel.getRowAttributes(row)\"\n [attr.aup-row-id]=\"trackBy(i, row)\"\n ></tr>\n\n<!-- Layout doesn't work yet - probably needs fixed footer row height -->\n<!-- <ng-container matColumnDef=\"sticky-footer\" *ngIf=\"tableModel.footerRowPortalRef\">-->\n<!-- <td mat-footer-cell *matFooterCellDef [attr.colspan]=\"columns$.length\">-->\n<!-- <ng-container [cdkPortalOutlet]=\"tableModel.footerRowPortalRef.portal\" (attached)=\"initialiseFooter($event)\"></ng-container>-->\n<!-- </td>-->\n<!-- <tr mat-footer-row *matFooterRowDef=\"['sticky-footer']; sticky: true\"></tr>-->\n<!-- </ng-container>-->\n\n\n </table>\n</cdk-virtual-scroll-viewport>\n\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host[scrollMode=virtual] cdk-virtual-scroll-viewport{flex:1}:host[scrollMode=virtual] table th{height:var(--aup-table-header-height);max-height:var(--aup-table-header-height);min-height:var(--aup-table-header-height)}:host[scrollMode=virtual] table td{height:var(--aup-table-row-height);max-height:var(--aup-table-row-height);min-height:var(--aup-table-row-height)}:host[scrollMode=classic]{min-height:0}:host[scrollMode=classic] .classic-scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$6.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2$6.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2$6.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2$6.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i2$6.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2$6.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2$6.MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: i2$6.MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { kind: "directive", type: i2$6.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2$6.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: i2$6.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "component", type: i2$6.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2$6.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i2$6.MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { kind: "component", type: i1$2.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i4$4.TableItemSizeDirective, selector: "cdk-virtual-scroll-viewport[tvsItemSize]", inputs: ["tvsItemSize", "headerEnabled", "headerHeight", "footerEnabled", "footerHeight", "bufferMultiplier"] }, { kind: "directive", type: TableRowAttributesDirective, selector: "[aupTableRowAttributes]", inputs: ["aupTableRowAttributes"] }, { kind: "component", type: TableCellComponent, selector: "aup-table-cell", inputs: ["row", "column", "editSession", "tableModel"] }, { kind: "component", type: TableHeaderCellComponent, selector: "aup-table-header-cell", inputs: ["column"] }, { kind: "component", type: TableFooterRow, selector: "aup-table-footer-row", inputs: ["row"] }] });
|
|
4275
4734
|
}
|
|
4276
4735
|
__decorate([
|
|
4277
4736
|
Proxify(),
|
|
4278
|
-
__metadata("design:type",
|
|
4737
|
+
__metadata("design:type", ListModel)
|
|
4279
4738
|
], TableBodyComponent.prototype, "data$", null);
|
|
4280
4739
|
__decorate([
|
|
4281
4740
|
Proxify(),
|
|
4282
|
-
__metadata("design:type",
|
|
4741
|
+
__metadata("design:type", AbstractTableModel)
|
|
4283
4742
|
], TableBodyComponent.prototype, "tableModel", null);
|
|
4284
4743
|
__decorate([
|
|
4285
4744
|
Proxify(),
|
|
4286
|
-
__metadata("design:type",
|
|
4745
|
+
__metadata("design:type", FooterRowModel.Impl)
|
|
4746
|
+
], TableBodyComponent.prototype, "footerRow", null);
|
|
4747
|
+
__decorate([
|
|
4748
|
+
Proxify(),
|
|
4749
|
+
__metadata("design:type", ValueModel)
|
|
4287
4750
|
], TableBodyComponent.prototype, "showHeader$", null);
|
|
4288
4751
|
__decorate([
|
|
4289
4752
|
StoreInValueModel(),
|
|
4290
4753
|
__metadata("design:type", Object)
|
|
4291
4754
|
], TableBodyComponent.prototype, "showHeader", null);
|
|
4755
|
+
__decorate([
|
|
4756
|
+
Proxify(),
|
|
4757
|
+
__metadata("design:type", ValueModel)
|
|
4758
|
+
], TableBodyComponent.prototype, "scrollMode$", null);
|
|
4759
|
+
__decorate([
|
|
4760
|
+
StoreInValueModel(),
|
|
4761
|
+
__metadata("design:type", String)
|
|
4762
|
+
], TableBodyComponent.prototype, "scrollMode", null);
|
|
4292
4763
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableBodyComponent, decorators: [{
|
|
4293
4764
|
type: Component,
|
|
4294
|
-
args: [{ selector: "aup-table-body", template: "<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"data$.value\" [trackBy]=\"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]=\"tableModel.isCursorEnabled(column)\"\n [class.flex]=\"column.isFlex()\"\n [class.hide]=\"!column.isVisible()\"\n >\n <aup-table-cell [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"tableModel\"\n [editSession]=\"tableModel.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; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds$.value; let i = index\"\n [ngClass]=\"tableModel.getRowClasses(row)\"\n [class.enable-hover]=\"tableModel.isHoverEnabled()\"\n [attr.aup-row-id]=\"trackBy(i, row)\"\n ></tr>\n\n </table>\n</div>\n\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host
|
|
4295
|
-
}], ctorParameters: function () { return [{ type:
|
|
4765
|
+
args: [{ selector: "aup-table-body", template: "\n<div class=\"classic-scroll-container\" *ngIf=\"scrollMode$.value !== 'virtual'\">\n <table mat-table [dataSource]=\"data$.value\" [trackBy]=\"trackBy\" [multiTemplateDataRows]>\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]=\"$any(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]=\"tableModel.isCursorEnabled(column)\"\n [class.flex]=\"column.isFlex()\"\n [class.hide]=\"!column.isVisible()\"\n >\n <aup-table-cell [column]=\"$any(column)\"\n [row]=\"row\"\n [tableModel]=\"$any(tableModel)\"\n [editSession]=\"$any(tableModel.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; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds$.value; let i = index\"\n [ngClass]=\"tableModel.getRowClasses(row)\"\n [class.enable-hover]=\"tableModel.isHoverEnabled()\"\n [aupTableRowAttributes]=\"tableModel.getRowAttributes(row)\"\n [attr.aup-row-id]=\"trackBy(i, row)\"\n ></tr>\n\n <ng-container matColumnDef=\"sticky-footer\" *ngIf=\"Proxify.hasTarget(footerRow)\">\n <td mat-footer-cell *matFooterCellDef [attr.colspan]=\"columns$.length\" [ngClass]=\"'footer-cell'\">\n <aup-table-footer-row [row]=\"$any(footerRow)\"></aup-table-footer-row>\n </td>\n <tr mat-footer-row *matFooterRowDef=\"['sticky-footer']; sticky: true\"></tr>\n </ng-container>\n\n </table>\n</div>\n\n<cdk-virtual-scroll-viewport *ngIf=\"scrollMode$.value === 'virtual'\"\n [tvsItemSize]=\"rowHeight$.value\"\n [headerHeight]=\"headerHeight$.value\"\n [bufferMultiplier]=\"bufferMultiplier\"\n>\n <table mat-table [dataSource]=\"virtualScrollDataSource\" [trackBy]=\"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]=\"tableModel.isCursorEnabled(column)\"\n [class.flex]=\"column.isFlex()\"\n [class.hide]=\"!column.isVisible()\"\n >\n <aup-table-cell [column]=\"$any(column)\"\n [row]=\"row\"\n [tableModel]=\"$any(tableModel)\"\n [editSession]=\"$any(tableModel.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; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds$.value; let i = index\"\n [ngClass]=\"tableModel.getRowClasses(row)\"\n [class.enable-hover]=\"tableModel.isHoverEnabled()\"\n [aupTableRowAttributes]=\"tableModel.getRowAttributes(row)\"\n [attr.aup-row-id]=\"trackBy(i, row)\"\n ></tr>\n\n<!-- Layout doesn't work yet - probably needs fixed footer row height -->\n<!-- <ng-container matColumnDef=\"sticky-footer\" *ngIf=\"tableModel.footerRowPortalRef\">-->\n<!-- <td mat-footer-cell *matFooterCellDef [attr.colspan]=\"columns$.length\">-->\n<!-- <ng-container [cdkPortalOutlet]=\"tableModel.footerRowPortalRef.portal\" (attached)=\"initialiseFooter($event)\"></ng-container>-->\n<!-- </td>-->\n<!-- <tr mat-footer-row *matFooterRowDef=\"['sticky-footer']; sticky: true\"></tr>-->\n<!-- </ng-container>-->\n\n\n </table>\n</cdk-virtual-scroll-viewport>\n\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host[scrollMode=virtual] cdk-virtual-scroll-viewport{flex:1}:host[scrollMode=virtual] table th{height:var(--aup-table-header-height);max-height:var(--aup-table-header-height);min-height:var(--aup-table-header-height)}:host[scrollMode=virtual] table td{height:var(--aup-table-row-height);max-height:var(--aup-table-row-height);min-height:var(--aup-table-row-height)}:host[scrollMode=classic]{min-height:0}:host[scrollMode=classic] .classic-scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}\n"] }]
|
|
4766
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
4767
|
+
type: Inject,
|
|
4768
|
+
args: [AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER]
|
|
4769
|
+
}, {
|
|
4770
|
+
type: Optional
|
|
4771
|
+
}] }]; }, propDecorators: { data$: [{
|
|
4296
4772
|
type: Input
|
|
4297
4773
|
}], tableModel: [{
|
|
4298
4774
|
type: Input
|
|
4775
|
+
}], footerRow: [{
|
|
4776
|
+
type: Input
|
|
4299
4777
|
}], showHeader$: [{
|
|
4300
4778
|
type: Input
|
|
4301
4779
|
}], showHeader: [{
|
|
4302
4780
|
type: Input
|
|
4303
|
-
}], visibleRowCount: [{
|
|
4304
|
-
type: Output
|
|
4305
4781
|
}], trackBy: [{
|
|
4306
4782
|
type: Input
|
|
4307
|
-
}],
|
|
4783
|
+
}], scrollMode$: [{
|
|
4784
|
+
type: Input
|
|
4785
|
+
}], scrollMode: [{
|
|
4308
4786
|
type: Input
|
|
4309
4787
|
}, {
|
|
4310
4788
|
type: HostBinding,
|
|
4311
|
-
args: ["
|
|
4789
|
+
args: ["attr.scrollMode"]
|
|
4790
|
+
}], scrollViewport: [{
|
|
4791
|
+
type: ViewChild,
|
|
4792
|
+
args: [CdkVirtualScrollViewport]
|
|
4312
4793
|
}], baseCssClass: [{
|
|
4313
4794
|
type: HostBinding,
|
|
4314
4795
|
args: ["class"]
|
|
4315
4796
|
}], hideHeader: [{
|
|
4316
4797
|
type: HostBinding,
|
|
4317
4798
|
args: ["class.hide-header"]
|
|
4799
|
+
}], headerHeightCssVar: [{
|
|
4800
|
+
type: HostBinding,
|
|
4801
|
+
args: ["style.--aup-table-header-height"]
|
|
4802
|
+
}], rowHeightCssVar: [{
|
|
4803
|
+
type: HostBinding,
|
|
4804
|
+
args: ["style.--aup-table-row-height"]
|
|
4318
4805
|
}] } });
|
|
4319
4806
|
|
|
4320
4807
|
class TableMoreMenuPopupComponent extends DisposableComponent {
|
|
@@ -4435,8 +4922,10 @@ class TableFilterModel extends GarbageCollector {
|
|
|
4435
4922
|
this.useSearchText(options.searchText$);
|
|
4436
4923
|
this.useRowPredicate(options.predicate$);
|
|
4437
4924
|
const { chain } = Dsl.disposeWith(this);
|
|
4438
|
-
const textSearchRegex$ = chain(this._searchText$)
|
|
4439
|
-
|
|
4925
|
+
const textSearchRegex$ = chain(this._searchText$)
|
|
4926
|
+
.debounce(250)
|
|
4927
|
+
.map(text => {
|
|
4928
|
+
return isEmpty(text) ? undefined : new RegExp(escapeStringRegexp(text), "i");
|
|
4440
4929
|
}, { allowNil: true });
|
|
4441
4930
|
this._rowPredicate = chain(this._rowPredicate$)
|
|
4442
4931
|
.map(predicate => {
|
|
@@ -4644,31 +5133,30 @@ class TableComponent extends AbstractTableComponent {
|
|
|
4644
5133
|
#filterModel_accessor_storage = proxify((TableFilterModel));
|
|
4645
5134
|
get filterModel() { return this.#filterModel_accessor_storage; }
|
|
4646
5135
|
set filterModel(value) { this.#filterModel_accessor_storage = value; }
|
|
4647
|
-
|
|
4648
|
-
|
|
4649
|
-
|
|
4650
|
-
|
|
4651
|
-
|
|
4652
|
-
|
|
4653
|
-
|
|
4654
|
-
|
|
4655
|
-
|
|
4656
|
-
|
|
4657
|
-
|
|
4658
|
-
// }
|
|
4659
|
-
// }
|
|
5136
|
+
tableBody;
|
|
5137
|
+
#scrollMode$_accessor_storage = proxify((ValueModel));
|
|
5138
|
+
/**
|
|
5139
|
+
* Set to true to scroll mode to classic or virtual (default). Virtual scrolll performs better for large data sets but clamps the row height. Classic scroll
|
|
5140
|
+
* renders all rows but allows row heights to grow.
|
|
5141
|
+
*/
|
|
5142
|
+
get scrollMode$() { return this.#scrollMode$_accessor_storage; }
|
|
5143
|
+
set scrollMode$(value) { this.#scrollMode$_accessor_storage = value; }
|
|
5144
|
+
#scrollMode_accessor_storage;
|
|
5145
|
+
get scrollMode() { return this.#scrollMode_accessor_storage; }
|
|
5146
|
+
set scrollMode(value) { this.#scrollMode_accessor_storage = value; }
|
|
4660
5147
|
_footerContentAdded = false;
|
|
4661
5148
|
_filteredRows$ = this.registerDisposable(new DelegatingListModel());
|
|
4662
|
-
|
|
4663
|
-
pagedListModel;
|
|
5149
|
+
tableBodyScrollMode$;
|
|
4664
5150
|
constructor(injector) {
|
|
4665
5151
|
super(injector);
|
|
4666
|
-
const { when } = Dsl.disposeWith(this);
|
|
4667
|
-
this.
|
|
4668
|
-
|
|
5152
|
+
const { chain, when } = Dsl.disposeWith(this);
|
|
5153
|
+
this.tableBodyScrollMode$ = chain(this.enableScrolling$).map(enable => {
|
|
5154
|
+
return enable ? (this.scrollMode$.value ?? "virtual") : 'none';
|
|
5155
|
+
}, { dependsOn: this.scrollMode$ });
|
|
4669
5156
|
}
|
|
4670
5157
|
ngOnInit() {
|
|
4671
5158
|
super.ngOnInit();
|
|
5159
|
+
const { when } = Dsl.disposeWith(this);
|
|
4672
5160
|
if (CanProxy.hasTarget(this.filterModel)) {
|
|
4673
5161
|
this.registerDisposable(this.filterModel.bindToTable(this._dataSource$, this.getModel().textSearchPredicate$));
|
|
4674
5162
|
this.highlightText$.setDelegate(this.filterModel.highlightText$);
|
|
@@ -4677,50 +5165,26 @@ class TableComponent extends AbstractTableComponent {
|
|
|
4677
5165
|
else {
|
|
4678
5166
|
this._filteredRows$.setDelegate(this._dataSource$);
|
|
4679
5167
|
}
|
|
4680
|
-
this.
|
|
5168
|
+
this._visibleRows$.setDelegate(this._filteredRows$);
|
|
5169
|
+
// let users of the model know what the current visible and filtered rows are for selection models and what not
|
|
4681
5170
|
this.tableModel.bindToTable(this._filteredRows$, this._visibleRows$);
|
|
5171
|
+
this.trackChangesAndMarkForCheck(this._filteredRows$, this.tableModel.visibleColumns$);
|
|
4682
5172
|
}
|
|
4683
5173
|
getModel() {
|
|
4684
5174
|
return this.tableModel;
|
|
4685
5175
|
}
|
|
4686
|
-
get pageController() {
|
|
4687
|
-
// TODO: need to support external page controllers if the paging occurs to our primary data source.
|
|
4688
|
-
return this.pagedListModel.pageController;
|
|
4689
|
-
}
|
|
4690
|
-
configurePaging(enable) {
|
|
4691
|
-
if (enable) {
|
|
4692
|
-
if (!this.pagedListModel) {
|
|
4693
|
-
this.pagedListModel = PagedListModel.create(this._filteredRows$, this._pageSize);
|
|
4694
|
-
}
|
|
4695
|
-
this._visibleRows$.setDelegate(this.pagedListModel);
|
|
4696
|
-
}
|
|
4697
|
-
else {
|
|
4698
|
-
this.disposeOfPagedListModel();
|
|
4699
|
-
this._visibleRows$.setDelegate(this._filteredRows$);
|
|
4700
|
-
}
|
|
4701
|
-
}
|
|
4702
|
-
disposeOfPagedListModel() {
|
|
4703
|
-
if (this.pagedListModel) {
|
|
4704
|
-
this.pagedListModel.dispose();
|
|
4705
|
-
this.pagedListModel = null;
|
|
4706
|
-
}
|
|
4707
|
-
}
|
|
4708
5176
|
footerContentChanged($event) {
|
|
4709
5177
|
// console.log($event);
|
|
4710
5178
|
this._footerContentAdded = true;
|
|
4711
5179
|
}
|
|
4712
|
-
//@Trace()
|
|
4713
|
-
updatePageSize(count) {
|
|
4714
|
-
this._pageSize.value = count;
|
|
4715
|
-
}
|
|
4716
5180
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
4717
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableComponent, selector: "aup-table", inputs: { tableModel: "tableModel", filterModel: "filterModel",
|
|
5181
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableComponent, selector: "aup-table", inputs: { tableModel: "tableModel", filterModel: "filterModel", scrollMode$: "scrollMode$", scrollMode: "scrollMode" }, providers: [
|
|
4718
5182
|
{ provide: AbstractTableComponent, useExisting: TableComponent }
|
|
4719
|
-
], usesInheritance: true, ngImport: i0, template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"tableModel\"\n [
|
|
5183
|
+
], viewQueries: [{ propertyName: "tableBody", first: true, predicate: TableBodyComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"$any(tableModel)\"\n [footerRow]=\"tableModel.footerRowModel\"\n [showHeader$]=\"$any(showHeader$)\"\n [scrollMode$]=\"tableBodyScrollMode$\"\n [trackBy]=\"trackBy\"\n [aupHighlightTextModel]=\"highlightText$\"\n></aup-table-body>\n<section class=\"table-footer\">\n <div class=\"footer-content\"><ng-content select=\"[footer], [slot=footer]\"></ng-content></div>\n</section>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}aup-table-body{flex:1}.table-footer{display:flex;flex-direction:row;align-items:center}.table-footer .footer-content{flex:1}\n"], dependencies: [{ kind: "directive", type: HighlightTextModelDirective, selector: "[aupHighlightTextModel]", inputs: ["aupHighlightTextModel"] }, { kind: "component", type: TableBodyComponent, selector: "aup-table-body", inputs: ["data$", "tableModel", "footerRow", "showHeader$", "showHeader", "trackBy", "scrollMode$", "scrollMode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4720
5184
|
}
|
|
4721
5185
|
__decorate([
|
|
4722
5186
|
Proxify(),
|
|
4723
|
-
__metadata("design:type",
|
|
5187
|
+
__metadata("design:type", TableModel)
|
|
4724
5188
|
], TableComponent.prototype, "tableModel", null);
|
|
4725
5189
|
__decorate([
|
|
4726
5190
|
Proxify(),
|
|
@@ -4728,24 +5192,27 @@ __decorate([
|
|
|
4728
5192
|
], TableComponent.prototype, "filterModel", null);
|
|
4729
5193
|
__decorate([
|
|
4730
5194
|
Proxify(),
|
|
4731
|
-
__metadata("design:type",
|
|
4732
|
-
], TableComponent.prototype, "
|
|
5195
|
+
__metadata("design:type", ValueModel)
|
|
5196
|
+
], TableComponent.prototype, "scrollMode$", null);
|
|
4733
5197
|
__decorate([
|
|
4734
5198
|
StoreInValueModel(),
|
|
4735
5199
|
__metadata("design:type", Object)
|
|
4736
|
-
], TableComponent.prototype, "
|
|
5200
|
+
], TableComponent.prototype, "scrollMode", null);
|
|
4737
5201
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableComponent, decorators: [{
|
|
4738
5202
|
type: Component,
|
|
4739
|
-
args: [{ selector: 'aup-table', providers: [
|
|
5203
|
+
args: [{ selector: 'aup-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
4740
5204
|
{ provide: AbstractTableComponent, useExisting: TableComponent }
|
|
4741
|
-
], template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"tableModel\"\n [
|
|
5205
|
+
], template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"$any(tableModel)\"\n [footerRow]=\"tableModel.footerRowModel\"\n [showHeader$]=\"$any(showHeader$)\"\n [scrollMode$]=\"tableBodyScrollMode$\"\n [trackBy]=\"trackBy\"\n [aupHighlightTextModel]=\"highlightText$\"\n></aup-table-body>\n<section class=\"table-footer\">\n <div class=\"footer-content\"><ng-content select=\"[footer], [slot=footer]\"></ng-content></div>\n</section>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}aup-table-body{flex:1}.table-footer{display:flex;flex-direction:row;align-items:center}.table-footer .footer-content{flex:1}\n"] }]
|
|
4742
5206
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { tableModel: [{
|
|
4743
5207
|
type: Input
|
|
4744
5208
|
}], filterModel: [{
|
|
4745
5209
|
type: Input
|
|
4746
|
-
}],
|
|
5210
|
+
}], tableBody: [{
|
|
5211
|
+
type: ViewChild,
|
|
5212
|
+
args: [TableBodyComponent]
|
|
5213
|
+
}], scrollMode$: [{
|
|
4747
5214
|
type: Input
|
|
4748
|
-
}],
|
|
5215
|
+
}], scrollMode: [{
|
|
4749
5216
|
type: Input
|
|
4750
5217
|
}] } });
|
|
4751
5218
|
|
|
@@ -4927,7 +5394,7 @@ var DecoratedTreeNode;
|
|
|
4927
5394
|
}
|
|
4928
5395
|
}
|
|
4929
5396
|
__decorate([
|
|
4930
|
-
|
|
5397
|
+
MemoizeGet(),
|
|
4931
5398
|
__metadata("design:type", Array),
|
|
4932
5399
|
__metadata("design:paramtypes", [])
|
|
4933
5400
|
], Decorator.prototype, "children", null);
|
|
@@ -4980,7 +5447,7 @@ var DecoratedTreeNode;
|
|
|
4980
5447
|
__metadata("design:returntype", Array)
|
|
4981
5448
|
], Decorator.prototype, "ancestors", null);
|
|
4982
5449
|
__decorate([
|
|
4983
|
-
|
|
5450
|
+
MemoizeGet(),
|
|
4984
5451
|
__metadata("design:type", Number),
|
|
4985
5452
|
__metadata("design:paramtypes", [])
|
|
4986
5453
|
], Decorator.prototype, "depth", null);
|
|
@@ -4991,8 +5458,8 @@ class TreeLabelColumnModel extends ColumnModel {
|
|
|
4991
5458
|
expansionModel;
|
|
4992
5459
|
labelFactory = () => undefined;
|
|
4993
5460
|
iconFactory;
|
|
4994
|
-
constructor(columnId, textPropertiesProvider, expansionModel) {
|
|
4995
|
-
super(columnId, textPropertiesProvider);
|
|
5461
|
+
constructor(columnId, order, textPropertiesProvider, expansionModel) {
|
|
5462
|
+
super(columnId, order, textPropertiesProvider);
|
|
4996
5463
|
this.expansionModel = expansionModel;
|
|
4997
5464
|
this.cellRenderer(TreeLabelCellRendererComponent);
|
|
4998
5465
|
}
|
|
@@ -5060,7 +5527,7 @@ class TreeTableModel extends AbstractTableModel {
|
|
|
5060
5527
|
}
|
|
5061
5528
|
treeControlColumn(builder) {
|
|
5062
5529
|
const columnId = 'tree-label';
|
|
5063
|
-
const column = new TreeLabelColumnModel(columnId, () => this.getColumnTextProperties(columnId), this);
|
|
5530
|
+
const column = new TreeLabelColumnModel(columnId, this.columnManager, () => this.getColumnTextProperties(columnId), this);
|
|
5064
5531
|
builder(column);
|
|
5065
5532
|
this.addColumn(column);
|
|
5066
5533
|
}
|
|
@@ -5386,11 +5853,15 @@ class TreeTableComponent extends AbstractTableComponent {
|
|
|
5386
5853
|
#expansionModel_accessor_storage = proxify((TreeExpansionModel));
|
|
5387
5854
|
get expansionModel() { return this.#expansionModel_accessor_storage; }
|
|
5388
5855
|
set expansionModel(value) { this.#expansionModel_accessor_storage = value; }
|
|
5856
|
+
scrollMode$;
|
|
5389
5857
|
constructor(injector) {
|
|
5390
5858
|
super(injector);
|
|
5859
|
+
const { chain } = Dsl.disposeWith(this);
|
|
5860
|
+
this.scrollMode$ = chain(this.enableScrolling$).map(enabled => enabled ? "classic" : "none");
|
|
5391
5861
|
}
|
|
5392
5862
|
ngOnInit() {
|
|
5393
5863
|
super.ngOnInit();
|
|
5864
|
+
const { when } = Dsl.disposeWith(this);
|
|
5394
5865
|
// TODO: clean up all this tightly coupled shit, should the expansion model really be separate from the tree model?
|
|
5395
5866
|
if (!this.expansionModel) {
|
|
5396
5867
|
this.expansionModel = new TreeExpansionModel({ disposedWith: this });
|
|
@@ -5400,6 +5871,8 @@ class TreeTableComponent extends AbstractTableComponent {
|
|
|
5400
5871
|
this._visibleRows$.setDelegate(visibleRows$);
|
|
5401
5872
|
this.expansionModel.bindToTable(this._dataSource$, visibleRows$);
|
|
5402
5873
|
this.treeTableModel.bindToTable(this.expansionModel, visibleRows$, this._visibleRows$);
|
|
5874
|
+
this.trackChangesAndMarkForCheck(this.treeTableModel.visibleRows$);
|
|
5875
|
+
this.trackChangesAndMarkForCheck(this.treeTableModel.visibleRows$);
|
|
5403
5876
|
}
|
|
5404
5877
|
getModel() {
|
|
5405
5878
|
return this.treeTableModel;
|
|
@@ -5407,7 +5880,7 @@ class TreeTableComponent extends AbstractTableComponent {
|
|
|
5407
5880
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TreeTableComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
5408
5881
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TreeTableComponent, selector: "aup-tree-table", inputs: { treeTableModel: "treeTableModel", expansionModel: "expansionModel" }, providers: [
|
|
5409
5882
|
{ provide: AbstractTableComponent, useExisting: TreeTableComponent }
|
|
5410
|
-
], usesInheritance: true, ngImport: i0, template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"treeTableModel\"\n [showHeader$]=\"showHeader$\"\n [
|
|
5883
|
+
], usesInheritance: true, ngImport: i0, template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"treeTableModel\"\n [showHeader$]=\"showHeader$\"\n [scrollMode$]=\"scrollMode$\"\n [aupHighlightTextModel]=\"highlightText$\"\n [trackBy]=\"trackBy\"\n></aup-table-body>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host::ng-deep td.mat-mdc-cell{border-top-width:0!important;border-bottom-width:0!important}:host::ng-deep td.mat-column-tree-label{width:1px}:host::ng-deep aup-table-cell-renderer[column-id=tree-label]{padding-left:8px!important}:host::ng-deep aup-tree-label-cell-renderer{flex:1}aup-table-body{flex:1}\n"], dependencies: [{ kind: "directive", type: HighlightTextModelDirective, selector: "[aupHighlightTextModel]", inputs: ["aupHighlightTextModel"] }, { kind: "component", type: TableBodyComponent, selector: "aup-table-body", inputs: ["data$", "tableModel", "footerRow", "showHeader$", "showHeader", "trackBy", "scrollMode$", "scrollMode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5411
5884
|
}
|
|
5412
5885
|
__decorate([
|
|
5413
5886
|
Proxify(),
|
|
@@ -5419,9 +5892,9 @@ __decorate([
|
|
|
5419
5892
|
], TreeTableComponent.prototype, "expansionModel", null);
|
|
5420
5893
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TreeTableComponent, decorators: [{
|
|
5421
5894
|
type: Component,
|
|
5422
|
-
args: [{ selector: 'aup-tree-table', providers: [
|
|
5895
|
+
args: [{ selector: 'aup-tree-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
5423
5896
|
{ provide: AbstractTableComponent, useExisting: TreeTableComponent }
|
|
5424
|
-
], template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"treeTableModel\"\n [showHeader$]=\"showHeader$\"\n [
|
|
5897
|
+
], template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"treeTableModel\"\n [showHeader$]=\"showHeader$\"\n [scrollMode$]=\"scrollMode$\"\n [aupHighlightTextModel]=\"highlightText$\"\n [trackBy]=\"trackBy\"\n></aup-table-body>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host::ng-deep td.mat-mdc-cell{border-top-width:0!important;border-bottom-width:0!important}:host::ng-deep td.mat-column-tree-label{width:1px}:host::ng-deep aup-table-cell-renderer[column-id=tree-label]{padding-left:8px!important}:host::ng-deep aup-tree-label-cell-renderer{flex:1}aup-table-body{flex:1}\n"] }]
|
|
5425
5898
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { treeTableModel: [{
|
|
5426
5899
|
type: Input
|
|
5427
5900
|
}], expansionModel: [{
|
|
@@ -5603,6 +6076,7 @@ class ComponentsModule {
|
|
|
5603
6076
|
FocusableComponent,
|
|
5604
6077
|
CardContainerComponent,
|
|
5605
6078
|
TableComponent,
|
|
6079
|
+
TableRowAttributesDirective,
|
|
5606
6080
|
EditRowControlsComponent,
|
|
5607
6081
|
ColumnTemplateDirective,
|
|
5608
6082
|
DefaultCellRendererComponent,
|
|
@@ -5636,7 +6110,9 @@ class ComponentsModule {
|
|
|
5636
6110
|
MarkdownComponent,
|
|
5637
6111
|
TableBodyComponent,
|
|
5638
6112
|
TableMoreMenuComponent,
|
|
5639
|
-
TableMoreMenuPopupComponent
|
|
6113
|
+
TableMoreMenuPopupComponent,
|
|
6114
|
+
SearchInputComponent,
|
|
6115
|
+
TableFooterRow], imports: [CommonModule,
|
|
5640
6116
|
BrowserAnimationsModule,
|
|
5641
6117
|
FormsModule,
|
|
5642
6118
|
MatInputModule,
|
|
@@ -5655,7 +6131,10 @@ class ComponentsModule {
|
|
|
5655
6131
|
MatMenuModule,
|
|
5656
6132
|
MatDividerModule,
|
|
5657
6133
|
MatProgressSpinnerModule,
|
|
5658
|
-
MatProgressBarModule
|
|
6134
|
+
MatProgressBarModule,
|
|
6135
|
+
ScrollingModule,
|
|
6136
|
+
TableVirtualScrollModule], exports: [TableFooterRow,
|
|
6137
|
+
NumberInputComponent,
|
|
5659
6138
|
StringInputComponent,
|
|
5660
6139
|
TextInputComponent,
|
|
5661
6140
|
PasswordInputComponent,
|
|
@@ -5693,7 +6172,8 @@ class ComponentsModule {
|
|
|
5693
6172
|
LoadingContainerComponent,
|
|
5694
6173
|
MarkdownComponent,
|
|
5695
6174
|
TableMoreMenuComponent,
|
|
5696
|
-
TableMoreMenuPopupComponent
|
|
6175
|
+
TableMoreMenuPopupComponent,
|
|
6176
|
+
SearchInputComponent] });
|
|
5697
6177
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ComponentsModule, providers: [
|
|
5698
6178
|
FocusBindingFactory,
|
|
5699
6179
|
MarkdownService
|
|
@@ -5716,7 +6196,9 @@ class ComponentsModule {
|
|
|
5716
6196
|
MatMenuModule,
|
|
5717
6197
|
MatDividerModule,
|
|
5718
6198
|
MatProgressSpinnerModule,
|
|
5719
|
-
MatProgressBarModule
|
|
6199
|
+
MatProgressBarModule,
|
|
6200
|
+
ScrollingModule,
|
|
6201
|
+
TableVirtualScrollModule] });
|
|
5720
6202
|
}
|
|
5721
6203
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ComponentsModule, decorators: [{
|
|
5722
6204
|
type: NgModule,
|
|
@@ -5741,7 +6223,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
5741
6223
|
MatMenuModule,
|
|
5742
6224
|
MatDividerModule,
|
|
5743
6225
|
MatProgressSpinnerModule,
|
|
5744
|
-
MatProgressBarModule
|
|
6226
|
+
MatProgressBarModule,
|
|
6227
|
+
ScrollingModule,
|
|
6228
|
+
TableVirtualScrollModule
|
|
5745
6229
|
],
|
|
5746
6230
|
declarations: [
|
|
5747
6231
|
AbstractInputComponent,
|
|
@@ -5765,6 +6249,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
5765
6249
|
FocusableComponent,
|
|
5766
6250
|
CardContainerComponent,
|
|
5767
6251
|
TableComponent,
|
|
6252
|
+
TableRowAttributesDirective,
|
|
5768
6253
|
EditRowControlsComponent,
|
|
5769
6254
|
ColumnTemplateDirective,
|
|
5770
6255
|
DefaultCellRendererComponent,
|
|
@@ -5799,8 +6284,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
5799
6284
|
TableBodyComponent,
|
|
5800
6285
|
TableMoreMenuComponent,
|
|
5801
6286
|
TableMoreMenuPopupComponent,
|
|
6287
|
+
SearchInputComponent,
|
|
6288
|
+
TableFooterRow
|
|
5802
6289
|
],
|
|
5803
6290
|
exports: [
|
|
6291
|
+
TableFooterRow,
|
|
5804
6292
|
NumberInputComponent,
|
|
5805
6293
|
StringInputComponent,
|
|
5806
6294
|
TextInputComponent,
|
|
@@ -5840,6 +6328,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
5840
6328
|
MarkdownComponent,
|
|
5841
6329
|
TableMoreMenuComponent,
|
|
5842
6330
|
TableMoreMenuPopupComponent,
|
|
6331
|
+
SearchInputComponent
|
|
5843
6332
|
],
|
|
5844
6333
|
providers: [
|
|
5845
6334
|
FocusBindingFactory,
|
|
@@ -5848,6 +6337,67 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
5848
6337
|
}]
|
|
5849
6338
|
}] });
|
|
5850
6339
|
|
|
6340
|
+
class LoadableComponent extends DisposableComponent {
|
|
6341
|
+
#_loaded$ = new MutableValueModel();
|
|
6342
|
+
#asyncLoadables = [];
|
|
6343
|
+
#awaitedLoadables = [];
|
|
6344
|
+
get loaded$() {
|
|
6345
|
+
return this.#_loaded$.readonly$;
|
|
6346
|
+
}
|
|
6347
|
+
ngOnInit() {
|
|
6348
|
+
super.ngOnInit();
|
|
6349
|
+
this.#asyncLoadables.forEach(it => it.ensureLoaded());
|
|
6350
|
+
if (this.#awaitedLoadables.length > 0) {
|
|
6351
|
+
Promise.all(this.#awaitedLoadables.map(it => {
|
|
6352
|
+
return it.ensureLoaded(); //.then(() => console.log(`${it.constructor.name} loaded`));
|
|
6353
|
+
})).then(() => {
|
|
6354
|
+
this.#_loaded$.value = true;
|
|
6355
|
+
});
|
|
6356
|
+
}
|
|
6357
|
+
else {
|
|
6358
|
+
this.#_loaded$.value = true;
|
|
6359
|
+
}
|
|
6360
|
+
}
|
|
6361
|
+
injectLoadable(token, options) {
|
|
6362
|
+
return this.registerLoadable(inject(token), options);
|
|
6363
|
+
}
|
|
6364
|
+
registerLoadable(loadable, options) {
|
|
6365
|
+
if (this.loaded$.value) {
|
|
6366
|
+
loadable.ensureLoaded();
|
|
6367
|
+
}
|
|
6368
|
+
else {
|
|
6369
|
+
if (!options || options.wait === true) {
|
|
6370
|
+
this.#awaitedLoadables.push(loadable);
|
|
6371
|
+
}
|
|
6372
|
+
else {
|
|
6373
|
+
this.#asyncLoadables.push(loadable);
|
|
6374
|
+
}
|
|
6375
|
+
}
|
|
6376
|
+
return loadable;
|
|
6377
|
+
}
|
|
6378
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: LoadableComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
6379
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: LoadableComponent, usesInheritance: true, ngImport: i0 });
|
|
6380
|
+
}
|
|
6381
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: LoadableComponent, decorators: [{
|
|
6382
|
+
type: Directive
|
|
6383
|
+
}] });
|
|
6384
|
+
|
|
6385
|
+
class TextSearchContext {
|
|
6386
|
+
row;
|
|
6387
|
+
searchText;
|
|
6388
|
+
searchRegex;
|
|
6389
|
+
constructor(row, searchText, searchRegex) {
|
|
6390
|
+
this.row = row;
|
|
6391
|
+
this.searchText = searchText;
|
|
6392
|
+
this.searchRegex = searchRegex;
|
|
6393
|
+
}
|
|
6394
|
+
getOrCreate(type, create) {
|
|
6395
|
+
}
|
|
6396
|
+
matchesText(text) {
|
|
6397
|
+
return this.searchRegex.test(text);
|
|
6398
|
+
}
|
|
6399
|
+
}
|
|
6400
|
+
|
|
5851
6401
|
/**
|
|
5852
6402
|
* @file Automatically generated by barrelsby.
|
|
5853
6403
|
*/
|
|
@@ -5874,7 +6424,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
5874
6424
|
* </aup-activity-actions>
|
|
5875
6425
|
*/
|
|
5876
6426
|
class ActivityActionsComponent extends DisposableComponent {
|
|
5877
|
-
cdr;
|
|
5878
6427
|
confirmCommandComponent;
|
|
5879
6428
|
cancelCommandComponent;
|
|
5880
6429
|
#confirmCommand_accessor_storage = proxify((Command));
|
|
@@ -5903,9 +6452,9 @@ class ActivityActionsComponent extends DisposableComponent {
|
|
|
5903
6452
|
}
|
|
5904
6453
|
layout = ActivityActionsComponent.Layout.BLOCK;
|
|
5905
6454
|
align = ActivityActionsComponent.Align.STRETCH;
|
|
5906
|
-
|
|
6455
|
+
alignContent = ActivityActionsComponent.AlignContent.CENTER;
|
|
6456
|
+
constructor() {
|
|
5907
6457
|
super();
|
|
5908
|
-
this.cdr = cdr;
|
|
5909
6458
|
}
|
|
5910
6459
|
hasConfirmFace() {
|
|
5911
6460
|
return !!this.confirmFace;
|
|
@@ -5924,8 +6473,8 @@ class ActivityActionsComponent extends DisposableComponent {
|
|
|
5924
6473
|
focusCancel() {
|
|
5925
6474
|
this.cancelCommandComponent.requestFocus();
|
|
5926
6475
|
}
|
|
5927
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityActionsComponent, deps: [
|
|
5928
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", 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=\"
|
|
6476
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6477
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ActivityActionsComponent, selector: "aup-activity-actions", inputs: { confirmCommand: "confirmCommand", cancelCommand: "cancelCommand", faces: "faces", confirmFace: "confirmFace", cancelFace: "cancelFace", style: "style", layout: "layout", align: "align", alignContent: "alignContent" }, host: { properties: { "attr.layout": "this.layout", "attr.align": "this.align", "attr.align-content": "this.alignContent" } }, 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=\"hasCancelFace()\">\n <aup-command #cancelCommandComponent class=\"cancel\" [command]=\"cancelCommand\" [face]=\"cancelFace\" data-cy=\"cancel-command\"></aup-command>\n</ng-container>\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", styles: [":host{display:grid;grid-template-rows:auto;align-items:center;justify-content:end;--resolved-activity-actions-gap: var(--activity-actions-gap, 8px);grid-gap:var(--resolved-activity-actions-gap)}: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)}:host .cancel{grid-area:cancel}:host .confirm{grid-area:confirm}:host .content{display:flex;flex-direction:row;align-items:center}:host[align-content=start] .content{justify-items:start}:host[align-content=end]{justify-items:end}:host[align-content=center]{justify-items:center}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CommandComponent, selector: "aup-command", inputs: ["command", "face$", "face", "busyFace$", "busyFace", "alignFace"] }] });
|
|
5929
6478
|
}
|
|
5930
6479
|
__decorate([
|
|
5931
6480
|
Proxify(),
|
|
@@ -5937,8 +6486,8 @@ __decorate([
|
|
|
5937
6486
|
], ActivityActionsComponent.prototype, "cancelCommand", null);
|
|
5938
6487
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityActionsComponent, decorators: [{
|
|
5939
6488
|
type: Component,
|
|
5940
|
-
args: [{ selector: 'aup-activity-actions', template: "<div class=\"content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"
|
|
5941
|
-
}], ctorParameters: function () { return [
|
|
6489
|
+
args: [{ selector: 'aup-activity-actions', template: "<div class=\"content\">\n <ng-content></ng-content>\n</div>\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<ng-container *ngIf=\"hasConfirmFace()\">\n <aup-command #confirmCommandComponent class=\"confirm\" [command]=\"confirmCommand\" [face]=\"confirmFace\" data-cy=\"confirm-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);grid-gap:var(--resolved-activity-actions-gap)}: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)}:host .cancel{grid-area:cancel}:host .confirm{grid-area:confirm}:host .content{display:flex;flex-direction:row;align-items:center}:host[align-content=start] .content{justify-items:start}:host[align-content=end]{justify-items:end}:host[align-content=center]{justify-items:center}\n"] }]
|
|
6490
|
+
}], ctorParameters: function () { return []; }, propDecorators: { confirmCommandComponent: [{
|
|
5942
6491
|
type: ViewChild,
|
|
5943
6492
|
args: ["confirmCommandComponent"]
|
|
5944
6493
|
}], cancelCommandComponent: [{
|
|
@@ -5966,6 +6515,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
5966
6515
|
}, {
|
|
5967
6516
|
type: HostBinding,
|
|
5968
6517
|
args: ['attr.align']
|
|
6518
|
+
}], alignContent: [{
|
|
6519
|
+
type: Input
|
|
6520
|
+
}, {
|
|
6521
|
+
type: HostBinding,
|
|
6522
|
+
args: ['attr.align-content']
|
|
5969
6523
|
}] } });
|
|
5970
6524
|
(function (ActivityActionsComponent) {
|
|
5971
6525
|
ActivityActionsComponent.Layout = Enum({
|
|
@@ -5974,14 +6528,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
5974
6528
|
});
|
|
5975
6529
|
ActivityActionsComponent.Align = Enum({
|
|
5976
6530
|
START: 'start',
|
|
5977
|
-
|
|
5978
|
-
|
|
6531
|
+
STRETCH: 'stretch',
|
|
6532
|
+
END: 'end'
|
|
6533
|
+
});
|
|
6534
|
+
ActivityActionsComponent.AlignContent = Enum({
|
|
6535
|
+
START: 'start',
|
|
6536
|
+
CENTER: 'center',
|
|
6537
|
+
END: 'end'
|
|
5979
6538
|
});
|
|
5980
6539
|
})(ActivityActionsComponent || (ActivityActionsComponent = {}));
|
|
5981
6540
|
|
|
5982
6541
|
const ACTIVITY_DATA = new InjectionToken("InteractionActivityData");
|
|
5983
6542
|
// eslint-disable-next-line @angular-eslint/component-class-suffix
|
|
5984
|
-
class Activity extends
|
|
6543
|
+
class Activity extends LoadableComponent {
|
|
5985
6544
|
activityData = inject(ACTIVITY_DATA);
|
|
5986
6545
|
activityReadyListeners = new EventListenerList();
|
|
5987
6546
|
_busy$ = this.registerDisposable(new DelegatingValueModel().withDefault(false));
|
|
@@ -6036,7 +6595,6 @@ class Activity extends DisposableComponent {
|
|
|
6036
6595
|
notifyActivityReady() {
|
|
6037
6596
|
this.activityReadyListeners.fire(l => l(this));
|
|
6038
6597
|
this._ready$.value = true;
|
|
6039
|
-
console.log("ready");
|
|
6040
6598
|
}
|
|
6041
6599
|
onActivityReady(callback) {
|
|
6042
6600
|
return this.activityReadyListeners.add(callback);
|
|
@@ -6156,7 +6714,7 @@ class AbstractDialogComponent extends Activity {
|
|
|
6156
6714
|
}
|
|
6157
6715
|
}
|
|
6158
6716
|
isDestructive() {
|
|
6159
|
-
return isFunction
|
|
6717
|
+
return isFunction(this.config['destructive']) && this.config["destructive"]();
|
|
6160
6718
|
}
|
|
6161
6719
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractDialogComponent, deps: [{ token: ALERT_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
6162
6720
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
@@ -6173,6 +6731,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6173
6731
|
|
|
6174
6732
|
class AbstractConfirmDialogComponent extends AbstractDialogComponent {
|
|
6175
6733
|
cancelFace;
|
|
6734
|
+
confirmClass = "aup-confirm-activity";
|
|
6176
6735
|
constructor(config) {
|
|
6177
6736
|
super(config);
|
|
6178
6737
|
this.cancelFace = {
|
|
@@ -6183,7 +6742,7 @@ class AbstractConfirmDialogComponent extends AbstractDialogComponent {
|
|
|
6183
6742
|
});
|
|
6184
6743
|
}
|
|
6185
6744
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractConfirmDialogComponent, deps: [{ token: ALERT_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
6186
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractConfirmDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
6745
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractConfirmDialogComponent, selector: "ng-component", host: { properties: { "class": "this.confirmClass" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
6187
6746
|
}
|
|
6188
6747
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractConfirmDialogComponent, decorators: [{
|
|
6189
6748
|
type: Component,
|
|
@@ -6193,7 +6752,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6193
6752
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
6194
6753
|
type: Inject,
|
|
6195
6754
|
args: [ALERT_CONFIG]
|
|
6196
|
-
}] }]; }
|
|
6755
|
+
}] }]; }, propDecorators: { confirmClass: [{
|
|
6756
|
+
type: HostBinding,
|
|
6757
|
+
args: ["class"]
|
|
6758
|
+
}] } });
|
|
6197
6759
|
|
|
6198
6760
|
class ActivityBodyComponent extends DisposableComponent {
|
|
6199
6761
|
fullWidth = false;
|
|
@@ -6732,7 +7294,7 @@ const ROUTE_PARAMETER_LIST_KEY = Symbol('place:route:parameters');
|
|
|
6732
7294
|
// return true;
|
|
6733
7295
|
// }
|
|
6734
7296
|
// }
|
|
6735
|
-
class PlaceComponent extends
|
|
7297
|
+
class PlaceComponent extends LoadableComponent {
|
|
6736
7298
|
_placeReadyCallbacks = [];
|
|
6737
7299
|
visitModel = new MutableValueModel();
|
|
6738
7300
|
_inVisitUpdate = new Guard();
|
|
@@ -6789,6 +7351,7 @@ class PlaceComponent extends DisposableComponent {
|
|
|
6789
7351
|
*/
|
|
6790
7352
|
installAndInitialiseBinding(initialVisit, parameterDef) {
|
|
6791
7353
|
const model = this[parameterDef.propertyName];
|
|
7354
|
+
assert.notNil(model);
|
|
6792
7355
|
DebugContext.tag(model, `${this.placeDefinition.component.name}.${parameterDef.propertyName}`);
|
|
6793
7356
|
const binding = this.registerDisposable(new Binding(this.visitModel, model, {
|
|
6794
7357
|
toRight(visit) {
|
|
@@ -6873,7 +7436,7 @@ class PlaceComponent extends DisposableComponent {
|
|
|
6873
7436
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: PlaceComponent, usesInheritance: true, ngImport: i0 });
|
|
6874
7437
|
}
|
|
6875
7438
|
__decorate([
|
|
6876
|
-
|
|
7439
|
+
MemoizeGet(),
|
|
6877
7440
|
__metadata("design:type", PlaceDefinition),
|
|
6878
7441
|
__metadata("design:paramtypes", [])
|
|
6879
7442
|
], PlaceComponent.prototype, "placeDefinition", null);
|
|
@@ -7063,7 +7626,7 @@ class Visit {
|
|
|
7063
7626
|
getRouterCommands() {
|
|
7064
7627
|
return this.segments.reduce((result, v) => {
|
|
7065
7628
|
const path = v.placeDefinition.path;
|
|
7066
|
-
return isEmpty
|
|
7629
|
+
return isEmpty(path) ?
|
|
7067
7630
|
[...result, path] : // Angular doesn't support route params on empty path segments
|
|
7068
7631
|
[...result, path, ...v.createRouterCommands()];
|
|
7069
7632
|
}, []);
|
|
@@ -7079,7 +7642,7 @@ class Visit {
|
|
|
7079
7642
|
}
|
|
7080
7643
|
}
|
|
7081
7644
|
__decorate([
|
|
7082
|
-
Memoize
|
|
7645
|
+
Memoize(),
|
|
7083
7646
|
__metadata("design:type", Function),
|
|
7084
7647
|
__metadata("design:paramtypes", [PlaceDefinition]),
|
|
7085
7648
|
__metadata("design:returntype", VisitSegment)
|
|
@@ -7460,10 +8023,7 @@ class SynchroniseInteractionContextIdsWithRoute extends NavigationSession {
|
|
|
7460
8023
|
return true;
|
|
7461
8024
|
}
|
|
7462
8025
|
notifyActive() {
|
|
7463
|
-
|
|
7464
|
-
setTimeout(() => {
|
|
7465
|
-
this.syncInteractionIdsWithRouter();
|
|
7466
|
-
});
|
|
8026
|
+
this.syncInteractionIdsWithRouter();
|
|
7467
8027
|
}
|
|
7468
8028
|
// @Trace()
|
|
7469
8029
|
onRouterEnd(event) {
|
|
@@ -8206,7 +8766,7 @@ class ConsolidatedParameterMap {
|
|
|
8206
8766
|
}
|
|
8207
8767
|
}
|
|
8208
8768
|
__decorate([
|
|
8209
|
-
|
|
8769
|
+
MemoizeGet(),
|
|
8210
8770
|
__metadata("design:type", Array),
|
|
8211
8771
|
__metadata("design:paramtypes", [])
|
|
8212
8772
|
], ConsolidatedParameterMap.prototype, "keys", null);
|
|
@@ -8284,7 +8844,7 @@ class UrlSnapshot {
|
|
|
8284
8844
|
return this.getPrimaryUrlSegments().find(s => s.path === placeDef.path);
|
|
8285
8845
|
}
|
|
8286
8846
|
isLastPlaceInUrl(placeDef) {
|
|
8287
|
-
return last
|
|
8847
|
+
return last(this.getPrimaryUrlSegments()).path === placeDef.path;
|
|
8288
8848
|
}
|
|
8289
8849
|
createVisitSegmentFor(placeDef) {
|
|
8290
8850
|
return new VisitSegment(placeDef, new ConsolidatedParameterMap(this.getPrimaryUrlSegments()));
|
|
@@ -8400,7 +8960,7 @@ class UrlService {
|
|
|
8400
8960
|
back() {
|
|
8401
8961
|
this.angularLocation.back();
|
|
8402
8962
|
}
|
|
8403
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UrlService, deps: [{ token: i1$
|
|
8963
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UrlService, deps: [{ token: i1$5.Router }, { token: i1$1.Location }, { token: i1$5.UrlSerializer }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
8404
8964
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UrlService, providedIn: 'root' });
|
|
8405
8965
|
}
|
|
8406
8966
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UrlService, decorators: [{
|
|
@@ -8408,7 +8968,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
8408
8968
|
args: [{
|
|
8409
8969
|
providedIn: 'root'
|
|
8410
8970
|
}]
|
|
8411
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
8971
|
+
}], ctorParameters: function () { return [{ type: i1$5.Router }, { type: i1$1.Location }, { type: i1$5.UrlSerializer }]; } });
|
|
8412
8972
|
|
|
8413
8973
|
// function asArray<T>(item: T | T[]): T[] {
|
|
8414
8974
|
// return Array.isArray(item) ? item : [item];
|
|
@@ -8428,6 +8988,8 @@ class PlaceRouter extends GarbageCollector {
|
|
|
8428
8988
|
routerInteractionAdapter;
|
|
8429
8989
|
sessionFinishedJobs = [];
|
|
8430
8990
|
authService = new PlaceAuthService();
|
|
8991
|
+
_ready$ = this.registerDisposable(new DelegatingValueModel().withDefault(true));
|
|
8992
|
+
ready$ = this._ready$.readonly$;
|
|
8431
8993
|
constructor(angularRouter, angularLocation, interactionService, urlService, placeHistory) {
|
|
8432
8994
|
super();
|
|
8433
8995
|
this.angularRouter = angularRouter;
|
|
@@ -8449,7 +9011,7 @@ class PlaceRouter extends GarbageCollector {
|
|
|
8449
9011
|
});
|
|
8450
9012
|
const { chain } = Dsl.disposeWith(this);
|
|
8451
9013
|
this.navigationInProgress$ = chain(this.navigationSession$).isNotNil();
|
|
8452
|
-
this.interactionSyncInProgress$ = chain(this.navigationSession$).pluck("isInteractionSync");
|
|
9014
|
+
this.interactionSyncInProgress$ = chain(this.navigationSession$).pluck("isInteractionSync").otherwise(false);
|
|
8453
9015
|
const idleStateName = chain(this.interactionService.active).map(active => active ? "IdleDuringInteraction" : "Idle");
|
|
8454
9016
|
this.navigationSessionName$ = chain(this.navigationSession$)
|
|
8455
9017
|
.pluck("name")
|
|
@@ -8493,6 +9055,9 @@ class PlaceRouter extends GarbageCollector {
|
|
|
8493
9055
|
// the back button was clicked.
|
|
8494
9056
|
angularLocation.onUrlChange(url => this.onUrlChanged(url));
|
|
8495
9057
|
}
|
|
9058
|
+
postponeRoutingUntil(condition$) {
|
|
9059
|
+
this._ready$.setDelegate(condition$);
|
|
9060
|
+
}
|
|
8496
9061
|
getAuthenticationFailureRedirect(activatedRoute, state) {
|
|
8497
9062
|
return this.authService.getAuthenticationFailureRedirect(activatedRoute, state);
|
|
8498
9063
|
}
|
|
@@ -8508,23 +9073,20 @@ class PlaceRouter extends GarbageCollector {
|
|
|
8508
9073
|
isNavigating() {
|
|
8509
9074
|
return this.navigationInProgress$.value;
|
|
8510
9075
|
}
|
|
8511
|
-
|
|
8512
|
-
const {
|
|
8513
|
-
|
|
8514
|
-
|
|
8515
|
-
|
|
8516
|
-
|
|
8517
|
-
|
|
8518
|
-
|
|
9076
|
+
async waitUntilRouterReady() {
|
|
9077
|
+
const { waitUntil } = Dsl.disposeWith(this);
|
|
9078
|
+
await waitUntil(this.ready$).becomesTruthy();
|
|
9079
|
+
return this;
|
|
9080
|
+
}
|
|
9081
|
+
async waitUntilIdle() {
|
|
9082
|
+
const { waitUntil } = Dsl.disposeWith(this);
|
|
9083
|
+
await waitUntil(this.navigationInProgress$).becomesFalsey();
|
|
9084
|
+
return this;
|
|
8519
9085
|
}
|
|
8520
9086
|
async waitActivitiesSynchronised() {
|
|
8521
|
-
const {
|
|
8522
|
-
|
|
8523
|
-
|
|
8524
|
-
initialValue: "evaluate",
|
|
8525
|
-
once: true
|
|
8526
|
-
});
|
|
8527
|
-
});
|
|
9087
|
+
const { waitUntil } = Dsl.disposeWith(this);
|
|
9088
|
+
await waitUntil(this.interactionSyncInProgress$).becomesFalsey();
|
|
9089
|
+
return this;
|
|
8528
9090
|
}
|
|
8529
9091
|
// @Trace()
|
|
8530
9092
|
onPopState(event) {
|
|
@@ -8710,7 +9272,7 @@ class PlaceRouter extends GarbageCollector {
|
|
|
8710
9272
|
return Visit.goto(visitOrPlaceComponent, params);
|
|
8711
9273
|
}
|
|
8712
9274
|
}
|
|
8713
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceRouter, deps: [{ token: i1$
|
|
9275
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceRouter, deps: [{ token: i1$5.Router }, { token: i1$1.Location }, { token: InteractionService }, { token: UrlService }, { token: PlaceHistory }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
8714
9276
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceRouter, providedIn: "root" });
|
|
8715
9277
|
}
|
|
8716
9278
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceRouter, decorators: [{
|
|
@@ -8718,7 +9280,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
8718
9280
|
args: [{
|
|
8719
9281
|
providedIn: "root"
|
|
8720
9282
|
}]
|
|
8721
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
9283
|
+
}], ctorParameters: function () { return [{ type: i1$5.Router }, { type: i1$1.Location }, { type: InteractionService }, { type: UrlService }, { type: PlaceHistory }]; } });
|
|
8722
9284
|
|
|
8723
9285
|
class ActivityTitleComponent extends DisposableComponent {
|
|
8724
9286
|
_color;
|
|
@@ -8740,11 +9302,11 @@ class ActivityTitleComponent extends DisposableComponent {
|
|
|
8740
9302
|
return this._color;
|
|
8741
9303
|
}
|
|
8742
9304
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityTitleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
8743
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ActivityTitleComponent, selector: "aup-activity-title", inputs: { hasTransparentBackground: "hasTransparentBackground", color: "color" }, host: { properties: { "class.transparent-background": "this.hasTransparentBackground", "attr.color": "this.color" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:
|
|
9305
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ActivityTitleComponent, selector: "aup-activity-title", inputs: { hasTransparentBackground: "hasTransparentBackground", color: "color" }, host: { properties: { "class.transparent-background": "this.hasTransparentBackground", "attr.color": "this.color" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span style=\"flex:1\"></span>\n<ng-content select=\"[slot='title-end']\"></ng-content>\n", styles: [":host{display:flex;flex-direction:row;align-items:center}\n"] });
|
|
8744
9306
|
}
|
|
8745
9307
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityTitleComponent, decorators: [{
|
|
8746
9308
|
type: Component,
|
|
8747
|
-
args: [{ selector: 'aup-activity-title', template: "<ng-content></ng-content>\n", styles: [":host{display:
|
|
9309
|
+
args: [{ selector: 'aup-activity-title', template: "<ng-content></ng-content>\n<span style=\"flex:1\"></span>\n<ng-content select=\"[slot='title-end']\"></ng-content>\n", styles: [":host{display:flex;flex-direction:row;align-items:center}\n"] }]
|
|
8748
9310
|
}], propDecorators: { hasTransparentBackground: [{
|
|
8749
9311
|
type: Input
|
|
8750
9312
|
}, {
|
|
@@ -8765,7 +9327,7 @@ class AlertDialogComponent extends AbstractDialogComponent {
|
|
|
8765
9327
|
});
|
|
8766
9328
|
}
|
|
8767
9329
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AlertDialogComponent, deps: [{ token: ACTIVITY_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
8768
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AlertDialogComponent, selector: "aup-alert-dialog", usesInheritance: true, ngImport: i0, template: "<aup-activity-title *ngIf=\"title\" [color]=\"color\"><aup-markdown [content]=\"title\" [inline]=\"true\"></aup-markdown></aup-activity-title>\n<aup-activity-body>\n <aup-markdown *ngFor=\"let line of content\" [content]=\"line\"></aup-markdown>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\"></aup-activity-actions>\n", styles: [":host{display:block}.mat-mdc-dialog-content{margin:0;padding:0}.mat-mdc-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MarkdownComponent, selector: "aup-markdown, [aupMarkdown]", inputs: ["content$", "content", "inline"] }, { kind: "component", type: ActivityActionsComponent, selector: "aup-activity-actions", inputs: ["confirmCommand", "cancelCommand", "faces", "confirmFace", "cancelFace", "style", "layout", "align"] }, { kind: "component", type: ActivityTitleComponent, selector: "aup-activity-title", inputs: ["hasTransparentBackground", "color"] }, { kind: "component", type: ActivityBodyComponent, selector: "aup-activity-body", inputs: ["fullWidth"] }] });
|
|
9330
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AlertDialogComponent, selector: "aup-alert-dialog", usesInheritance: true, ngImport: i0, template: "<aup-activity-title *ngIf=\"title\" [color]=\"color\"><aup-markdown [content]=\"title\" [inline]=\"true\"></aup-markdown></aup-activity-title>\n<aup-activity-body>\n <aup-markdown *ngFor=\"let line of content\" [content]=\"line\"></aup-markdown>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\"></aup-activity-actions>\n", styles: [":host{display:block}.mat-mdc-dialog-content{margin:0;padding:0}.mat-mdc-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MarkdownComponent, selector: "aup-markdown, [aupMarkdown]", inputs: ["content$", "content", "inline"] }, { kind: "component", type: ActivityActionsComponent, selector: "aup-activity-actions", inputs: ["confirmCommand", "cancelCommand", "faces", "confirmFace", "cancelFace", "style", "layout", "align", "alignContent"] }, { kind: "component", type: ActivityTitleComponent, selector: "aup-activity-title", inputs: ["hasTransparentBackground", "color"] }, { kind: "component", type: ActivityBodyComponent, selector: "aup-activity-body", inputs: ["fullWidth"] }] });
|
|
8769
9331
|
}
|
|
8770
9332
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AlertDialogComponent, decorators: [{
|
|
8771
9333
|
type: Component,
|
|
@@ -8785,7 +9347,7 @@ class ConfirmThenDialogComponent extends AbstractConfirmDialogComponent {
|
|
|
8785
9347
|
});
|
|
8786
9348
|
}
|
|
8787
9349
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ConfirmThenDialogComponent, deps: [{ token: ACTIVITY_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
8788
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ConfirmThenDialogComponent, selector: "aup-confirmation-then-dialog", usesInheritance: true, ngImport: i0, template: "<aup-activity-title *ngIf=\"title\" [color]=\"color\"><aup-markdown [content]=\"title\" [inline]=\"true\"></aup-markdown></aup-activity-title>\n<aup-activity-body>\n <aup-markdown *ngFor=\"let line of content\" [content]=\"line\"></aup-markdown>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\" [cancelFace]=\"cancelFace\"></aup-activity-actions>\n", styles: [":host{display:block}.mat-mdc-dialog-content{margin:0;padding:0}.mat-mdc-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MarkdownComponent, selector: "aup-markdown, [aupMarkdown]", inputs: ["content$", "content", "inline"] }, { kind: "component", type: ActivityActionsComponent, selector: "aup-activity-actions", inputs: ["confirmCommand", "cancelCommand", "faces", "confirmFace", "cancelFace", "style", "layout", "align"] }, { kind: "component", type: ActivityTitleComponent, selector: "aup-activity-title", inputs: ["hasTransparentBackground", "color"] }, { kind: "component", type: ActivityBodyComponent, selector: "aup-activity-body", inputs: ["fullWidth"] }] });
|
|
9350
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ConfirmThenDialogComponent, selector: "aup-confirmation-then-dialog", usesInheritance: true, ngImport: i0, template: "<aup-activity-title *ngIf=\"title\" [color]=\"color\"><aup-markdown [content]=\"title\" [inline]=\"true\"></aup-markdown></aup-activity-title>\n<aup-activity-body>\n <aup-markdown *ngFor=\"let line of content\" [content]=\"line\"></aup-markdown>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\" [cancelFace]=\"cancelFace\"></aup-activity-actions>\n", styles: [":host{display:block}.mat-mdc-dialog-content{margin:0;padding:0}.mat-mdc-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MarkdownComponent, selector: "aup-markdown, [aupMarkdown]", inputs: ["content$", "content", "inline"] }, { kind: "component", type: ActivityActionsComponent, selector: "aup-activity-actions", inputs: ["confirmCommand", "cancelCommand", "faces", "confirmFace", "cancelFace", "style", "layout", "align", "alignContent"] }, { kind: "component", type: ActivityTitleComponent, selector: "aup-activity-title", inputs: ["hasTransparentBackground", "color"] }, { kind: "component", type: ActivityBodyComponent, selector: "aup-activity-body", inputs: ["fullWidth"] }] });
|
|
8789
9351
|
}
|
|
8790
9352
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ConfirmThenDialogComponent, decorators: [{
|
|
8791
9353
|
type: Component,
|
|
@@ -8809,7 +9371,7 @@ class ConfirmThenExecuteDialogComponent extends AbstractConfirmDialogComponent {
|
|
|
8809
9371
|
});
|
|
8810
9372
|
}
|
|
8811
9373
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ConfirmThenExecuteDialogComponent, deps: [{ token: ACTIVITY_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
8812
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ConfirmThenExecuteDialogComponent, selector: "aup-confirmation-execute-dialog", usesInheritance: true, ngImport: i0, template: "<aup-activity-title *ngIf=\"title\" [color]=\"color\"><aup-markdown [content]=\"title\" [inline]=\"true\"></aup-markdown></aup-activity-title>\n<aup-activity-body>\n <aup-markdown *ngFor=\"let line of content\" [content]=\"line\"></aup-markdown>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\" [cancelFace]=\"cancelFace\"></aup-activity-actions>\n", styles: [":host{display:block}.mat-mdc-dialog-content{margin:0;padding:0}.mat-mdc-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MarkdownComponent, selector: "aup-markdown, [aupMarkdown]", inputs: ["content$", "content", "inline"] }, { kind: "component", type: ActivityActionsComponent, selector: "aup-activity-actions", inputs: ["confirmCommand", "cancelCommand", "faces", "confirmFace", "cancelFace", "style", "layout", "align"] }, { kind: "component", type: ActivityTitleComponent, selector: "aup-activity-title", inputs: ["hasTransparentBackground", "color"] }, { kind: "component", type: ActivityBodyComponent, selector: "aup-activity-body", inputs: ["fullWidth"] }] });
|
|
9374
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ConfirmThenExecuteDialogComponent, selector: "aup-confirmation-execute-dialog", usesInheritance: true, ngImport: i0, template: "<aup-activity-title *ngIf=\"title\" [color]=\"color\"><aup-markdown [content]=\"title\" [inline]=\"true\"></aup-markdown></aup-activity-title>\n<aup-activity-body>\n <aup-markdown *ngFor=\"let line of content\" [content]=\"line\"></aup-markdown>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\" [cancelFace]=\"cancelFace\"></aup-activity-actions>\n", styles: [":host{display:block}.mat-mdc-dialog-content{margin:0;padding:0}.mat-mdc-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MarkdownComponent, selector: "aup-markdown, [aupMarkdown]", inputs: ["content$", "content", "inline"] }, { kind: "component", type: ActivityActionsComponent, selector: "aup-activity-actions", inputs: ["confirmCommand", "cancelCommand", "faces", "confirmFace", "cancelFace", "style", "layout", "align", "alignContent"] }, { kind: "component", type: ActivityTitleComponent, selector: "aup-activity-title", inputs: ["hasTransparentBackground", "color"] }, { kind: "component", type: ActivityBodyComponent, selector: "aup-activity-body", inputs: ["fullWidth"] }] });
|
|
8813
9375
|
}
|
|
8814
9376
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ConfirmThenExecuteDialogComponent, decorators: [{
|
|
8815
9377
|
type: Component,
|
|
@@ -8829,7 +9391,7 @@ class ConfirmationDialogComponent extends AbstractConfirmDialogComponent {
|
|
|
8829
9391
|
});
|
|
8830
9392
|
}
|
|
8831
9393
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ConfirmationDialogComponent, deps: [{ token: ACTIVITY_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
8832
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ConfirmationDialogComponent, selector: "aup-confirmation-dialog", usesInheritance: true, ngImport: i0, template: "<aup-activity-title *ngIf=\"title\" [color]=\"color\"><aup-markdown [content]=\"title\" [inline]=\"true\"></aup-markdown></aup-activity-title>\n<aup-activity-body>\n <aup-markdown *ngFor=\"let line of content\" [content]=\"line\"></aup-markdown>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\" [cancelFace]=\"cancelFace\"></aup-activity-actions>\n\n", styles: [":host{display:block}.mat-mdc-dialog-content{margin:0;padding:0}.mat-mdc-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MarkdownComponent, selector: "aup-markdown, [aupMarkdown]", inputs: ["content$", "content", "inline"] }, { kind: "component", type: ActivityActionsComponent, selector: "aup-activity-actions", inputs: ["confirmCommand", "cancelCommand", "faces", "confirmFace", "cancelFace", "style", "layout", "align"] }, { kind: "component", type: ActivityTitleComponent, selector: "aup-activity-title", inputs: ["hasTransparentBackground", "color"] }, { kind: "component", type: ActivityBodyComponent, selector: "aup-activity-body", inputs: ["fullWidth"] }] });
|
|
9394
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ConfirmationDialogComponent, selector: "aup-confirmation-dialog", usesInheritance: true, ngImport: i0, template: "<aup-activity-title *ngIf=\"title\" [color]=\"color\"><aup-markdown [content]=\"title\" [inline]=\"true\"></aup-markdown></aup-activity-title>\n<aup-activity-body>\n <aup-markdown *ngFor=\"let line of content\" [content]=\"line\"></aup-markdown>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\" [cancelFace]=\"cancelFace\"></aup-activity-actions>\n\n", styles: [":host{display:block}.mat-mdc-dialog-content{margin:0;padding:0}.mat-mdc-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MarkdownComponent, selector: "aup-markdown, [aupMarkdown]", inputs: ["content$", "content", "inline"] }, { kind: "component", type: ActivityActionsComponent, selector: "aup-activity-actions", inputs: ["confirmCommand", "cancelCommand", "faces", "confirmFace", "cancelFace", "style", "layout", "align", "alignContent"] }, { kind: "component", type: ActivityTitleComponent, selector: "aup-activity-title", inputs: ["hasTransparentBackground", "color"] }, { kind: "component", type: ActivityBodyComponent, selector: "aup-activity-body", inputs: ["fullWidth"] }] });
|
|
8833
9395
|
}
|
|
8834
9396
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
|
|
8835
9397
|
type: Component,
|
|
@@ -9009,6 +9571,7 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9009
9571
|
tabs;
|
|
9010
9572
|
activityOutlets;
|
|
9011
9573
|
activityRefs = [];
|
|
9574
|
+
animationDuration = "500ms";
|
|
9012
9575
|
_identifier;
|
|
9013
9576
|
_deferredCleanUp;
|
|
9014
9577
|
interactionServiceApi;
|
|
@@ -9021,6 +9584,7 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9021
9584
|
busy = this.registerDisposable(new DelegatingValueModel().withDefault(false));
|
|
9022
9585
|
syncTabsJob = undefined;
|
|
9023
9586
|
stable$;
|
|
9587
|
+
wasActive = false;
|
|
9024
9588
|
constructor(placeRouter) {
|
|
9025
9589
|
super();
|
|
9026
9590
|
this.placeRouter = placeRouter;
|
|
@@ -9057,7 +9621,12 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9057
9621
|
* Returns true if an activity is currently running.
|
|
9058
9622
|
*/
|
|
9059
9623
|
isActive() {
|
|
9060
|
-
|
|
9624
|
+
const isActive = this.getActiveActivityCount() > 0;
|
|
9625
|
+
// if (this.wasActive !== isActive) {
|
|
9626
|
+
// console.log({was: this.wasActive, is: isActive});
|
|
9627
|
+
// }
|
|
9628
|
+
// this.wasActive = isActive
|
|
9629
|
+
return isActive;
|
|
9061
9630
|
}
|
|
9062
9631
|
registerDisposable(disposable) {
|
|
9063
9632
|
return this.garbage.registerDisposable(disposable);
|
|
@@ -9140,7 +9709,7 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9140
9709
|
// by activity index)
|
|
9141
9710
|
setTimeout(() => {
|
|
9142
9711
|
this.activityRefs = []; // we have to do it after the animation timeout or the activity disappears before the animatin finsihes
|
|
9143
|
-
}, this.
|
|
9712
|
+
}, this.getTabAnimationDurationInMillis());
|
|
9144
9713
|
const promise = this.interactionServiceApi.notifyFinished(this);
|
|
9145
9714
|
this._deferredCleanUp = promise
|
|
9146
9715
|
.finally(() => {
|
|
@@ -9166,7 +9735,6 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9166
9735
|
/**
|
|
9167
9736
|
* Synchronises the selected tab index.
|
|
9168
9737
|
*/
|
|
9169
|
-
// @Trace()
|
|
9170
9738
|
synchroniseSelectedTabIndex() {
|
|
9171
9739
|
assert.isTruthy(this.isActive());
|
|
9172
9740
|
const previousIndex = this.tabs.selectedIndex;
|
|
@@ -9178,10 +9746,10 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9178
9746
|
activityRef.setFocused(false);
|
|
9179
9747
|
this.busy.setDelegate(activityRef.activityBusy);
|
|
9180
9748
|
this.tabs.selectedIndex = newIndex;
|
|
9181
|
-
if (this.ready$.value) {
|
|
9182
|
-
|
|
9183
|
-
|
|
9184
|
-
}
|
|
9749
|
+
// if (this.ready$.value) {
|
|
9750
|
+
// // Note: We're not using the animation done event as it's firing almost immeadiately.
|
|
9751
|
+
// setTimeout(() => this.finaliseActivityStates(), animate ? this.getTabAnimationDurationInMillis() : 0);
|
|
9752
|
+
// }
|
|
9185
9753
|
}
|
|
9186
9754
|
}
|
|
9187
9755
|
finaliseActivityStates() {
|
|
@@ -9195,7 +9763,12 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9195
9763
|
return this.activityOutlets.toArray()[this.tabs.selectedIndex];
|
|
9196
9764
|
}
|
|
9197
9765
|
getTabAnimationDuration() {
|
|
9198
|
-
const
|
|
9766
|
+
// const s = this._started$.value ? this.animationDuration : "0";
|
|
9767
|
+
// return s
|
|
9768
|
+
return this.animationDuration;
|
|
9769
|
+
}
|
|
9770
|
+
getTabAnimationDurationInMillis() {
|
|
9771
|
+
const match = this.animationDuration.match(/(\d+)(.*)/);
|
|
9199
9772
|
const numericValue = parseFloat(match[1]);
|
|
9200
9773
|
switch (match[2].trim()) {
|
|
9201
9774
|
case "ms":
|
|
@@ -9221,12 +9794,16 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9221
9794
|
}
|
|
9222
9795
|
}, 75);
|
|
9223
9796
|
}
|
|
9797
|
+
onAnimationDone() {
|
|
9798
|
+
this._started$.value = true;
|
|
9799
|
+
this.finaliseActivityStates();
|
|
9800
|
+
}
|
|
9224
9801
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityContainerComponent, deps: [{ token: PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
9225
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ActivityContainerComponent, selector: "aup-activity-container", inputs: { dynamicHeight: "dynamicHeight" }, viewQueries: [{ propertyName: "tabs", first: true, predicate: ["tabs"], descendants: true, static: true }, { propertyName: "activityOutlets", predicate: ActivityOutletComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\">\n <mat-tab *ngFor=\"let activityRef of activityRefs; let i = index; trackBy: activityIndex\">\n <aup-busy-overlay [busy$]=\"busy\" cdkTrapFocus cdkTrapFocusAutoCapture>\n <!--\n We have issues where angular is triggering a leave animation when an\n new activity is started, but is not running the enter animation\n when it is scrolled back into view. So we track the tab changes and\n disable all animations inside the tab while we're animating.\n -->\n <div class=\"activity-outlet-wrapper\" [@.disabled]=\"!activityRef.focused\">\n <aup-activity-outlet [nestedInteractionContext]=\"this\" [activityRef]=\"activityRef\"></aup-activity-outlet>\n </div>\n </aup-busy-overlay>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}aup-busy-overlay{flex:1}.activity-outlet-wrapper{flex:1}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3$
|
|
9802
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ActivityContainerComponent, selector: "aup-activity-container", inputs: { dynamicHeight: "dynamicHeight", animationDuration: "animationDuration" }, viewQueries: [{ propertyName: "tabs", first: true, predicate: ["tabs"], descendants: true, static: true }, { propertyName: "activityOutlets", predicate: ActivityOutletComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\"\n [animationDuration]=\"getTabAnimationDuration()\"\n (animationDone)=\"onAnimationDone()\"\n>\n <mat-tab *ngFor=\"let activityRef of activityRefs; let i = index; trackBy: activityIndex\">\n <aup-busy-overlay [busy$]=\"busy\" cdkTrapFocus cdkTrapFocusAutoCapture>\n <!--\n We have issues where angular is triggering a leave animation when an\n new activity is started, but is not running the enter animation\n when it is scrolled back into view. So we track the tab changes and\n disable all animations inside the tab while we're animating.\n -->\n <div class=\"activity-outlet-wrapper\" [@.disabled]=\"!activityRef.focused\">\n <aup-activity-outlet [nestedInteractionContext]=\"this\" [activityRef]=\"activityRef\"></aup-activity-outlet>\n </div>\n </aup-busy-overlay>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}aup-busy-overlay{flex:1}.activity-outlet-wrapper{flex:1}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3$2.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i3$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }, { kind: "component", type: BusyOverlayComponent, selector: "aup-busy-overlay", inputs: ["busy$", "busy"] }, { kind: "directive", type: i5$1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: ActivityOutletComponent, selector: "aup-activity-outlet", inputs: ["nestedInteractionContext", "activityRef"] }] });
|
|
9226
9803
|
}
|
|
9227
9804
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityContainerComponent, decorators: [{
|
|
9228
9805
|
type: Component,
|
|
9229
|
-
args: [{ selector: "aup-activity-container", template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\">\n <mat-tab *ngFor=\"let activityRef of activityRefs; let i = index; trackBy: activityIndex\">\n <aup-busy-overlay [busy$]=\"busy\" cdkTrapFocus cdkTrapFocusAutoCapture>\n <!--\n We have issues where angular is triggering a leave animation when an\n new activity is started, but is not running the enter animation\n when it is scrolled back into view. So we track the tab changes and\n disable all animations inside the tab while we're animating.\n -->\n <div class=\"activity-outlet-wrapper\" [@.disabled]=\"!activityRef.focused\">\n <aup-activity-outlet [nestedInteractionContext]=\"this\" [activityRef]=\"activityRef\"></aup-activity-outlet>\n </div>\n </aup-busy-overlay>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}aup-busy-overlay{flex:1}.activity-outlet-wrapper{flex:1}\n"] }]
|
|
9806
|
+
args: [{ selector: "aup-activity-container", template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\"\n [animationDuration]=\"getTabAnimationDuration()\"\n (animationDone)=\"onAnimationDone()\"\n>\n <mat-tab *ngFor=\"let activityRef of activityRefs; let i = index; trackBy: activityIndex\">\n <aup-busy-overlay [busy$]=\"busy\" cdkTrapFocus cdkTrapFocusAutoCapture>\n <!--\n We have issues where angular is triggering a leave animation when an\n new activity is started, but is not running the enter animation\n when it is scrolled back into view. So we track the tab changes and\n disable all animations inside the tab while we're animating.\n -->\n <div class=\"activity-outlet-wrapper\" [@.disabled]=\"!activityRef.focused\">\n <aup-activity-outlet [nestedInteractionContext]=\"this\" [activityRef]=\"activityRef\"></aup-activity-outlet>\n </div>\n </aup-busy-overlay>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}aup-busy-overlay{flex:1}.activity-outlet-wrapper{flex:1}\n"] }]
|
|
9230
9807
|
}], ctorParameters: function () { return [{ type: PlaceRouter }]; }, propDecorators: { dynamicHeight: [{
|
|
9231
9808
|
type: Input
|
|
9232
9809
|
}], tabs: [{
|
|
@@ -9235,6 +9812,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
9235
9812
|
}], activityOutlets: [{
|
|
9236
9813
|
type: ViewChildren,
|
|
9237
9814
|
args: [ActivityOutletComponent]
|
|
9815
|
+
}], animationDuration: [{
|
|
9816
|
+
type: Input
|
|
9238
9817
|
}] } });
|
|
9239
9818
|
|
|
9240
9819
|
class AbstractActivityTriggerComponent extends DisposableComponent {
|
|
@@ -9335,14 +9914,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
9335
9914
|
args: ['class.active']
|
|
9336
9915
|
}] } });
|
|
9337
9916
|
|
|
9338
|
-
const cssDurationRegex = /(\d+)(m?s)/;
|
|
9917
|
+
const cssDurationRegex$1 = /(\d+)(m?s)/;
|
|
9339
9918
|
/**
|
|
9340
9919
|
* @example
|
|
9341
9920
|
* <aup-in-place-interaction-context #inPlaceInteractionContext>
|
|
9342
9921
|
* </aup-in-place-interaction-context>
|
|
9343
9922
|
*
|
|
9344
9923
|
* in your component
|
|
9345
|
-
* @ViewChild(
|
|
9924
|
+
* @ViewChild(InPlaceInteractionContextComponent)
|
|
9346
9925
|
* interactionContext: InteractionContext;
|
|
9347
9926
|
*
|
|
9348
9927
|
*
|
|
@@ -9361,11 +9940,13 @@ class InPlaceInteractionContextComponent extends DisposableComponent {
|
|
|
9361
9940
|
* active interactions.
|
|
9362
9941
|
*/
|
|
9363
9942
|
syncWithRoutes = true;
|
|
9943
|
+
started = new EventEmitter();
|
|
9944
|
+
finished = new EventEmitter();
|
|
9364
9945
|
get animationDuration() {
|
|
9365
9946
|
return this.animateFirstActivity ? (this.tabConfig?.animationDuration || "500ms") : "0ms";
|
|
9366
9947
|
}
|
|
9367
9948
|
get animationDurationMillis() {
|
|
9368
|
-
const result = cssDurationRegex.exec(this.animationDuration);
|
|
9949
|
+
const result = cssDurationRegex$1.exec(this.animationDuration);
|
|
9369
9950
|
if (!result) {
|
|
9370
9951
|
lang.illegalState(`unsupported css duration: ${this.animationDuration}`);
|
|
9371
9952
|
}
|
|
@@ -9387,11 +9968,16 @@ class InPlaceInteractionContextComponent extends DisposableComponent {
|
|
|
9387
9968
|
this.interactionService.registerInplaceInteractionContext(this);
|
|
9388
9969
|
}
|
|
9389
9970
|
else {
|
|
9971
|
+
const self = this;
|
|
9390
9972
|
this.activityContainerComponent.initialise("dont-care", {
|
|
9391
9973
|
async notifyActive(interactionContext) {
|
|
9974
|
+
self.started.emit();
|
|
9392
9975
|
return undefined;
|
|
9393
9976
|
},
|
|
9394
9977
|
async notifyFinished(interactionContext) {
|
|
9978
|
+
// I've noticed some rendering fails when returning the the transcluded content we'll fire an event
|
|
9979
|
+
// so components can do stuff if they need to.
|
|
9980
|
+
self.started.emit();
|
|
9395
9981
|
return undefined;
|
|
9396
9982
|
}
|
|
9397
9983
|
});
|
|
@@ -9438,7 +10024,7 @@ class InPlaceInteractionContextComponent extends DisposableComponent {
|
|
|
9438
10024
|
}
|
|
9439
10025
|
}
|
|
9440
10026
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InPlaceInteractionContextComponent, deps: [{ token: MAT_TABS_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
9441
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: { animateFirstActivity: "animateFirstActivity", syncWithRoutes: "syncWithRoutes" }, host: { properties: { "class.active": "this.active" } }, viewQueries: [{ propertyName: "activityContainerComponent", first: true, predicate: ["activityContainer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-tab-group no-tab-header [selectedIndex]=\"isActive() ? 1 : 0\" full-height-tabs\n (selectedTabChange)=\"onTabChanged($event)\"\n [dynamicHeight]=\"false\"\n [animationDuration]=\"animationDuration\">\n <mat-tab>\n <ng-content></ng-content>\n </mat-tab>\n <mat-tab>\n <aup-activity-container #activityContainer [dynamicHeight]=\"false\"></aup-activity-container>\n </mat-tab>\n</mat-tab-group>\n\n", styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}aup-activity-container{flex:1}\n"], dependencies: [{ kind: "component", type: i3$
|
|
10027
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: { animateFirstActivity: "animateFirstActivity", syncWithRoutes: "syncWithRoutes" }, outputs: { started: "started", finished: "finished" }, host: { properties: { "class.active": "this.active" } }, viewQueries: [{ propertyName: "activityContainerComponent", first: true, predicate: ["activityContainer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-tab-group no-tab-header [selectedIndex]=\"isActive() ? 1 : 0\" full-height-tabs\n (selectedTabChange)=\"onTabChanged($event)\"\n [dynamicHeight]=\"false\"\n [animationDuration]=\"animationDuration\">\n <mat-tab>\n <ng-content></ng-content>\n </mat-tab>\n <mat-tab>\n <aup-activity-container #activityContainer [dynamicHeight]=\"false\"></aup-activity-container>\n </mat-tab>\n</mat-tab-group>\n\n", styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}aup-activity-container{flex:1}\n"], dependencies: [{ kind: "component", type: i3$2.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i3$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }, { kind: "component", type: ActivityContainerComponent, selector: "aup-activity-container", inputs: ["dynamicHeight", "animationDuration"] }] });
|
|
9442
10028
|
}
|
|
9443
10029
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InPlaceInteractionContextComponent, decorators: [{
|
|
9444
10030
|
type: Component,
|
|
@@ -9455,6 +10041,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
9455
10041
|
type: Input
|
|
9456
10042
|
}], syncWithRoutes: [{
|
|
9457
10043
|
type: Input
|
|
10044
|
+
}], started: [{
|
|
10045
|
+
type: Output
|
|
10046
|
+
}], finished: [{
|
|
10047
|
+
type: Output
|
|
9458
10048
|
}], active: [{
|
|
9459
10049
|
type: HostBinding,
|
|
9460
10050
|
args: ["class.active"]
|
|
@@ -9469,7 +10059,7 @@ class InlineActivityTriggerComponent extends AbstractActivityTriggerComponent {
|
|
|
9469
10059
|
super();
|
|
9470
10060
|
}
|
|
9471
10061
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InlineActivityTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9472
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: InlineActivityTriggerComponent, selector: "aup-inline-activity-trigger", viewQueries: [{ propertyName: "_interactionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<aup-in-place-interaction-context #interactionContext [animateFirstActivity]=\"false\">\n <aup-command [command]=\"startActivityCommand\" [face$]=\"face$\" [alignFace]=\"alignFace\"></aup-command>\n</aup-in-place-interaction-context>\n", styles: [":host{display:inline-block}\n"], dependencies: [{ kind: "component", type: CommandComponent, selector: "aup-command", inputs: ["command", "face$", "face", "busyFace$", "busyFace", "alignFace"] }, { kind: "component", type: InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity", "syncWithRoutes"] }] });
|
|
10062
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: InlineActivityTriggerComponent, selector: "aup-inline-activity-trigger", viewQueries: [{ propertyName: "_interactionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<aup-in-place-interaction-context #interactionContext [animateFirstActivity]=\"false\">\n <aup-command [command]=\"startActivityCommand\" [face$]=\"face$\" [alignFace]=\"alignFace\"></aup-command>\n</aup-in-place-interaction-context>\n", styles: [":host{display:inline-block}\n"], dependencies: [{ kind: "component", type: CommandComponent, selector: "aup-command", inputs: ["command", "face$", "face", "busyFace$", "busyFace", "alignFace"] }, { kind: "component", type: InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity", "syncWithRoutes"], outputs: ["started", "finished"] }] });
|
|
9473
10063
|
}
|
|
9474
10064
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InlineActivityTriggerComponent, decorators: [{
|
|
9475
10065
|
type: Component,
|
|
@@ -9593,7 +10183,7 @@ class PopupInteractionContextComponent extends DisposableComponent {
|
|
|
9593
10183
|
isActive() {
|
|
9594
10184
|
return this.interactionContext && this.interactionContext.isActive();
|
|
9595
10185
|
}
|
|
9596
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PopupInteractionContextComponent, deps: [{ token: i0.ElementRef }, { token: i1$
|
|
10186
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PopupInteractionContextComponent, deps: [{ token: i0.ElementRef }, { token: i1$6.Overlay }, { token: i1$6.CdkScrollable, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
9597
10187
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PopupInteractionContextComponent, selector: "aup-popup-interaction-context", inputs: { anchorX: "anchorX", anchorY: "anchorY", cancelOnEscape$: "cancelOnEscape$", cancelOnEscape: "cancelOnEscape" }, host: { properties: { "class.interaction-active": "this.active" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:inline-block}:host.interaction-active{background:rgba(0,0,0,.05)}:host::ng-deep .popup-interaction-context-backdrop{background-color:#0000}\n"] });
|
|
9598
10188
|
}
|
|
9599
10189
|
__decorate([
|
|
@@ -9607,7 +10197,7 @@ __decorate([
|
|
|
9607
10197
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PopupInteractionContextComponent, decorators: [{
|
|
9608
10198
|
type: Component,
|
|
9609
10199
|
args: [{ selector: 'aup-popup-interaction-context', template: "<ng-content></ng-content>\n", styles: [":host{display:inline-block}:host.interaction-active{background:rgba(0,0,0,.05)}:host::ng-deep .popup-interaction-context-backdrop{background-color:#0000}\n"] }]
|
|
9610
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$
|
|
10200
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$6.Overlay }, { type: i1$6.CdkScrollable, decorators: [{
|
|
9611
10201
|
type: Optional
|
|
9612
10202
|
}, {
|
|
9613
10203
|
type: SkipSelf
|
|
@@ -9692,7 +10282,7 @@ class AddCardActivityComponent extends AbstractActivityTriggerComponent {
|
|
|
9692
10282
|
return this.interactionStyle === 'inline';
|
|
9693
10283
|
}
|
|
9694
10284
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AddCardActivityComponent, deps: [{ token: InteractionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
9695
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AddCardActivityComponent, selector: "aup-add-card-activity", inputs: { interactionStyle: "interactionStyle", renderAs: "renderAs" }, host: { properties: { "class": "this.activityTypeClass", "class.not-card": "this.notCard" } }, viewQueries: [{ propertyName: "inlineInteractionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<aup-in-place-interaction-context [animateFirstActivity]=\"false\" [pectinCommand]=\"startActivityCommand\">\n <aup-command *ngIf=\"isRenderAsButton()\" [command]=\"startActivityCommand\" [face$]=\"face$\" [alignFace]=\"alignFace\"></aup-command>\n <section *ngIf=\"isRenderAsCard()\" class=\"face-wrapper\">\n <aup-command-face class=\"mat-button\" [faces]=\"faceList.value\"></aup-command-face>\n </section>\n</aup-in-place-interaction-context>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch;background-color:#fff}:host[interactionStyle=inline][renderas=card]:not(.active){transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}:host[interactionStyle=inline][renderas=card]:not(.active):hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host[interactionStyle=inline][renderas=card]:not(.active):hover{border-color:transparent;background-color:#fff;color:#0000008a}:host[interactionStyle=modal][renderas=card]{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}:host[interactionStyle=modal][renderas=card]:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host[interactionStyle=modal][renderas=card]:hover{border-color:transparent;background-color:#fff;color:#0000008a}:host-context(aup-card-container)[renderas=button]{align-self:start}section.face-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}aup-in-place-interaction-context{flex:1}aup-in-place-interaction-context.active{border:3px solid #6273c7;border-radius:4px;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "component", type: CommandComponent, selector: "aup-command", inputs: ["command", "face$", "face", "busyFace$", "busyFace", "alignFace"] }, { kind: "component", type: CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }, { kind: "component", type: InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity", "syncWithRoutes"] }] });
|
|
10285
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AddCardActivityComponent, selector: "aup-add-card-activity", inputs: { interactionStyle: "interactionStyle", renderAs: "renderAs" }, host: { properties: { "class": "this.activityTypeClass", "class.not-card": "this.notCard" } }, viewQueries: [{ propertyName: "inlineInteractionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<aup-in-place-interaction-context [animateFirstActivity]=\"false\" [pectinCommand]=\"startActivityCommand\">\n <aup-command *ngIf=\"isRenderAsButton()\" [command]=\"startActivityCommand\" [face$]=\"face$\" [alignFace]=\"alignFace\"></aup-command>\n <section *ngIf=\"isRenderAsCard()\" class=\"face-wrapper\">\n <aup-command-face class=\"mat-button\" [faces]=\"faceList.value\"></aup-command-face>\n </section>\n</aup-in-place-interaction-context>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch;background-color:#fff}:host[interactionStyle=inline][renderas=card]:not(.active){transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}:host[interactionStyle=inline][renderas=card]:not(.active):hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host[interactionStyle=inline][renderas=card]:not(.active):hover{border-color:transparent;background-color:#fff;color:#0000008a}:host[interactionStyle=modal][renderas=card]{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}:host[interactionStyle=modal][renderas=card]:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}:host[interactionStyle=modal][renderas=card]:hover{border-color:transparent;background-color:#fff;color:#0000008a}:host-context(aup-card-container)[renderas=button]{align-self:start}section.face-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}aup-in-place-interaction-context{flex:1}aup-in-place-interaction-context.active{border:3px solid #6273c7;border-radius:4px;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "component", type: CommandComponent, selector: "aup-command", inputs: ["command", "face$", "face", "busyFace$", "busyFace", "alignFace"] }, { kind: "component", type: CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }, { kind: "component", type: InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity", "syncWithRoutes"], outputs: ["started", "finished"] }] });
|
|
9696
10286
|
}
|
|
9697
10287
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AddCardActivityComponent, decorators: [{
|
|
9698
10288
|
type: Component,
|
|
@@ -9768,7 +10358,7 @@ class AddItemInteractionContextComponent extends DisposableComponent {
|
|
|
9768
10358
|
return this.interactionContext.startActivity(activityType, data);
|
|
9769
10359
|
}
|
|
9770
10360
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AddItemInteractionContextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9771
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AddItemInteractionContextComponent, selector: "aup-add-item-interaction-context", inputs: { label: "label", icon: "icon", activityClass: "activityClass", activityData: "activityData", addCommand: "addCommand" }, host: { properties: { "class.interaction-active": "this.active", "tabindex": "this.tabindex" } }, viewQueries: [{ propertyName: "interactionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<aup-in-place-interaction-context [animateFirstActivity]=\"false\">\n <a part=\"link\" class=\"link\" [pectinCommand]=\"clickCommand\"><aup-icon [icon]=\"icon\"></aup-icon> {{label}}</a>\n</aup-in-place-interaction-context>\n", styles: [":host{--def-link-color: var(--link-color, currentColor);--def-link-color-hover: var(--link-color-hover, currentColor);--def-link-background: var(--link-background, transparent);--def-link-background-hover: var(--link-background-hover, rgba(0, 0, 0, .05));--def-link-border-radius: var(--link-border-radius, 4px);--def-link-padding: var(--link-padding, calc(var(--aup-default-padding) / 2));display:flex;flex-direction:column;border-radius:var(--def-link-border-radius);box-sizing:border-box;outline:none}:host:hover a.link{color:var(--def-link-color-hover);background-color:var(--def-link-background-hover)}aup-in-place-interaction-context{border-radius:var(--def-link-border-radius)}a.link{display:flex;flex-direction:row;align-items:center;border-radius:var(--def-link-border-radius);color:var(--def-link-color);background:var(--def-link-background);padding:var(--def-link-padding);cursor:pointer;text-decoration:none}a.link mat-icon{margin-right:8px}\n"], dependencies: [{ kind: "directive", type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "component", type: IconComponent, selector: "aup-icon", inputs: ["icon"] }, { kind: "component", type: InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity", "syncWithRoutes"] }] });
|
|
10361
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AddItemInteractionContextComponent, selector: "aup-add-item-interaction-context", inputs: { label: "label", icon: "icon", activityClass: "activityClass", activityData: "activityData", addCommand: "addCommand" }, host: { properties: { "class.interaction-active": "this.active", "tabindex": "this.tabindex" } }, viewQueries: [{ propertyName: "interactionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<aup-in-place-interaction-context [animateFirstActivity]=\"false\">\n <a part=\"link\" class=\"link\" [pectinCommand]=\"clickCommand\"><aup-icon [icon]=\"icon\"></aup-icon> {{label}}</a>\n</aup-in-place-interaction-context>\n", styles: [":host{--def-link-color: var(--link-color, currentColor);--def-link-color-hover: var(--link-color-hover, currentColor);--def-link-background: var(--link-background, transparent);--def-link-background-hover: var(--link-background-hover, rgba(0, 0, 0, .05));--def-link-border-radius: var(--link-border-radius, 4px);--def-link-padding: var(--link-padding, calc(var(--aup-default-padding) / 2));display:flex;flex-direction:column;border-radius:var(--def-link-border-radius);box-sizing:border-box;outline:none}:host:hover a.link{color:var(--def-link-color-hover);background-color:var(--def-link-background-hover)}aup-in-place-interaction-context{border-radius:var(--def-link-border-radius)}a.link{display:flex;flex-direction:row;align-items:center;border-radius:var(--def-link-border-radius);color:var(--def-link-color);background:var(--def-link-background);padding:var(--def-link-padding);cursor:pointer;text-decoration:none}a.link mat-icon{margin-right:8px}\n"], dependencies: [{ kind: "directive", type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "component", type: IconComponent, selector: "aup-icon", inputs: ["icon"] }, { kind: "component", type: InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity", "syncWithRoutes"], outputs: ["started", "finished"] }] });
|
|
9772
10362
|
}
|
|
9773
10363
|
__decorate([
|
|
9774
10364
|
Proxify(),
|
|
@@ -9907,12 +10497,14 @@ class StringInputActivity extends InputActivity {
|
|
|
9907
10497
|
[label]="activityData.label"
|
|
9908
10498
|
[placeholder]="activityData.placeholder"
|
|
9909
10499
|
[command.enter]="confirmCommand"
|
|
9910
|
-
[command.escape]="cancelCommand"
|
|
10500
|
+
[command.escape]="cancelCommand"
|
|
10501
|
+
[dense]="true"
|
|
10502
|
+
></aup-string-input>
|
|
9911
10503
|
<aup-activity-actions [layout]="layout" align="end"
|
|
9912
10504
|
[confirmFace]="confirmFace"
|
|
9913
10505
|
[cancelFace]="cancelFace"
|
|
9914
10506
|
></aup-activity-actions>
|
|
9915
|
-
`, isInline: true, dependencies: [{ kind: "component", type: StringInputComponent, selector: "aup-string-input", inputs: ["autocomplete", "enableClear$", "enableClear", "iconPrefix"] }, { kind: "component", type: ActivityActionsComponent, selector: "aup-activity-actions", inputs: ["confirmCommand", "cancelCommand", "faces", "confirmFace", "cancelFace", "style", "layout", "align"] }] });
|
|
10507
|
+
`, isInline: true, dependencies: [{ kind: "component", type: StringInputComponent, selector: "aup-string-input", inputs: ["autocomplete", "enableClear$", "enableClear", "iconPrefix", "suffixCommand"] }, { kind: "component", type: ActivityActionsComponent, selector: "aup-activity-actions", inputs: ["confirmCommand", "cancelCommand", "faces", "confirmFace", "cancelFace", "style", "layout", "align", "alignContent"] }] });
|
|
9916
10508
|
}
|
|
9917
10509
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: StringInputActivity, decorators: [{
|
|
9918
10510
|
type: Component,
|
|
@@ -9923,7 +10515,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
9923
10515
|
[label]="activityData.label"
|
|
9924
10516
|
[placeholder]="activityData.placeholder"
|
|
9925
10517
|
[command.enter]="confirmCommand"
|
|
9926
|
-
[command.escape]="cancelCommand"
|
|
10518
|
+
[command.escape]="cancelCommand"
|
|
10519
|
+
[dense]="true"
|
|
10520
|
+
></aup-string-input>
|
|
9927
10521
|
<aup-activity-actions [layout]="layout" align="end"
|
|
9928
10522
|
[confirmFace]="confirmFace"
|
|
9929
10523
|
[cancelFace]="cancelFace"
|
|
@@ -10106,7 +10700,7 @@ class InlineStringEditorComponent extends DisposableComponent {
|
|
|
10106
10700
|
return !this.editingEnabled$.value;
|
|
10107
10701
|
}
|
|
10108
10702
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InlineStringEditorComponent, deps: [{ token: InteractionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
10109
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: InlineStringEditorComponent, selector: "aup-inline-string-editor", inputs: { editorModel: "editorModel", facesModel: "facesModel", faces: "faces", label: "label", placeHolder: "placeHolder", placeHolder$: "placeHolder$" }, host: { properties: { "class.disabled": "this.isDisabled" } }, viewQueries: [{ propertyName: "interactionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"container\" *ngIf=\"!editorModel.isEditing()\">\n <mat-form-field floatLabel=\"always\" (click)=\"startEdit()\"\n [class.editable]=\"editingEnabled$.value\" [class.empty]=\"isEmpty()\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeHolder}}\"\n [ngModel]=\"editorModel.valueModel.value\"\n [disabled]=\"true\"\n >\n <!-- <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>-->\n <!-- <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>-->\n <!-- <aup-icon *ngIf=\"iconPrefix\" matPrefix [icon]=\"iconPrefix\"></aup-icon>-->\n </mat-form-field>\n <aup-command *ngIf=\"editCommand.enabled$.value\" [command]=\"editCommand\" [face$]=\"editFaceModel\"></aup-command>\n</div>\n<aup-in-place-interaction-context [animateFirstActivity]=\"false\"></aup-in-place-interaction-context>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CommandComponent, selector: "aup-command", inputs: ["command", "face$", "face", "busyFace$", "busyFace", "alignFace"] }, { kind: "directive", type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$2.MatLabel, selector: "mat-label" }, { kind: "component", type: InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity", "syncWithRoutes"] }] });
|
|
10703
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: InlineStringEditorComponent, selector: "aup-inline-string-editor", inputs: { editorModel: "editorModel", facesModel: "facesModel", faces: "faces", label: "label", placeHolder: "placeHolder", placeHolder$: "placeHolder$" }, host: { properties: { "class.disabled": "this.isDisabled" } }, viewQueries: [{ propertyName: "interactionContext", first: true, predicate: InPlaceInteractionContextComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"container\" *ngIf=\"!editorModel.isEditing()\">\n <mat-form-field floatLabel=\"always\" (click)=\"startEdit()\"\n [class.editable]=\"editingEnabled$.value\" [class.empty]=\"isEmpty()\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeHolder}}\"\n [ngModel]=\"editorModel.valueModel.value\"\n [disabled]=\"true\"\n >\n <!-- <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>-->\n <!-- <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>-->\n <!-- <aup-icon *ngIf=\"iconPrefix\" matPrefix [icon]=\"iconPrefix\"></aup-icon>-->\n </mat-form-field>\n <aup-command *ngIf=\"editCommand.enabled$.value\" [command]=\"editCommand\" [face$]=\"editFaceModel\"></aup-command>\n</div>\n<aup-in-place-interaction-context [animateFirstActivity]=\"false\"></aup-in-place-interaction-context>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CommandComponent, selector: "aup-command", inputs: ["command", "face$", "face", "busyFace$", "busyFace", "alignFace"] }, { kind: "directive", type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$2.MatLabel, selector: "mat-label" }, { kind: "component", type: InPlaceInteractionContextComponent, selector: "aup-in-place-interaction-context", inputs: ["animateFirstActivity", "syncWithRoutes"], outputs: ["started", "finished"] }] });
|
|
10110
10704
|
}
|
|
10111
10705
|
__decorate([
|
|
10112
10706
|
Proxify(),
|
|
@@ -10189,6 +10783,7 @@ class SelectInputActivity extends InputActivity {
|
|
|
10189
10783
|
[options]="options"
|
|
10190
10784
|
[optionLabelFormat]="optionLabelFormat"
|
|
10191
10785
|
[allowNil]="activityData.allowNil"
|
|
10786
|
+
[dense]="true"
|
|
10192
10787
|
>
|
|
10193
10788
|
<ng-template #nilOptionTemplate>{{activityData.nilLabel}}</ng-template>
|
|
10194
10789
|
</aup-select-input>
|
|
@@ -10196,7 +10791,7 @@ class SelectInputActivity extends InputActivity {
|
|
|
10196
10791
|
[confirmFace]="confirmFace"
|
|
10197
10792
|
[cancelFace]="cancelFace"
|
|
10198
10793
|
></aup-activity-actions>
|
|
10199
|
-
`, isInline: true, dependencies: [{ kind: "component", type: SelectInputComponent, selector: "aup-select-input", inputs: ["options$", "options", "optionLabel", "allowNil", "optionLabelFormat"] }, { kind: "component", type: ActivityActionsComponent, selector: "aup-activity-actions", inputs: ["confirmCommand", "cancelCommand", "faces", "confirmFace", "cancelFace", "style", "layout", "align"] }] });
|
|
10794
|
+
`, isInline: true, dependencies: [{ kind: "component", type: SelectInputComponent, selector: "aup-select-input", inputs: ["options$", "options", "optionLabel", "allowNil", "optionLabelFormat"] }, { kind: "component", type: ActivityActionsComponent, selector: "aup-activity-actions", inputs: ["confirmCommand", "cancelCommand", "faces", "confirmFace", "cancelFace", "style", "layout", "align", "alignContent"] }] });
|
|
10200
10795
|
}
|
|
10201
10796
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectInputActivity, decorators: [{
|
|
10202
10797
|
type: Component,
|
|
@@ -10211,6 +10806,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10211
10806
|
[options]="options"
|
|
10212
10807
|
[optionLabelFormat]="optionLabelFormat"
|
|
10213
10808
|
[allowNil]="activityData.allowNil"
|
|
10809
|
+
[dense]="true"
|
|
10214
10810
|
>
|
|
10215
10811
|
<ng-template #nilOptionTemplate>{{activityData.nilLabel}}</ng-template>
|
|
10216
10812
|
</aup-select-input>
|
|
@@ -10222,6 +10818,182 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10222
10818
|
}]
|
|
10223
10819
|
}] });
|
|
10224
10820
|
|
|
10821
|
+
const slideDownOnEnterDef = style({
|
|
10822
|
+
opacity: 0,
|
|
10823
|
+
'height': '0',
|
|
10824
|
+
'max-height': '0',
|
|
10825
|
+
paddingTop: '0',
|
|
10826
|
+
paddingBottom: '0'
|
|
10827
|
+
});
|
|
10828
|
+
// TODO: params aren't getting customised in the view. Need to figure out the correct approach.
|
|
10829
|
+
const slideDownOnEnterAnimation = trigger('slideDownOnEnter', [
|
|
10830
|
+
transition(':enter', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
10831
|
+
transition(':leave', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
|
|
10832
|
+
]);
|
|
10833
|
+
const slideDownWhenOpenAnimation = trigger('slideDownWhenOpen', [
|
|
10834
|
+
transition('closed => open', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
10835
|
+
transition('open => closed', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
|
|
10836
|
+
]);
|
|
10837
|
+
const slideLeftOnEnterDef = style({
|
|
10838
|
+
opacity: 0,
|
|
10839
|
+
'width': '0',
|
|
10840
|
+
paddingLeft: '0',
|
|
10841
|
+
paddingRight: '0'
|
|
10842
|
+
});
|
|
10843
|
+
const slideRightOnEnterAnimation = trigger('slideRightOnEnter', [
|
|
10844
|
+
transition(':enter', [slideLeftOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
10845
|
+
transition(':leave', [animate('{{duration}}', slideLeftOnEnterDef)], { params: { duration: '100ms' } })
|
|
10846
|
+
]);
|
|
10847
|
+
const ZERO_WIDTH = {
|
|
10848
|
+
opacity: 0,
|
|
10849
|
+
width: '0',
|
|
10850
|
+
paddingLeft: '0',
|
|
10851
|
+
paddingRight: '0',
|
|
10852
|
+
};
|
|
10853
|
+
const ZERO_HEIGHT = {
|
|
10854
|
+
opacity: 0,
|
|
10855
|
+
height: '0',
|
|
10856
|
+
paddingTop: '0',
|
|
10857
|
+
paddingBottom: '0',
|
|
10858
|
+
};
|
|
10859
|
+
const slideDownAndRightOnEnterAnimation = trigger('slideDownAndRightOnEnter', [
|
|
10860
|
+
transition(':enter', [
|
|
10861
|
+
style({ overflow: "hidden", whiteSpace: "nowrap", ...ZERO_WIDTH, ...ZERO_HEIGHT }),
|
|
10862
|
+
animate('{{duration}}')
|
|
10863
|
+
], { params: { duration: '100ms' } }),
|
|
10864
|
+
transition(':leave', [
|
|
10865
|
+
style({ overflow: "hidden", whiteSpace: "nowrap" }),
|
|
10866
|
+
group([
|
|
10867
|
+
animate('{{duration}}', style(ZERO_HEIGHT)),
|
|
10868
|
+
// Hack: 100ms is too quick as it animates from * - 0 as we only see it animate the width is greater than the parent.
|
|
10869
|
+
// Not sure how to animate from * to natural new width of parent. This hack won't work for text that's just a little
|
|
10870
|
+
// bit wider than the parent as it'll fall within the parent bounds very early in the animation cycle.
|
|
10871
|
+
animate('300ms', style(ZERO_WIDTH)),
|
|
10872
|
+
])
|
|
10873
|
+
], { params: { duration: '100ms' } })
|
|
10874
|
+
]);
|
|
10875
|
+
|
|
10876
|
+
const cssDurationRegex = /(\d+)(m?s)/;
|
|
10877
|
+
/**
|
|
10878
|
+
* This interaction context remains hidden (height: 0) until it is active.
|
|
10879
|
+
* @example
|
|
10880
|
+
* <aup-slide-down-interaction-context #inPlaceInteractionContext>
|
|
10881
|
+
* </aup-slide-down-interaction-context>
|
|
10882
|
+
*
|
|
10883
|
+
* in your component
|
|
10884
|
+
* @ViewChild(SlideDownInteractionContextComponent)
|
|
10885
|
+
* interactionContext: InteractionContext;
|
|
10886
|
+
*
|
|
10887
|
+
*
|
|
10888
|
+
*/
|
|
10889
|
+
class SlideDownInteractionContextComponent extends DisposableComponent {
|
|
10890
|
+
tabConfig;
|
|
10891
|
+
activityContainerComponent;
|
|
10892
|
+
// NOTE: disabling this as I'm using the initialise callback to release the hacky height clamp.
|
|
10893
|
+
// The whole registration thing is a bit naf so I should really clean that up at some point.
|
|
10894
|
+
// /**
|
|
10895
|
+
// * If true the activity will sync with the router to enable back button support. This is a work around for
|
|
10896
|
+
// * deeply nested activities that can't be linked with the root place interactionContext hook for cancelling
|
|
10897
|
+
// * active interactions.
|
|
10898
|
+
// */
|
|
10899
|
+
// @Input()
|
|
10900
|
+
// syncWithRoutes = true;
|
|
10901
|
+
dynamicHeight = true;
|
|
10902
|
+
get active() {
|
|
10903
|
+
return this.isActive();
|
|
10904
|
+
}
|
|
10905
|
+
// Horrible hack to stop the div and activity container bouncing back for a bit in after closing. No idea why it's doing that.
|
|
10906
|
+
clampShut = true;
|
|
10907
|
+
interactionService = this.inject(InteractionService);
|
|
10908
|
+
constructor(tabConfig) {
|
|
10909
|
+
super();
|
|
10910
|
+
this.tabConfig = tabConfig;
|
|
10911
|
+
}
|
|
10912
|
+
ngAfterViewInit() {
|
|
10913
|
+
// NOTE: this is a temp work around to detach inplace contexts from the router until AUP-88 is implemented.
|
|
10914
|
+
// https://coolon.atlassian.net/browse/AUP-88?atlOrigin=eyJpIjoiOTg5YjEzZGUzZjRmNDg0NmExOWU3ZGJmMzJiNTRmNGYiLCJwIjoiaiJ9
|
|
10915
|
+
const self = this;
|
|
10916
|
+
this.activityContainerComponent.initialise("dont-care", {
|
|
10917
|
+
async notifyActive(interactionContext) {
|
|
10918
|
+
self.clampShut = false;
|
|
10919
|
+
return undefined;
|
|
10920
|
+
},
|
|
10921
|
+
async notifyFinished(interactionContext) {
|
|
10922
|
+
return undefined;
|
|
10923
|
+
}
|
|
10924
|
+
});
|
|
10925
|
+
// if (this.syncWithRoutes) {
|
|
10926
|
+
// this.interactionService.registerInplaceInteractionContext(this);
|
|
10927
|
+
// }
|
|
10928
|
+
}
|
|
10929
|
+
getAnimationState() {
|
|
10930
|
+
return {
|
|
10931
|
+
value: this.isActive() ? "open" : "closed",
|
|
10932
|
+
params: { duration: "200ms" }
|
|
10933
|
+
};
|
|
10934
|
+
}
|
|
10935
|
+
// this is a regsitration callback from the interaction service
|
|
10936
|
+
// @Trace() // webstorm says no usages... but I'm not sure.
|
|
10937
|
+
onInplaceInteractionContextRegistered(id, api) {
|
|
10938
|
+
this.activityContainerComponent.initialise(id, api);
|
|
10939
|
+
}
|
|
10940
|
+
get identifier() {
|
|
10941
|
+
return this.activityContainerComponent.identifier;
|
|
10942
|
+
}
|
|
10943
|
+
alert(alert) {
|
|
10944
|
+
return this.activityContainerComponent.alert(alert);
|
|
10945
|
+
}
|
|
10946
|
+
cancelActiveActivity() {
|
|
10947
|
+
return this.activityContainerComponent.cancelActiveActivity();
|
|
10948
|
+
}
|
|
10949
|
+
confirm(confirm) {
|
|
10950
|
+
return this.activityContainerComponent.confirm(confirm);
|
|
10951
|
+
}
|
|
10952
|
+
confirmOrReject(confirm) {
|
|
10953
|
+
return this.activityContainerComponent.confirmOrReject(confirm);
|
|
10954
|
+
}
|
|
10955
|
+
confirmThen(confirm, activityType, data) {
|
|
10956
|
+
return this.activityContainerComponent.confirmThen(confirm, activityType);
|
|
10957
|
+
}
|
|
10958
|
+
confirmThenExecute(confirm, operation) {
|
|
10959
|
+
return this.activityContainerComponent.confirmThenExecute(confirm, operation);
|
|
10960
|
+
}
|
|
10961
|
+
isActive() {
|
|
10962
|
+
return this.activityContainerComponent.isActive();
|
|
10963
|
+
}
|
|
10964
|
+
startActivity(activityType, data, options) {
|
|
10965
|
+
return this.activityContainerComponent.startActivity(activityType, data, options);
|
|
10966
|
+
}
|
|
10967
|
+
onAnimationDone() {
|
|
10968
|
+
if (!this.isActive()) {
|
|
10969
|
+
this.clampShut = true;
|
|
10970
|
+
}
|
|
10971
|
+
}
|
|
10972
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SlideDownInteractionContextComponent, deps: [{ token: MAT_TABS_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
10973
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SlideDownInteractionContextComponent, selector: "aup-slide-down-interaction-context", inputs: { dynamicHeight: "dynamicHeight" }, host: { properties: { "class.active": "this.active" } }, viewQueries: [{ propertyName: "activityContainerComponent", first: true, predicate: ["activityContainer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div [@slideDownWhenOpen]=\"getAnimationState()\" (@slideDownWhenOpen.done)=\"onAnimationDone()\" [style.max-height.px]=\"clampShut ? 0 : undefined\">\n <aup-activity-container #activityContainer [dynamicHeight]=\"dynamicHeight\"></aup-activity-container>\n</div>\n\n", styles: [":host{display:flex;flex-direction:column}:host>div{overflow:hidden}\n"], dependencies: [{ kind: "component", type: ActivityContainerComponent, selector: "aup-activity-container", inputs: ["dynamicHeight", "animationDuration"] }], animations: [
|
|
10974
|
+
slideDownWhenOpenAnimation
|
|
10975
|
+
] });
|
|
10976
|
+
}
|
|
10977
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SlideDownInteractionContextComponent, decorators: [{
|
|
10978
|
+
type: Component,
|
|
10979
|
+
args: [{ selector: "aup-slide-down-interaction-context", animations: [
|
|
10980
|
+
slideDownWhenOpenAnimation
|
|
10981
|
+
], template: "<div [@slideDownWhenOpen]=\"getAnimationState()\" (@slideDownWhenOpen.done)=\"onAnimationDone()\" [style.max-height.px]=\"clampShut ? 0 : undefined\">\n <aup-activity-container #activityContainer [dynamicHeight]=\"dynamicHeight\"></aup-activity-container>\n</div>\n\n", styles: [":host{display:flex;flex-direction:column}:host>div{overflow:hidden}\n"] }]
|
|
10982
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
10983
|
+
type: Inject,
|
|
10984
|
+
args: [MAT_TABS_CONFIG]
|
|
10985
|
+
}, {
|
|
10986
|
+
type: Optional
|
|
10987
|
+
}] }]; }, propDecorators: { activityContainerComponent: [{
|
|
10988
|
+
type: ViewChild,
|
|
10989
|
+
args: ["activityContainer", { static: true }]
|
|
10990
|
+
}], dynamicHeight: [{
|
|
10991
|
+
type: Input
|
|
10992
|
+
}], active: [{
|
|
10993
|
+
type: HostBinding,
|
|
10994
|
+
args: ["class.active"]
|
|
10995
|
+
}] } });
|
|
10996
|
+
|
|
10225
10997
|
class InteractionContextTriggerForDirective extends GarbageCollector {
|
|
10226
10998
|
aupInteractionContextTriggerFor;
|
|
10227
10999
|
activityClass;
|
|
@@ -10304,6 +11076,7 @@ class InteractionModule {
|
|
|
10304
11076
|
AlertDialogComponent,
|
|
10305
11077
|
ActivityOutletComponent,
|
|
10306
11078
|
InPlaceInteractionContextComponent,
|
|
11079
|
+
SlideDownInteractionContextComponent,
|
|
10307
11080
|
AddItemInteractionContextComponent,
|
|
10308
11081
|
ActivityActionsComponent,
|
|
10309
11082
|
PopupInteractionContextComponent,
|
|
@@ -10330,8 +11103,6 @@ class InteractionModule {
|
|
|
10330
11103
|
RouterModule,
|
|
10331
11104
|
MatIconModule,
|
|
10332
11105
|
DirectivesModule,
|
|
10333
|
-
FlexModule,
|
|
10334
|
-
GridModule,
|
|
10335
11106
|
ComponentsModule,
|
|
10336
11107
|
FormsModule,
|
|
10337
11108
|
MatInputModule,
|
|
@@ -10351,7 +11122,8 @@ class InteractionModule {
|
|
|
10351
11122
|
InlineActivityTriggerComponent,
|
|
10352
11123
|
ModalActivityTriggerComponent,
|
|
10353
11124
|
AddCardActivityComponent,
|
|
10354
|
-
InlineStringEditorComponent
|
|
11125
|
+
InlineStringEditorComponent,
|
|
11126
|
+
SlideDownInteractionContextComponent] });
|
|
10355
11127
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InteractionModule, providers: [
|
|
10356
11128
|
InteractionService
|
|
10357
11129
|
// {
|
|
@@ -10365,8 +11137,6 @@ class InteractionModule {
|
|
|
10365
11137
|
RouterModule,
|
|
10366
11138
|
MatIconModule,
|
|
10367
11139
|
DirectivesModule,
|
|
10368
|
-
FlexModule,
|
|
10369
|
-
GridModule,
|
|
10370
11140
|
ComponentsModule,
|
|
10371
11141
|
FormsModule,
|
|
10372
11142
|
MatInputModule,
|
|
@@ -10385,8 +11155,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10385
11155
|
RouterModule,
|
|
10386
11156
|
MatIconModule,
|
|
10387
11157
|
DirectivesModule,
|
|
10388
|
-
FlexModule,
|
|
10389
|
-
GridModule,
|
|
10390
11158
|
ComponentsModule,
|
|
10391
11159
|
FormsModule,
|
|
10392
11160
|
MatInputModule,
|
|
@@ -10401,6 +11169,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10401
11169
|
AlertDialogComponent,
|
|
10402
11170
|
ActivityOutletComponent,
|
|
10403
11171
|
InPlaceInteractionContextComponent,
|
|
11172
|
+
SlideDownInteractionContextComponent,
|
|
10404
11173
|
AddItemInteractionContextComponent,
|
|
10405
11174
|
ActivityActionsComponent,
|
|
10406
11175
|
PopupInteractionContextComponent,
|
|
@@ -10438,6 +11207,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10438
11207
|
ModalActivityTriggerComponent,
|
|
10439
11208
|
AddCardActivityComponent,
|
|
10440
11209
|
InlineStringEditorComponent,
|
|
11210
|
+
SlideDownInteractionContextComponent,
|
|
10441
11211
|
],
|
|
10442
11212
|
providers: [
|
|
10443
11213
|
InteractionService
|
|
@@ -10508,7 +11278,6 @@ class PlaceOutletComponent extends DisposableComponent {
|
|
|
10508
11278
|
router;
|
|
10509
11279
|
placeRouter;
|
|
10510
11280
|
placeConfig;
|
|
10511
|
-
cdr;
|
|
10512
11281
|
#animate$_accessor_storage = proxify((ValueModel));
|
|
10513
11282
|
get animate$() { return this.#animate$_accessor_storage; }
|
|
10514
11283
|
set animate$(value) { this.#animate$_accessor_storage = value; }
|
|
@@ -10542,12 +11311,11 @@ class PlaceOutletComponent extends DisposableComponent {
|
|
|
10542
11311
|
animationEnabled;
|
|
10543
11312
|
authorised;
|
|
10544
11313
|
notAuthorisedNoticePortal;
|
|
10545
|
-
constructor(router, placeRouter, placeConfig, unauthorisedPlaceNotice, parentOutlet
|
|
11314
|
+
constructor(router, placeRouter, placeConfig, unauthorisedPlaceNotice, parentOutlet) {
|
|
10546
11315
|
super();
|
|
10547
11316
|
this.router = router;
|
|
10548
11317
|
this.placeRouter = placeRouter;
|
|
10549
11318
|
this.placeConfig = placeConfig;
|
|
10550
|
-
this.cdr = cdr;
|
|
10551
11319
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
10552
11320
|
this.parentOutletModel = new MutableValueModel(parentOutlet);
|
|
10553
11321
|
const defaultPlaceAnimationOrder = chain(this.parentOutletModel)
|
|
@@ -10559,7 +11327,7 @@ class PlaceOutletComponent extends DisposableComponent {
|
|
|
10559
11327
|
this.placesInAnimationOrder = chain(this.customPlaceAnimationOrder$)
|
|
10560
11328
|
.otherwise(defaultPlaceAnimationOrder);
|
|
10561
11329
|
this.activePlaceAnimationPosition = this.placesInAnimationOrder
|
|
10562
|
-
.
|
|
11330
|
+
.reduceAll((placesInOrder) => {
|
|
10563
11331
|
let placeIndex = 0;
|
|
10564
11332
|
if (activatePlaceType.value) {
|
|
10565
11333
|
placeIndex = placesInOrder.indexOf(activatePlaceType.value);
|
|
@@ -10713,8 +11481,8 @@ class PlaceOutletComponent extends DisposableComponent {
|
|
|
10713
11481
|
this.onAnimationFinishedJob = undefined;
|
|
10714
11482
|
}
|
|
10715
11483
|
}
|
|
10716
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceOutletComponent, deps: [{ token: i1$
|
|
10717
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PlaceOutletComponent, selector: "aup-place-outlet", inputs: { animate$: "animate$", animate: "animate", customPlaceAnimationOrder$: ["placeAnimationOrderModel", "customPlaceAnimationOrder$"], customPlaceAnimationOrder: ["placeAnimationOrder", "customPlaceAnimationOrder"] }, outputs: { placeChanged: "placeChanged" }, host: { properties: { "class.authorised": "this.isAuthorised" } }, viewQueries: [{ propertyName: "routerOut", first: true, predicate: ["routeOutlet"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"animationEnabled.value\">\n <div class=\"router-outlet-container\"\n cdkScrollable\n [@routeAnimations]=\"{value: getAnimationOrder(), params:{duration: animationDuration}}\"\n (@routeAnimations.start)=\"animationStarted()\"\n (@routeAnimations.done)=\"animationDone()\"\n >\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!animationEnabled.value\">\n <div class=\"router-outlet-container\"\n cdkScrollable>\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<div class=\"not-authorised-component-container\" *ngIf=\"!authorised.value\">\n <ng-template [cdkPortalOutlet]=\"notAuthorisedNoticePortal\"></ng-template>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-height:0}:host:not(.authorised) .router-outlet-container{display:none}.router-outlet-container{flex:1;display:block;position:relative;min-height:0;overflow-x:hidden;overflow-y:auto}router-outlet{display:none}.not-authorised-component-container{flex:1;display:grid;grid-template-columns:1fr;grid-template-rows:1fr}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$
|
|
11484
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceOutletComponent, deps: [{ token: i1$5.Router }, { token: PlaceRouter }, { token: AUP_PLACE_CONFIG, optional: true }, { token: AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT, optional: true }, { token: PlaceOutletComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
11485
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PlaceOutletComponent, selector: "aup-place-outlet", inputs: { animate$: "animate$", animate: "animate", customPlaceAnimationOrder$: ["placeAnimationOrderModel", "customPlaceAnimationOrder$"], customPlaceAnimationOrder: ["placeAnimationOrder", "customPlaceAnimationOrder"] }, outputs: { placeChanged: "placeChanged" }, host: { properties: { "class.authorised": "this.isAuthorised" } }, viewQueries: [{ propertyName: "routerOut", first: true, predicate: ["routeOutlet"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"animationEnabled.value\">\n <div class=\"router-outlet-container\"\n cdkScrollable\n [@routeAnimations]=\"{value: getAnimationOrder(), params:{duration: animationDuration}}\"\n (@routeAnimations.start)=\"animationStarted()\"\n (@routeAnimations.done)=\"animationDone()\"\n >\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!animationEnabled.value\">\n <div class=\"router-outlet-container\"\n cdkScrollable>\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<div class=\"not-authorised-component-container\" *ngIf=\"!authorised.value\">\n <ng-template [cdkPortalOutlet]=\"notAuthorisedNoticePortal\"></ng-template>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-height:0}:host:not(.authorised) .router-outlet-container{display:none}.router-outlet-container{flex:1;display:block;position:relative;min-height:0;overflow-x:hidden;overflow-y:auto}router-outlet{display:none}.not-authorised-component-container{flex:1;display:grid;grid-template-columns:1fr;grid-template-rows:1fr}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$5.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i1$2.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i1$4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [LEFT_RIGHT_PLACE_ANIMATION] });
|
|
10718
11486
|
}
|
|
10719
11487
|
__decorate([
|
|
10720
11488
|
Proxify(),
|
|
@@ -10735,7 +11503,7 @@ __decorate([
|
|
|
10735
11503
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceOutletComponent, decorators: [{
|
|
10736
11504
|
type: Component,
|
|
10737
11505
|
args: [{ selector: 'aup-place-outlet', animations: [LEFT_RIGHT_PLACE_ANIMATION], template: "<ng-container *ngIf=\"animationEnabled.value\">\n <div class=\"router-outlet-container\"\n cdkScrollable\n [@routeAnimations]=\"{value: getAnimationOrder(), params:{duration: animationDuration}}\"\n (@routeAnimations.start)=\"animationStarted()\"\n (@routeAnimations.done)=\"animationDone()\"\n >\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!animationEnabled.value\">\n <div class=\"router-outlet-container\"\n cdkScrollable>\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<div class=\"not-authorised-component-container\" *ngIf=\"!authorised.value\">\n <ng-template [cdkPortalOutlet]=\"notAuthorisedNoticePortal\"></ng-template>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-height:0}:host:not(.authorised) .router-outlet-container{display:none}.router-outlet-container{flex:1;display:block;position:relative;min-height:0;overflow-x:hidden;overflow-y:auto}router-outlet{display:none}.not-authorised-component-container{flex:1;display:grid;grid-template-columns:1fr;grid-template-rows:1fr}\n"] }]
|
|
10738
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
11506
|
+
}], ctorParameters: function () { return [{ type: i1$5.Router }, { type: PlaceRouter }, { type: undefined, decorators: [{
|
|
10739
11507
|
type: Optional
|
|
10740
11508
|
}, {
|
|
10741
11509
|
type: Inject,
|
|
@@ -10749,7 +11517,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10749
11517
|
type: SkipSelf
|
|
10750
11518
|
}, {
|
|
10751
11519
|
type: Optional
|
|
10752
|
-
}] }
|
|
11520
|
+
}] }]; }, propDecorators: { animate$: [{
|
|
10753
11521
|
type: Input
|
|
10754
11522
|
}], animate: [{
|
|
10755
11523
|
type: Input
|
|
@@ -10882,7 +11650,7 @@ class ListPlaceNavComponent extends AbstractPlaceNavigationComponent {
|
|
|
10882
11650
|
super(router);
|
|
10883
11651
|
}
|
|
10884
11652
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ListPlaceNavComponent, deps: [{ token: PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
10885
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ListPlaceNavComponent, selector: "aup-list-place-nav", usesInheritance: true, ngImport: i0, template: "<mat-nav-list fxFlex>\n <a mat-list-item *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n aup-gc #gc=\"aup-gc\"\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [class.active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--selected-border-color: #838383;--selected-color: inherit;--selected-background: #f1f1f1}mat-nav-list{padding-top:0}a{border-right:2px solid transparent}a.active{border-right:2px solid var(--selected-border-color);background:var(--selected-background);color:var(--selected-color)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3$3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3$3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i4$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "
|
|
11653
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ListPlaceNavComponent, selector: "aup-list-place-nav", usesInheritance: true, ngImport: i0, template: "<mat-nav-list fxFlex>\n <a mat-list-item *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n aup-gc #gc=\"aup-gc\"\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [class.active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--selected-border-color: #838383;--selected-color: inherit;--selected-background: #f1f1f1}mat-nav-list{padding-top:0}a{border-right:2px solid transparent}a.active{border-right:2px solid var(--selected-border-color);background:var(--selected-background);color:var(--selected-color)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3$3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3$3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i4$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
|
|
10886
11654
|
}
|
|
10887
11655
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ListPlaceNavComponent, decorators: [{
|
|
10888
11656
|
type: Component,
|
|
@@ -10957,7 +11725,7 @@ class SidePlaceNavigationComponent extends AbstractPlaceNavigationComponent {
|
|
|
10957
11725
|
this.expanded = !this.expanded;
|
|
10958
11726
|
}
|
|
10959
11727
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SidePlaceNavigationComponent, deps: [{ token: PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
10960
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SidePlaceNavigationComponent, selector: "aup-side-place-navigation", inputs: { expanded$: "expanded$", expanded: "expanded" }, host: { properties: { "class.expanded": "this.expanded" } }, queries: [{ propertyName: "navEndTemplate", first: true, predicate: ["navEndTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\">\n <aup-icon matListItemIcon [icon]=\"homeIcon$.value\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">Menu</span>\n </a>\n <a *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n mat-list-item\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [activated]=\"item.active\"\n aup-gc #gc=\"aup-gc\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\"\n >\n <aup-icon matListItemIcon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">{{getNavigationFace(item.place).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width: var(--nav-width, 56px);--resolved-expanded-width: var(--nav-expanded-width, 235px);--resolved-color: var(--nav-color, rgba(255, 255, 255, .9));--resolved-background-color: var(--nav-background-color, #555);color:var(--resolved-color);background-color:var(--resolved-background-color);width:var(--resolved-nav-item-width);transition:width 125ms linear}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host aup-icon{margin-right:12px}:host>mat-nav-list{flex:1;display:flex;flex-direction:column;padding:0}:host .mat-mdc-list-item,:host .mat-mdc-list-item-icon,:host .mat-mdc-list-item-icon.activated,:host .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated .mdc-list-item__primary-text,:host .mdc-list-item--activated .mat-mdc-list-item-icon{color:var(--resolved-color)}:host .mdc-list-item--activated{background-color:#444}:host *.flip-horizontal{transform:scaleX(-1)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3$3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i3$3.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i3$3.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i4$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
|
|
11728
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SidePlaceNavigationComponent, selector: "aup-side-place-navigation", inputs: { expanded$: "expanded$", expanded: "expanded" }, host: { properties: { "class.expanded": "this.expanded" } }, queries: [{ propertyName: "navEndTemplate", first: true, predicate: ["navEndTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\">\n <aup-icon matListItemIcon [icon]=\"homeIcon$.value\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">Menu</span>\n </a>\n <a *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n mat-list-item\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [activated]=\"item.active\"\n aup-gc #gc=\"aup-gc\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\"\n >\n <aup-icon matListItemIcon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">{{getNavigationFace(item.place).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width: var(--nav-width, 56px);--resolved-expanded-width: var(--nav-expanded-width, 235px);--resolved-color: var(--nav-color, rgba(255, 255, 255, .9));--resolved-background-color: var(--nav-background-color, #555);color:var(--resolved-color);background-color:var(--resolved-background-color);width:var(--resolved-nav-item-width);transition:width 125ms linear}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host aup-icon{margin-right:12px}:host>mat-nav-list{flex:1;display:flex;flex-direction:column;padding:0}:host .mat-mdc-list-item,:host .mat-mdc-list-item-icon,:host .mat-mdc-list-item-icon.activated,:host .mdc-list-item--with-leading-icon:hover .mdc-list-item__start,:host .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated .mdc-list-item__primary-text,:host .mdc-list-item--activated .mat-mdc-list-item-icon{color:var(--resolved-color)}:host .mdc-list-item:hover{background-color:#444}:host .mdc-list-item:hover .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated{background-color:#444}:host *.flip-horizontal{transform:scaleX(-1)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3$3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i3$3.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i3$3.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i4$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
|
|
10961
11729
|
}
|
|
10962
11730
|
__decorate([
|
|
10963
11731
|
Proxify(),
|
|
@@ -10969,7 +11737,7 @@ __decorate([
|
|
|
10969
11737
|
], SidePlaceNavigationComponent.prototype, "expanded", null);
|
|
10970
11738
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SidePlaceNavigationComponent, decorators: [{
|
|
10971
11739
|
type: Component,
|
|
10972
|
-
args: [{ selector: 'aup-side-place-navigation', template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\">\n <aup-icon matListItemIcon [icon]=\"homeIcon$.value\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">Menu</span>\n </a>\n <a *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n mat-list-item\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [activated]=\"item.active\"\n aup-gc #gc=\"aup-gc\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\"\n >\n <aup-icon matListItemIcon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">{{getNavigationFace(item.place).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width: var(--nav-width, 56px);--resolved-expanded-width: var(--nav-expanded-width, 235px);--resolved-color: var(--nav-color, rgba(255, 255, 255, .9));--resolved-background-color: var(--nav-background-color, #555);color:var(--resolved-color);background-color:var(--resolved-background-color);width:var(--resolved-nav-item-width);transition:width 125ms linear}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host aup-icon{margin-right:12px}:host>mat-nav-list{flex:1;display:flex;flex-direction:column;padding:0}:host .mat-mdc-list-item,:host .mat-mdc-list-item-icon,:host .mat-mdc-list-item-icon.activated,:host .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated .mdc-list-item__primary-text,:host .mdc-list-item--activated .mat-mdc-list-item-icon{color:var(--resolved-color)}:host .mdc-list-item--activated{background-color:#444}:host *.flip-horizontal{transform:scaleX(-1)}\n"] }]
|
|
11740
|
+
args: [{ selector: 'aup-side-place-navigation', template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\">\n <aup-icon matListItemIcon [icon]=\"homeIcon$.value\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">Menu</span>\n </a>\n <a *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n mat-list-item\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [activated]=\"item.active\"\n aup-gc #gc=\"aup-gc\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\"\n >\n <aup-icon matListItemIcon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span matListItemTitle class=\"expanded-only\">{{getNavigationFace(item.place).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width: var(--nav-width, 56px);--resolved-expanded-width: var(--nav-expanded-width, 235px);--resolved-color: var(--nav-color, rgba(255, 255, 255, .9));--resolved-background-color: var(--nav-background-color, #555);color:var(--resolved-color);background-color:var(--resolved-background-color);width:var(--resolved-nav-item-width);transition:width 125ms linear}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host aup-icon{margin-right:12px}:host>mat-nav-list{flex:1;display:flex;flex-direction:column;padding:0}:host .mat-mdc-list-item,:host .mat-mdc-list-item-icon,:host .mat-mdc-list-item-icon.activated,:host .mdc-list-item--with-leading-icon:hover .mdc-list-item__start,:host .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated .mdc-list-item__primary-text,:host .mdc-list-item--activated .mat-mdc-list-item-icon{color:var(--resolved-color)}:host .mdc-list-item:hover{background-color:#444}:host .mdc-list-item:hover .mdc-list-item__primary-text{color:var(--resolved-color)}:host .mdc-list-item--activated{background-color:#444}:host *.flip-horizontal{transform:scaleX(-1)}\n"] }]
|
|
10973
11741
|
}], ctorParameters: function () { return [{ type: PlaceRouter }]; }, propDecorators: { expanded$: [{
|
|
10974
11742
|
type: Input
|
|
10975
11743
|
}], expanded: [{
|
|
@@ -10987,7 +11755,7 @@ class TabbedPlaceNavigationComponent extends AbstractPlaceNavigationComponent {
|
|
|
10987
11755
|
super(router);
|
|
10988
11756
|
}
|
|
10989
11757
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TabbedPlaceNavigationComponent, deps: [{ token: PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
10990
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TabbedPlaceNavigationComponent, selector: "aup-tabbed-place-navigation", usesInheritance: true, ngImport: i0, template: "<nav mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <ng-content select=\"[nav-start]\"></ng-content>\n <a mat-tab-link *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n aup-gc #gc=\"aup-gc\"\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n <ng-content select=\"[nav-end]\"></ng-content>\n</nav>\n<mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n", styles: [":host{display:block}div.place-holder{border:1px solid green}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3$
|
|
11758
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TabbedPlaceNavigationComponent, selector: "aup-tabbed-place-navigation", usesInheritance: true, ngImport: i0, template: "<nav mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <ng-content select=\"[nav-start]\"></ng-content>\n <a mat-tab-link *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n aup-gc #gc=\"aup-gc\"\n [pectinCommand]=\"commandFactory.create(item.place, {disposedWith: gc})\"\n [active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n <ng-content select=\"[nav-end]\"></ng-content>\n</nav>\n<mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n", styles: [":host{display:block}div.place-holder{border:1px solid green}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3$2.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "animationDuration"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i3$2.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i3$2.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex", "active", "id"], exportAs: ["matTabLink"] }, { kind: "directive", type: i4$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "directive", type: GarbageCollectorDirective, selector: "[aup-gc]", exportAs: ["aup-gc"] }, { kind: "component", type: CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
|
|
10991
11759
|
}
|
|
10992
11760
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TabbedPlaceNavigationComponent, decorators: [{
|
|
10993
11761
|
type: Component,
|
|
@@ -11010,7 +11778,6 @@ class PlaceModule {
|
|
|
11010
11778
|
MatTooltipModule,
|
|
11011
11779
|
MatIconModule,
|
|
11012
11780
|
DirectivesModule,
|
|
11013
|
-
FlexModule,
|
|
11014
11781
|
ComponentsModule,
|
|
11015
11782
|
PortalModule,
|
|
11016
11783
|
MatCardModule], exports: [PlaceOutletComponent,
|
|
@@ -11027,7 +11794,6 @@ class PlaceModule {
|
|
|
11027
11794
|
MatTooltipModule,
|
|
11028
11795
|
MatIconModule,
|
|
11029
11796
|
DirectivesModule,
|
|
11030
|
-
FlexModule,
|
|
11031
11797
|
ComponentsModule,
|
|
11032
11798
|
PortalModule,
|
|
11033
11799
|
MatCardModule] });
|
|
@@ -11045,7 +11811,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11045
11811
|
MatTooltipModule,
|
|
11046
11812
|
MatIconModule,
|
|
11047
11813
|
DirectivesModule,
|
|
11048
|
-
FlexModule,
|
|
11049
11814
|
ComponentsModule,
|
|
11050
11815
|
PortalModule,
|
|
11051
11816
|
MatCardModule
|
|
@@ -11135,60 +11900,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11135
11900
|
}]
|
|
11136
11901
|
}] });
|
|
11137
11902
|
|
|
11138
|
-
const slideDownOnEnterDef = style({
|
|
11139
|
-
opacity: 0,
|
|
11140
|
-
'height': '0',
|
|
11141
|
-
paddingTop: '0',
|
|
11142
|
-
paddingBottom: '0'
|
|
11143
|
-
});
|
|
11144
|
-
// TODO: params aren't getting customised in the view. Need to figure out the correct approach.
|
|
11145
|
-
const slideDownOnEnterAnimation = trigger('slideDownOnEnter', [
|
|
11146
|
-
transition(':enter', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
11147
|
-
transition(':leave', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
|
|
11148
|
-
]);
|
|
11149
|
-
const slideLeftOnEnterDef = style({
|
|
11150
|
-
opacity: 0,
|
|
11151
|
-
'width': '0',
|
|
11152
|
-
paddingLeft: '0',
|
|
11153
|
-
paddingRight: '0'
|
|
11154
|
-
});
|
|
11155
|
-
const slideRightOnEnterAnimation = trigger('slideRightOnEnter', [
|
|
11156
|
-
transition(':enter', [slideLeftOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
11157
|
-
transition(':leave', [animate('{{duration}}', slideLeftOnEnterDef)], { params: { duration: '100ms' } })
|
|
11158
|
-
]);
|
|
11159
|
-
const ZERO_WIDTH = {
|
|
11160
|
-
opacity: 0,
|
|
11161
|
-
width: '0',
|
|
11162
|
-
paddingLeft: '0',
|
|
11163
|
-
paddingRight: '0',
|
|
11164
|
-
};
|
|
11165
|
-
const ZERO_HEIGHT = {
|
|
11166
|
-
opacity: 0,
|
|
11167
|
-
height: '0',
|
|
11168
|
-
paddingTop: '0',
|
|
11169
|
-
paddingBottom: '0',
|
|
11170
|
-
};
|
|
11171
|
-
const slideDownAndRightOnEnterAnimation = trigger('slideDownAndRightOnEnter', [
|
|
11172
|
-
transition(':enter', [
|
|
11173
|
-
style({ overflow: "hidden", whiteSpace: "nowrap", ...ZERO_WIDTH, ...ZERO_HEIGHT }),
|
|
11174
|
-
animate('{{duration}}')
|
|
11175
|
-
], { params: { duration: '100ms' } }),
|
|
11176
|
-
transition(':leave', [
|
|
11177
|
-
style({ overflow: "hidden", whiteSpace: "nowrap" }),
|
|
11178
|
-
group([
|
|
11179
|
-
animate('{{duration}}', style(ZERO_HEIGHT)),
|
|
11180
|
-
// Hack: 100ms is too quick as it animates from * - 0 as we only see it animate the width is greater than the parent.
|
|
11181
|
-
// Not sure how to animate from * to natural new width of parent. This hack won't work for text that's just a little
|
|
11182
|
-
// bit wider than the parent as it'll fall within the parent bounds very early in the animation cycle.
|
|
11183
|
-
animate('300ms', style(ZERO_WIDTH)),
|
|
11184
|
-
])
|
|
11185
|
-
], { params: { duration: '100ms' } })
|
|
11186
|
-
]);
|
|
11187
|
-
|
|
11188
11903
|
/**
|
|
11189
11904
|
* @file Automatically generated by barrelsby.
|
|
11190
11905
|
*/
|
|
11191
11906
|
|
|
11907
|
+
class ResizeObserverDirective extends DisposableComponent {
|
|
11908
|
+
aupOnResize = new EventEmitter();
|
|
11909
|
+
elementRef = this.inject(ElementRef);
|
|
11910
|
+
ngZone = this.inject(NgZone);
|
|
11911
|
+
_bounds$ = new MutableValueModel();
|
|
11912
|
+
ngAfterViewInit() {
|
|
11913
|
+
const element = this.elementRef.nativeElement;
|
|
11914
|
+
const ro = new ResizeObserver((entries, observer) => {
|
|
11915
|
+
this.ngZone.run(() => this._updateBounds());
|
|
11916
|
+
});
|
|
11917
|
+
ro.observe(element);
|
|
11918
|
+
this.onDispose(() => ro.disconnect());
|
|
11919
|
+
setTimeout(() => this._updateBounds());
|
|
11920
|
+
}
|
|
11921
|
+
get bounds$() {
|
|
11922
|
+
return this._bounds$.readonly$;
|
|
11923
|
+
}
|
|
11924
|
+
_updateBounds() {
|
|
11925
|
+
this._bounds$.value = Bounds.ofElement(this.elementRef.nativeElement);
|
|
11926
|
+
this.aupOnResize.emit(this._bounds$.value);
|
|
11927
|
+
}
|
|
11928
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ResizeObserverDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
11929
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: ResizeObserverDirective, isStandalone: true, selector: "[aupOnResize]", outputs: { aupOnResize: "aupOnResize" }, usesInheritance: true, ngImport: i0 });
|
|
11930
|
+
}
|
|
11931
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ResizeObserverDirective, decorators: [{
|
|
11932
|
+
type: Directive,
|
|
11933
|
+
args: [{
|
|
11934
|
+
selector: "[aupOnResize]",
|
|
11935
|
+
standalone: true
|
|
11936
|
+
}]
|
|
11937
|
+
}], propDecorators: { aupOnResize: [{
|
|
11938
|
+
type: Output
|
|
11939
|
+
}] } });
|
|
11940
|
+
|
|
11192
11941
|
/**
|
|
11193
11942
|
* @file Automatically generated by barrelsby.
|
|
11194
11943
|
*/
|
|
@@ -11279,7 +12028,7 @@ class DialogInteractionContextFactory extends ModalInteractionContextFactory {
|
|
|
11279
12028
|
};
|
|
11280
12029
|
return new DialogInteractionContext(identifier, api, this.dialogService, config);
|
|
11281
12030
|
}
|
|
11282
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DialogInteractionContextFactory, deps: [{ token: i1$
|
|
12031
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DialogInteractionContextFactory, deps: [{ token: i1$7.MatDialog }, { token: DIALOG_INTERACTION_SERVICE_DEFAULTS, optional: true }, { token: MAT_DIALOG_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11283
12032
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DialogInteractionContextFactory, providedIn: 'root' });
|
|
11284
12033
|
}
|
|
11285
12034
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DialogInteractionContextFactory, decorators: [{
|
|
@@ -11287,12 +12036,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11287
12036
|
args: [{
|
|
11288
12037
|
providedIn: 'root'
|
|
11289
12038
|
}]
|
|
11290
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
12039
|
+
}], ctorParameters: function () { return [{ type: i1$7.MatDialog }, { type: i1$7.MatDialogConfig, decorators: [{
|
|
11291
12040
|
type: Optional
|
|
11292
12041
|
}, {
|
|
11293
12042
|
type: Inject,
|
|
11294
12043
|
args: [DIALOG_INTERACTION_SERVICE_DEFAULTS]
|
|
11295
|
-
}] }, { type: i1$
|
|
12044
|
+
}] }, { type: i1$7.MatDialogConfig, decorators: [{
|
|
11296
12045
|
type: Optional
|
|
11297
12046
|
}, {
|
|
11298
12047
|
type: Inject,
|
|
@@ -11412,6 +12161,7 @@ class PlaceGuard {
|
|
|
11412
12161
|
}
|
|
11413
12162
|
// @Trace()
|
|
11414
12163
|
async canActivate(activatedRoute, state) {
|
|
12164
|
+
await this.placeRouter.waitUntilRouterReady();
|
|
11415
12165
|
if (PlaceComponent.isPlaceComponentConstructor(activatedRoute.component)) {
|
|
11416
12166
|
const placeDefinition = PlaceComponent.getDefinition(activatedRoute.component);
|
|
11417
12167
|
if (placeDefinition.authenticate) {
|
|
@@ -11524,13 +12274,13 @@ class PlaceGuard {
|
|
|
11524
12274
|
return next();
|
|
11525
12275
|
}
|
|
11526
12276
|
}
|
|
11527
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceGuard, deps: [{ token: i1$
|
|
12277
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceGuard, deps: [{ token: i1$5.Router }, { token: UrlService }, { token: PlaceRouter }, { token: PlaceHistory }, { token: InteractionService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11528
12278
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceGuard, providedIn: 'root' });
|
|
11529
12279
|
}
|
|
11530
12280
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceGuard, decorators: [{
|
|
11531
12281
|
type: Injectable,
|
|
11532
12282
|
args: [{ providedIn: 'root' }]
|
|
11533
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
12283
|
+
}], ctorParameters: function () { return [{ type: i1$5.Router }, { type: UrlService }, { type: PlaceRouter }, { type: PlaceHistory }, { type: InteractionService }, { type: i0.Injector }]; } });
|
|
11534
12284
|
|
|
11535
12285
|
var Formatter;
|
|
11536
12286
|
(function (Formatter) {
|
|
@@ -11564,69 +12314,74 @@ var Formatter;
|
|
|
11564
12314
|
Formatter.BOOLEAN = new BooleanType();
|
|
11565
12315
|
})(Formatter || (Formatter = {}));
|
|
11566
12316
|
|
|
11567
|
-
function installMechanics(parameterDef
|
|
11568
|
-
|
|
11569
|
-
|
|
11570
|
-
|
|
11571
|
-
|
|
11572
|
-
|
|
11573
|
-
|
|
11574
|
-
|
|
11575
|
-
|
|
11576
|
-
|
|
11577
|
-
|
|
11578
|
-
|
|
11579
|
-
|
|
11580
|
-
|
|
11581
|
-
|
|
11582
|
-
|
|
11583
|
-
|
|
11584
|
-
|
|
11585
|
-
|
|
11586
|
-
|
|
11587
|
-
|
|
11588
|
-
|
|
11589
|
-
|
|
11590
|
-
|
|
11591
|
-
|
|
11592
|
-
|
|
11593
|
-
|
|
11594
|
-
|
|
11595
|
-
|
|
11596
|
-
|
|
11597
|
-
|
|
11598
|
-
|
|
11599
|
-
|
|
11600
|
-
|
|
11601
|
-
|
|
11602
|
-
|
|
11603
|
-
|
|
11604
|
-
|
|
11605
|
-
|
|
11606
|
-
|
|
11607
|
-
|
|
11608
|
-
|
|
11609
|
-
|
|
11610
|
-
|
|
11611
|
-
}
|
|
12317
|
+
// function installMechanics<M extends HasValue<any>>(parameterDef: ParameterDefinition<any>, prototype: object, propertyKey: string | symbol, tagPrefix: string) {
|
|
12318
|
+
//
|
|
12319
|
+
// Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, parameterDef);
|
|
12320
|
+
//
|
|
12321
|
+
// function getMechanics(instance: M, propertyName: string | symbol) {
|
|
12322
|
+
// const key = `__mechanics_${propertyName.toString()}`;
|
|
12323
|
+
// if (!instance[key]) {
|
|
12324
|
+
// const backingModel = parameterDef.createBackingModel();
|
|
12325
|
+
// instance[key] = {
|
|
12326
|
+
// backingModel: backingModel,
|
|
12327
|
+
// binding: null as Binding<any, any>
|
|
12328
|
+
// };
|
|
12329
|
+
// const tag = `${tagPrefix}(${prototype.constructor.name}.${propertyKey.toString()})`;
|
|
12330
|
+
// DebugContext.getOrCreate(instance[key].backingModel).tag(tag);
|
|
12331
|
+
// }
|
|
12332
|
+
// return instance[key];
|
|
12333
|
+
// }
|
|
12334
|
+
//
|
|
12335
|
+
// Object.defineProperty(prototype, propertyKey, {
|
|
12336
|
+
// get: function() {
|
|
12337
|
+
// return getMechanics(this, propertyKey).backingModel;
|
|
12338
|
+
// },
|
|
12339
|
+
// set: function(userModel: M) {
|
|
12340
|
+
// const mechanics = getMechanics(this, propertyKey);
|
|
12341
|
+
// // This handles the scenario where we want to push an existing value model (such as a form model)
|
|
12342
|
+
// // to and from the route.
|
|
12343
|
+
// if (mechanics.binding) {
|
|
12344
|
+
// mechanics.binding.dispose();
|
|
12345
|
+
// }
|
|
12346
|
+
// if (userModel) {
|
|
12347
|
+
// mechanics.binding = new Binding(mechanics.backingModel, userModel, {
|
|
12348
|
+
// toLeft: Functions.identity,
|
|
12349
|
+
// toRight: Functions.identity
|
|
12350
|
+
// });
|
|
12351
|
+
// if (parameterDef.isEmptyValue(userModel.value)) {
|
|
12352
|
+
// // console.log(`Push visit to model for ${tag}`, {value: mechanics.backingModel.value});
|
|
12353
|
+
// mechanics.binding.writeRight(); // push the visit into the user model;
|
|
12354
|
+
// } else {
|
|
12355
|
+
// if (!parameterDef.isEmptyValue(mechanics.backingModel.value)) {
|
|
12356
|
+
// console.warn('Assigning a visit model with an existing value to a visit parameter with an existing value. Visit parameter will be overridden');
|
|
12357
|
+
// }
|
|
12358
|
+
// mechanics.binding.writeLeft(); // push the user model into the visit
|
|
12359
|
+
// }
|
|
12360
|
+
// }
|
|
12361
|
+
// }
|
|
12362
|
+
// });
|
|
12363
|
+
// }
|
|
11612
12364
|
function RouteId(formatter, options) {
|
|
11613
12365
|
return (prototype, propertyKey) => {
|
|
11614
12366
|
const parameterDef = new ParameterDefinition.RouteId(propertyKey.toString(), options, formatter);
|
|
11615
|
-
installMechanics(parameterDef, prototype, propertyKey, '@RouteId');
|
|
12367
|
+
// installMechanics(parameterDef, prototype, propertyKey, '@RouteId');
|
|
12368
|
+
Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, parameterDef);
|
|
11616
12369
|
};
|
|
11617
12370
|
}
|
|
11618
12371
|
function VisitParameter(options) {
|
|
11619
12372
|
const opts = Opts.get(options);
|
|
11620
12373
|
return (prototype, propertyKey) => {
|
|
11621
12374
|
const parameterDef = new ParameterDefinition.ValueParameter(propertyKey.toString(), options, opts.getOptional('storeInUrl', null));
|
|
11622
|
-
|
|
12375
|
+
Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, parameterDef);
|
|
12376
|
+
// installMechanics(parameterDef, prototype, propertyKey, '@VisitParameter');
|
|
11623
12377
|
};
|
|
11624
12378
|
}
|
|
11625
12379
|
function VisitParameterList(options) {
|
|
11626
12380
|
const opts = Opts.get(options);
|
|
11627
12381
|
return (prototype, propertyKey) => {
|
|
11628
12382
|
const parameterDef = new ParameterDefinition.ArrayParameter(propertyKey.toString(), options, opts.getOptional('storeInUrl', null));
|
|
11629
|
-
|
|
12383
|
+
Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, parameterDef);
|
|
12384
|
+
// installMechanics(parameterDef, prototype, propertyKey, '@VisitParameterList');
|
|
11630
12385
|
};
|
|
11631
12386
|
}
|
|
11632
12387
|
|
|
@@ -11720,5 +12475,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11720
12475
|
* Generated bundle index. Do not edit.
|
|
11721
12476
|
*/
|
|
11722
12477
|
|
|
11723
|
-
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, CellEditorPortalRef, CellHeaderPortalRef, CellPortalRef, CellRendererPortalRef, CheckboxInputComponent,
|
|
12478
|
+
export { ACTIVITY_DATA, ALERT_CONFIG, AUP_PLACE_CONFIG, AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER, 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, CellEditorPortalRef, CellFooterPortalRef, CellHeaderPortalRef, CellPortalRef, CellRendererPortalRef, CheckboxInputComponent, ColumnManager, ColumnModel, ColumnOrderManager, 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, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EditRowControlsComponent, EditSession, EditorControlColumnModel, EmptyStateComponent, EnableCellTextSearch, EventCleanUpSession, FOOTER_CELL_RENDERER_PORTAL, FlattenedTreeListModel, FlexComponent, FocusBinding, FocusBindingDirective, FocusBindingFactory, FocusContainerComponent, FocusableComponent, FooterRowModel, Formatter, GarbageCollectorDirective, HEADER_CELL_RENDERER_PORTAL, HighlightPipe, HighlightTextModelDirective, HorizontalAlignment, IconComponent, InPlaceInteractionContextComponent, InlineActivityTriggerComponent, InlineEditorModel, InlineStringEditorComponent, InputActivity, InteractionContextTriggerForDirective, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, Keys, LEFT_RIGHT_PLACE_ANIMATION, LabelledValueComponent, ListPlaceNavComponent, ListPropertyColumnModel, LoadableComponent, 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, PlaceAuthService, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, PopupActivityTriggerComponent, PopupAwareComponent, PopupInteractionContextComponent, PopupMenuComponent, PopupMenuRendererComponent, PropertyColumnModel, ROUTE_PARAMETER_LIST_KEY, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, ResizeObserverDirective, RouteId, ScrollContainerComponent, SearchInputComponent, SectionHeaderComponent, SelectInputActivity, SelectInputComponent, SelectionCellComponent, SelectionColumnModel, SelectionHeaderCellComponent, SeparatorComponent, SidePlaceNavigationComponent, SlideDownInteractionContextComponent, StringInputActivity, StringInputComponent, SwitchCaseComponent, SwitchCaseDefaultDirective, SwitchCaseOption, SwitchCaseWhenDirective, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, TableBodyComponent, TableCellComponent, TableComponent, TableFilterModel, TableFooterRow, TableHeaderCellComponent, TableModel, TableMoreMenuComponent, TableMoreMenuPopupComponent, TableRowAttributesDirective, TableRowMenuComponent, TemplateCellRendererPortalRef, TextInputComponent, TextSearchContext, ToolBarComponent, Track, TreeExpansionModel, TreeInheritanceIconComponent, TreeLabelCellRendererComponent, TreeLabelColumnModel, TreeTableComponent, TreeTableModel, UrlService, UrlSnapshot, VerticalFocusContainerComponent, VisibilityService, Visit, VisitParameter, VisitParameterList, VisitSegment, VisitSegmentSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationTypeDetermined, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, markdownPillExtension, slideDownAndRightOnEnterAnimation, slideDownOnEnterAnimation, slideDownWhenOpenAnimation, slideRightOnEnterAnimation, treeNodeDecorator };
|
|
11724
12479
|
//# sourceMappingURL=coolon-angular-ui-powerups.mjs.map
|