@coolon/angular-ui-powerups 16.1.0-aplpha.129 → 16.1.0-aplpha.13
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 +6 -14
- package/assets/form.scss +27 -74
- package/assets/icons.scss +0 -1
- package/assets/styles.scss +0 -2
- package/assets/table.scss +27 -47
- package/assets/tabs.scss +5 -15
- package/esm2022/lib/animations/slide-animations.mjs +10 -15
- package/esm2022/lib/components/cards/card-container/card-container.component.mjs +4 -4
- package/esm2022/lib/components/commands/command/command.component.mjs +10 -24
- package/esm2022/lib/components/commands/command-face/command-face.component.mjs +3 -11
- 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 +4 -6
- package/esm2022/lib/components/components.module.mjs +8 -27
- package/esm2022/lib/components/disposable-component.mjs +40 -36
- package/esm2022/lib/components/exports.mjs +2 -9
- package/esm2022/lib/components/forms/abstract-input.component.mjs +12 -55
- package/esm2022/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +2 -2
- package/esm2022/lib/components/forms/checkbox-input/checkbox-input.component.mjs +6 -8
- 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 +9 -84
- package/esm2022/lib/components/forms/password-input/password-input.component.mjs +3 -40
- package/esm2022/lib/components/forms/select-input/select-input.component.mjs +10 -11
- package/esm2022/lib/components/forms/string-input/string-input.component.mjs +10 -26
- package/esm2022/lib/components/forms/text-input/text-input.component.mjs +2 -6
- package/esm2022/lib/components/icon/icon.component.mjs +4 -7
- package/esm2022/lib/components/resize-aware.component.mjs +24 -61
- package/esm2022/lib/components/switch-case/switch-case.component.mjs +7 -5
- package/esm2022/lib/components/tables/abstract-table-model.mjs +47 -77
- package/esm2022/lib/components/tables/abstract-table.component.mjs +5 -19
- package/esm2022/lib/components/tables/column/column-list-model.mjs +44 -0
- package/esm2022/lib/components/tables/column/column-model.mjs +6 -16
- 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 +13 -35
- 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 +1 -3
- package/esm2022/lib/components/tables/filter/table-filter-model.mjs +2 -4
- package/esm2022/lib/components/tables/filter/text-search-predicate.mjs +2 -16
- package/esm2022/lib/components/tables/renderer/cell-portal-ref.mjs +5 -23
- 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 +2 -3
- package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +40 -150
- package/esm2022/lib/components/tables/renderer/table-cell/table-cell.component.mjs +6 -6
- package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +2 -7
- package/esm2022/lib/components/tables/table/table-model.mjs +3 -12
- package/esm2022/lib/components/tables/table/table.component.mjs +61 -39
- package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +4 -5
- 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 +5 -12
- package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +7 -4
- 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 +1 -2
- package/esm2022/lib/directives/highlight.pipe.mjs +7 -9
- package/esm2022/lib/interaction/activity.mjs +4 -3
- package/esm2022/lib/interaction/alert.mjs +2 -2
- package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +4 -8
- package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +11 -20
- package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +11 -28
- 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 +5 -21
- package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +2 -2
- package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +2 -4
- package/esm2022/lib/interaction/components/input-activities/string-input-activity.mjs +4 -8
- package/esm2022/lib/interaction/directives/interaction-context-trigger-for.directive.mjs +2 -2
- package/esm2022/lib/interaction/exports.mjs +1 -2
- package/esm2022/lib/interaction/interaction-context.mjs +2 -3
- package/esm2022/lib/interaction/interaction.module.mjs +9 -7
- package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +4 -3
- package/esm2022/lib/place/components/place-outlet/place-outlet.component.mjs +9 -7
- 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 +5 -6
- 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 +6 -3
- package/esm2022/lib/place/place-auth-service.mjs +5 -5
- package/esm2022/lib/place/place-component.mjs +19 -29
- package/esm2022/lib/place/place-definition.mjs +4 -15
- package/esm2022/lib/place/place-history.mjs +2 -2
- package/esm2022/lib/place/place-router.mjs +20 -22
- package/esm2022/lib/place/place.decorator.mjs +2 -2
- package/esm2022/lib/place/place.module.mjs +5 -1
- package/esm2022/lib/place/route/formatter.mjs +2 -2
- package/esm2022/lib/place/route/parameter-decorators.mjs +50 -54
- 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 +635 -1520
- package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
- package/lib/animations/slide-animations.d.ts +0 -1
- package/lib/components/cards/card-container/card-container.component.d.ts +1 -1
- package/lib/components/commands/command/command.component.d.ts +1 -2
- package/lib/components/commands/command-face/command-face.component.d.ts +0 -2
- package/lib/components/commands/command-face.d.ts +7 -5
- 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 +53 -56
- package/lib/components/disposable-component.d.ts +8 -16
- package/lib/components/exports.d.ts +1 -8
- package/lib/components/forms/abstract-input.component.d.ts +5 -13
- package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +0 -2
- package/lib/components/forms/number-input/number-input.component.d.ts +4 -16
- package/lib/components/forms/password-input/password-input.component.d.ts +1 -7
- package/lib/components/forms/select-input/select-input.component.d.ts +3 -4
- package/lib/components/forms/string-input/string-input.component.d.ts +1 -6
- package/lib/components/forms/text-input/text-input.component.d.ts +0 -3
- package/lib/components/resize-aware.component.d.ts +5 -24
- package/lib/components/switch-case/switch-case.component.d.ts +3 -2
- package/lib/components/tables/abstract-table-model.d.ts +11 -29
- package/lib/components/tables/abstract-table.component.d.ts +3 -4
- package/lib/components/tables/column/column-list-model.d.ts +13 -0
- package/lib/components/tables/column/column-model.d.ts +3 -7
- package/lib/components/tables/column/custom-template-column-model.d.ts +2 -3
- package/lib/components/tables/column/custom-value-column-model.d.ts +2 -3
- package/lib/components/tables/column/editor-controls-column-model.d.ts +2 -3
- package/lib/components/tables/column/list-propery-column-model.d.ts +2 -3
- package/lib/components/tables/column/property-column-model.d.ts +2 -3
- package/lib/components/tables/column/selection-column-model.d.ts +4 -10
- 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 +0 -9
- package/lib/components/tables/renderer/cell-portal-ref.d.ts +12 -20
- package/lib/components/tables/renderer/table-body/table-body.component.d.ts +16 -40
- package/lib/components/tables/renderer/table-cell/table-cell.component.d.ts +3 -2
- package/lib/components/tables/renderer/table-more-menu/table-more-menu.component.d.ts +1 -2
- package/lib/components/tables/table/table-model.d.ts +4 -4
- package/lib/components/tables/table/table.component.d.ts +10 -14
- 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 +2 -3
- package/lib/components/tables/tree-table/tree-table-component.d.ts +0 -3
- package/lib/components/tables/tree-table/tree-table-model.d.ts +5 -4
- package/lib/directives/exports.d.ts +0 -1
- package/lib/interaction/activity.d.ts +2 -2
- package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +0 -1
- package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +5 -10
- package/lib/interaction/components/activity-container/activity-container.component.d.ts +3 -7
- 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 +3 -5
- package/lib/interaction/exports.d.ts +0 -1
- package/lib/interaction/interaction-context.d.ts +0 -2
- package/lib/interaction/interaction.module.d.ts +28 -28
- package/lib/place/components/place-outlet/place-outlet.component.d.ts +4 -3
- package/lib/place/place-auth-service.d.ts +4 -4
- package/lib/place/place-component.d.ts +5 -7
- package/lib/place/place-definition.d.ts +0 -2
- package/lib/place/place-router.d.ts +2 -6
- package/lib/place/place.module.d.ts +5 -4
- package/package.json +4 -6
- package/assets/draw.scss +0 -20
- package/assets/layout.scss +0 -3
- package/esm2022/lib/components/forms/form-field.mjs +0 -2
- package/esm2022/lib/components/forms/search-input/search-input.component.mjs +0 -33
- package/esm2022/lib/components/loadable-component.mjs +0 -49
- package/esm2022/lib/components/tables/column/column-manager.mjs +0 -81
- package/esm2022/lib/components/tables/column/column-order-manager.mjs +0 -19
- package/esm2022/lib/components/tables/footer/footer-row-model.mjs +0 -38
- package/esm2022/lib/components/tables/renderer/abstract-cell-renderer.mjs +0 -7
- package/esm2022/lib/components/tables/renderer/table-footer-row/table-footer-row.component.mjs +0 -30
- package/esm2022/lib/directives/resize-observer.directive.mjs +0 -40
- package/esm2022/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.mjs +0 -134
- package/lib/components/forms/form-field.d.ts +0 -5
- package/lib/components/forms/search-input/search-input.component.d.ts +0 -10
- package/lib/components/loadable-component.d.ts +0 -17
- package/lib/components/tables/column/column-manager.d.ts +0 -19
- package/lib/components/tables/column/column-order-manager.d.ts +0 -20
- package/lib/components/tables/footer/footer-row-model.d.ts +0 -22
- package/lib/components/tables/renderer/abstract-cell-renderer.d.ts +0 -6
- package/lib/components/tables/renderer/table-footer-row/table-footer-row.component.d.ts +0 -11
- package/lib/directives/resize-observer.directive.d.ts +0 -16
- package/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.d.ts +0 -53
|
@@ -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,
|
|
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';
|
|
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$4 from '@angular/material/select';
|
|
13
13
|
import { MatSelectModule } from '@angular/material/select';
|
|
14
|
-
import * as i3$
|
|
14
|
+
import * as i3$1 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 i3$2 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 {
|
|
20
|
+
import { CdkScrollableModule } 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 i4$3 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,34 +38,35 @@ 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';
|
|
43
41
|
import * as i1$3 from '@coolon/pectin';
|
|
44
|
-
import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, proxify, ValueModel, Proxify,
|
|
45
|
-
import { __decorate,
|
|
42
|
+
import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, MutableValueModel, Logger, proxify, ValueModel, Proxify, StoreInValueModel, Command, MutableListModel, StoreInListModel, Disposable, DelegatingListModel, DelegateToValueModel, FocusManager, EventListenerList, Guard, DelegatingFormListModel, Binding, DebugContext, DelegateToListModel, DelegatingFormValueModel, ListModel, Functions, PageController, SelectionModel, CanProxy, MultipleSelectionModel, AbstractComputedListModel, DirtyTrackingForm, ProxyRegistry, DelegatingCommand, PagedListModel, ComputedListModel, Deferred, ReducingValueModel, AndValueModel } from '@coolon/pectin';
|
|
43
|
+
import { __decorate, __param, __metadata } from 'tslib';
|
|
46
44
|
import * as i1 from '@angular/platform-browser';
|
|
47
45
|
import escapeStringRegexp from 'escape-string-regexp';
|
|
48
|
-
import {
|
|
46
|
+
import { isEmpty, isString, isFunction, isNil, isInteger, isObject, isEqual, join, first, uniq, last as last$1, isNumber, isNaN as isNaN$1 } from 'lodash';
|
|
49
47
|
import { marked } from 'marked';
|
|
50
|
-
import {
|
|
48
|
+
import { Memoize } from '@typescript-plus/fast-memoize-decorator';
|
|
51
49
|
import { Enum } from 'typescript-string-enums';
|
|
50
|
+
import { lang as lang$1, assert as assert$1, Stringy, Klass, Opts } from '@coolon/typescript-utilities';
|
|
52
51
|
import * as i5 from '@angular/material/core';
|
|
53
|
-
import { Memoize } from 'fast-typescript-memoize';
|
|
54
52
|
import { produce } from 'immer';
|
|
55
53
|
import ResizeObserver from 'resize-observer-polyfill';
|
|
56
|
-
import {
|
|
54
|
+
import { isFunction as isFunction$1, isNil as isNil$1, isEmpty as isEmpty$1, last, findLast } from 'lodash-es';
|
|
57
55
|
import * as i5$1 from '@angular/cdk/a11y';
|
|
58
56
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
59
|
-
import * as
|
|
57
|
+
import * as i7$1 from '@angular/flex-layout';
|
|
58
|
+
import { FlexModule, GridModule } from '@angular/flex-layout';
|
|
59
|
+
import * as i1$6 from '@angular/material/dialog';
|
|
60
60
|
import { MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
|
|
61
|
-
import * as i1$
|
|
62
|
-
import {
|
|
61
|
+
import * as i1$4 from '@angular/router';
|
|
62
|
+
import { ActivatedRouteSnapshot, UrlSegment, NavigationStart, NavigationEnd, NavigationError, NavigationCancel, RouterModule } from '@angular/router';
|
|
63
|
+
import { Memoize as Memoize$1 } from 'typescript-memoize';
|
|
63
64
|
import 'reflect-metadata';
|
|
64
|
-
import * as i1$
|
|
65
|
-
import { style, trigger, transition, animate, group, query } from '@angular/animations';
|
|
65
|
+
import * as i1$5 from '@angular/cdk/overlay';
|
|
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';
|
|
69
70
|
|
|
70
71
|
class CommandDirective extends GarbageCollector {
|
|
71
72
|
elementRef;
|
|
@@ -186,32 +187,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
186
187
|
args: ['click', ['$event']]
|
|
187
188
|
}] } });
|
|
188
189
|
|
|
189
|
-
class HighlightTextModelDirective extends GarbageCollector {
|
|
190
|
-
#aupHighlightTextModel_accessor_storage = proxify((ValueModel));
|
|
191
|
-
get aupHighlightTextModel() { return this.#aupHighlightTextModel_accessor_storage; }
|
|
192
|
-
set aupHighlightTextModel(value) { this.#aupHighlightTextModel_accessor_storage = value; }
|
|
193
|
-
constructor() {
|
|
194
|
-
super();
|
|
195
|
-
}
|
|
196
|
-
ngOnDestroy() {
|
|
197
|
-
this.dispose();
|
|
198
|
-
}
|
|
199
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: HighlightTextModelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
200
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: HighlightTextModelDirective, selector: "[aupHighlightTextModel]", inputs: { aupHighlightTextModel: "aupHighlightTextModel" }, usesInheritance: true, ngImport: i0 });
|
|
201
|
-
}
|
|
202
|
-
__decorate([
|
|
203
|
-
Proxify(),
|
|
204
|
-
__metadata("design:type", Object)
|
|
205
|
-
], HighlightTextModelDirective.prototype, "aupHighlightTextModel", null);
|
|
206
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: HighlightTextModelDirective, decorators: [{
|
|
207
|
-
type: Directive,
|
|
208
|
-
args: [{
|
|
209
|
-
selector: '[aupHighlightTextModel]'
|
|
210
|
-
}]
|
|
211
|
-
}], ctorParameters: function () { return []; }, propDecorators: { aupHighlightTextModel: [{
|
|
212
|
-
type: Input
|
|
213
|
-
}] } });
|
|
214
|
-
|
|
215
190
|
var Track;
|
|
216
191
|
(function (Track) {
|
|
217
192
|
Track.byIndex = (index, item) => index;
|
|
@@ -238,21 +213,11 @@ var Track;
|
|
|
238
213
|
|
|
239
214
|
class DisposableComponent extends GarbageCollector {
|
|
240
215
|
trackById = Track.byId();
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
216
|
+
#_loaded$ = new MutableValueModel();
|
|
217
|
+
#asyncLoadables = [];
|
|
218
|
+
#awaitedLoadables = [];
|
|
244
219
|
#initCallbacks = [];
|
|
245
220
|
#initialised = false;
|
|
246
|
-
cdr = this.inject(ChangeDetectorRef);
|
|
247
|
-
highlightContext = this.inject(HighlightTextModelDirective, {
|
|
248
|
-
optional: true
|
|
249
|
-
});
|
|
250
|
-
constructor() {
|
|
251
|
-
super();
|
|
252
|
-
if (this.highlightContext) { // the component might be rendered outside a table
|
|
253
|
-
this.viewStateDependsOn(this.highlightContext.aupHighlightTextModel);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
221
|
onInit(callback) {
|
|
257
222
|
if (this.#initialised) {
|
|
258
223
|
callback();
|
|
@@ -261,36 +226,51 @@ class DisposableComponent extends GarbageCollector {
|
|
|
261
226
|
this.#initCallbacks.push(callback);
|
|
262
227
|
}
|
|
263
228
|
}
|
|
229
|
+
get loaded$() {
|
|
230
|
+
return this.#_loaded$.readonly$;
|
|
231
|
+
}
|
|
264
232
|
ngOnInit() {
|
|
265
233
|
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
|
+
}
|
|
266
245
|
this.#initialised = true;
|
|
267
246
|
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
}
|
|
271
|
-
inject(token, options) {
|
|
272
|
-
return inject(token, options);
|
|
247
|
+
inject(token) {
|
|
248
|
+
return inject(token);
|
|
273
249
|
}
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
250
|
+
injectLoadable(token, options) {
|
|
251
|
+
const loadable = inject(token);
|
|
252
|
+
if (this.loaded$.value) {
|
|
253
|
+
loadable.ensureLoaded();
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
if (!options || options.wait === true) {
|
|
257
|
+
this.#awaitedLoadables.push(loadable);
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
this.#asyncLoadables.push(loadable);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
return loadable;
|
|
284
264
|
}
|
|
285
|
-
|
|
286
|
-
this.
|
|
265
|
+
ngOnDestroy() {
|
|
266
|
+
this.dispose();
|
|
287
267
|
}
|
|
288
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DisposableComponent, deps:
|
|
268
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DisposableComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
289
269
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: DisposableComponent, usesInheritance: true, ngImport: i0 });
|
|
290
270
|
}
|
|
291
271
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DisposableComponent, decorators: [{
|
|
292
272
|
type: Directive
|
|
293
|
-
}]
|
|
273
|
+
}] });
|
|
294
274
|
|
|
295
275
|
let FocusBinding = class FocusBinding extends GarbageCollector {
|
|
296
276
|
focusTargetElement;
|
|
@@ -486,6 +466,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
486
466
|
}]
|
|
487
467
|
}], ctorParameters: function () { return []; } });
|
|
488
468
|
|
|
469
|
+
class HighlightTextModelDirective extends GarbageCollector {
|
|
470
|
+
#aupHighlightTextModel_accessor_storage = proxify((ValueModel));
|
|
471
|
+
get aupHighlightTextModel() { return this.#aupHighlightTextModel_accessor_storage; }
|
|
472
|
+
set aupHighlightTextModel(value) { this.#aupHighlightTextModel_accessor_storage = value; }
|
|
473
|
+
constructor() {
|
|
474
|
+
super();
|
|
475
|
+
}
|
|
476
|
+
ngOnDestroy() {
|
|
477
|
+
this.dispose();
|
|
478
|
+
}
|
|
479
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: HighlightTextModelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
480
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: HighlightTextModelDirective, selector: "[aupHighlightTextModel]", inputs: { aupHighlightTextModel: "aupHighlightTextModel" }, usesInheritance: true, ngImport: i0 });
|
|
481
|
+
}
|
|
482
|
+
__decorate([
|
|
483
|
+
Proxify(),
|
|
484
|
+
__metadata("design:type", Object)
|
|
485
|
+
], HighlightTextModelDirective.prototype, "aupHighlightTextModel", null);
|
|
486
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: HighlightTextModelDirective, decorators: [{
|
|
487
|
+
type: Directive,
|
|
488
|
+
args: [{
|
|
489
|
+
selector: '[aupHighlightTextModel]'
|
|
490
|
+
}]
|
|
491
|
+
}], ctorParameters: function () { return []; }, propDecorators: { aupHighlightTextModel: [{
|
|
492
|
+
type: Input
|
|
493
|
+
}] } });
|
|
494
|
+
|
|
489
495
|
class HighlightPipe extends GarbageCollector {
|
|
490
496
|
sanitizer;
|
|
491
497
|
highlightContext;
|
|
@@ -498,20 +504,19 @@ class HighlightPipe extends GarbageCollector {
|
|
|
498
504
|
this.dispose();
|
|
499
505
|
}
|
|
500
506
|
transform(value, searchModel) {
|
|
501
|
-
const sanitisedValue = escape(value);
|
|
502
507
|
const model = searchModel ?? this.highlightContext?.aupHighlightTextModel;
|
|
503
|
-
const searchText =
|
|
508
|
+
const searchText = model?.value;
|
|
504
509
|
if (isEmpty(searchText) || !isString(value)) {
|
|
505
|
-
return
|
|
510
|
+
return value;
|
|
506
511
|
}
|
|
507
512
|
// Match in a case insensitive manner
|
|
508
513
|
const re = new RegExp(escapeStringRegexp(searchText), 'gi');
|
|
509
|
-
const match =
|
|
514
|
+
const match = value.match(re);
|
|
510
515
|
// If there's no match, just return the original value.
|
|
511
516
|
if (!match) {
|
|
512
|
-
return
|
|
517
|
+
return value;
|
|
513
518
|
}
|
|
514
|
-
const result =
|
|
519
|
+
const result = value.replace(re, '<mark>' + match[0] + '</mark>');
|
|
515
520
|
return this.sanitizer.bypassSecurityTrustHtml(result);
|
|
516
521
|
}
|
|
517
522
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: HighlightPipe, deps: [{ token: i1.DomSanitizer }, { token: HighlightTextModelDirective, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
@@ -731,42 +736,42 @@ var CommandFace;
|
|
|
731
736
|
}
|
|
732
737
|
}
|
|
733
738
|
__decorate([
|
|
734
|
-
|
|
739
|
+
Memoize(),
|
|
735
740
|
__metadata("design:type", Object),
|
|
736
741
|
__metadata("design:paramtypes", [])
|
|
737
742
|
], Adapter.prototype, "text", null);
|
|
738
743
|
__decorate([
|
|
739
|
-
|
|
744
|
+
Memoize(),
|
|
740
745
|
__metadata("design:type", Object),
|
|
741
746
|
__metadata("design:paramtypes", [])
|
|
742
747
|
], Adapter.prototype, "icon", null);
|
|
743
748
|
__decorate([
|
|
744
|
-
|
|
749
|
+
Memoize(),
|
|
745
750
|
__metadata("design:type", Object),
|
|
746
751
|
__metadata("design:paramtypes", [])
|
|
747
752
|
], Adapter.prototype, "iconPosition", null);
|
|
748
753
|
__decorate([
|
|
749
|
-
|
|
754
|
+
Memoize(),
|
|
750
755
|
__metadata("design:type", Object),
|
|
751
756
|
__metadata("design:paramtypes", [])
|
|
752
757
|
], Adapter.prototype, "tooltip", null);
|
|
753
758
|
__decorate([
|
|
754
|
-
|
|
759
|
+
Memoize(),
|
|
755
760
|
__metadata("design:type", Boolean),
|
|
756
761
|
__metadata("design:paramtypes", [])
|
|
757
762
|
], Adapter.prototype, "iconPositionStart", null);
|
|
758
763
|
__decorate([
|
|
759
|
-
|
|
764
|
+
Memoize(),
|
|
760
765
|
__metadata("design:type", Boolean),
|
|
761
766
|
__metadata("design:paramtypes", [])
|
|
762
767
|
], Adapter.prototype, "iconPositionEnd", null);
|
|
763
768
|
__decorate([
|
|
764
|
-
|
|
769
|
+
Memoize(),
|
|
765
770
|
__metadata("design:type", String),
|
|
766
771
|
__metadata("design:paramtypes", [])
|
|
767
772
|
], Adapter.prototype, "color", null);
|
|
768
773
|
__decorate([
|
|
769
|
-
|
|
774
|
+
Memoize(),
|
|
770
775
|
__metadata("design:type", String),
|
|
771
776
|
__metadata("design:paramtypes", [])
|
|
772
777
|
], Adapter.prototype, "style", null);
|
|
@@ -837,7 +842,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
837
842
|
args: ["class.disable-scroll"]
|
|
838
843
|
}] } });
|
|
839
844
|
|
|
840
|
-
/* eslint-disable @angular-eslint/no-host-metadata-property */
|
|
841
845
|
class IconComponent {
|
|
842
846
|
_icon;
|
|
843
847
|
prefix;
|
|
@@ -869,13 +873,11 @@ class IconComponent {
|
|
|
869
873
|
return `fa-${this.suffix}`;
|
|
870
874
|
}
|
|
871
875
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
872
|
-
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" }
|
|
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;width-vertical-align:middle}:host .faIconWrapper{display:flex;flex-direction:row;align-items:center;justify-content:center;width:var(--resolved-size);height:var(--resolved-size)}:host .svgIcon{width:var(--resolved-size);height:var(--resolved-size)}:host :host(.mat-chip-remove){--aup-icon-size: 18px}:host mat-icon{font-size:var(--resolved-size);width:var(--resolved-size);height:var(--resolved-size);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"] }] });
|
|
873
877
|
}
|
|
874
878
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IconComponent, decorators: [{
|
|
875
879
|
type: Component,
|
|
876
|
-
args: [{ selector: 'aup-icon',
|
|
877
|
-
class: "mat-icon" // this ensures angular form styles that target mat icon also work with us
|
|
878
|
-
}, 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"] }]
|
|
880
|
+
args: [{ selector: 'aup-icon', 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;width-vertical-align:middle}:host .faIconWrapper{display:flex;flex-direction:row;align-items:center;justify-content:center;width:var(--resolved-size);height:var(--resolved-size)}:host .svgIcon{width:var(--resolved-size);height:var(--resolved-size)}:host :host(.mat-chip-remove){--aup-icon-size: 18px}:host mat-icon{font-size:var(--resolved-size);width:var(--resolved-size);height:var(--resolved-size);margin-right:0!important}\n"] }]
|
|
879
881
|
}], propDecorators: { icon: [{
|
|
880
882
|
type: Input
|
|
881
883
|
}, {
|
|
@@ -906,7 +908,6 @@ class CommandFaceComponent extends DisposableComponent {
|
|
|
906
908
|
// tslint:disable-next-line:no-input-rename
|
|
907
909
|
get _rawFaces() { return this.#_rawFaces_accessor_storage; }
|
|
908
910
|
set _rawFaces(value) { this.#_rawFaces_accessor_storage = value; }
|
|
909
|
-
hasTextAndLeadingIcon$;
|
|
910
911
|
set face(face) {
|
|
911
912
|
this.faces$.value = [face];
|
|
912
913
|
}
|
|
@@ -926,7 +927,6 @@ class CommandFaceComponent extends DisposableComponent {
|
|
|
926
927
|
const activeFace = this.faceAdapters.first();
|
|
927
928
|
this.activeIcon = activeFace.pluck("icon");
|
|
928
929
|
this.activeColor = activeFace.pluck("color");
|
|
929
|
-
this.hasTextAndLeadingIcon$ = valueOf.all(this.activeIcon.isNotNil(), activeFace.pluckString('text').isNotBlank(), activeFace.pluck("iconPosition").doesNotEqual(CommandFace.Position.END)).areTruthy();
|
|
930
930
|
}
|
|
931
931
|
shouldIncludeIcon(face) {
|
|
932
932
|
return (!this.ignoreIcon && face.icon) || this.includeMissingIconInLayout;
|
|
@@ -940,11 +940,8 @@ class CommandFaceComponent extends DisposableComponent {
|
|
|
940
940
|
get color() {
|
|
941
941
|
return this.activeColor.value;
|
|
942
942
|
}
|
|
943
|
-
get hasTextAndIcon() {
|
|
944
|
-
return this.hasTextAndLeadingIcon$.value;
|
|
945
|
-
}
|
|
946
943
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CommandFaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
947
|
-
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"
|
|
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 });
|
|
948
945
|
}
|
|
949
946
|
__decorate([
|
|
950
947
|
StoreInListModel("faces$"),
|
|
@@ -952,7 +949,7 @@ __decorate([
|
|
|
952
949
|
], CommandFaceComponent.prototype, "_rawFaces", null);
|
|
953
950
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CommandFaceComponent, decorators: [{
|
|
954
951
|
type: Component,
|
|
955
|
-
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
|
|
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"] }]
|
|
956
953
|
}], ctorParameters: function () { return []; }, propDecorators: { _rawFaces: [{
|
|
957
954
|
type: Input,
|
|
958
955
|
args: ['faces']
|
|
@@ -970,9 +967,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
970
967
|
}], color: [{
|
|
971
968
|
type: HostBinding,
|
|
972
969
|
args: ['attr.color']
|
|
973
|
-
}], hasTextAndIcon: [{
|
|
974
|
-
type: HostBinding,
|
|
975
|
-
args: ['class.has-text-and-leading-icon']
|
|
976
970
|
}] } });
|
|
977
971
|
|
|
978
972
|
/**
|
|
@@ -1076,11 +1070,11 @@ class CardContainerComponent extends AbstractCardContainerComponent {
|
|
|
1076
1070
|
}
|
|
1077
1071
|
}
|
|
1078
1072
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CardContainerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1079
|
-
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]
|
|
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 <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]\"></ng-content>\n</div>\n\n", styles: [":host{--resolved-card-gap: var(--card-gap, 16px);--resolved-card-width: var(--card-width, 300px);--resolved-card-max-width: var(--card-max-width, auto);--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-fit,minmax(var(--resolved-card-width),var(--resolved-card-max-width)));min-width:calc(var(--resolved-card-width) + 2 * var(--resolved-card-gap));width:calc((var(--resolved-card-width) + var(--resolved-card-gap)) * 2 + var(--grid-gap))}: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"] }] });
|
|
1080
1074
|
}
|
|
1081
1075
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CardContainerComponent, decorators: [{
|
|
1082
1076
|
type: Component,
|
|
1083
|
-
args: [{ selector: 'aup-card-container', template: "<div class=\"header-container\">\n <ng-content select=\"[card-container-header]
|
|
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 <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]\"></ng-content>\n</div>\n\n", styles: [":host{--resolved-card-gap: var(--card-gap, 16px);--resolved-card-width: var(--card-width, 300px);--resolved-card-max-width: var(--card-max-width, auto);--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-fit,minmax(var(--resolved-card-width),var(--resolved-card-max-width)));min-width:calc(var(--resolved-card-width) + 2 * var(--resolved-card-gap));width:calc((var(--resolved-card-width) + var(--resolved-card-gap)) * 2 + var(--grid-gap))}: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"] }]
|
|
1084
1078
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { columnCount: [{
|
|
1085
1079
|
type: Input
|
|
1086
1080
|
}], enableScroll: [{
|
|
@@ -1156,24 +1150,14 @@ class CommandComponent extends PopupAwareComponent {
|
|
|
1156
1150
|
activeFace$;
|
|
1157
1151
|
iconOnly$;
|
|
1158
1152
|
tooltip$;
|
|
1159
|
-
visible$;
|
|
1160
1153
|
constructor(element, parent) {
|
|
1161
1154
|
super(element, parent);
|
|
1162
1155
|
const { chain, switchOn } = Dsl.disposeWith(this);
|
|
1163
|
-
this.faces$ = chain(this.command.busy$)
|
|
1164
|
-
.mapToList(busy => {
|
|
1156
|
+
this.faces$ = chain(this.command.busy$).mapToList(busy => {
|
|
1165
1157
|
return busy ?
|
|
1166
|
-
[this.busyFace$.value
|
|
1167
|
-
[this.face$.value
|
|
1168
|
-
}, {
|
|
1169
|
-
allowNil: true,
|
|
1170
|
-
dependsOn: [
|
|
1171
|
-
this.face$,
|
|
1172
|
-
this.busyFace$,
|
|
1173
|
-
this.command.defaultFace$,
|
|
1174
|
-
this.command.busyFace$
|
|
1175
|
-
]
|
|
1176
|
-
})
|
|
1158
|
+
[this.busyFace$.value, this.face$.value] :
|
|
1159
|
+
[this.face$.value, this.busyFace$.value];
|
|
1160
|
+
}, { allowNil: true, dependsOn: [this.face$, this.busyFace$] })
|
|
1177
1161
|
.rejectNil();
|
|
1178
1162
|
this.activeFace$ = this.faces$.first();
|
|
1179
1163
|
this.buttonStyle$ = chain(this.activeFace$).map(f => CommandFace.getStyleOf(f));
|
|
@@ -1182,19 +1166,18 @@ class CommandComponent extends PopupAwareComponent {
|
|
|
1182
1166
|
this.iconOnly$ = this.faces$.select(face => {
|
|
1183
1167
|
return isEmpty(CommandFace.getTextOf(face)) && !isEmpty(CommandFace.getIconOf(face));
|
|
1184
1168
|
}).count().equals(this.faces$.count());
|
|
1185
|
-
this.visible$ = chain(this.command.visible$);
|
|
1186
|
-
}
|
|
1187
|
-
get cssDisplayProperty() {
|
|
1188
|
-
return this.visible$.value ? undefined : 'none';
|
|
1189
1169
|
}
|
|
1190
1170
|
isActive(face) {
|
|
1191
1171
|
return this.activeFace$.query().equals(face);
|
|
1192
1172
|
}
|
|
1173
|
+
getFace() {
|
|
1174
|
+
return this.face;
|
|
1175
|
+
}
|
|
1193
1176
|
requestFocus() {
|
|
1194
1177
|
this.button.focus();
|
|
1195
1178
|
}
|
|
1196
1179
|
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 });
|
|
1197
|
-
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"
|
|
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"] }] });
|
|
1198
1181
|
}
|
|
1199
1182
|
__decorate([
|
|
1200
1183
|
Proxify(),
|
|
@@ -1242,9 +1225,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1242
1225
|
}], button: [{
|
|
1243
1226
|
type: ViewChild,
|
|
1244
1227
|
args: [MatButton]
|
|
1245
|
-
}], cssDisplayProperty: [{
|
|
1246
|
-
type: HostBinding,
|
|
1247
|
-
args: ["style.display"]
|
|
1248
1228
|
}] } });
|
|
1249
1229
|
|
|
1250
1230
|
/**
|
|
@@ -1272,12 +1252,12 @@ class AbstractPopupMenuComponent extends PopupAwareComponent {
|
|
|
1272
1252
|
xPosition = 'after';
|
|
1273
1253
|
yPosition = 'below';
|
|
1274
1254
|
triggers;
|
|
1255
|
+
#enabled_accessor_storage;
|
|
1256
|
+
get enabled() { return this.#enabled_accessor_storage; }
|
|
1257
|
+
set enabled(value) { this.#enabled_accessor_storage = value; }
|
|
1275
1258
|
#enabled$_accessor_storage = proxify((ValueModel));
|
|
1276
1259
|
get enabled$() { return this.#enabled$_accessor_storage; }
|
|
1277
1260
|
set enabled$(value) { this.#enabled$_accessor_storage = value; }
|
|
1278
|
-
#enabled_accessor_storage = true;
|
|
1279
|
-
get enabled() { return this.#enabled_accessor_storage; }
|
|
1280
|
-
set enabled(value) { this.#enabled_accessor_storage = value; }
|
|
1281
1261
|
children;
|
|
1282
1262
|
faces$;
|
|
1283
1263
|
constructor(element, parent) {
|
|
@@ -1319,16 +1299,16 @@ class AbstractPopupMenuComponent extends PopupAwareComponent {
|
|
|
1319
1299
|
return this.faceAdapter.face;
|
|
1320
1300
|
}
|
|
1321
1301
|
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 });
|
|
1322
|
-
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
|
|
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: "enabled", enabled$: "enabled$" }, viewQueries: [{ propertyName: "triggers", predicate: MatMenuTrigger, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
1323
1303
|
}
|
|
1304
|
+
__decorate([
|
|
1305
|
+
StoreInValueModel(),
|
|
1306
|
+
__metadata("design:type", Boolean)
|
|
1307
|
+
], AbstractPopupMenuComponent.prototype, "enabled", null);
|
|
1324
1308
|
__decorate([
|
|
1325
1309
|
Proxify(),
|
|
1326
1310
|
__metadata("design:type", Object)
|
|
1327
1311
|
], AbstractPopupMenuComponent.prototype, "enabled$", null);
|
|
1328
|
-
__decorate([
|
|
1329
|
-
StoreInValueModel(),
|
|
1330
|
-
__metadata("design:type", Object)
|
|
1331
|
-
], AbstractPopupMenuComponent.prototype, "enabled", null);
|
|
1332
1312
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractPopupMenuComponent, decorators: [{
|
|
1333
1313
|
type: Component,
|
|
1334
1314
|
args: [{ selector: 'aup-abstract-popup-menu', template: '' }]
|
|
@@ -1342,10 +1322,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1342
1322
|
}], triggers: [{
|
|
1343
1323
|
type: ViewChildren,
|
|
1344
1324
|
args: [MatMenuTrigger]
|
|
1345
|
-
}], enabled$: [{
|
|
1346
|
-
type: Input
|
|
1347
1325
|
}], enabled: [{
|
|
1348
1326
|
type: Input
|
|
1327
|
+
}], enabled$: [{
|
|
1328
|
+
type: Input
|
|
1349
1329
|
}] } });
|
|
1350
1330
|
|
|
1351
1331
|
class CommandContainer extends GarbageCollector {
|
|
@@ -1378,15 +1358,13 @@ class ToolBarComponent extends CommandContainer {
|
|
|
1378
1358
|
get orientation() {
|
|
1379
1359
|
return CommandContainer.Orientation.HORIZONTAL;
|
|
1380
1360
|
}
|
|
1381
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ToolBarComponent, deps: [{ token: CommandContainer
|
|
1361
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ToolBarComponent, deps: [{ token: CommandContainer }], target: i0.ɵɵFactoryTarget.Component });
|
|
1382
1362
|
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 });
|
|
1383
1363
|
}
|
|
1384
1364
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ToolBarComponent, decorators: [{
|
|
1385
1365
|
type: Component,
|
|
1386
1366
|
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"] }]
|
|
1387
|
-
}], ctorParameters: function () { return [{ type: CommandContainer
|
|
1388
|
-
type: Optional
|
|
1389
|
-
}] }]; } });
|
|
1367
|
+
}], ctorParameters: function () { return [{ type: CommandContainer }]; } });
|
|
1390
1368
|
|
|
1391
1369
|
/**
|
|
1392
1370
|
*
|
|
@@ -1697,6 +1675,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1697
1675
|
args: ['blur']
|
|
1698
1676
|
}] } });
|
|
1699
1677
|
|
|
1678
|
+
/* tslint:disable:no-input-rename */
|
|
1700
1679
|
const INPUT_TOKEN_HACK = new InjectionToken("INPUT_TOKEN_HACK");
|
|
1701
1680
|
class AbstractInputComponent extends DisposableComponent {
|
|
1702
1681
|
onValueEditedListeners = new EventListenerList();
|
|
@@ -1711,16 +1690,11 @@ class AbstractInputComponent extends DisposableComponent {
|
|
|
1711
1690
|
* gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
|
|
1712
1691
|
*/
|
|
1713
1692
|
formValue$;
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
set i18n$(value) { this.#i18n$_accessor_storage = value; }
|
|
1717
|
-
#i18n_accessor_storage;
|
|
1718
|
-
get i18n() { return this.#i18n_accessor_storage; }
|
|
1719
|
-
set i18n(value) { this.#i18n_accessor_storage = value; }
|
|
1720
|
-
_label;
|
|
1693
|
+
label;
|
|
1694
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
1721
1695
|
userFloatLabel = 'always'; // TODO: make this an injectable default
|
|
1722
|
-
|
|
1723
|
-
|
|
1696
|
+
hint;
|
|
1697
|
+
placeholder;
|
|
1724
1698
|
dense = false;
|
|
1725
1699
|
_enabled$ = this.registerDisposable(new DelegatingValueModel());
|
|
1726
1700
|
set enabled$(condition$) {
|
|
@@ -1787,9 +1761,6 @@ class AbstractInputComponent extends DisposableComponent {
|
|
|
1787
1761
|
isEnabled() {
|
|
1788
1762
|
return this.enabled$.value;
|
|
1789
1763
|
}
|
|
1790
|
-
get disabled() {
|
|
1791
|
-
return !this.isEnabled();
|
|
1792
|
-
}
|
|
1793
1764
|
hasErrors() {
|
|
1794
1765
|
return !this.errorList$.query().isEmpty();
|
|
1795
1766
|
}
|
|
@@ -1802,15 +1773,6 @@ class AbstractInputComponent extends DisposableComponent {
|
|
|
1802
1773
|
get focusContext() {
|
|
1803
1774
|
return this.formValue$.focusContext;
|
|
1804
1775
|
}
|
|
1805
|
-
get label() {
|
|
1806
|
-
return this._label ?? this.i18n?.label();
|
|
1807
|
-
}
|
|
1808
|
-
get hint() {
|
|
1809
|
-
return this._hint ?? this.hackyGetI18n("hint");
|
|
1810
|
-
}
|
|
1811
|
-
get placeholder() {
|
|
1812
|
-
return this._placeholder ?? this.hackyGetI18n("placeholder");
|
|
1813
|
-
}
|
|
1814
1776
|
get floatLabel() {
|
|
1815
1777
|
// return this.dense ? 'never' : this.userFloatLabel;
|
|
1816
1778
|
return this.userFloatLabel;
|
|
@@ -1825,45 +1787,24 @@ class AbstractInputComponent extends DisposableComponent {
|
|
|
1825
1787
|
onValueEdited(callback) {
|
|
1826
1788
|
return this.onValueEditedListeners.add(callback);
|
|
1827
1789
|
}
|
|
1828
|
-
hackyGetI18n(key) {
|
|
1829
|
-
// TODO: update I18n to make it possible to get an optional value with return the missing key message.
|
|
1830
|
-
const i18nFn = this.i18n ? this.i18n[key] : undefined;
|
|
1831
|
-
const i18nValue = i18nFn && i18nFn();
|
|
1832
|
-
return i18nValue?.startsWith("missing key") ? undefined : i18nValue;
|
|
1833
|
-
}
|
|
1834
1790
|
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 });
|
|
1835
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractInputComponent, selector: "ng-component", inputs: {
|
|
1791
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractInputComponent, selector: "ng-component", inputs: { label: "label", userFloatLabel: ["floatLabel", "userFloatLabel"], hint: "hint", 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" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
1836
1792
|
}
|
|
1837
|
-
__decorate([
|
|
1838
|
-
Proxify(),
|
|
1839
|
-
__metadata("design:type", Object)
|
|
1840
|
-
], AbstractInputComponent.prototype, "i18n$", null);
|
|
1841
|
-
__decorate([
|
|
1842
|
-
StoreInValueModel(),
|
|
1843
|
-
__metadata("design:type", Object)
|
|
1844
|
-
], AbstractInputComponent.prototype, "i18n", null);
|
|
1845
1793
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractInputComponent, decorators: [{
|
|
1846
1794
|
type: Component,
|
|
1847
1795
|
args: [{ template: '' }]
|
|
1848
1796
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
1849
1797
|
type: Inject,
|
|
1850
1798
|
args: [INPUT_TOKEN_HACK]
|
|
1851
|
-
}] }]; }, propDecorators: {
|
|
1852
|
-
type: Input
|
|
1853
|
-
}], i18n: [{
|
|
1799
|
+
}] }]; }, propDecorators: { label: [{
|
|
1854
1800
|
type: Input
|
|
1855
|
-
}], _label: [{
|
|
1856
|
-
type: Input,
|
|
1857
|
-
args: ["label"]
|
|
1858
1801
|
}], userFloatLabel: [{
|
|
1859
1802
|
type: Input,
|
|
1860
1803
|
args: ['floatLabel']
|
|
1861
|
-
}],
|
|
1862
|
-
type: Input
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
type: Input,
|
|
1866
|
-
args: ['placeholder']
|
|
1804
|
+
}], hint: [{
|
|
1805
|
+
type: Input
|
|
1806
|
+
}], placeholder: [{
|
|
1807
|
+
type: Input
|
|
1867
1808
|
}], dense: [{
|
|
1868
1809
|
type: HostBinding,
|
|
1869
1810
|
args: ['class.dense']
|
|
@@ -1906,9 +1847,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1906
1847
|
}], notifyFocusOut: [{
|
|
1907
1848
|
type: HostListener,
|
|
1908
1849
|
args: ['focusout']
|
|
1909
|
-
}], disabled: [{
|
|
1910
|
-
type: HostBinding,
|
|
1911
|
-
args: ["class.disabled"]
|
|
1912
1850
|
}] } });
|
|
1913
1851
|
|
|
1914
1852
|
class AbstractListInputComponent extends AbstractInputComponent {
|
|
@@ -2146,15 +2084,12 @@ class CheckboxInputComponent extends AbstractValueInputComponent {
|
|
|
2146
2084
|
constructor() {
|
|
2147
2085
|
super();
|
|
2148
2086
|
}
|
|
2149
|
-
select($event) {
|
|
2150
|
-
this.componentValue$.value = $event.checked;
|
|
2151
|
-
}
|
|
2152
2087
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CheckboxInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2153
|
-
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
|
|
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 [(ngModel)]=\"componentValue$.value\"\n [color]=\"color\"\n [labelPosition]=\"labelPosition\"\n [disabled]=\"!isEnabled()\"\n>{{label}}</mat-checkbox>\n<mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n<mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n", styles: [":host{display:inline-flex;flex-direction:column;padding:24px 0 16px}:host.dense{padding:6px 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: 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: 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.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }] });
|
|
2154
2089
|
}
|
|
2155
2090
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CheckboxInputComponent, decorators: [{
|
|
2156
2091
|
type: Component,
|
|
2157
|
-
args: [{ selector: 'aup-checkbox-input', template: "<!-- TODO: add focus binding -->\n
|
|
2092
|
+
args: [{ selector: 'aup-checkbox-input', template: "<!-- TODO: add focus binding -->\n<mat-checkbox\n [(ngModel)]=\"componentValue$.value\"\n [color]=\"color\"\n [labelPosition]=\"labelPosition\"\n [disabled]=\"!isEnabled()\"\n>{{label}}</mat-checkbox>\n<mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n<mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n", styles: [":host{display:inline-flex;flex-direction:column;padding:24px 0 16px}:host.dense{padding:6px 0 2px}mat-hint,mat-error{margin-top:4px;margin-left:24px;font-size:12px;font-weight:400;line-height:13.5px}\n"] }]
|
|
2158
2093
|
}], ctorParameters: function () { return []; }, propDecorators: { color: [{
|
|
2159
2094
|
type: Input
|
|
2160
2095
|
}], labelPosition: [{
|
|
@@ -2193,7 +2128,7 @@ class MultipleSelectInputComponent extends AbstractListInputComponent {
|
|
|
2193
2128
|
const self = this;
|
|
2194
2129
|
this.registerDisposable(new Binding(this.componentList$, this.ids$, {
|
|
2195
2130
|
toLeft(selectedItems, currentLeftValue) {
|
|
2196
|
-
const newValues = selectedItems.map(it => lookup.get(it)).filter(it =>
|
|
2131
|
+
const newValues = selectedItems.map(it => lookup.get(it)).filter(it => !it);
|
|
2197
2132
|
// if our lookup didn't find anything then we return the previous values so we don't clobber selections when the options go empty
|
|
2198
2133
|
return newValues.length < 1 && selectedItems.length > 0 ? currentLeftValue : newValues;
|
|
2199
2134
|
},
|
|
@@ -2204,7 +2139,7 @@ class MultipleSelectInputComponent extends AbstractListInputComponent {
|
|
|
2204
2139
|
})).writeRight();
|
|
2205
2140
|
}
|
|
2206
2141
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: MultipleSelectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2207
|
-
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$
|
|
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$4.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"] }] });
|
|
2208
2143
|
}
|
|
2209
2144
|
__decorate([
|
|
2210
2145
|
Proxify(),
|
|
@@ -2232,178 +2167,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
2232
2167
|
|
|
2233
2168
|
class NumberInputComponent extends AbstractValueInputComponent {
|
|
2234
2169
|
autocomplete;
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
#min_accessor_storage = Number.MIN_SAFE_INTEGER;
|
|
2239
|
-
get min() { return this.#min_accessor_storage; }
|
|
2240
|
-
set min(value) { this.#min_accessor_storage = value; }
|
|
2241
|
-
#max$_accessor_storage = proxify((ValueModel));
|
|
2242
|
-
get max$() { return this.#max$_accessor_storage; }
|
|
2243
|
-
set max$(value) { this.#max$_accessor_storage = value; }
|
|
2244
|
-
#max_accessor_storage = Number.MAX_SAFE_INTEGER;
|
|
2245
|
-
get max() { return this.#max_accessor_storage; }
|
|
2246
|
-
set max(value) { this.#max_accessor_storage = value; }
|
|
2247
|
-
#significantDigits$_accessor_storage = proxify((ValueModel));
|
|
2248
|
-
get significantDigits$() { return this.#significantDigits$_accessor_storage; }
|
|
2249
|
-
set significantDigits$(value) { this.#significantDigits$_accessor_storage = value; }
|
|
2250
|
-
#significantDigits_accessor_storage;
|
|
2251
|
-
get significantDigits() { return this.#significantDigits_accessor_storage; }
|
|
2252
|
-
set significantDigits(value) { this.#significantDigits_accessor_storage = value; }
|
|
2253
|
-
incrementCommand;
|
|
2254
|
-
decrementCommand;
|
|
2255
|
-
displayValue$;
|
|
2256
|
-
step$;
|
|
2170
|
+
min = Number.MIN_SAFE_INTEGER;
|
|
2171
|
+
max = Number.MAX_SAFE_INTEGER;
|
|
2172
|
+
iconPrefix;
|
|
2257
2173
|
constructor() {
|
|
2258
2174
|
super();
|
|
2259
|
-
const { chain } = Dsl.disposeWith(this);
|
|
2260
|
-
this.step$ = chain(this.significantDigits$).map(v => 10 ** (-v)).otherwise(1);
|
|
2261
|
-
this.displayValue$ = chain(this.value$).map(v => this.clampSignificantDigits(v), {
|
|
2262
|
-
dependsOn: this.significantDigits$
|
|
2263
|
-
});
|
|
2264
|
-
const normalisedValue$ = chain(this.value$).otherwise(0);
|
|
2265
|
-
this.incrementCommand = Command.create(() => {
|
|
2266
|
-
this.value$.value = this.increment(this.value$.value);
|
|
2267
|
-
}).enableWhile(chain.numericValue(normalisedValue$).isLessThan(this.max$).and(this.enabled$));
|
|
2268
|
-
this.decrementCommand = Command.create(() => {
|
|
2269
|
-
this.value$.value = this.decrement(this.value$.value);
|
|
2270
|
-
}).enableWhile(chain.numericValue(normalisedValue$).isGreaterThan(this.min$).and(this.enabled$));
|
|
2271
|
-
}
|
|
2272
|
-
increment(value) {
|
|
2273
|
-
return this.clampSignificantDigits((value ?? 0) + this.step$.value);
|
|
2274
|
-
}
|
|
2275
|
-
decrement(value) {
|
|
2276
|
-
return this.clampSignificantDigits((value ?? 0) - this.step$.value);
|
|
2277
|
-
}
|
|
2278
|
-
clampSignificantDigits(value) {
|
|
2279
|
-
return Number(value.toFixed(this.significantDigits));
|
|
2280
|
-
}
|
|
2281
|
-
onValueChange(value) {
|
|
2282
|
-
this.value$.value = value;
|
|
2283
2175
|
}
|
|
2284
2176
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: NumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2285
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: NumberInputComponent, selector: "aup-number-input", inputs: { autocomplete: "autocomplete", min
|
|
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: "max", iconPrefix: "iconPrefix" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\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 >\n <mat-hint *ngIf=\"hint && !dense\" >{{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", 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.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.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }, { kind: "component", type: IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
|
|
2286
2178
|
}
|
|
2287
|
-
__decorate([
|
|
2288
|
-
Proxify(),
|
|
2289
|
-
__metadata("design:type", ValueModel)
|
|
2290
|
-
], NumberInputComponent.prototype, "min$", null);
|
|
2291
|
-
__decorate([
|
|
2292
|
-
StoreInValueModel(),
|
|
2293
|
-
__metadata("design:type", Object)
|
|
2294
|
-
], NumberInputComponent.prototype, "min", null);
|
|
2295
|
-
__decorate([
|
|
2296
|
-
Proxify(),
|
|
2297
|
-
__metadata("design:type", ValueModel)
|
|
2298
|
-
], NumberInputComponent.prototype, "max$", null);
|
|
2299
|
-
__decorate([
|
|
2300
|
-
StoreInValueModel(),
|
|
2301
|
-
__metadata("design:type", Object)
|
|
2302
|
-
], NumberInputComponent.prototype, "max", null);
|
|
2303
|
-
__decorate([
|
|
2304
|
-
Proxify(),
|
|
2305
|
-
__metadata("design:type", ValueModel)
|
|
2306
|
-
], NumberInputComponent.prototype, "significantDigits$", null);
|
|
2307
|
-
__decorate([
|
|
2308
|
-
StoreInValueModel(),
|
|
2309
|
-
__metadata("design:type", Number)
|
|
2310
|
-
], NumberInputComponent.prototype, "significantDigits", null);
|
|
2311
2179
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: NumberInputComponent, decorators: [{
|
|
2312
2180
|
type: Component,
|
|
2313
|
-
args: [{ selector: 'aup-number-input', template: "<mat-form-field floatLabel=\"
|
|
2181
|
+
args: [{ selector: 'aup-number-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\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 >\n <mat-hint *ngIf=\"hint && !dense\" >{{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" }]
|
|
2314
2182
|
}], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
|
|
2315
2183
|
type: Input
|
|
2316
|
-
}], min$: [{
|
|
2317
|
-
type: Input
|
|
2318
2184
|
}], min: [{
|
|
2319
2185
|
type: Input
|
|
2320
|
-
}], max$: [{
|
|
2321
|
-
type: Input
|
|
2322
2186
|
}], max: [{
|
|
2323
2187
|
type: Input
|
|
2324
|
-
}],
|
|
2325
|
-
type: Input
|
|
2326
|
-
}], significantDigits: [{
|
|
2188
|
+
}], iconPrefix: [{
|
|
2327
2189
|
type: Input
|
|
2328
2190
|
}] } });
|
|
2329
2191
|
|
|
2330
2192
|
class PasswordInputComponent extends AbstractValueInputComponent {
|
|
2331
2193
|
autocomplete;
|
|
2332
|
-
#enableShowPassword$_accessor_storage = proxify((ValueModel));
|
|
2333
|
-
get enableShowPassword$() { return this.#enableShowPassword$_accessor_storage; }
|
|
2334
|
-
set enableShowPassword$(value) { this.#enableShowPassword$_accessor_storage = value; }
|
|
2335
|
-
#enableShowPassword_accessor_storage = false;
|
|
2336
|
-
get enableShowPassword() { return this.#enableShowPassword_accessor_storage; }
|
|
2337
|
-
set enableShowPassword(value) { this.#enableShowPassword_accessor_storage = value; }
|
|
2338
|
-
showPassword$ = new MutableValueModel(false);
|
|
2339
|
-
toggleShowPasswordCommand;
|
|
2340
2194
|
constructor() {
|
|
2341
2195
|
super();
|
|
2342
|
-
const { chain, valueOf } = Dsl.disposeWith(this);
|
|
2343
|
-
const face$ = chain(this.showPassword$).map(show => {
|
|
2344
|
-
return {
|
|
2345
|
-
icon: () => show ? "mat:visibility_off" : "mat:visibility"
|
|
2346
|
-
};
|
|
2347
|
-
});
|
|
2348
|
-
this.toggleShowPasswordCommand = Command.create(() => {
|
|
2349
|
-
this.showPassword$.value = !this.showPassword$.value;
|
|
2350
|
-
})
|
|
2351
|
-
.withFace(face$)
|
|
2352
|
-
.enableWhile(chain.stringValue(this.componentValue$).isNotBlank());
|
|
2353
|
-
}
|
|
2354
|
-
get fieldType() {
|
|
2355
|
-
return this.showPassword$.value ? "text" : "password";
|
|
2356
2196
|
}
|
|
2357
2197
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PasswordInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2358
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PasswordInputComponent, selector: "aup-password-input", inputs: { autocomplete: "autocomplete"
|
|
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=\"password\"\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</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: FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }] });
|
|
2359
2199
|
}
|
|
2360
|
-
__decorate([
|
|
2361
|
-
Proxify(),
|
|
2362
|
-
__metadata("design:type", Object)
|
|
2363
|
-
], PasswordInputComponent.prototype, "enableShowPassword$", null);
|
|
2364
|
-
__decorate([
|
|
2365
|
-
StoreInValueModel(),
|
|
2366
|
-
__metadata("design:type", Object)
|
|
2367
|
-
], PasswordInputComponent.prototype, "enableShowPassword", null);
|
|
2368
2200
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PasswordInputComponent, decorators: [{
|
|
2369
2201
|
type: Component,
|
|
2370
|
-
args: [{ selector: 'aup-password-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input
|
|
2371
|
-
}], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
|
|
2372
|
-
type: Input
|
|
2373
|
-
}], enableShowPassword$: [{
|
|
2374
|
-
type: Input
|
|
2375
|
-
}], enableShowPassword: [{
|
|
2376
|
-
type: Input
|
|
2377
|
-
}] } });
|
|
2378
|
-
|
|
2379
|
-
class SearchInputComponent extends AbstractValueInputComponent {
|
|
2380
|
-
autocomplete;
|
|
2381
|
-
clearCommand;
|
|
2382
|
-
constructor() {
|
|
2383
|
-
super();
|
|
2384
|
-
this.dense = true;
|
|
2385
|
-
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
2386
|
-
this.clearCommand = Command.create(() => {
|
|
2387
|
-
this.componentValue$.value = "";
|
|
2388
|
-
});
|
|
2389
|
-
this.clearCommand.disableWhile(chain.stringValue(this.componentValue$).isBlank());
|
|
2390
|
-
}
|
|
2391
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2392
|
-
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"] }] });
|
|
2393
|
-
}
|
|
2394
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SearchInputComponent, decorators: [{
|
|
2395
|
-
type: Component,
|
|
2396
|
-
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"] }]
|
|
2202
|
+
args: [{ selector: 'aup-password-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"password\"\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</mat-form-field>\n\n" }]
|
|
2397
2203
|
}], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
|
|
2398
2204
|
type: Input
|
|
2399
2205
|
}] } });
|
|
2400
2206
|
|
|
2401
2207
|
/**
|
|
2402
2208
|
* Using templates:
|
|
2403
|
-
* <aup-select-input [
|
|
2209
|
+
* <aup-select-input [valueModel]="myModel" [options]="myOptions">
|
|
2404
2210
|
* <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
|
|
2405
|
-
* <ng-template #
|
|
2406
|
-
* <ng-template #nilOptionTemplate>Uses the placeholder by default but you can customise it</ng-template>
|
|
2211
|
+
* <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
|
|
2407
2212
|
* </aup-select_input>
|
|
2408
2213
|
*/
|
|
2409
2214
|
class SelectInputComponent extends AbstractValueInputComponent {
|
|
@@ -2428,7 +2233,7 @@ class SelectInputComponent extends AbstractValueInputComponent {
|
|
|
2428
2233
|
super();
|
|
2429
2234
|
const { chain } = Dsl.disposeWith(this);
|
|
2430
2235
|
this.cookedOptions$ = chain(this.options$)
|
|
2431
|
-
.
|
|
2236
|
+
.reduceToList(options => {
|
|
2432
2237
|
return options.length < 1 && !isNil(this.componentValue$.value) ? [this.componentValue$.value] : options;
|
|
2433
2238
|
}, {
|
|
2434
2239
|
dependsOn: this.componentValue$
|
|
@@ -2467,21 +2272,21 @@ class SelectInputComponent extends AbstractValueInputComponent {
|
|
|
2467
2272
|
id: this.delegatedIdentityOf(value)
|
|
2468
2273
|
});
|
|
2469
2274
|
let lastIdSnapshot = snapshotValueAndId(this.componentValue$.value);
|
|
2470
|
-
|
|
2275
|
+
console.log(lastIdSnapshot);
|
|
2471
2276
|
before(this.options$).changes(() => {
|
|
2472
2277
|
lastIdSnapshot = snapshotValueAndId(this.componentValue$.value);
|
|
2473
|
-
|
|
2278
|
+
console.log(lastIdSnapshot);
|
|
2474
2279
|
});
|
|
2475
2280
|
when(this.options$).changes((is, was) => {
|
|
2476
2281
|
const newIdSnapshot = snapshotValueAndId(lastIdSnapshot.value);
|
|
2477
|
-
|
|
2282
|
+
console.log(lastIdSnapshot, newIdSnapshot);
|
|
2478
2283
|
if (newIdSnapshot !== lastIdSnapshot.id) {
|
|
2479
2284
|
this.id$.value = this.delegatedIdentityOf(this.componentValue$.value);
|
|
2480
2285
|
}
|
|
2481
2286
|
});
|
|
2482
2287
|
}
|
|
2483
2288
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2484
|
-
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
|
|
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$4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i4$4.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }] });
|
|
2485
2290
|
}
|
|
2486
2291
|
__decorate([
|
|
2487
2292
|
Proxify(),
|
|
@@ -2493,7 +2298,7 @@ __decorate([
|
|
|
2493
2298
|
], SelectInputComponent.prototype, "options", null);
|
|
2494
2299
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectInputComponent, decorators: [{
|
|
2495
2300
|
type: Component,
|
|
2496
|
-
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
|
|
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"] }]
|
|
2497
2302
|
}], ctorParameters: function () { return []; }, propDecorators: { options$: [{
|
|
2498
2303
|
type: Input
|
|
2499
2304
|
}], options: [{
|
|
@@ -2524,28 +2329,17 @@ class StringInputComponent extends AbstractValueInputComponent {
|
|
|
2524
2329
|
get enableClear() { return this.#enableClear_accessor_storage; }
|
|
2525
2330
|
set enableClear(value) { this.#enableClear_accessor_storage = value; }
|
|
2526
2331
|
iconPrefix;
|
|
2527
|
-
#suffixCommand_accessor_storage = proxify(Command);
|
|
2528
|
-
get suffixCommand() { return this.#suffixCommand_accessor_storage; }
|
|
2529
|
-
set suffixCommand(value) { this.#suffixCommand_accessor_storage = value; }
|
|
2530
2332
|
clearCommand;
|
|
2531
|
-
elementRef = this.inject(ElementRef);
|
|
2532
2333
|
constructor() {
|
|
2533
2334
|
super();
|
|
2534
2335
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
2535
2336
|
this.clearCommand = Command.create(() => {
|
|
2536
2337
|
this.componentValue$.value = "";
|
|
2537
|
-
})
|
|
2538
|
-
|
|
2539
|
-
.enableWhile(chain.stringValue(this.componentValue$).isNotBlank());
|
|
2540
|
-
}
|
|
2541
|
-
get hasSuffixCommand() {
|
|
2542
|
-
return Proxify.hasTarget(this.suffixCommand);
|
|
2543
|
-
}
|
|
2544
|
-
select() {
|
|
2545
|
-
this.elementRef.nativeElement.querySelector('input').select();
|
|
2338
|
+
});
|
|
2339
|
+
this.clearCommand.disableWhile(chain.stringValue(this.componentValue$).isBlank());
|
|
2546
2340
|
}
|
|
2547
2341
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: StringInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2548
|
-
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"
|
|
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 <button mat-icon-button matSuffix *ngIf=\"enableClear\" [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: 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: 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"] }] });
|
|
2549
2343
|
}
|
|
2550
2344
|
__decorate([
|
|
2551
2345
|
Proxify(),
|
|
@@ -2555,13 +2349,9 @@ __decorate([
|
|
|
2555
2349
|
StoreInValueModel(),
|
|
2556
2350
|
__metadata("design:type", Object)
|
|
2557
2351
|
], StringInputComponent.prototype, "enableClear", null);
|
|
2558
|
-
__decorate([
|
|
2559
|
-
Proxify(),
|
|
2560
|
-
__metadata("design:type", Command)
|
|
2561
|
-
], StringInputComponent.prototype, "suffixCommand", null);
|
|
2562
2352
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: StringInputComponent, decorators: [{
|
|
2563
2353
|
type: Component,
|
|
2564
|
-
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 <
|
|
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 <button mat-icon-button matSuffix *ngIf=\"enableClear\" [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n", styles: ["button[disabled]{visibility:hidden}\n"] }]
|
|
2565
2355
|
}], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
|
|
2566
2356
|
type: Input
|
|
2567
2357
|
}], enableClear$: [{
|
|
@@ -2570,8 +2360,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
2570
2360
|
type: Input
|
|
2571
2361
|
}], iconPrefix: [{
|
|
2572
2362
|
type: Input
|
|
2573
|
-
}], suffixCommand: [{
|
|
2574
|
-
type: Input
|
|
2575
2363
|
}] } });
|
|
2576
2364
|
|
|
2577
2365
|
class TextInputComponent extends AbstractValueInputComponent {
|
|
@@ -2579,14 +2367,10 @@ class TextInputComponent extends AbstractValueInputComponent {
|
|
|
2579
2367
|
// valueModel: Form.ValueModelBase<string> | MutableValueModel<string>;
|
|
2580
2368
|
rows = 2;
|
|
2581
2369
|
cols;
|
|
2582
|
-
elementRef = this.inject(ElementRef);
|
|
2583
2370
|
constructor() {
|
|
2584
2371
|
super();
|
|
2585
2372
|
// const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
2586
2373
|
}
|
|
2587
|
-
select() {
|
|
2588
|
-
this.elementRef.nativeElement.querySelector('input').select();
|
|
2589
|
-
}
|
|
2590
2374
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2591
2375
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TextInputComponent, selector: "aup-text-input", inputs: { rows: "rows", cols: "cols" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <textarea matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [rows]=\"rows\"\n [cols]=\"cols\"\n >\n </textarea>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n", styles: ["button[disabled]{visibility:hidden}textarea{overflow:auto}\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.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: FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }] });
|
|
2592
2376
|
}
|
|
@@ -2763,6 +2547,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
2763
2547
|
* </aup-switch-case>
|
|
2764
2548
|
*/
|
|
2765
2549
|
class SwitchCaseComponent extends DisposableComponent {
|
|
2550
|
+
cdr;
|
|
2766
2551
|
#switch$_accessor_storage = proxify((ValueModel));
|
|
2767
2552
|
get switch$() { return this.#switch$_accessor_storage; }
|
|
2768
2553
|
set switch$(value) { this.#switch$_accessor_storage = value; }
|
|
@@ -2771,8 +2556,9 @@ class SwitchCaseComponent extends DisposableComponent {
|
|
|
2771
2556
|
set switch(value) { this.#switch_accessor_storage = value; }
|
|
2772
2557
|
switchCaseOptions;
|
|
2773
2558
|
selectedIndex = 0;
|
|
2774
|
-
constructor() {
|
|
2559
|
+
constructor(cdr) {
|
|
2775
2560
|
super();
|
|
2561
|
+
this.cdr = cdr;
|
|
2776
2562
|
}
|
|
2777
2563
|
ngAfterContentInit() {
|
|
2778
2564
|
const subscription = this.switchCaseOptions.changes.subscribe(change => this.updateSelection());
|
|
@@ -2809,8 +2595,8 @@ class SwitchCaseComponent extends DisposableComponent {
|
|
|
2809
2595
|
this.selectedIndex = -1;
|
|
2810
2596
|
}
|
|
2811
2597
|
}
|
|
2812
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SwitchCaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2813
|
-
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$
|
|
2598
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SwitchCaseComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
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$1.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i3$1.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }] });
|
|
2814
2600
|
}
|
|
2815
2601
|
__decorate([
|
|
2816
2602
|
Proxify(),
|
|
@@ -2823,7 +2609,7 @@ __decorate([
|
|
|
2823
2609
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SwitchCaseComponent, decorators: [{
|
|
2824
2610
|
type: Component,
|
|
2825
2611
|
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"] }]
|
|
2826
|
-
}], ctorParameters: function () { return []; }, propDecorators: { switch$: [{
|
|
2612
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { switch$: [{
|
|
2827
2613
|
type: Input
|
|
2828
2614
|
}], switch: [{
|
|
2829
2615
|
type: Input
|
|
@@ -2833,7 +2619,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
2833
2619
|
}] } });
|
|
2834
2620
|
|
|
2835
2621
|
const HEADER_CELL_RENDERER_PORTAL = Symbol('aup-cell-header-renderer-component-ref');
|
|
2836
|
-
const FOOTER_CELL_RENDERER_PORTAL = Symbol('aup-cell-footer-renderer-component-ref');
|
|
2837
2622
|
const CELL_RENDERER_PORTAL = Symbol('aup-cell-renderer-component-ref');
|
|
2838
2623
|
const CELL_EDITOR_PORTAL = Symbol('aup-cell-editor-component-ref');
|
|
2839
2624
|
const PORTAL_RENDERER_COMPONENT = Symbol('aup-cell-renderer-portal-component');
|
|
@@ -2848,7 +2633,7 @@ class CellHeaderPortalRef extends CellPortalRef {
|
|
|
2848
2633
|
this.componentType = componentType;
|
|
2849
2634
|
this.initialiseHeader = initialiseHeader;
|
|
2850
2635
|
}
|
|
2851
|
-
initialiseHost(host) {
|
|
2636
|
+
initialiseHost(host, columnModel) {
|
|
2852
2637
|
assert$1.isTruthy(host);
|
|
2853
2638
|
host[HEADER_CELL_RENDERER_PORTAL] = new ComponentPortal(this.componentType);
|
|
2854
2639
|
}
|
|
@@ -2867,7 +2652,7 @@ class ComponentCellRendererPortalRef extends CellRendererPortalRef {
|
|
|
2867
2652
|
this.componentType = componentType;
|
|
2868
2653
|
this.updateComponent = updateComponent;
|
|
2869
2654
|
}
|
|
2870
|
-
initialiseHost(host) {
|
|
2655
|
+
initialiseHost(host, columnModel) {
|
|
2871
2656
|
host[CELL_RENDERER_PORTAL] = new ComponentPortal(this.componentType);
|
|
2872
2657
|
}
|
|
2873
2658
|
// @Trace()
|
|
@@ -2890,7 +2675,7 @@ class CellEditorPortalRef extends CellPortalRef {
|
|
|
2890
2675
|
this.componentType = componentType;
|
|
2891
2676
|
this.initialiseEditorSession = initialiseEditorSession;
|
|
2892
2677
|
}
|
|
2893
|
-
initialiseHost(host) {
|
|
2678
|
+
initialiseHost(host, columnModel) {
|
|
2894
2679
|
assert$1.isTruthy(host);
|
|
2895
2680
|
host[CELL_EDITOR_PORTAL] = new ComponentPortal(this.componentType);
|
|
2896
2681
|
}
|
|
@@ -2914,7 +2699,7 @@ class TemplateCellRendererPortalRef extends CellRendererPortalRef {
|
|
|
2914
2699
|
this.fillCell = fillCell;
|
|
2915
2700
|
this.padChild = padChild;
|
|
2916
2701
|
}
|
|
2917
|
-
initialiseHost(host) {
|
|
2702
|
+
initialiseHost(host, columnModel) {
|
|
2918
2703
|
assert$1.isTruthy(host);
|
|
2919
2704
|
}
|
|
2920
2705
|
// @Trace()
|
|
@@ -2931,23 +2716,6 @@ class TemplateCellRendererPortalRef extends CellRendererPortalRef {
|
|
|
2931
2716
|
return new TemplatePortal(this.templateRef, this.viewContainer, { ...(data), $implicit: data.row });
|
|
2932
2717
|
}
|
|
2933
2718
|
}
|
|
2934
|
-
class CellFooterPortalRef extends CellPortalRef {
|
|
2935
|
-
componentType;
|
|
2936
|
-
initialiseHeader;
|
|
2937
|
-
constructor(componentType, initialiseHeader) {
|
|
2938
|
-
super();
|
|
2939
|
-
this.componentType = componentType;
|
|
2940
|
-
this.initialiseHeader = initialiseHeader;
|
|
2941
|
-
}
|
|
2942
|
-
initialiseHost(host) {
|
|
2943
|
-
assert$1.isTruthy(host);
|
|
2944
|
-
host[HEADER_CELL_RENDERER_PORTAL] = new ComponentPortal(this.componentType);
|
|
2945
|
-
}
|
|
2946
|
-
// @Trace()
|
|
2947
|
-
onPortalAttached(host, portalComponent) {
|
|
2948
|
-
this.initialiseHeader(portalComponent, host.column);
|
|
2949
|
-
}
|
|
2950
|
-
}
|
|
2951
2719
|
|
|
2952
2720
|
class ColumnTextSearchFormatter {
|
|
2953
2721
|
}
|
|
@@ -3038,7 +2806,6 @@ class ColumnTextSearchWrapper extends ColumnTextSearchFormatter.Delegate {
|
|
|
3038
2806
|
}
|
|
3039
2807
|
class ColumnModel extends GarbageCollector {
|
|
3040
2808
|
columnId;
|
|
3041
|
-
order;
|
|
3042
2809
|
textPropertiesProvider;
|
|
3043
2810
|
_columnTextProperties;
|
|
3044
2811
|
_columnHeaderPortalRef;
|
|
@@ -3052,10 +2819,9 @@ class ColumnModel extends GarbageCollector {
|
|
|
3052
2819
|
dasherisedColumnId;
|
|
3053
2820
|
textSearchDelegate = new ColumnTextSearchWrapper();
|
|
3054
2821
|
visible$;
|
|
3055
|
-
constructor(columnId,
|
|
2822
|
+
constructor(columnId, textPropertiesProvider) {
|
|
3056
2823
|
super();
|
|
3057
2824
|
this.columnId = columnId;
|
|
3058
|
-
this.order = order;
|
|
3059
2825
|
this.textPropertiesProvider = textPropertiesProvider;
|
|
3060
2826
|
const { valueOf } = Dsl.disposeWith(this);
|
|
3061
2827
|
this.installHeaderRenderer();
|
|
@@ -3100,14 +2866,6 @@ class ColumnModel extends GarbageCollector {
|
|
|
3100
2866
|
this._columnTextProperties = columnTextProperties;
|
|
3101
2867
|
return this;
|
|
3102
2868
|
}
|
|
3103
|
-
positionAfter(column) {
|
|
3104
|
-
this.order.position(this, { after: column });
|
|
3105
|
-
return this;
|
|
3106
|
-
}
|
|
3107
|
-
positionBefore(column) {
|
|
3108
|
-
this.order.position(this, { before: column });
|
|
3109
|
-
return this;
|
|
3110
|
-
}
|
|
3111
2869
|
getSearchTextFor(row) {
|
|
3112
2870
|
return this.textSearchDelegate.format(row);
|
|
3113
2871
|
}
|
|
@@ -3140,12 +2898,12 @@ class ColumnModel extends GarbageCollector {
|
|
|
3140
2898
|
return !!this._cellEditorPortalRef;
|
|
3141
2899
|
}
|
|
3142
2900
|
attachHeaderCell(host) {
|
|
3143
|
-
this._columnHeaderPortalRef.initialiseHost(host);
|
|
2901
|
+
this._columnHeaderPortalRef.initialiseHost(host, this);
|
|
3144
2902
|
}
|
|
3145
2903
|
attachCell(host) {
|
|
3146
|
-
this._cellRendererPortalRef.initialiseHost(host);
|
|
2904
|
+
this._cellRendererPortalRef.initialiseHost(host, this);
|
|
3147
2905
|
if (this.hasEditorPortal()) {
|
|
3148
|
-
this._cellEditorPortalRef.initialiseHost(host);
|
|
2906
|
+
this._cellEditorPortalRef.initialiseHost(host, this);
|
|
3149
2907
|
}
|
|
3150
2908
|
}
|
|
3151
2909
|
onHeaderAttached(host, ref) {
|
|
@@ -3209,8 +2967,8 @@ __decorate([
|
|
|
3209
2967
|
|
|
3210
2968
|
class CustomTemplateColumnModel extends ColumnModel {
|
|
3211
2969
|
config = new TemplateCellRendererPortalRef();
|
|
3212
|
-
constructor(columnId,
|
|
3213
|
-
super(columnId,
|
|
2970
|
+
constructor(columnId, defaults) {
|
|
2971
|
+
super(columnId, defaults);
|
|
3214
2972
|
this.configureCellRenderer(this.config);
|
|
3215
2973
|
}
|
|
3216
2974
|
setTemplate(templateRef, viewContainer, fillCell, padChild) {
|
|
@@ -3288,17 +3046,12 @@ class AbstractTableComponent extends DisposableComponent {
|
|
|
3288
3046
|
#showHeader_accessor_storage = true;
|
|
3289
3047
|
get showHeader() { return this.#showHeader_accessor_storage; }
|
|
3290
3048
|
set showHeader(value) { this.#showHeader_accessor_storage = value; }
|
|
3291
|
-
#enableScrolling$_accessor_storage = proxify((ValueModel));
|
|
3292
3049
|
/**
|
|
3293
3050
|
* Set to true to enable scrolling. Once enabled the table will have 0 implicit height. You will either
|
|
3294
3051
|
* need to set it explicitly e.g. height: 400px; or by using flex or grid layout to make it fill it's
|
|
3295
3052
|
* containment area.
|
|
3296
3053
|
*/
|
|
3297
|
-
|
|
3298
|
-
set enableScrolling$(value) { this.#enableScrolling$_accessor_storage = value; }
|
|
3299
|
-
#enableScrolling_accessor_storage = false;
|
|
3300
|
-
get enableScrolling() { return this.#enableScrolling_accessor_storage; }
|
|
3301
|
-
set enableScrolling(value) { this.#enableScrolling_accessor_storage = value; }
|
|
3054
|
+
enableScrolling = false;
|
|
3302
3055
|
columns;
|
|
3303
3056
|
columnIds;
|
|
3304
3057
|
columnsById;
|
|
@@ -3317,6 +3070,7 @@ class AbstractTableComponent extends DisposableComponent {
|
|
|
3317
3070
|
super();
|
|
3318
3071
|
this.injector = injector;
|
|
3319
3072
|
const { chain, when } = Dsl.disposeWith(this);
|
|
3073
|
+
this._visibleRows$.setDelegate(this._dataSource$);
|
|
3320
3074
|
when(chain(this._dataSource$).first()).becomesTruthy(it => {
|
|
3321
3075
|
if (it === this.identityOf(it)) {
|
|
3322
3076
|
console.warn("Table model identity function is using reference equality. This can cause lots of table re-rendering", {
|
|
@@ -3335,7 +3089,7 @@ class AbstractTableComponent extends DisposableComponent {
|
|
|
3335
3089
|
if (!model) {
|
|
3336
3090
|
lang$1.illegalState("aup-table tableModel is nil");
|
|
3337
3091
|
}
|
|
3338
|
-
this.columnsById = chain(model.columns
|
|
3092
|
+
this.columnsById = chain(model.columns).indexBy('columnId');
|
|
3339
3093
|
this._dataSource$.setDelegate(model.dataSource$);
|
|
3340
3094
|
model.initialise(this.injector, (row) => this.identityOf(row));
|
|
3341
3095
|
}
|
|
@@ -3352,7 +3106,7 @@ class AbstractTableComponent extends DisposableComponent {
|
|
|
3352
3106
|
}
|
|
3353
3107
|
}
|
|
3354
3108
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractTableComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
3355
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractTableComponent, selector: "aup-abstract-table", inputs: { showHeader$: "showHeader$", showHeader: "showHeader", enableScrolling
|
|
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 });
|
|
3356
3110
|
}
|
|
3357
3111
|
__decorate([
|
|
3358
3112
|
Proxify(),
|
|
@@ -3362,14 +3116,6 @@ __decorate([
|
|
|
3362
3116
|
StoreInValueModel(),
|
|
3363
3117
|
__metadata("design:type", Object)
|
|
3364
3118
|
], AbstractTableComponent.prototype, "showHeader", null);
|
|
3365
|
-
__decorate([
|
|
3366
|
-
Proxify(),
|
|
3367
|
-
__metadata("design:type", ValueModel)
|
|
3368
|
-
], AbstractTableComponent.prototype, "enableScrolling$", null);
|
|
3369
|
-
__decorate([
|
|
3370
|
-
StoreInValueModel(),
|
|
3371
|
-
__metadata("design:type", Boolean)
|
|
3372
|
-
], AbstractTableComponent.prototype, "enableScrolling", null);
|
|
3373
3119
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractTableComponent, decorators: [{
|
|
3374
3120
|
type: Component,
|
|
3375
3121
|
args: [{
|
|
@@ -3380,8 +3126,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
3380
3126
|
type: Input
|
|
3381
3127
|
}], showHeader: [{
|
|
3382
3128
|
type: Input
|
|
3383
|
-
}], enableScrolling$: [{
|
|
3384
|
-
type: Input
|
|
3385
3129
|
}], enableScrolling: [{
|
|
3386
3130
|
type: Input
|
|
3387
3131
|
}], baseCssClass: [{
|
|
@@ -3442,8 +3186,6 @@ class EditSession extends GarbageCollector {
|
|
|
3442
3186
|
// console.warn()
|
|
3443
3187
|
// }
|
|
3444
3188
|
this._liveRowValue$.value = produce(this._liveRowValue$.value, draft => {
|
|
3445
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3446
|
-
// @ts-ignore
|
|
3447
3189
|
this.form.writeDirtyStateTo(draft);
|
|
3448
3190
|
});
|
|
3449
3191
|
});
|
|
@@ -3546,11 +3288,11 @@ class DefaultCellRendererComponent {
|
|
|
3546
3288
|
return this._value;
|
|
3547
3289
|
}
|
|
3548
3290
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DefaultCellRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3549
|
-
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
|
|
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" }] });
|
|
3550
3292
|
}
|
|
3551
3293
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DefaultCellRendererComponent, decorators: [{
|
|
3552
3294
|
type: Component,
|
|
3553
|
-
args: [{ selector: "aup-default-cell-renderer", template: "<span [innerHTML]=\"value
|
|
3295
|
+
args: [{ selector: "aup-default-cell-renderer", template: "<span [innerHTML]=\"value| aupHighlight\"></span>\n" }]
|
|
3554
3296
|
}], propDecorators: { value: [{
|
|
3555
3297
|
type: Input
|
|
3556
3298
|
}] } });
|
|
@@ -3566,8 +3308,7 @@ class SelectionHeaderCellComponent extends DisposableComponent {
|
|
|
3566
3308
|
super();
|
|
3567
3309
|
this.selectCommand = Command.create(() => {
|
|
3568
3310
|
this.selectionModel.toggleAllCommand.execute();
|
|
3569
|
-
})
|
|
3570
|
-
.enableWhile(this.selectionModel.toggleAllCommand.enabled$);
|
|
3311
|
+
});
|
|
3571
3312
|
}
|
|
3572
3313
|
isSelected() {
|
|
3573
3314
|
return this.ifMultiSelectionModel(m => m.allSelected$.value, false);
|
|
@@ -3595,7 +3336,7 @@ class SelectionHeaderCellComponent extends DisposableComponent {
|
|
|
3595
3336
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectionHeaderCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3596
3337
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SelectionHeaderCellComponent, selector: "aup-selection-header-cell", providers: [
|
|
3597
3338
|
{ provide: MAT_CHECKBOX_DEFAULT_OPTIONS, useValue: { clickAction: 'noop' } }
|
|
3598
|
-
], 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:
|
|
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: i4$3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }] });
|
|
3599
3340
|
}
|
|
3600
3341
|
__decorate([
|
|
3601
3342
|
Proxify(),
|
|
@@ -3628,7 +3369,7 @@ class SelectionCellComponent extends DisposableComponent {
|
|
|
3628
3369
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectionCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3629
3370
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SelectionCellComponent, selector: "aup-selection-cell", inputs: { row: "row" }, providers: [
|
|
3630
3371
|
{ provide: MAT_CHECKBOX_DEFAULT_OPTIONS, useValue: { clickAction: 'noop' } }
|
|
3631
|
-
], usesInheritance: true, ngImport: i0, template: "<mat-checkbox (click)=\"select($event)\" [checked]=\"isSelected()\" [color]=\"color\"></mat-checkbox>\n", styles: [""], dependencies: [{ kind: "component", type:
|
|
3372
|
+
], usesInheritance: true, ngImport: i0, template: "<mat-checkbox (click)=\"select($event)\" [checked]=\"isSelected()\" [color]=\"color\"></mat-checkbox>\n", styles: [""], dependencies: [{ kind: "component", type: i4$3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }] });
|
|
3632
3373
|
}
|
|
3633
3374
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectionCellComponent, decorators: [{
|
|
3634
3375
|
type: Component,
|
|
@@ -3689,14 +3430,25 @@ class Bounds extends Dimension {
|
|
|
3689
3430
|
})(Bounds || (Bounds = {}));
|
|
3690
3431
|
|
|
3691
3432
|
class ResizeAwareComponent extends DisposableComponent {
|
|
3692
|
-
elementRef
|
|
3693
|
-
ngZone
|
|
3694
|
-
|
|
3433
|
+
elementRef;
|
|
3434
|
+
ngZone;
|
|
3435
|
+
_bounds$ = new MutableValueModel(new Bounds(0, 0, 0, 0));
|
|
3436
|
+
constructor(elementRef, ngZone) {
|
|
3437
|
+
super();
|
|
3438
|
+
this.elementRef = elementRef;
|
|
3439
|
+
this.ngZone = ngZone;
|
|
3440
|
+
}
|
|
3695
3441
|
ngAfterViewInit() {
|
|
3696
|
-
this.
|
|
3442
|
+
const element = this.elementRef.nativeElement;
|
|
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());
|
|
3697
3449
|
}
|
|
3698
3450
|
get bounds$() {
|
|
3699
|
-
return this.
|
|
3451
|
+
return this._bounds$.readonly$;
|
|
3700
3452
|
}
|
|
3701
3453
|
get nativeElement() {
|
|
3702
3454
|
return this.elementRef.nativeElement;
|
|
@@ -3706,160 +3458,57 @@ class ResizeAwareComponent extends DisposableComponent {
|
|
|
3706
3458
|
return this.bounds.relativePositionOf(point);
|
|
3707
3459
|
}
|
|
3708
3460
|
get bounds() {
|
|
3709
|
-
return this.
|
|
3461
|
+
return this._bounds$.value;
|
|
3462
|
+
}
|
|
3463
|
+
_updateBounds() {
|
|
3464
|
+
this._bounds$.value = Bounds.ofElement(this.nativeElement);
|
|
3710
3465
|
}
|
|
3711
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ResizeAwareComponent, deps:
|
|
3466
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ResizeAwareComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3712
3467
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: ResizeAwareComponent, usesInheritance: true, ngImport: i0 });
|
|
3713
3468
|
}
|
|
3714
3469
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ResizeAwareComponent, decorators: [{
|
|
3715
3470
|
type: Directive
|
|
3716
|
-
}] });
|
|
3717
|
-
(function (ResizeAwareComponent) {
|
|
3718
|
-
class ResizeTracker extends GarbageCollector {
|
|
3719
|
-
elementRef;
|
|
3720
|
-
ngZone;
|
|
3721
|
-
_bounds$ = new MutableValueModel(new Bounds(0, 0, 0, 0));
|
|
3722
|
-
width$;
|
|
3723
|
-
height$;
|
|
3724
|
-
top$;
|
|
3725
|
-
left$;
|
|
3726
|
-
bottom$;
|
|
3727
|
-
right$;
|
|
3728
|
-
constructor(elementRef, ngZone) {
|
|
3729
|
-
super();
|
|
3730
|
-
this.elementRef = elementRef;
|
|
3731
|
-
this.ngZone = ngZone;
|
|
3732
|
-
const { chain } = Dsl.disposeWith(this);
|
|
3733
|
-
this.width$ = chain(this.bounds$).pluck("width");
|
|
3734
|
-
this.height$ = chain(this.bounds$).pluck("height");
|
|
3735
|
-
this.top$ = chain(this.bounds$).pluck("top");
|
|
3736
|
-
this.left$ = chain(this.bounds$).pluck("left");
|
|
3737
|
-
this.bottom$ = chain.numericValue(this.top$).add(this.height$);
|
|
3738
|
-
this.right$ = chain.numericValue(this.left$).add(this.width$);
|
|
3739
|
-
}
|
|
3740
|
-
notifyViewReady() {
|
|
3741
|
-
const element = this.elementRef.nativeElement;
|
|
3742
|
-
const ro = new ResizeObserver((entries, observer) => {
|
|
3743
|
-
this.ngZone.run(() => this._updateBounds());
|
|
3744
|
-
});
|
|
3745
|
-
ro.observe(element);
|
|
3746
|
-
this.onDispose(() => ro.disconnect());
|
|
3747
|
-
setTimeout(() => this._updateBounds());
|
|
3748
|
-
}
|
|
3749
|
-
get bounds$() {
|
|
3750
|
-
return this._bounds$.readonly$;
|
|
3751
|
-
}
|
|
3752
|
-
get nativeElement() {
|
|
3753
|
-
return this.elementRef.nativeElement;
|
|
3754
|
-
}
|
|
3755
|
-
// TODO: Make this handle body scroll
|
|
3756
|
-
relativePositionOf(point) {
|
|
3757
|
-
return this.bounds.relativePositionOf(point);
|
|
3758
|
-
}
|
|
3759
|
-
get bounds() {
|
|
3760
|
-
return this._bounds$.value;
|
|
3761
|
-
}
|
|
3762
|
-
_updateBounds() {
|
|
3763
|
-
this._bounds$.value = Bounds.ofElement(this.nativeElement);
|
|
3764
|
-
}
|
|
3765
|
-
}
|
|
3766
|
-
ResizeAwareComponent.ResizeTracker = ResizeTracker;
|
|
3767
|
-
})(ResizeAwareComponent || (ResizeAwareComponent = {}));
|
|
3768
|
-
|
|
3769
|
-
var ColumnOrderManager;
|
|
3770
|
-
(function (ColumnOrderManager) {
|
|
3771
|
-
function processPosition(position, callback) {
|
|
3772
|
-
if (position) {
|
|
3773
|
-
const keys = Object.keys(position);
|
|
3774
|
-
if (keys.includes("before")) {
|
|
3775
|
-
return position["before"] ? callback.before(position["before"]) : callback.first();
|
|
3776
|
-
}
|
|
3777
|
-
else {
|
|
3778
|
-
return position["after"] ? callback.after(position["after"]) : callback.last();
|
|
3779
|
-
}
|
|
3780
|
-
}
|
|
3781
|
-
else {
|
|
3782
|
-
return callback.last();
|
|
3783
|
-
}
|
|
3784
|
-
}
|
|
3785
|
-
ColumnOrderManager.processPosition = processPosition;
|
|
3786
|
-
})(ColumnOrderManager || (ColumnOrderManager = {}));
|
|
3471
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
3787
3472
|
|
|
3788
|
-
class
|
|
3789
|
-
|
|
3790
|
-
|
|
3791
|
-
constructor(column, position) {
|
|
3792
|
-
this.column = column;
|
|
3793
|
-
this.position = position;
|
|
3794
|
-
}
|
|
3795
|
-
}
|
|
3796
|
-
class ColumnManager extends GarbageCollector {
|
|
3797
|
-
_columnRefs$ = new MutableListModel();
|
|
3798
|
-
orderedColumnRefs$;
|
|
3799
|
-
_columnsById$;
|
|
3800
|
-
allColumns$;
|
|
3801
|
-
columnVisibilities$ = new WatchList();
|
|
3802
|
-
visibleColumns$;
|
|
3473
|
+
class ColumnListModel extends AbstractComputedListModel {
|
|
3474
|
+
_allColumns$ = new MutableListModel();
|
|
3475
|
+
columnsById$;
|
|
3803
3476
|
constructor() {
|
|
3804
3477
|
super();
|
|
3805
3478
|
const { chain } = Dsl.disposeWith(this);
|
|
3806
|
-
this.
|
|
3807
|
-
this.allColumns$ = this.orderedColumnRefs$.pluck("column");
|
|
3808
|
-
this._columnsById$ = chain(this.allColumns$).indexBy('columnId');
|
|
3809
|
-
this.visibleColumns$ = chain(this.allColumns$).select(it => it.visible$.value, {
|
|
3810
|
-
dependsOn: this.columnVisibilities$
|
|
3811
|
-
});
|
|
3479
|
+
this.columnsById$ = chain(this._allColumns$).indexBy('columnId');
|
|
3812
3480
|
}
|
|
3813
|
-
|
|
3814
|
-
|
|
3815
|
-
const position = this.computePosition(newPosition);
|
|
3816
|
-
this._columnRefs$.replace(target, { with: new ColumnRef(target.column, position) });
|
|
3481
|
+
get allColumns$() {
|
|
3482
|
+
return this._allColumns$.readonly$;
|
|
3817
3483
|
}
|
|
3818
3484
|
getColumn(id) {
|
|
3819
|
-
return this.
|
|
3485
|
+
return this.columnsById$.get(id);
|
|
3820
3486
|
}
|
|
3821
3487
|
hasColumn(id) {
|
|
3822
|
-
return !!this.
|
|
3488
|
+
return !!this.columnsById$.get(id);
|
|
3823
3489
|
}
|
|
3824
3490
|
hasMatchingColumn(row, regex) {
|
|
3825
3491
|
// only search the visible columns
|
|
3826
|
-
return !!this.
|
|
3492
|
+
return !!this.value.find(c => regex.test(c.getSearchTextFor(row)));
|
|
3827
3493
|
}
|
|
3828
|
-
addColumn(column,
|
|
3494
|
+
addColumn(column, index) {
|
|
3829
3495
|
if (this.hasColumn(column.columnId)) {
|
|
3830
3496
|
lang.illegalState(`Column with id=${column.columnId} already exists`);
|
|
3831
3497
|
}
|
|
3832
3498
|
this.registerDisposable(column);
|
|
3833
|
-
this.
|
|
3834
|
-
|
|
3835
|
-
|
|
3836
|
-
|
|
3837
|
-
|
|
3838
|
-
|
|
3839
|
-
return ColumnOrderManager.processPosition(position, {
|
|
3840
|
-
before(col) {
|
|
3841
|
-
const index = q.findIndex(ref => ref.column === col);
|
|
3842
|
-
const beforeCol = q.value[index];
|
|
3843
|
-
const afterCol = index - 1 >= 0 ? q.value[index - 1] : undefined;
|
|
3844
|
-
return generateKeyBetween(afterCol?.position, beforeCol.position);
|
|
3845
|
-
},
|
|
3846
|
-
after(col) {
|
|
3847
|
-
const index = q.findIndex(ref => ref.column === col);
|
|
3848
|
-
const afterCol = q.value[index];
|
|
3849
|
-
const beforeCol = index + 1 < q.length ? q.value[index + 1] : undefined;
|
|
3850
|
-
return generateKeyBetween(afterCol.position, beforeCol?.position);
|
|
3851
|
-
},
|
|
3852
|
-
first() {
|
|
3853
|
-
return generateKeyBetween(null, q.first()?.position);
|
|
3854
|
-
},
|
|
3855
|
-
last() {
|
|
3856
|
-
// add it to the end of the list
|
|
3857
|
-
return generateKeyBetween(q.last()?.position, null);
|
|
3499
|
+
this.runInTransaction(() => {
|
|
3500
|
+
if (!isNil(index)) {
|
|
3501
|
+
this._allColumns$.insert(index, column);
|
|
3502
|
+
}
|
|
3503
|
+
else {
|
|
3504
|
+
this._allColumns$.push(column);
|
|
3858
3505
|
}
|
|
3506
|
+
this.registerDisposable(this.trackSource(column.visible$));
|
|
3859
3507
|
});
|
|
3508
|
+
return column;
|
|
3860
3509
|
}
|
|
3861
3510
|
doComputeValue() {
|
|
3862
|
-
return this.
|
|
3511
|
+
return this._allColumns$.value.filter(c => c.visible$.value);
|
|
3863
3512
|
}
|
|
3864
3513
|
}
|
|
3865
3514
|
|
|
@@ -3893,8 +3542,8 @@ function EnableCellTextSearch(options) {
|
|
|
3893
3542
|
|
|
3894
3543
|
class CustomValueColumnModel extends ColumnModel {
|
|
3895
3544
|
getValue;
|
|
3896
|
-
constructor(columnId,
|
|
3897
|
-
super(columnId,
|
|
3545
|
+
constructor(columnId, defaults, getValue) {
|
|
3546
|
+
super(columnId, defaults);
|
|
3898
3547
|
this.getValue = getValue;
|
|
3899
3548
|
this.cellRenderer(DefaultCellRendererComponent);
|
|
3900
3549
|
}
|
|
@@ -3902,17 +3551,17 @@ class CustomValueColumnModel extends ColumnModel {
|
|
|
3902
3551
|
this.configureColumnTextSearch(EnableCellTextSearch.getFormatter(componentType, () => new ColumnTextSearchFormatter.Null()), row => this.getValue(row));
|
|
3903
3552
|
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
3904
3553
|
if (firstTime) {
|
|
3905
|
-
if (isFunction(onComponentInitOrOptions)) {
|
|
3554
|
+
if (isFunction$1(onComponentInitOrOptions)) {
|
|
3906
3555
|
onComponentInitOrOptions(component);
|
|
3907
3556
|
}
|
|
3908
3557
|
else {
|
|
3909
|
-
if (isFunction(onComponentInitOrOptions?.onComponentInit)) {
|
|
3558
|
+
if (isFunction$1(onComponentInitOrOptions?.onComponentInit)) {
|
|
3910
3559
|
onComponentInitOrOptions.onComponentInit(component);
|
|
3911
3560
|
}
|
|
3912
3561
|
}
|
|
3913
3562
|
}
|
|
3914
3563
|
component.value = this.getValue(rowData.row);
|
|
3915
|
-
if (!isFunction(onComponentInitOrOptions) && isFunction(onComponentInitOrOptions?.onRowUpdate)) {
|
|
3564
|
+
if (!isFunction$1(onComponentInitOrOptions) && isFunction$1(onComponentInitOrOptions?.onRowUpdate)) {
|
|
3916
3565
|
onComponentInitOrOptions.onRowUpdate(component, rowData.row);
|
|
3917
3566
|
}
|
|
3918
3567
|
}));
|
|
@@ -3924,8 +3573,8 @@ class CustomValueColumnModel extends ColumnModel {
|
|
|
3924
3573
|
}
|
|
3925
3574
|
|
|
3926
3575
|
class EditorControlColumnModel extends ColumnModel {
|
|
3927
|
-
constructor(columnId,
|
|
3928
|
-
super(columnId,
|
|
3576
|
+
constructor(columnId, saveCommandFactory, defaults) {
|
|
3577
|
+
super(columnId, defaults);
|
|
3929
3578
|
this.cellRenderer(EditRowControlsComponent);
|
|
3930
3579
|
}
|
|
3931
3580
|
cellRenderer(componentType) {
|
|
@@ -3950,8 +3599,8 @@ class ListPropertyColumnModel extends ColumnModel {
|
|
|
3950
3599
|
intermediate.map(v => v?.toString()).join(", ") :
|
|
3951
3600
|
intermediate?.toString();
|
|
3952
3601
|
};
|
|
3953
|
-
constructor(id,
|
|
3954
|
-
super(id,
|
|
3602
|
+
constructor(id, property, defaults) {
|
|
3603
|
+
super(id, defaults);
|
|
3955
3604
|
this.property = property;
|
|
3956
3605
|
this.cellRenderer(DefaultCellRendererComponent);
|
|
3957
3606
|
}
|
|
@@ -3967,7 +3616,7 @@ class ListPropertyColumnModel extends ColumnModel {
|
|
|
3967
3616
|
}
|
|
3968
3617
|
cellEditor(editor, validatorsOrInitialiser, initialiseComponent) {
|
|
3969
3618
|
const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
|
|
3970
|
-
const initialiser = isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
|
|
3619
|
+
const initialiser = isFunction$1(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
|
|
3971
3620
|
this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
|
|
3972
3621
|
const formListModel = editSession.form.pluckList(this.property);
|
|
3973
3622
|
if (validators) {
|
|
@@ -3996,8 +3645,8 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
3996
3645
|
_defaultSearchTextFormatter = (value) => {
|
|
3997
3646
|
return (this._userFormat ?? Functions.identity)(value)?.toString();
|
|
3998
3647
|
};
|
|
3999
|
-
constructor(id,
|
|
4000
|
-
super(id,
|
|
3648
|
+
constructor(id, property, defaults) {
|
|
3649
|
+
super(id, defaults);
|
|
4001
3650
|
this.property = property;
|
|
4002
3651
|
this.cellRenderer(DefaultCellRendererComponent);
|
|
4003
3652
|
}
|
|
@@ -4005,11 +3654,11 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
4005
3654
|
this.configureColumnTextSearch(EnableCellTextSearch.getFormatter(componentType, () => ColumnTextSearchFormatter.forFormatter(this._defaultSearchTextFormatter)), row => row[this.property]);
|
|
4006
3655
|
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
4007
3656
|
if (firstTime) {
|
|
4008
|
-
if (isFunction(onComponentInitOrOptions)) {
|
|
3657
|
+
if (isFunction$1(onComponentInitOrOptions)) {
|
|
4009
3658
|
onComponentInitOrOptions(component);
|
|
4010
3659
|
}
|
|
4011
3660
|
else {
|
|
4012
|
-
if (isFunction(onComponentInitOrOptions?.onComponentInit)) {
|
|
3661
|
+
if (isFunction$1(onComponentInitOrOptions?.onComponentInit)) {
|
|
4013
3662
|
onComponentInitOrOptions.onComponentInit(component);
|
|
4014
3663
|
}
|
|
4015
3664
|
}
|
|
@@ -4034,7 +3683,7 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
4034
3683
|
component[ColumnModel.CELL_RENDERER_COMPONENT_ROW_CACHE] = rowData.row;
|
|
4035
3684
|
let disableEditCallback = false;
|
|
4036
3685
|
if (firstTime) {
|
|
4037
|
-
if (isFunction(options?.onComponentInit)) {
|
|
3686
|
+
if (isFunction$1(options?.onComponentInit)) {
|
|
4038
3687
|
options.onComponentInit(component);
|
|
4039
3688
|
}
|
|
4040
3689
|
// install our edit callback
|
|
@@ -4049,7 +3698,7 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
4049
3698
|
disableEditCallback = true;
|
|
4050
3699
|
component.value = rowData.row[this.property];
|
|
4051
3700
|
disableEditCallback = false;
|
|
4052
|
-
if (!isFunction(options) && isFunction(options?.onRowUpdate)) {
|
|
3701
|
+
if (!isFunction$1(options) && isFunction$1(options?.onRowUpdate)) {
|
|
4053
3702
|
options.onRowUpdate(component, rowData.row);
|
|
4054
3703
|
}
|
|
4055
3704
|
}));
|
|
@@ -4057,7 +3706,7 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
4057
3706
|
}
|
|
4058
3707
|
cellEditor(editor, validatorsOrInitialiser, onComponentInit) {
|
|
4059
3708
|
const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
|
|
4060
|
-
const initialiser = isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
|
|
3709
|
+
const initialiser = isFunction$1(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
|
|
4061
3710
|
this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
|
|
4062
3711
|
const formValueModel = editSession.form.pluck(this.property);
|
|
4063
3712
|
if (validators) {
|
|
@@ -4081,37 +3730,29 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
4081
3730
|
}
|
|
4082
3731
|
|
|
4083
3732
|
class SelectionColumnModel extends ColumnModel {
|
|
3733
|
+
selectionModel;
|
|
4084
3734
|
_enableHeaderControls = true;
|
|
4085
3735
|
_color = "accent";
|
|
4086
|
-
|
|
4087
|
-
|
|
4088
|
-
|
|
4089
|
-
constructor(columnId, order, defaults) {
|
|
4090
|
-
super(columnId, order, defaults);
|
|
3736
|
+
constructor(columnId, defaults, selectionModel) {
|
|
3737
|
+
super(columnId, defaults);
|
|
3738
|
+
this.selectionModel = selectionModel;
|
|
4091
3739
|
const { chain } = Dsl.disposeWith(this);
|
|
4092
3740
|
this._selectRowOnClick(false);
|
|
4093
3741
|
this.cellHeaderRenderer(SelectionHeaderCellComponent, (component) => {
|
|
4094
|
-
component.selectionModel = this.
|
|
3742
|
+
component.selectionModel = this.selectionModel;
|
|
4095
3743
|
component.enableHeaderControls = this._enableHeaderControls;
|
|
4096
3744
|
component.color = this._color;
|
|
4097
3745
|
});
|
|
4098
3746
|
this.configureCellRenderer(new ComponentCellRendererPortalRef(SelectionCellComponent, (component, rowData) => {
|
|
4099
3747
|
component.row = rowData.row;
|
|
4100
|
-
component.selectionModel = this.
|
|
3748
|
+
component.selectionModel = this.selectionModel;
|
|
4101
3749
|
component.color = this._color;
|
|
4102
3750
|
}));
|
|
4103
|
-
this.setMasterVisibility(this.
|
|
4104
|
-
this.setDefaultVisibility(chain(this.
|
|
4105
|
-
}
|
|
4106
|
-
get selectionModel() {
|
|
4107
|
-
return this._selectionModelProxy;
|
|
4108
|
-
}
|
|
4109
|
-
get isUsingTemporarySelectionModel$() {
|
|
4110
|
-
return this._isUsingTemporarySelection$.readonly$;
|
|
3751
|
+
this.setMasterVisibility(this.selectionModel.enabled$);
|
|
3752
|
+
this.setDefaultVisibility(chain(this.selectionModel.mode$).equals(SelectionModel.Mode.MULTIPLE));
|
|
4111
3753
|
}
|
|
4112
3754
|
useSelectionModel(selectionModel) {
|
|
4113
|
-
this.
|
|
4114
|
-
this._selectionModelProxy.setProxyTarget(selectionModel);
|
|
3755
|
+
this.selectionModel.setProxyTarget(selectionModel);
|
|
4115
3756
|
}
|
|
4116
3757
|
getDefaultHeaderText() {
|
|
4117
3758
|
return '';
|
|
@@ -4127,62 +3768,12 @@ class SelectionColumnModel extends ColumnModel {
|
|
|
4127
3768
|
this._color = color;
|
|
4128
3769
|
}
|
|
4129
3770
|
selectRow(row) {
|
|
4130
|
-
this.
|
|
3771
|
+
this.selectionModel.selectCommand.execute(row);
|
|
4131
3772
|
}
|
|
4132
3773
|
isSelected(row) {
|
|
4133
|
-
return this.
|
|
4134
|
-
}
|
|
4135
|
-
async withTemporarySelectionModel(createSelectionModel, process) {
|
|
4136
|
-
const garbage = new GarbageCollector();
|
|
4137
|
-
this._isUsingTemporarySelection$.value = true;
|
|
4138
|
-
const selectionModel = createSelectionModel(garbage);
|
|
4139
|
-
this._selectionModelProxy.setProxyTarget(selectionModel);
|
|
4140
|
-
try {
|
|
4141
|
-
await process(selectionModel);
|
|
4142
|
-
}
|
|
4143
|
-
finally {
|
|
4144
|
-
this._selectionModelProxy.setProxyTarget(this._userSelectionModel);
|
|
4145
|
-
garbage.dispose();
|
|
4146
|
-
this._isUsingTemporarySelection$.value = false;
|
|
4147
|
-
}
|
|
4148
|
-
}
|
|
4149
|
-
}
|
|
4150
|
-
|
|
4151
|
-
let RowClass$1 = class RowClass {
|
|
4152
|
-
className;
|
|
4153
|
-
matches;
|
|
4154
|
-
constructor(className, matches) {
|
|
4155
|
-
this.className = className;
|
|
4156
|
-
this.matches = matches;
|
|
4157
|
-
}
|
|
4158
|
-
};
|
|
4159
|
-
class FooterRowModel {
|
|
4160
|
-
_rowClasses = [];
|
|
4161
|
-
noPadding() {
|
|
4162
|
-
this.addClass("no-padding");
|
|
4163
|
-
}
|
|
4164
|
-
addClass(className, condition) {
|
|
4165
|
-
this._rowClasses.push(new RowClass$1(className, condition ?? (() => true)));
|
|
3774
|
+
return this.selectionModel.isSelected(row);
|
|
4166
3775
|
}
|
|
4167
3776
|
}
|
|
4168
|
-
(function (FooterRowModel) {
|
|
4169
|
-
class Impl extends FooterRowModel {
|
|
4170
|
-
component;
|
|
4171
|
-
onInit;
|
|
4172
|
-
portal;
|
|
4173
|
-
constructor(component, onInit) {
|
|
4174
|
-
super();
|
|
4175
|
-
this.component = component;
|
|
4176
|
-
this.onInit = onInit;
|
|
4177
|
-
this.portal = new ComponentPortal(component);
|
|
4178
|
-
}
|
|
4179
|
-
getActiveRowClasses() {
|
|
4180
|
-
return this._rowClasses.filter(c => c.matches()).map(c => c.className).join(" ");
|
|
4181
|
-
}
|
|
4182
|
-
}
|
|
4183
|
-
FooterRowModel.Impl = Impl;
|
|
4184
|
-
})(FooterRowModel || (FooterRowModel = {}));
|
|
4185
|
-
ProxyRegistry.registerOneTimeBinding(FooterRowModel);
|
|
4186
3777
|
|
|
4187
3778
|
class TableMoreMenuComponent extends DisposableComponent {
|
|
4188
3779
|
value$ = new MutableValueModel();
|
|
@@ -4193,15 +3784,13 @@ class TableMoreMenuComponent extends DisposableComponent {
|
|
|
4193
3784
|
popupType$ = new MutableValueModel();
|
|
4194
3785
|
popupComponentPortal$;
|
|
4195
3786
|
_visible$ = this.registerDisposable(new DelegatingValueModel());
|
|
4196
|
-
initialiseCallback;
|
|
4197
3787
|
constructor() {
|
|
4198
3788
|
super();
|
|
4199
3789
|
const { chain } = Dsl.disposeWith(this);
|
|
4200
3790
|
this.popupComponentPortal$ = chain(this.popupType$).map(type => new ComponentPortal(type));
|
|
4201
3791
|
}
|
|
4202
|
-
configurePopupComponentType(popupComponentType
|
|
3792
|
+
configurePopupComponentType(popupComponentType) {
|
|
4203
3793
|
this.popupType$.value = popupComponentType;
|
|
4204
|
-
this.initialiseCallback = configureCallback;
|
|
4205
3794
|
}
|
|
4206
3795
|
// Stops tree selection when clicking the menu button
|
|
4207
3796
|
preventDefault($event) {
|
|
@@ -4212,15 +3801,12 @@ class TableMoreMenuComponent extends DisposableComponent {
|
|
|
4212
3801
|
const component = $event.instance;
|
|
4213
3802
|
component.initialise(this.value$, Command.create(() => this.matMenuTrigger.closeMenu()));
|
|
4214
3803
|
this._visible$.setDelegate(component.visible$);
|
|
4215
|
-
if (this.initialiseCallback) {
|
|
4216
|
-
this.initialiseCallback(component);
|
|
4217
|
-
}
|
|
4218
3804
|
}
|
|
4219
3805
|
get visible$() {
|
|
4220
3806
|
return this._visible$.readonly$;
|
|
4221
3807
|
}
|
|
4222
3808
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableMoreMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4223
|
-
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:
|
|
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: i3$2.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"] }] });
|
|
4224
3810
|
}
|
|
4225
3811
|
__decorate([
|
|
4226
3812
|
StoreInValueModel(),
|
|
@@ -4249,25 +3835,16 @@ class RowClass {
|
|
|
4249
3835
|
this.matches = matches;
|
|
4250
3836
|
}
|
|
4251
3837
|
}
|
|
4252
|
-
class RowAttribute {
|
|
4253
|
-
attributeName;
|
|
4254
|
-
getValue;
|
|
4255
|
-
constructor(attributeName, getValue) {
|
|
4256
|
-
this.attributeName = attributeName;
|
|
4257
|
-
this.getValue = getValue;
|
|
4258
|
-
}
|
|
4259
|
-
}
|
|
4260
3838
|
class AbstractTableModel extends GarbageCollector {
|
|
4261
3839
|
_dataSource$ = this.registerDisposable(new DelegatingListModel());
|
|
4262
3840
|
_filteredRows$ = this.registerDisposable(new DelegatingListModel());
|
|
4263
3841
|
_visibleRows$ = this.registerDisposable(new DelegatingListModel());
|
|
4264
|
-
|
|
3842
|
+
_columnList = this.registerDisposable(new ColumnListModel());
|
|
4265
3843
|
_editorSessions = new MutableListModel();
|
|
4266
3844
|
_rowsBeingEdited$;
|
|
4267
3845
|
saveCommandFactory;
|
|
4268
3846
|
_editorSessionByRowId;
|
|
4269
3847
|
rowClassNamePredicates = [];
|
|
4270
|
-
rowAttributeGenerators = [];
|
|
4271
3848
|
_columnTextPropertiesLookup;
|
|
4272
3849
|
editing$;
|
|
4273
3850
|
firstEditableColumn$;
|
|
@@ -4280,11 +3857,10 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4280
3857
|
textSearchPredicate$;
|
|
4281
3858
|
identityOf;
|
|
4282
3859
|
dataSourceEmpty$;
|
|
3860
|
+
selectionModelProxy = proxify((SelectionModel));
|
|
4283
3861
|
selectedItems$;
|
|
4284
3862
|
leadSelection$;
|
|
4285
3863
|
hasSelection$;
|
|
4286
|
-
footerRowModel;
|
|
4287
|
-
_viewDependencies = new Set();
|
|
4288
3864
|
constructor() {
|
|
4289
3865
|
super();
|
|
4290
3866
|
const { chain } = Dsl.disposeWith(this);
|
|
@@ -4293,21 +3869,18 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4293
3869
|
});
|
|
4294
3870
|
this._editorSessionByRowId = chain(this._editorSessions).indexBy("rowId");
|
|
4295
3871
|
this.editing$ = chain(this._editorSessions).count().isGreaterThan(0);
|
|
4296
|
-
this.textSearchPredicate$ = chain(this.visibleColumns
|
|
3872
|
+
this.textSearchPredicate$ = chain(this.visibleColumns).reduce(columns => {
|
|
4297
3873
|
return (row, regex) => {
|
|
4298
3874
|
return (!regex || !!columns.find(c => regex.test(c.getSearchTextFor(row))));
|
|
4299
3875
|
};
|
|
4300
3876
|
});
|
|
4301
|
-
this.
|
|
4302
|
-
this.
|
|
4303
|
-
this.
|
|
4304
|
-
this.
|
|
4305
|
-
this.firstVisibleColumn$ = chain(this.visibleColumns$).first();
|
|
4306
|
-
this.lastVisibleColumn$ = chain(this.visibleColumns$).last();
|
|
4307
|
-
this.rowSelectionDisabledOnAllColumns$ = chain(this.columnManager.visibleColumns$).select(column => column.isRowSelectionEnabled()).count().equals(0);
|
|
3877
|
+
this.firstEditableColumn$ = chain(this.columns).select(c => c.hasEditorPortal()).first();
|
|
3878
|
+
this.firstVisibleColumn$ = chain(this._columnList).first();
|
|
3879
|
+
this.lastVisibleColumn$ = chain(this._columnList).last();
|
|
3880
|
+
this.rowSelectionDisabledOnAllColumns$ = chain(this._columnList).select(column => column.isRowSelectionEnabled()).count().equals(0);
|
|
4308
3881
|
this.dataSourceEmpty$ = chain(this.dataSource$).isEmpty();
|
|
4309
|
-
this.selectedItems$ = this.
|
|
4310
|
-
this.leadSelection$ = this.
|
|
3882
|
+
this.selectedItems$ = this.selectionModelProxy.selectedItems$;
|
|
3883
|
+
this.leadSelection$ = this.selectionModelProxy.leadSelection$;
|
|
4311
3884
|
this.hasSelection$ = chain(this.selectedItems$).isNotEmpty();
|
|
4312
3885
|
}
|
|
4313
3886
|
setDataSource(dataSource$) {
|
|
@@ -4328,23 +3901,9 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4328
3901
|
],
|
|
4329
3902
|
parent: injector
|
|
4330
3903
|
});
|
|
4331
|
-
this.columns
|
|
3904
|
+
this.columns.value.forEach(c => c.initialise(customInjector));
|
|
4332
3905
|
this.identityOf = identityOf;
|
|
4333
3906
|
}
|
|
4334
|
-
/**
|
|
4335
|
-
* Adds additional models that will trigger a table repaint. This is required if the table
|
|
4336
|
-
* needs to be redrawn outside of changes to the rows of filters. i.e. some eternal state is used
|
|
4337
|
-
* to assign row classes etc.
|
|
4338
|
-
*
|
|
4339
|
-
* Note: This function must be called before the table is bound to the model.
|
|
4340
|
-
* @param hasValues
|
|
4341
|
-
*/
|
|
4342
|
-
viewStateDependsOn(...hasValues) {
|
|
4343
|
-
hasValues.forEach(it => this._viewDependencies.add(it));
|
|
4344
|
-
}
|
|
4345
|
-
get viewStateDependencies() {
|
|
4346
|
-
return Array.from(this._viewDependencies.values());
|
|
4347
|
-
}
|
|
4348
3907
|
get dataSource$() {
|
|
4349
3908
|
return this._dataSource$.readonly$;
|
|
4350
3909
|
}
|
|
@@ -4395,62 +3954,64 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4395
3954
|
});
|
|
4396
3955
|
});
|
|
4397
3956
|
}
|
|
4398
|
-
get columns
|
|
4399
|
-
return this.
|
|
3957
|
+
get columns() {
|
|
3958
|
+
return this._columnList.allColumns$;
|
|
4400
3959
|
}
|
|
4401
|
-
get visibleColumns
|
|
4402
|
-
return this.
|
|
3960
|
+
get visibleColumns() {
|
|
3961
|
+
return this._columnList.readonly$;
|
|
4403
3962
|
}
|
|
4404
3963
|
pluck(property, options) {
|
|
4405
3964
|
const columnId = options?.columnId || property.toString();
|
|
4406
|
-
return this.addColumn(new PropertyColumnModel(columnId,
|
|
3965
|
+
return this.addColumn(new PropertyColumnModel(columnId, property, () => this.getColumnTextProperties(columnId)));
|
|
4407
3966
|
}
|
|
4408
3967
|
pluckList(property, options) {
|
|
4409
3968
|
const columnId = options?.columnId || property.toString();
|
|
4410
|
-
return this.addColumn(new ListPropertyColumnModel(columnId,
|
|
4411
|
-
}
|
|
4412
|
-
|
|
3969
|
+
return this.addColumn(new ListPropertyColumnModel(columnId, property, () => this.getColumnTextProperties(columnId)));
|
|
3970
|
+
}
|
|
3971
|
+
// TODO: clean this up and assign the selection model on teh table directly.
|
|
3972
|
+
// tableModel.useSelectionModel(model) and have the seleciton column automatically
|
|
3973
|
+
// added. Need to look at how we're using the visibility controls as well.
|
|
3974
|
+
// Should also lazy create the selection column model if someone accesses it.
|
|
3975
|
+
_addSelectionColumn(selectionModel, visible) {
|
|
3976
|
+
assert.isNil(this.selectionColumnModel);
|
|
3977
|
+
const columnId = "selection-column";
|
|
3978
|
+
this.selectionColumnModel = new SelectionColumnModel(columnId, () => this.getColumnTextProperties(columnId), this.selectionModelProxy);
|
|
4413
3979
|
this.selectionColumnModel.useSelectionModel(selectionModel);
|
|
3980
|
+
this.addRowClass("aup-row-selected", row => this.selectionColumnModel.isSelected(row));
|
|
3981
|
+
const selectionColumnModel = this.addColumn(this.selectionColumnModel, 0);
|
|
3982
|
+
if (!isNil$1(visible)) {
|
|
3983
|
+
selectionColumnModel.visibleWhile(visible instanceof ValueModel ? visible : ValueModel.constant(visible));
|
|
3984
|
+
}
|
|
3985
|
+
return selectionColumnModel;
|
|
4414
3986
|
}
|
|
4415
3987
|
addEditControls(saveCommandFactory, formFactory) {
|
|
4416
3988
|
this.saveCommandFactory = saveCommandFactory;
|
|
4417
|
-
if (isFunction(formFactory)) {
|
|
3989
|
+
if (isFunction$1(formFactory)) {
|
|
4418
3990
|
this._createForm = formFactory;
|
|
4419
3991
|
}
|
|
4420
3992
|
const columnId = "editControls";
|
|
4421
|
-
return this.addColumn(new EditorControlColumnModel(columnId,
|
|
3993
|
+
return this.addColumn(new EditorControlColumnModel(columnId, saveCommandFactory, () => this.getColumnTextProperties(columnId)));
|
|
4422
3994
|
}
|
|
4423
3995
|
addCustomColumn(columnId, dataAccessor) {
|
|
4424
|
-
return this.addColumn(new CustomValueColumnModel(columnId,
|
|
3996
|
+
return this.addColumn(new CustomValueColumnModel(columnId, () => this.getColumnTextProperties(columnId), dataAccessor));
|
|
4425
3997
|
}
|
|
4426
3998
|
addComponentColumn(columnId, component, onComponentInitOrOptions) {
|
|
4427
|
-
return this.addColumn(new CustomValueColumnModel(columnId,
|
|
3999
|
+
return this.addColumn(new CustomValueColumnModel(columnId, () => this.getColumnTextProperties(columnId), row => row)).cellRenderer(component, onComponentInitOrOptions);
|
|
4428
4000
|
}
|
|
4429
|
-
addMoreMenu(componentClass
|
|
4001
|
+
addMoreMenu(componentClass) {
|
|
4430
4002
|
return this.addComponentColumn("more-menu", TableMoreMenuComponent, (component) => {
|
|
4431
|
-
component.configurePopupComponentType(componentClass
|
|
4003
|
+
component.configurePopupComponentType(componentClass);
|
|
4432
4004
|
}).columnTextProperties({
|
|
4433
4005
|
headerText() {
|
|
4434
4006
|
return "";
|
|
4435
4007
|
}
|
|
4436
4008
|
});
|
|
4437
4009
|
}
|
|
4438
|
-
addFooterRow(component, initialiseCallback) {
|
|
4439
|
-
assert.isNil(this.footerRowModel);
|
|
4440
|
-
this.footerRowModel = new FooterRowModel.Impl(component, initialiseCallback);
|
|
4441
|
-
return this.footerRowModel;
|
|
4442
|
-
}
|
|
4443
4010
|
addTemplateColumn(columnId) {
|
|
4444
|
-
return this.addColumn(new CustomTemplateColumnModel(columnId,
|
|
4011
|
+
return this.addColumn(new CustomTemplateColumnModel(columnId, () => this.getColumnTextProperties(columnId)));
|
|
4445
4012
|
}
|
|
4446
|
-
addRowClass(className, predicate
|
|
4013
|
+
addRowClass(className, predicate) {
|
|
4447
4014
|
this.rowClassNamePredicates.push(new RowClass(className, predicate));
|
|
4448
|
-
if (options) {
|
|
4449
|
-
this.viewStateDependsOn(...DependsOnOptions.extract(options));
|
|
4450
|
-
}
|
|
4451
|
-
}
|
|
4452
|
-
addRowAttribute(attributeName, getValue) {
|
|
4453
|
-
this.rowAttributeGenerators.push(new RowAttribute(attributeName, getValue));
|
|
4454
4015
|
}
|
|
4455
4016
|
getRowClasses(row) {
|
|
4456
4017
|
const classNames = [];
|
|
@@ -4461,13 +4022,8 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4461
4022
|
});
|
|
4462
4023
|
return classNames;
|
|
4463
4024
|
}
|
|
4464
|
-
|
|
4465
|
-
return this.
|
|
4466
|
-
return { ...result, [generator.attributeName]: generator.getValue(row) };
|
|
4467
|
-
}, {});
|
|
4468
|
-
}
|
|
4469
|
-
addColumn(column, position) {
|
|
4470
|
-
return this.columnManager.addColumn(column, position);
|
|
4025
|
+
addColumn(column, index) {
|
|
4026
|
+
return this._columnList.addColumn(column, index);
|
|
4471
4027
|
}
|
|
4472
4028
|
columnTextProperties(columnTextProperties) {
|
|
4473
4029
|
this._columnTextPropertiesLookup = columnTextProperties;
|
|
@@ -4482,10 +4038,11 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4482
4038
|
return this.hasUserSelectionModelThatIsEnabled() && !this.rowSelectionDisabledOnAllColumns$.value;
|
|
4483
4039
|
}
|
|
4484
4040
|
hasUserSelectionModelThatIsEnabled() {
|
|
4485
|
-
|
|
4041
|
+
const userSelectionModel = this.selectionColumnModel?.selectionModel.getProxyTarget();
|
|
4042
|
+
return !!userSelectionModel && userSelectionModel.enabled$.value;
|
|
4486
4043
|
}
|
|
4487
4044
|
getSelectionModel() {
|
|
4488
|
-
return this.selectionColumnModel
|
|
4045
|
+
return this.selectionColumnModel?.selectionModel;
|
|
4489
4046
|
}
|
|
4490
4047
|
isHoverEnabled() {
|
|
4491
4048
|
return this.isRowSelectionEnabled() || this.rowClickListeners.listenerCount > 0;
|
|
@@ -4527,15 +4084,15 @@ class TableCellComponent extends DisposableComponent {
|
|
|
4527
4084
|
defaultClassNames = 'aup-cell-renderer';
|
|
4528
4085
|
fillCell = false;
|
|
4529
4086
|
padChild = false;
|
|
4087
|
+
firstEditableColumn;
|
|
4530
4088
|
constructor() {
|
|
4531
4089
|
super();
|
|
4532
4090
|
this.editRowCommand = Command.create(() => {
|
|
4533
4091
|
this.tableModel.startEditSession(this.row);
|
|
4534
4092
|
});
|
|
4535
4093
|
this.onInit(() => {
|
|
4536
|
-
|
|
4537
|
-
|
|
4538
|
-
// this.firstEditableColumn = chain(this.tableModel.firstEditableColumn$).equals(this.column); // this would break if the column changed.
|
|
4094
|
+
const { chain } = Dsl.disposeWith(this);
|
|
4095
|
+
this.firstEditableColumn = chain(this.tableModel.firstEditableColumn$).equals(this.column); // this would break if the column changed.
|
|
4539
4096
|
this.column.attachCell(this);
|
|
4540
4097
|
});
|
|
4541
4098
|
}
|
|
@@ -4547,7 +4104,7 @@ class TableCellComponent extends DisposableComponent {
|
|
|
4547
4104
|
}
|
|
4548
4105
|
initialiseEditor(ref) {
|
|
4549
4106
|
this.column.onEditorAttached(this, ref);
|
|
4550
|
-
if (this.
|
|
4107
|
+
if (this.firstEditableColumn.value) {
|
|
4551
4108
|
// @see https://github.com/angular/components/issues/12070
|
|
4552
4109
|
setTimeout(() => this.tryAndFocusEditor(ref));
|
|
4553
4110
|
}
|
|
@@ -4583,7 +4140,7 @@ class TableCellComponent extends DisposableComponent {
|
|
|
4583
4140
|
};
|
|
4584
4141
|
}
|
|
4585
4142
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4586
|
-
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:
|
|
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: i3$2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
|
|
4587
4144
|
}
|
|
4588
4145
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableCellComponent, decorators: [{
|
|
4589
4146
|
type: Component,
|
|
@@ -4622,7 +4179,7 @@ class TableHeaderCellComponent {
|
|
|
4622
4179
|
return this[HEADER_CELL_RENDERER_PORTAL];
|
|
4623
4180
|
}
|
|
4624
4181
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableHeaderCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4625
|
-
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:
|
|
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: i3$2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
|
|
4626
4183
|
}
|
|
4627
4184
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableHeaderCellComponent, decorators: [{
|
|
4628
4185
|
type: Component,
|
|
@@ -4634,132 +4191,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
4634
4191
|
args: ['class']
|
|
4635
4192
|
}] } });
|
|
4636
4193
|
|
|
4637
|
-
// eslint-disable-next-line @angular-eslint/component-class-suffix
|
|
4638
|
-
class TableFooterRow {
|
|
4639
|
-
row;
|
|
4640
|
-
defaultClassNames = 'aup-footer-row-renderer';
|
|
4641
|
-
get rowClasses() {
|
|
4642
|
-
return this.row.getActiveRowClasses();
|
|
4643
|
-
}
|
|
4644
|
-
initialise($event) {
|
|
4645
|
-
this.row.onInit && this.row.onInit($event.instance);
|
|
4646
|
-
}
|
|
4647
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableFooterRow, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4648
|
-
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"] }] });
|
|
4649
|
-
}
|
|
4650
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableFooterRow, decorators: [{
|
|
4651
|
-
type: Component,
|
|
4652
|
-
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"] }]
|
|
4653
|
-
}], propDecorators: { row: [{
|
|
4654
|
-
type: Input
|
|
4655
|
-
}], defaultClassNames: [{
|
|
4656
|
-
type: HostBinding,
|
|
4657
|
-
args: ['class']
|
|
4658
|
-
}], rowClasses: [{
|
|
4659
|
-
type: HostBinding,
|
|
4660
|
-
args: ['class']
|
|
4661
|
-
}] } });
|
|
4662
|
-
|
|
4663
|
-
const AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER = new InjectionToken("AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER");
|
|
4664
|
-
class TableRowAttributesDirective {
|
|
4665
|
-
elementRef;
|
|
4666
|
-
aupTableRowAttributes;
|
|
4667
|
-
constructor(elementRef) {
|
|
4668
|
-
this.elementRef = elementRef;
|
|
4669
|
-
}
|
|
4670
|
-
ngOnInit() {
|
|
4671
|
-
for (const attr in this.aupTableRowAttributes) {
|
|
4672
|
-
this.elementRef.nativeElement.setAttribute(attr, this.aupTableRowAttributes[attr]);
|
|
4673
|
-
}
|
|
4674
|
-
}
|
|
4675
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableRowAttributesDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4676
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: TableRowAttributesDirective, selector: "[aupTableRowAttributes]", inputs: { aupTableRowAttributes: "aupTableRowAttributes" }, ngImport: i0 });
|
|
4677
|
-
}
|
|
4678
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableRowAttributesDirective, decorators: [{
|
|
4679
|
-
type: Directive,
|
|
4680
|
-
args: [{
|
|
4681
|
-
selector: "[aupTableRowAttributes]",
|
|
4682
|
-
}]
|
|
4683
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { aupTableRowAttributes: [{
|
|
4684
|
-
type: Input
|
|
4685
|
-
}] } });
|
|
4686
4194
|
class TableBodyComponent extends ResizeAwareComponent {
|
|
4687
|
-
bufferMultiplier;
|
|
4688
4195
|
#data$_accessor_storage = proxify((ListModel));
|
|
4689
4196
|
get data$() { return this.#data$_accessor_storage; }
|
|
4690
4197
|
set data$(value) { this.#data$_accessor_storage = value; }
|
|
4691
4198
|
#tableModel_accessor_storage = proxify((AbstractTableModel));
|
|
4692
4199
|
get tableModel() { return this.#tableModel_accessor_storage; }
|
|
4693
4200
|
set tableModel(value) { this.#tableModel_accessor_storage = value; }
|
|
4694
|
-
#footerRow_accessor_storage = proxify((FooterRowModel.Impl));
|
|
4695
|
-
get footerRow() { return this.#footerRow_accessor_storage; }
|
|
4696
|
-
set footerRow(value) { this.#footerRow_accessor_storage = value; }
|
|
4697
4201
|
#showHeader$_accessor_storage = proxify((ValueModel));
|
|
4698
4202
|
get showHeader$() { return this.#showHeader$_accessor_storage; }
|
|
4699
4203
|
set showHeader$(value) { this.#showHeader$_accessor_storage = value; }
|
|
4700
4204
|
#showHeader_accessor_storage = true;
|
|
4701
4205
|
get showHeader() { return this.#showHeader_accessor_storage; }
|
|
4702
4206
|
set showHeader(value) { this.#showHeader_accessor_storage = value; }
|
|
4207
|
+
visibleRowCount = new EventEmitter();
|
|
4703
4208
|
trackBy;
|
|
4704
|
-
|
|
4705
|
-
|
|
4706
|
-
|
|
4707
|
-
|
|
4708
|
-
|
|
4709
|
-
|
|
4710
|
-
scrollViewport;
|
|
4209
|
+
/**
|
|
4210
|
+
* Set to true to enable scrolling. Once enabled the table will have 0 implicit height. You will either
|
|
4211
|
+
* need to set it explicitly e.g. height: 400px; or by using flex or grid layout to make it fill it's
|
|
4212
|
+
* containment area.
|
|
4213
|
+
*/
|
|
4214
|
+
enableScrolling = false;
|
|
4711
4215
|
columns$;
|
|
4712
4216
|
columnIds$;
|
|
4713
4217
|
columnsById$;
|
|
4218
|
+
_visibleRowCount$;
|
|
4714
4219
|
// TODO: support user defined header and row heights via css vars.
|
|
4715
|
-
headerHeight$ = new MutableValueModel(
|
|
4716
|
-
rowHeight$ = new MutableValueModel(
|
|
4220
|
+
headerHeight$ = new MutableValueModel(29);
|
|
4221
|
+
rowHeight$ = new MutableValueModel(40);
|
|
4717
4222
|
baseCssClass = "aup-table-component";
|
|
4718
|
-
|
|
4719
|
-
|
|
4720
|
-
|
|
4721
|
-
constructor(bufferMultiplier = 1) {
|
|
4722
|
-
super();
|
|
4723
|
-
this.bufferMultiplier = bufferMultiplier;
|
|
4724
|
-
const { chain, when, observe } = Dsl.disposeWith(this);
|
|
4223
|
+
constructor(elementRef, ngZone) {
|
|
4224
|
+
super(elementRef, ngZone);
|
|
4225
|
+
const { chain, when } = Dsl.disposeWith(this);
|
|
4725
4226
|
const actualHeaderHeight$ = chain(this.showHeader$).map(show => {
|
|
4726
4227
|
return show ? this.headerHeight$.value : 0;
|
|
4727
4228
|
}, { dependsOn: this.headerHeight$ });
|
|
4728
|
-
|
|
4729
|
-
|
|
4730
|
-
|
|
4731
|
-
|
|
4732
|
-
|
|
4733
|
-
this.
|
|
4734
|
-
|
|
4229
|
+
this._visibleRowCount$ = chain(this.bounds$).map(bounds => {
|
|
4230
|
+
// TODO: this doesn't take into account any css styling adjustments etc. Will investigate if it's an issue.
|
|
4231
|
+
const rawRowCount = (bounds.height - actualHeaderHeight$.value) / this.rowHeight$.value;
|
|
4232
|
+
return rawRowCount < 1 ? 0 : Math.floor(rawRowCount);
|
|
4233
|
+
}, {
|
|
4234
|
+
dependsOn: [actualHeaderHeight$, this.rowHeight$],
|
|
4235
|
+
postponeWhile: chain(this.bounds$).pluckNumeric("height").isLessThan(1)
|
|
4236
|
+
});
|
|
4237
|
+
when(this._visibleRowCount$).changes(visibleRows => {
|
|
4238
|
+
this.visibleRowCount.emit(visibleRows);
|
|
4239
|
+
}, { initialValue: "triggerChangeUnlessNil" });
|
|
4735
4240
|
this.onInit(() => {
|
|
4736
|
-
this.columns$ = chain(this.tableModel.
|
|
4241
|
+
this.columns$ = chain(this.tableModel.columns);
|
|
4737
4242
|
this.columnIds$ = chain(this.columns$).pluck("columnId");
|
|
4738
4243
|
this.columnsById$ = chain(this.columns$).indexBy('columnId');
|
|
4739
4244
|
});
|
|
4740
|
-
// const txo = new TransactionObserver({verbose: false}).onEvent(e => console.log(e.name, e.payload));
|
|
4741
|
-
// txo.observe('this.virtualScrollRowRange$', this.virtualScrollRowRange$);
|
|
4742
|
-
// txo.observe('this.virtualScrollSpacerSize$', this.virtualScrollSpacerSize$);
|
|
4743
|
-
// txo.observe('this.virtualRows$', this.virtualRows$);
|
|
4744
|
-
// txo.observe('this.tableBodyHeight$', this.tableBodyHeight$);
|
|
4745
|
-
// txo.observe('this.virtualScrollActive$', this.virtualScrollActive$);
|
|
4746
|
-
}
|
|
4747
|
-
ngAfterViewInit() {
|
|
4748
|
-
super.ngAfterViewInit();
|
|
4749
|
-
if (this.scrollViewport) {
|
|
4750
|
-
const { observe } = Dsl.disposeWith(this);
|
|
4751
|
-
this.scrollViewport.elementScrolled().subscribe(() => this.notifyScrolled());
|
|
4752
|
-
}
|
|
4753
4245
|
}
|
|
4754
4246
|
get hideHeader() {
|
|
4755
4247
|
return !this.showHeader;
|
|
4756
4248
|
}
|
|
4757
|
-
get headerHeightCssVar() {
|
|
4758
|
-
return `${this.headerHeight$.value}px`;
|
|
4759
|
-
}
|
|
4760
|
-
get rowHeightCssVar() {
|
|
4761
|
-
return `${this.rowHeight$.value}px`;
|
|
4762
|
-
}
|
|
4763
4249
|
isEditing(row) {
|
|
4764
4250
|
return !!this.tableModel.getEditSessionFor(row);
|
|
4765
4251
|
}
|
|
@@ -4784,110 +4270,51 @@ class TableBodyComponent extends ResizeAwareComponent {
|
|
|
4784
4270
|
}
|
|
4785
4271
|
return classes;
|
|
4786
4272
|
}
|
|
4787
|
-
|
|
4788
|
-
|
|
4789
|
-
const tbody = this.elementRef.nativeElement.querySelector("tbody");
|
|
4790
|
-
const bodyHeight = tbody.offsetHeight;
|
|
4791
|
-
if (this.data$.length > 0 && bodyHeight < this.rowHeight$.value) {
|
|
4792
|
-
// Hacks to get our virtual scroll to repaint
|
|
4793
|
-
// Logger.get(this).log(`rowCount=${this.data$.length}, bodyHeight=${bodyHeight} -> virtual table not rendering, triggering resize to force repaint`)
|
|
4794
|
-
window.dispatchEvent(new Event('resize'));
|
|
4795
|
-
if (waitMillis < 500) {
|
|
4796
|
-
this.scheduleTableHeightCheck(waitMillis + 50);
|
|
4797
|
-
}
|
|
4798
|
-
}
|
|
4799
|
-
}, waitMillis);
|
|
4800
|
-
}
|
|
4801
|
-
notifyScrolled() {
|
|
4802
|
-
this.virtualScrollActive$.value = true;
|
|
4803
|
-
this.clearScrollTimeout();
|
|
4804
|
-
this.scrollTimeout = setTimeout(() => {
|
|
4805
|
-
return this.virtualScrollActive$.value = false;
|
|
4806
|
-
}, 200);
|
|
4807
|
-
}
|
|
4808
|
-
clearScrollTimeout() {
|
|
4809
|
-
if (this.scrollTimeout) {
|
|
4810
|
-
clearTimeout(this.scrollTimeout);
|
|
4811
|
-
}
|
|
4812
|
-
}
|
|
4813
|
-
initialiseFooter($event) {
|
|
4814
|
-
const portalRef = $event;
|
|
4815
|
-
this.footerRow.onInit(portalRef.instance);
|
|
4816
|
-
}
|
|
4817
|
-
Proxify = Proxify;
|
|
4818
|
-
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 });
|
|
4819
|
-
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"] }] });
|
|
4273
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableBodyComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
4274
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableBodyComponent, selector: "aup-table-body", inputs: { data$: "data$", tableModel: "tableModel", showHeader$: "showHeader$", showHeader: "showHeader", trackBy: "trackBy", enableScrolling: "enableScrolling" }, outputs: { visibleRowCount: "visibleRowCount" }, host: { properties: { "class.enable-scrolling": "this.enableScrolling", "class": "this.baseCssClass", "class.hide-header": "this.hideHeader" } }, usesInheritance: true, ngImport: i0, 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.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}\n"], 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: "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.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2$6.MatCell, selector: "mat-cell, td[mat-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: TableCellComponent, selector: "aup-table-cell", inputs: ["row", "column", "editSession", "tableModel"] }, { kind: "component", type: TableHeaderCellComponent, selector: "aup-table-header-cell", inputs: ["column"] }] });
|
|
4820
4275
|
}
|
|
4821
4276
|
__decorate([
|
|
4822
4277
|
Proxify(),
|
|
4823
|
-
__metadata("design:type",
|
|
4278
|
+
__metadata("design:type", Object)
|
|
4824
4279
|
], TableBodyComponent.prototype, "data$", null);
|
|
4825
4280
|
__decorate([
|
|
4826
4281
|
Proxify(),
|
|
4827
|
-
__metadata("design:type",
|
|
4282
|
+
__metadata("design:type", Object)
|
|
4828
4283
|
], TableBodyComponent.prototype, "tableModel", null);
|
|
4829
4284
|
__decorate([
|
|
4830
4285
|
Proxify(),
|
|
4831
|
-
__metadata("design:type",
|
|
4832
|
-
], TableBodyComponent.prototype, "footerRow", null);
|
|
4833
|
-
__decorate([
|
|
4834
|
-
Proxify(),
|
|
4835
|
-
__metadata("design:type", ValueModel)
|
|
4286
|
+
__metadata("design:type", Object)
|
|
4836
4287
|
], TableBodyComponent.prototype, "showHeader$", null);
|
|
4837
4288
|
__decorate([
|
|
4838
4289
|
StoreInValueModel(),
|
|
4839
4290
|
__metadata("design:type", Object)
|
|
4840
4291
|
], TableBodyComponent.prototype, "showHeader", null);
|
|
4841
|
-
__decorate([
|
|
4842
|
-
Proxify(),
|
|
4843
|
-
__metadata("design:type", ValueModel)
|
|
4844
|
-
], TableBodyComponent.prototype, "scrollMode$", null);
|
|
4845
|
-
__decorate([
|
|
4846
|
-
StoreInValueModel(),
|
|
4847
|
-
__metadata("design:type", String)
|
|
4848
|
-
], TableBodyComponent.prototype, "scrollMode", null);
|
|
4849
4292
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableBodyComponent, decorators: [{
|
|
4850
4293
|
type: Component,
|
|
4851
|
-
args: [{ selector: "aup-table-body", template: "
|
|
4852
|
-
}], ctorParameters: function () { return [{ type:
|
|
4853
|
-
type: Inject,
|
|
4854
|
-
args: [AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER]
|
|
4855
|
-
}, {
|
|
4856
|
-
type: Optional
|
|
4857
|
-
}] }]; }, propDecorators: { data$: [{
|
|
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.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}\n"] }]
|
|
4295
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { data$: [{
|
|
4858
4296
|
type: Input
|
|
4859
4297
|
}], tableModel: [{
|
|
4860
4298
|
type: Input
|
|
4861
|
-
}], footerRow: [{
|
|
4862
|
-
type: Input
|
|
4863
4299
|
}], showHeader$: [{
|
|
4864
4300
|
type: Input
|
|
4865
4301
|
}], showHeader: [{
|
|
4866
4302
|
type: Input
|
|
4303
|
+
}], visibleRowCount: [{
|
|
4304
|
+
type: Output
|
|
4867
4305
|
}], trackBy: [{
|
|
4868
4306
|
type: Input
|
|
4869
|
-
}],
|
|
4870
|
-
type: Input
|
|
4871
|
-
}], scrollMode: [{
|
|
4307
|
+
}], enableScrolling: [{
|
|
4872
4308
|
type: Input
|
|
4873
4309
|
}, {
|
|
4874
4310
|
type: HostBinding,
|
|
4875
|
-
args: ["
|
|
4876
|
-
}], scrollViewport: [{
|
|
4877
|
-
type: ViewChild,
|
|
4878
|
-
args: [CdkVirtualScrollViewport]
|
|
4311
|
+
args: ["class.enable-scrolling"]
|
|
4879
4312
|
}], baseCssClass: [{
|
|
4880
4313
|
type: HostBinding,
|
|
4881
4314
|
args: ["class"]
|
|
4882
4315
|
}], hideHeader: [{
|
|
4883
4316
|
type: HostBinding,
|
|
4884
4317
|
args: ["class.hide-header"]
|
|
4885
|
-
}], headerHeightCssVar: [{
|
|
4886
|
-
type: HostBinding,
|
|
4887
|
-
args: ["style.--aup-table-header-height"]
|
|
4888
|
-
}], rowHeightCssVar: [{
|
|
4889
|
-
type: HostBinding,
|
|
4890
|
-
args: ["style.--aup-table-row-height"]
|
|
4891
4318
|
}] } });
|
|
4892
4319
|
|
|
4893
4320
|
class TableMoreMenuPopupComponent extends DisposableComponent {
|
|
@@ -5008,10 +4435,8 @@ class TableFilterModel extends GarbageCollector {
|
|
|
5008
4435
|
this.useSearchText(options.searchText$);
|
|
5009
4436
|
this.useRowPredicate(options.predicate$);
|
|
5010
4437
|
const { chain } = Dsl.disposeWith(this);
|
|
5011
|
-
const textSearchRegex$ = chain(this._searchText$)
|
|
5012
|
-
|
|
5013
|
-
.map(text => {
|
|
5014
|
-
return isEmpty(text) ? undefined : new RegExp(escapeStringRegexp(text), "i");
|
|
4438
|
+
const textSearchRegex$ = chain(this._searchText$).map(text => {
|
|
4439
|
+
return isEmpty$1(text) ? undefined : new RegExp(escapeStringRegexp(text), "i");
|
|
5015
4440
|
}, { allowNil: true });
|
|
5016
4441
|
this._rowPredicate = chain(this._rowPredicate$)
|
|
5017
4442
|
.map(predicate => {
|
|
@@ -5147,16 +4572,8 @@ class TableModel extends AbstractTableModel {
|
|
|
5147
4572
|
this._filteredRows$.setDelegate(filteredRows$);
|
|
5148
4573
|
this._visibleRows$.setDelegate(visibleRows$);
|
|
5149
4574
|
}
|
|
5150
|
-
|
|
5151
|
-
return this.
|
|
5152
|
-
}
|
|
5153
|
-
async withTemporaryMultipleSelectionModel(process) {
|
|
5154
|
-
return this.selectionColumnModel.withTemporarySelectionModel(garbage => {
|
|
5155
|
-
return new MultipleSelectionModel(this.filteredRows$, {
|
|
5156
|
-
identifiedWith: this.dataSource$.identityOf,
|
|
5157
|
-
disposedWith: garbage
|
|
5158
|
-
});
|
|
5159
|
-
}, process);
|
|
4575
|
+
addSelectionColumn(selectionModel, showSelectionColumn) {
|
|
4576
|
+
return this._addSelectionColumn(selectionModel, showSelectionColumn);
|
|
5160
4577
|
}
|
|
5161
4578
|
}
|
|
5162
4579
|
|
|
@@ -5227,30 +4644,31 @@ class TableComponent extends AbstractTableComponent {
|
|
|
5227
4644
|
#filterModel_accessor_storage = proxify((TableFilterModel));
|
|
5228
4645
|
get filterModel() { return this.#filterModel_accessor_storage; }
|
|
5229
4646
|
set filterModel(value) { this.#filterModel_accessor_storage = value; }
|
|
5230
|
-
|
|
5231
|
-
|
|
5232
|
-
|
|
5233
|
-
|
|
5234
|
-
|
|
5235
|
-
|
|
5236
|
-
|
|
5237
|
-
|
|
5238
|
-
|
|
5239
|
-
|
|
5240
|
-
|
|
4647
|
+
#enablePaging$_accessor_storage = proxify((ValueModel));
|
|
4648
|
+
get enablePaging$() { return this.#enablePaging$_accessor_storage; }
|
|
4649
|
+
set enablePaging$(value) { this.#enablePaging$_accessor_storage = value; }
|
|
4650
|
+
#enablePaging_accessor_storage = false;
|
|
4651
|
+
get enablePaging() { return this.#enablePaging_accessor_storage; }
|
|
4652
|
+
set enablePaging(value) { this.#enablePaging_accessor_storage = value; }
|
|
4653
|
+
// enablePaging() {
|
|
4654
|
+
// if (isNil(this.pageController)) {
|
|
4655
|
+
// const pagedListModel = this.registerDisposable(PagedListModel.create(this._visibleRows$.getDelegate(), this._pageSize));
|
|
4656
|
+
// this._visibleRows$.setDelegate(pagedListModel);
|
|
4657
|
+
// this._pageController = pagedListModel.pageController;
|
|
4658
|
+
// }
|
|
4659
|
+
// }
|
|
5241
4660
|
_footerContentAdded = false;
|
|
5242
4661
|
_filteredRows$ = this.registerDisposable(new DelegatingListModel());
|
|
5243
|
-
|
|
4662
|
+
_pageSize = new MutableValueModel();
|
|
4663
|
+
pagedListModel;
|
|
5244
4664
|
constructor(injector) {
|
|
5245
4665
|
super(injector);
|
|
5246
|
-
const {
|
|
5247
|
-
this.
|
|
5248
|
-
|
|
5249
|
-
}, { dependsOn: this.scrollMode$ });
|
|
4666
|
+
const { when } = Dsl.disposeWith(this);
|
|
4667
|
+
this.onDispose(() => this.disposeOfPagedListModel());
|
|
4668
|
+
when(this.enablePaging$).changes(enabled => this.configurePaging(enabled));
|
|
5250
4669
|
}
|
|
5251
4670
|
ngOnInit() {
|
|
5252
4671
|
super.ngOnInit();
|
|
5253
|
-
const { when } = Dsl.disposeWith(this);
|
|
5254
4672
|
if (CanProxy.hasTarget(this.filterModel)) {
|
|
5255
4673
|
this.registerDisposable(this.filterModel.bindToTable(this._dataSource$, this.getModel().textSearchPredicate$));
|
|
5256
4674
|
this.highlightText$.setDelegate(this.filterModel.highlightText$);
|
|
@@ -5259,27 +4677,50 @@ class TableComponent extends AbstractTableComponent {
|
|
|
5259
4677
|
else {
|
|
5260
4678
|
this._filteredRows$.setDelegate(this._dataSource$);
|
|
5261
4679
|
}
|
|
5262
|
-
this.
|
|
5263
|
-
// let users of the model know what the current visible and filtered rows are for selection models and what not
|
|
4680
|
+
this.configurePaging(this.enablePaging$.value);
|
|
5264
4681
|
this.tableModel.bindToTable(this._filteredRows$, this._visibleRows$);
|
|
5265
|
-
when.anyOf(...this.tableModel.viewStateDependencies).changes(() => this.cdr.markForCheck());
|
|
5266
|
-
this.viewStateDependsOn(this._filteredRows$, this.tableModel.visibleColumns$);
|
|
5267
4682
|
}
|
|
5268
4683
|
getModel() {
|
|
5269
4684
|
return this.tableModel;
|
|
5270
4685
|
}
|
|
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
|
+
}
|
|
5271
4708
|
footerContentChanged($event) {
|
|
5272
4709
|
// console.log($event);
|
|
5273
4710
|
this._footerContentAdded = true;
|
|
5274
4711
|
}
|
|
4712
|
+
//@Trace()
|
|
4713
|
+
updatePageSize(count) {
|
|
4714
|
+
this._pageSize.value = count;
|
|
4715
|
+
}
|
|
5275
4716
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
5276
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableComponent, selector: "aup-table", inputs: { tableModel: "tableModel", filterModel: "filterModel",
|
|
4717
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableComponent, selector: "aup-table", inputs: { tableModel: "tableModel", filterModel: "filterModel", enablePaging$: "enablePaging$", enablePaging: "enablePaging" }, providers: [
|
|
5277
4718
|
{ provide: AbstractTableComponent, useExisting: TableComponent }
|
|
5278
|
-
],
|
|
4719
|
+
], usesInheritance: true, ngImport: i0, template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"tableModel\"\n [showHeader$]=\"showHeader$\"\n [enableScrolling]=\"enableScrolling\"\n [trackBy]=\"trackBy\"\n (visibleRowCount)=\"updatePageSize($event)\"\n [aupHighlightTextModel]=\"highlightText$\"\n></aup-table-body>\n<section class=\"table-footer\">\n <div class=\"footer-content\"><ng-content select=\"[footer]\"></ng-content></div>\n <aup-paginator *ngIf=\"enablePaging$.value\" [pageController]=\"pageController\"></aup-paginator>\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: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: HighlightTextModelDirective, selector: "[aupHighlightTextModel]", inputs: ["aupHighlightTextModel"] }, { kind: "component", type: PaginatorComponent, selector: "aup-paginator", inputs: ["pageController"] }, { kind: "component", type: TableBodyComponent, selector: "aup-table-body", inputs: ["data$", "tableModel", "showHeader$", "showHeader", "trackBy", "enableScrolling"], outputs: ["visibleRowCount"] }] });
|
|
5279
4720
|
}
|
|
5280
4721
|
__decorate([
|
|
5281
4722
|
Proxify(),
|
|
5282
|
-
__metadata("design:type",
|
|
4723
|
+
__metadata("design:type", Object)
|
|
5283
4724
|
], TableComponent.prototype, "tableModel", null);
|
|
5284
4725
|
__decorate([
|
|
5285
4726
|
Proxify(),
|
|
@@ -5287,27 +4728,24 @@ __decorate([
|
|
|
5287
4728
|
], TableComponent.prototype, "filterModel", null);
|
|
5288
4729
|
__decorate([
|
|
5289
4730
|
Proxify(),
|
|
5290
|
-
__metadata("design:type",
|
|
5291
|
-
], TableComponent.prototype, "
|
|
4731
|
+
__metadata("design:type", Object)
|
|
4732
|
+
], TableComponent.prototype, "enablePaging$", null);
|
|
5292
4733
|
__decorate([
|
|
5293
4734
|
StoreInValueModel(),
|
|
5294
4735
|
__metadata("design:type", Object)
|
|
5295
|
-
], TableComponent.prototype, "
|
|
4736
|
+
], TableComponent.prototype, "enablePaging", null);
|
|
5296
4737
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableComponent, decorators: [{
|
|
5297
4738
|
type: Component,
|
|
5298
4739
|
args: [{ selector: 'aup-table', providers: [
|
|
5299
4740
|
{ provide: AbstractTableComponent, useExisting: TableComponent }
|
|
5300
|
-
], template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"
|
|
4741
|
+
], template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"tableModel\"\n [showHeader$]=\"showHeader$\"\n [enableScrolling]=\"enableScrolling\"\n [trackBy]=\"trackBy\"\n (visibleRowCount)=\"updatePageSize($event)\"\n [aupHighlightTextModel]=\"highlightText$\"\n></aup-table-body>\n<section class=\"table-footer\">\n <div class=\"footer-content\"><ng-content select=\"[footer]\"></ng-content></div>\n <aup-paginator *ngIf=\"enablePaging$.value\" [pageController]=\"pageController\"></aup-paginator>\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"] }]
|
|
5301
4742
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { tableModel: [{
|
|
5302
4743
|
type: Input
|
|
5303
4744
|
}], filterModel: [{
|
|
5304
4745
|
type: Input
|
|
5305
|
-
}],
|
|
5306
|
-
type: ViewChild,
|
|
5307
|
-
args: [TableBodyComponent]
|
|
5308
|
-
}], scrollMode$: [{
|
|
4746
|
+
}], enablePaging$: [{
|
|
5309
4747
|
type: Input
|
|
5310
|
-
}],
|
|
4748
|
+
}], enablePaging: [{
|
|
5311
4749
|
type: Input
|
|
5312
4750
|
}] } });
|
|
5313
4751
|
|
|
@@ -5489,7 +4927,7 @@ var DecoratedTreeNode;
|
|
|
5489
4927
|
}
|
|
5490
4928
|
}
|
|
5491
4929
|
__decorate([
|
|
5492
|
-
|
|
4930
|
+
Memoize(),
|
|
5493
4931
|
__metadata("design:type", Array),
|
|
5494
4932
|
__metadata("design:paramtypes", [])
|
|
5495
4933
|
], Decorator.prototype, "children", null);
|
|
@@ -5542,7 +4980,7 @@ var DecoratedTreeNode;
|
|
|
5542
4980
|
__metadata("design:returntype", Array)
|
|
5543
4981
|
], Decorator.prototype, "ancestors", null);
|
|
5544
4982
|
__decorate([
|
|
5545
|
-
|
|
4983
|
+
Memoize(),
|
|
5546
4984
|
__metadata("design:type", Number),
|
|
5547
4985
|
__metadata("design:paramtypes", [])
|
|
5548
4986
|
], Decorator.prototype, "depth", null);
|
|
@@ -5553,8 +4991,8 @@ class TreeLabelColumnModel extends ColumnModel {
|
|
|
5553
4991
|
expansionModel;
|
|
5554
4992
|
labelFactory = () => undefined;
|
|
5555
4993
|
iconFactory;
|
|
5556
|
-
constructor(columnId,
|
|
5557
|
-
super(columnId,
|
|
4994
|
+
constructor(columnId, textPropertiesProvider, expansionModel) {
|
|
4995
|
+
super(columnId, textPropertiesProvider);
|
|
5558
4996
|
this.expansionModel = expansionModel;
|
|
5559
4997
|
this.cellRenderer(TreeLabelCellRendererComponent);
|
|
5560
4998
|
}
|
|
@@ -5613,7 +5051,7 @@ class TreeTableModel extends AbstractTableModel {
|
|
|
5613
5051
|
get isExpandedPredicate$() {
|
|
5614
5052
|
return this._isExpandedPredicate$.readonly$;
|
|
5615
5053
|
}
|
|
5616
|
-
bindToTable(expansionModel, filteredRows$, visibleRows
|
|
5054
|
+
bindToTable(expansionModel, filteredRows$, visibleRows$) {
|
|
5617
5055
|
this.treeExpansionModel = expansionModel;
|
|
5618
5056
|
// TODO: Move all the expansion model stuff out of here and have things use the expansion model directly
|
|
5619
5057
|
this._isExpandedPredicate$.setDelegate(this.treeExpansionModel.isExpandedPredicate$);
|
|
@@ -5622,7 +5060,7 @@ class TreeTableModel extends AbstractTableModel {
|
|
|
5622
5060
|
}
|
|
5623
5061
|
treeControlColumn(builder) {
|
|
5624
5062
|
const columnId = 'tree-label';
|
|
5625
|
-
const column = new TreeLabelColumnModel(columnId,
|
|
5063
|
+
const column = new TreeLabelColumnModel(columnId, () => this.getColumnTextProperties(columnId), this);
|
|
5626
5064
|
builder(column);
|
|
5627
5065
|
this.addColumn(column);
|
|
5628
5066
|
}
|
|
@@ -5641,6 +5079,9 @@ class TreeTableModel extends AbstractTableModel {
|
|
|
5641
5079
|
isExpanded(row) {
|
|
5642
5080
|
return this.treeExpansionModel.isExpanded(row);
|
|
5643
5081
|
}
|
|
5082
|
+
addSelectionColumn(selectionModel, showSelectionColumn) {
|
|
5083
|
+
return this._addSelectionColumn(selectionModel, showSelectionColumn);
|
|
5084
|
+
}
|
|
5644
5085
|
}
|
|
5645
5086
|
// export class FlattenStrategy<T extends VisitableTree<any>> extends SelfAndDescendantsVisitor<T> {
|
|
5646
5087
|
//
|
|
@@ -5945,15 +5386,11 @@ class TreeTableComponent extends AbstractTableComponent {
|
|
|
5945
5386
|
#expansionModel_accessor_storage = proxify((TreeExpansionModel));
|
|
5946
5387
|
get expansionModel() { return this.#expansionModel_accessor_storage; }
|
|
5947
5388
|
set expansionModel(value) { this.#expansionModel_accessor_storage = value; }
|
|
5948
|
-
scrollMode$;
|
|
5949
5389
|
constructor(injector) {
|
|
5950
5390
|
super(injector);
|
|
5951
|
-
const { chain } = Dsl.disposeWith(this);
|
|
5952
|
-
this.scrollMode$ = chain(this.enableScrolling$).map(enabled => enabled ? "classic" : "none");
|
|
5953
5391
|
}
|
|
5954
5392
|
ngOnInit() {
|
|
5955
5393
|
super.ngOnInit();
|
|
5956
|
-
const { when } = Dsl.disposeWith(this);
|
|
5957
5394
|
// TODO: clean up all this tightly coupled shit, should the expansion model really be separate from the tree model?
|
|
5958
5395
|
if (!this.expansionModel) {
|
|
5959
5396
|
this.expansionModel = new TreeExpansionModel({ disposedWith: this });
|
|
@@ -5962,10 +5399,7 @@ class TreeTableComponent extends AbstractTableComponent {
|
|
|
5962
5399
|
const visibleRows$ = new FlattenedTreeListModel(this._dataSource$, row => this.treeTableModel.childExtractor(row), this.expansionModel);
|
|
5963
5400
|
this._visibleRows$.setDelegate(visibleRows$);
|
|
5964
5401
|
this.expansionModel.bindToTable(this._dataSource$, visibleRows$);
|
|
5965
|
-
this.treeTableModel.bindToTable(this.expansionModel, visibleRows$, this._visibleRows
|
|
5966
|
-
this.viewStateDependsOn(this.treeTableModel.visibleRows$);
|
|
5967
|
-
this.viewStateDependsOn(this.treeTableModel.visibleRows$);
|
|
5968
|
-
when.anyOf(...this.treeTableModel.viewStateDependencies).changes(() => this.cdr.markForCheck());
|
|
5402
|
+
this.treeTableModel.bindToTable(this.expansionModel, visibleRows$, this._visibleRows$);
|
|
5969
5403
|
}
|
|
5970
5404
|
getModel() {
|
|
5971
5405
|
return this.treeTableModel;
|
|
@@ -5973,7 +5407,7 @@ class TreeTableComponent extends AbstractTableComponent {
|
|
|
5973
5407
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TreeTableComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
5974
5408
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TreeTableComponent, selector: "aup-tree-table", inputs: { treeTableModel: "treeTableModel", expansionModel: "expansionModel" }, providers: [
|
|
5975
5409
|
{ provide: AbstractTableComponent, useExisting: TreeTableComponent }
|
|
5976
|
-
], usesInheritance: true, ngImport: i0, template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"treeTableModel\"\n [showHeader$]=\"showHeader$\"\n [
|
|
5410
|
+
], usesInheritance: true, ngImport: i0, template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"treeTableModel\"\n [showHeader$]=\"showHeader$\"\n [enableScrolling]=\"enableScrolling\"\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", "showHeader$", "showHeader", "trackBy", "enableScrolling"], outputs: ["visibleRowCount"] }] });
|
|
5977
5411
|
}
|
|
5978
5412
|
__decorate([
|
|
5979
5413
|
Proxify(),
|
|
@@ -5987,7 +5421,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
5987
5421
|
type: Component,
|
|
5988
5422
|
args: [{ selector: 'aup-tree-table', providers: [
|
|
5989
5423
|
{ provide: AbstractTableComponent, useExisting: TreeTableComponent }
|
|
5990
|
-
], template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"treeTableModel\"\n [showHeader$]=\"showHeader$\"\n [
|
|
5424
|
+
], template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"treeTableModel\"\n [showHeader$]=\"showHeader$\"\n [enableScrolling]=\"enableScrolling\"\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"] }]
|
|
5991
5425
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { treeTableModel: [{
|
|
5992
5426
|
type: Input
|
|
5993
5427
|
}], expansionModel: [{
|
|
@@ -6169,7 +5603,6 @@ class ComponentsModule {
|
|
|
6169
5603
|
FocusableComponent,
|
|
6170
5604
|
CardContainerComponent,
|
|
6171
5605
|
TableComponent,
|
|
6172
|
-
TableRowAttributesDirective,
|
|
6173
5606
|
EditRowControlsComponent,
|
|
6174
5607
|
ColumnTemplateDirective,
|
|
6175
5608
|
DefaultCellRendererComponent,
|
|
@@ -6203,9 +5636,7 @@ class ComponentsModule {
|
|
|
6203
5636
|
MarkdownComponent,
|
|
6204
5637
|
TableBodyComponent,
|
|
6205
5638
|
TableMoreMenuComponent,
|
|
6206
|
-
TableMoreMenuPopupComponent,
|
|
6207
|
-
SearchInputComponent,
|
|
6208
|
-
TableFooterRow], imports: [CommonModule,
|
|
5639
|
+
TableMoreMenuPopupComponent], imports: [CommonModule,
|
|
6209
5640
|
BrowserAnimationsModule,
|
|
6210
5641
|
FormsModule,
|
|
6211
5642
|
MatInputModule,
|
|
@@ -6224,10 +5655,7 @@ class ComponentsModule {
|
|
|
6224
5655
|
MatMenuModule,
|
|
6225
5656
|
MatDividerModule,
|
|
6226
5657
|
MatProgressSpinnerModule,
|
|
6227
|
-
MatProgressBarModule,
|
|
6228
|
-
ScrollingModule,
|
|
6229
|
-
TableVirtualScrollModule], exports: [TableFooterRow,
|
|
6230
|
-
NumberInputComponent,
|
|
5658
|
+
MatProgressBarModule], exports: [NumberInputComponent,
|
|
6231
5659
|
StringInputComponent,
|
|
6232
5660
|
TextInputComponent,
|
|
6233
5661
|
PasswordInputComponent,
|
|
@@ -6265,8 +5693,7 @@ class ComponentsModule {
|
|
|
6265
5693
|
LoadingContainerComponent,
|
|
6266
5694
|
MarkdownComponent,
|
|
6267
5695
|
TableMoreMenuComponent,
|
|
6268
|
-
TableMoreMenuPopupComponent
|
|
6269
|
-
SearchInputComponent] });
|
|
5696
|
+
TableMoreMenuPopupComponent] });
|
|
6270
5697
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ComponentsModule, providers: [
|
|
6271
5698
|
FocusBindingFactory,
|
|
6272
5699
|
MarkdownService
|
|
@@ -6289,9 +5716,7 @@ class ComponentsModule {
|
|
|
6289
5716
|
MatMenuModule,
|
|
6290
5717
|
MatDividerModule,
|
|
6291
5718
|
MatProgressSpinnerModule,
|
|
6292
|
-
MatProgressBarModule
|
|
6293
|
-
ScrollingModule,
|
|
6294
|
-
TableVirtualScrollModule] });
|
|
5719
|
+
MatProgressBarModule] });
|
|
6295
5720
|
}
|
|
6296
5721
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ComponentsModule, decorators: [{
|
|
6297
5722
|
type: NgModule,
|
|
@@ -6316,9 +5741,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6316
5741
|
MatMenuModule,
|
|
6317
5742
|
MatDividerModule,
|
|
6318
5743
|
MatProgressSpinnerModule,
|
|
6319
|
-
MatProgressBarModule
|
|
6320
|
-
ScrollingModule,
|
|
6321
|
-
TableVirtualScrollModule
|
|
5744
|
+
MatProgressBarModule
|
|
6322
5745
|
],
|
|
6323
5746
|
declarations: [
|
|
6324
5747
|
AbstractInputComponent,
|
|
@@ -6342,7 +5765,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6342
5765
|
FocusableComponent,
|
|
6343
5766
|
CardContainerComponent,
|
|
6344
5767
|
TableComponent,
|
|
6345
|
-
TableRowAttributesDirective,
|
|
6346
5768
|
EditRowControlsComponent,
|
|
6347
5769
|
ColumnTemplateDirective,
|
|
6348
5770
|
DefaultCellRendererComponent,
|
|
@@ -6377,11 +5799,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6377
5799
|
TableBodyComponent,
|
|
6378
5800
|
TableMoreMenuComponent,
|
|
6379
5801
|
TableMoreMenuPopupComponent,
|
|
6380
|
-
SearchInputComponent,
|
|
6381
|
-
TableFooterRow
|
|
6382
5802
|
],
|
|
6383
5803
|
exports: [
|
|
6384
|
-
TableFooterRow,
|
|
6385
5804
|
NumberInputComponent,
|
|
6386
5805
|
StringInputComponent,
|
|
6387
5806
|
TextInputComponent,
|
|
@@ -6421,7 +5840,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6421
5840
|
MarkdownComponent,
|
|
6422
5841
|
TableMoreMenuComponent,
|
|
6423
5842
|
TableMoreMenuPopupComponent,
|
|
6424
|
-
SearchInputComponent
|
|
6425
5843
|
],
|
|
6426
5844
|
providers: [
|
|
6427
5845
|
FocusBindingFactory,
|
|
@@ -6430,73 +5848,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6430
5848
|
}]
|
|
6431
5849
|
}] });
|
|
6432
5850
|
|
|
6433
|
-
class LoadableComponent extends DisposableComponent {
|
|
6434
|
-
#_loaded$ = new MutableValueModel();
|
|
6435
|
-
#asyncLoadables = [];
|
|
6436
|
-
#awaitedLoadables = [];
|
|
6437
|
-
get loaded$() {
|
|
6438
|
-
return this.#_loaded$.readonly$;
|
|
6439
|
-
}
|
|
6440
|
-
ngOnInit() {
|
|
6441
|
-
super.ngOnInit();
|
|
6442
|
-
this.#asyncLoadables.forEach(it => it.ensureLoaded());
|
|
6443
|
-
if (this.#awaitedLoadables.length > 0) {
|
|
6444
|
-
Promise.all(this.#awaitedLoadables.map(it => {
|
|
6445
|
-
return it.ensureLoaded(); //.then(() => console.log(`${it.constructor.name} loaded`));
|
|
6446
|
-
})).then(() => {
|
|
6447
|
-
this.#_loaded$.value = true;
|
|
6448
|
-
});
|
|
6449
|
-
}
|
|
6450
|
-
else {
|
|
6451
|
-
this.#_loaded$.value = true;
|
|
6452
|
-
}
|
|
6453
|
-
}
|
|
6454
|
-
injectLoadable(token, options) {
|
|
6455
|
-
return this.registerLoadable(inject(token, options), options);
|
|
6456
|
-
}
|
|
6457
|
-
registerLoadable(loadable, options) {
|
|
6458
|
-
if (this.loaded$.value) {
|
|
6459
|
-
loadable.ensureLoaded();
|
|
6460
|
-
}
|
|
6461
|
-
else {
|
|
6462
|
-
if (!options || options.wait === true) {
|
|
6463
|
-
this.#awaitedLoadables.push(loadable);
|
|
6464
|
-
}
|
|
6465
|
-
else {
|
|
6466
|
-
this.#asyncLoadables.push(loadable);
|
|
6467
|
-
}
|
|
6468
|
-
}
|
|
6469
|
-
return loadable;
|
|
6470
|
-
}
|
|
6471
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: LoadableComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
6472
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: LoadableComponent, usesInheritance: true, ngImport: i0 });
|
|
6473
|
-
}
|
|
6474
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: LoadableComponent, decorators: [{
|
|
6475
|
-
type: Directive
|
|
6476
|
-
}] });
|
|
6477
|
-
|
|
6478
|
-
class TextSearchContext {
|
|
6479
|
-
row;
|
|
6480
|
-
searchText;
|
|
6481
|
-
searchRegex;
|
|
6482
|
-
constructor(row, searchText, searchRegex) {
|
|
6483
|
-
this.row = row;
|
|
6484
|
-
this.searchText = searchText;
|
|
6485
|
-
this.searchRegex = searchRegex;
|
|
6486
|
-
}
|
|
6487
|
-
getOrCreate(type, create) {
|
|
6488
|
-
}
|
|
6489
|
-
matchesText(text) {
|
|
6490
|
-
return this.searchRegex.test(text);
|
|
6491
|
-
}
|
|
6492
|
-
}
|
|
6493
|
-
|
|
6494
|
-
class AbstractCellRenderer extends LoadableComponent {
|
|
6495
|
-
constructor() {
|
|
6496
|
-
super();
|
|
6497
|
-
}
|
|
6498
|
-
}
|
|
6499
|
-
|
|
6500
5851
|
/**
|
|
6501
5852
|
* @file Automatically generated by barrelsby.
|
|
6502
5853
|
*/
|
|
@@ -6523,6 +5874,7 @@ class AbstractCellRenderer extends LoadableComponent {
|
|
|
6523
5874
|
* </aup-activity-actions>
|
|
6524
5875
|
*/
|
|
6525
5876
|
class ActivityActionsComponent extends DisposableComponent {
|
|
5877
|
+
cdr;
|
|
6526
5878
|
confirmCommandComponent;
|
|
6527
5879
|
cancelCommandComponent;
|
|
6528
5880
|
#confirmCommand_accessor_storage = proxify((Command));
|
|
@@ -6551,9 +5903,9 @@ class ActivityActionsComponent extends DisposableComponent {
|
|
|
6551
5903
|
}
|
|
6552
5904
|
layout = ActivityActionsComponent.Layout.BLOCK;
|
|
6553
5905
|
align = ActivityActionsComponent.Align.STRETCH;
|
|
6554
|
-
|
|
6555
|
-
constructor() {
|
|
5906
|
+
constructor(cdr) {
|
|
6556
5907
|
super();
|
|
5908
|
+
this.cdr = cdr;
|
|
6557
5909
|
}
|
|
6558
5910
|
hasConfirmFace() {
|
|
6559
5911
|
return !!this.confirmFace;
|
|
@@ -6572,8 +5924,8 @@ class ActivityActionsComponent extends DisposableComponent {
|
|
|
6572
5924
|
focusCancel() {
|
|
6573
5925
|
this.cancelCommandComponent.requestFocus();
|
|
6574
5926
|
}
|
|
6575
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6576
|
-
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"
|
|
5927
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityActionsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
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=\"hasConfirmFace()\">\n <aup-command #confirmCommandComponent class=\"confirm\" [command]=\"confirmCommand\" [face]=\"confirmFace\" data-cy=\"confirm-command\"></aup-command>\n</ng-container>\n<ng-container *ngIf=\"hasCancelFace()\">\n <aup-command #cancelCommandComponent class=\"cancel\" [command]=\"cancelCommand\" [face]=\"cancelFace\" data-cy=\"cancel-command\"></aup-command>\n</ng-container>\n", styles: [":host{display:grid;grid-template-rows:auto;align-items:center;justify-content:end;--resolved-activity-actions-gap: var(--activity-actions-gap, 8px)}:host[layout=block][align=start]{grid-template-areas:\"cancel confirm content\";grid-template-columns:auto auto 1fr}:host[layout=block][align=start] .confirm{margin-left:var(--resolved-activity-actions-gap)}:host[layout=block][align=end]{grid-template-areas:\"content cancel confirm\";grid-template-columns:1fr auto auto}:host[layout=block][align=end] .confirm{margin-left:var(--resolved-activity-actions-gap)}:host[layout=block][align=stretch]{grid-template-areas:\"cancel content confirm\";grid-template-columns:auto 1fr auto}:host[layout=inline]{grid-template-areas:\"confirm cancel content\";grid-template-columns:auto auto 1fr}:host[layout=inline] .cancel{margin-left:var(--resolved-activity-actions-gap)}.cancel{grid-area:cancel}.confirm{grid-area:confirm}.content{grid-area:content;text-align:left}\n"], 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"] }] });
|
|
6577
5929
|
}
|
|
6578
5930
|
__decorate([
|
|
6579
5931
|
Proxify(),
|
|
@@ -6585,8 +5937,8 @@ __decorate([
|
|
|
6585
5937
|
], ActivityActionsComponent.prototype, "cancelCommand", null);
|
|
6586
5938
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityActionsComponent, decorators: [{
|
|
6587
5939
|
type: Component,
|
|
6588
|
-
args: [{ selector: 'aup-activity-actions', template: "<div class=\"content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"
|
|
6589
|
-
}], ctorParameters: function () { return []; }, propDecorators: { confirmCommandComponent: [{
|
|
5940
|
+
args: [{ selector: 'aup-activity-actions', template: "<div class=\"content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"hasConfirmFace()\">\n <aup-command #confirmCommandComponent class=\"confirm\" [command]=\"confirmCommand\" [face]=\"confirmFace\" data-cy=\"confirm-command\"></aup-command>\n</ng-container>\n<ng-container *ngIf=\"hasCancelFace()\">\n <aup-command #cancelCommandComponent class=\"cancel\" [command]=\"cancelCommand\" [face]=\"cancelFace\" data-cy=\"cancel-command\"></aup-command>\n</ng-container>\n", styles: [":host{display:grid;grid-template-rows:auto;align-items:center;justify-content:end;--resolved-activity-actions-gap: var(--activity-actions-gap, 8px)}:host[layout=block][align=start]{grid-template-areas:\"cancel confirm content\";grid-template-columns:auto auto 1fr}:host[layout=block][align=start] .confirm{margin-left:var(--resolved-activity-actions-gap)}:host[layout=block][align=end]{grid-template-areas:\"content cancel confirm\";grid-template-columns:1fr auto auto}:host[layout=block][align=end] .confirm{margin-left:var(--resolved-activity-actions-gap)}:host[layout=block][align=stretch]{grid-template-areas:\"cancel content confirm\";grid-template-columns:auto 1fr auto}:host[layout=inline]{grid-template-areas:\"confirm cancel content\";grid-template-columns:auto auto 1fr}:host[layout=inline] .cancel{margin-left:var(--resolved-activity-actions-gap)}.cancel{grid-area:cancel}.confirm{grid-area:confirm}.content{grid-area:content;text-align:left}\n"] }]
|
|
5941
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { confirmCommandComponent: [{
|
|
6590
5942
|
type: ViewChild,
|
|
6591
5943
|
args: ["confirmCommandComponent"]
|
|
6592
5944
|
}], cancelCommandComponent: [{
|
|
@@ -6614,11 +5966,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6614
5966
|
}, {
|
|
6615
5967
|
type: HostBinding,
|
|
6616
5968
|
args: ['attr.align']
|
|
6617
|
-
}], alignContent: [{
|
|
6618
|
-
type: Input
|
|
6619
|
-
}, {
|
|
6620
|
-
type: HostBinding,
|
|
6621
|
-
args: ['attr.align-content']
|
|
6622
5969
|
}] } });
|
|
6623
5970
|
(function (ActivityActionsComponent) {
|
|
6624
5971
|
ActivityActionsComponent.Layout = Enum({
|
|
@@ -6627,19 +5974,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6627
5974
|
});
|
|
6628
5975
|
ActivityActionsComponent.Align = Enum({
|
|
6629
5976
|
START: 'start',
|
|
6630
|
-
|
|
6631
|
-
|
|
6632
|
-
});
|
|
6633
|
-
ActivityActionsComponent.AlignContent = Enum({
|
|
6634
|
-
START: 'start',
|
|
6635
|
-
CENTER: 'center',
|
|
6636
|
-
END: 'end'
|
|
5977
|
+
END: 'end',
|
|
5978
|
+
STRETCH: 'stretch'
|
|
6637
5979
|
});
|
|
6638
5980
|
})(ActivityActionsComponent || (ActivityActionsComponent = {}));
|
|
6639
5981
|
|
|
6640
5982
|
const ACTIVITY_DATA = new InjectionToken("InteractionActivityData");
|
|
6641
5983
|
// eslint-disable-next-line @angular-eslint/component-class-suffix
|
|
6642
|
-
class Activity extends
|
|
5984
|
+
class Activity extends DisposableComponent {
|
|
6643
5985
|
activityData = inject(ACTIVITY_DATA);
|
|
6644
5986
|
activityReadyListeners = new EventListenerList();
|
|
6645
5987
|
_busy$ = this.registerDisposable(new DelegatingValueModel().withDefault(false));
|
|
@@ -6694,6 +6036,7 @@ class Activity extends LoadableComponent {
|
|
|
6694
6036
|
notifyActivityReady() {
|
|
6695
6037
|
this.activityReadyListeners.fire(l => l(this));
|
|
6696
6038
|
this._ready$.value = true;
|
|
6039
|
+
console.log("ready");
|
|
6697
6040
|
}
|
|
6698
6041
|
onActivityReady(callback) {
|
|
6699
6042
|
return this.activityReadyListeners.add(callback);
|
|
@@ -6813,7 +6156,7 @@ class AbstractDialogComponent extends Activity {
|
|
|
6813
6156
|
}
|
|
6814
6157
|
}
|
|
6815
6158
|
isDestructive() {
|
|
6816
|
-
return isFunction(this.config['destructive']) && this.config["destructive"]();
|
|
6159
|
+
return isFunction$1(this.config['destructive']) && this.config["destructive"]();
|
|
6817
6160
|
}
|
|
6818
6161
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractDialogComponent, deps: [{ token: ALERT_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
6819
6162
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
@@ -6830,7 +6173,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6830
6173
|
|
|
6831
6174
|
class AbstractConfirmDialogComponent extends AbstractDialogComponent {
|
|
6832
6175
|
cancelFace;
|
|
6833
|
-
confirmClass = "aup-confirm-activity";
|
|
6834
6176
|
constructor(config) {
|
|
6835
6177
|
super(config);
|
|
6836
6178
|
this.cancelFace = {
|
|
@@ -6841,7 +6183,7 @@ class AbstractConfirmDialogComponent extends AbstractDialogComponent {
|
|
|
6841
6183
|
});
|
|
6842
6184
|
}
|
|
6843
6185
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractConfirmDialogComponent, deps: [{ token: ALERT_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
6844
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractConfirmDialogComponent, selector: "ng-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 });
|
|
6845
6187
|
}
|
|
6846
6188
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractConfirmDialogComponent, decorators: [{
|
|
6847
6189
|
type: Component,
|
|
@@ -6851,10 +6193,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6851
6193
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
6852
6194
|
type: Inject,
|
|
6853
6195
|
args: [ALERT_CONFIG]
|
|
6854
|
-
}] }]; }
|
|
6855
|
-
type: HostBinding,
|
|
6856
|
-
args: ["class"]
|
|
6857
|
-
}] } });
|
|
6196
|
+
}] }]; } });
|
|
6858
6197
|
|
|
6859
6198
|
class ActivityBodyComponent extends DisposableComponent {
|
|
6860
6199
|
fullWidth = false;
|
|
@@ -7184,7 +6523,6 @@ class PlaceDefinition {
|
|
|
7184
6523
|
children;
|
|
7185
6524
|
redirectToFirstChild;
|
|
7186
6525
|
_parent;
|
|
7187
|
-
name;
|
|
7188
6526
|
constructor(component, path, authenticate, role, data, routeParameters, children, redirectToFirstChild) {
|
|
7189
6527
|
this.component = component;
|
|
7190
6528
|
this.path = path;
|
|
@@ -7194,8 +6532,6 @@ class PlaceDefinition {
|
|
|
7194
6532
|
this.routeParameters = routeParameters;
|
|
7195
6533
|
this.children = children;
|
|
7196
6534
|
this.redirectToFirstChild = redirectToFirstChild;
|
|
7197
|
-
const s = component.name.replace(/Component$/, '');
|
|
7198
|
-
this.name = s.charAt(0).toLowerCase() + s.slice(1);
|
|
7199
6535
|
this.children.forEach(it => it.setParent(this));
|
|
7200
6536
|
}
|
|
7201
6537
|
ancestors() {
|
|
@@ -7204,9 +6540,6 @@ class PlaceDefinition {
|
|
|
7204
6540
|
ancestorsAndSelf() {
|
|
7205
6541
|
return this.ancestors().concat(this);
|
|
7206
6542
|
}
|
|
7207
|
-
get placeId() {
|
|
7208
|
-
return this.ancestorsAndSelf().map(d => Stringy.from(d.name).dasherize().toString()).join('.');
|
|
7209
|
-
}
|
|
7210
6543
|
setParent(parent) {
|
|
7211
6544
|
assert.isNil(this._parent);
|
|
7212
6545
|
this._parent = parent;
|
|
@@ -7368,11 +6701,6 @@ __decorate([
|
|
|
7368
6701
|
__metadata("design:paramtypes", []),
|
|
7369
6702
|
__metadata("design:returntype", Array)
|
|
7370
6703
|
], PlaceDefinition.prototype, "ancestorsAndSelf", null);
|
|
7371
|
-
__decorate([
|
|
7372
|
-
Memoize(),
|
|
7373
|
-
__metadata("design:type", String),
|
|
7374
|
-
__metadata("design:paramtypes", [])
|
|
7375
|
-
], PlaceDefinition.prototype, "placeId", null);
|
|
7376
6704
|
__decorate([
|
|
7377
6705
|
Memoize(),
|
|
7378
6706
|
__metadata("design:type", Function),
|
|
@@ -7404,38 +6732,31 @@ const ROUTE_PARAMETER_LIST_KEY = Symbol('place:route:parameters');
|
|
|
7404
6732
|
// return true;
|
|
7405
6733
|
// }
|
|
7406
6734
|
// }
|
|
7407
|
-
class PlaceComponent extends
|
|
6735
|
+
class PlaceComponent extends DisposableComponent {
|
|
7408
6736
|
_placeReadyCallbacks = [];
|
|
7409
|
-
|
|
6737
|
+
visitModel = new MutableValueModel();
|
|
7410
6738
|
_inVisitUpdate = new Guard();
|
|
7411
6739
|
_active = new MutableValueModel(false);
|
|
7412
6740
|
interactionContext;
|
|
7413
6741
|
childPlaces$;
|
|
7414
|
-
// private readonly _parameterChangeInterceptors: ParameterChangeInterceptor<any>[] = [];
|
|
7415
|
-
placeId;
|
|
7416
6742
|
placeRouter = inject(PlaceRouter);
|
|
7417
|
-
activatedRoute = inject(ActivatedRoute);
|
|
7418
6743
|
constructor() {
|
|
7419
6744
|
super();
|
|
7420
6745
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
7421
6746
|
when(this._active).becomesTruthy(() => this._notifyPlaceReady());
|
|
7422
6747
|
this.childPlaces$ = ListModel.constant(this.placeDefinition.children.map(d => d.component));
|
|
7423
|
-
this.placeId = this.placeDefinition.placeId;
|
|
7424
|
-
if (isEmpty(this.placeId)) {
|
|
7425
|
-
lang.illegalState("placeId property is missing from the route data parameters");
|
|
7426
|
-
}
|
|
7427
6748
|
}
|
|
7428
6749
|
initialiseVisit(visit, notifyVisitChanged) {
|
|
7429
|
-
assert.isNil(this.
|
|
6750
|
+
assert.isNil(this.visitModel.value);
|
|
7430
6751
|
const { when } = Dsl.disposeWith(this);
|
|
7431
|
-
this.
|
|
7432
|
-
DebugContext.getOrCreate(this.
|
|
6752
|
+
this.visitModel.value = visit;
|
|
6753
|
+
DebugContext.getOrCreate(this.visitModel).tag(`${this.placeDefinition.component.name}.visitModel`);
|
|
7433
6754
|
// we track if the any of the bindings updated the route. If so we remember it and update the
|
|
7434
6755
|
// route in one go at the end.
|
|
7435
6756
|
this.placeDefinition
|
|
7436
6757
|
.getVisitParameterDefs()
|
|
7437
6758
|
.forEach(parameterDef => this.installAndInitialiseBinding(visit, parameterDef));
|
|
7438
|
-
when(this.
|
|
6759
|
+
when(this.visitModel).changes((current, previous) => {
|
|
7439
6760
|
notifyVisitChanged(current, previous);
|
|
7440
6761
|
}, { unless: this._inVisitUpdate });
|
|
7441
6762
|
// TODO: this needs to do a replace url option so that the new url isn't put in the history.... for
|
|
@@ -7454,11 +6775,11 @@ class PlaceComponent extends LoadableComponent {
|
|
|
7454
6775
|
assert.isTruthy(this.isInitialised());
|
|
7455
6776
|
assert.notNil(visit);
|
|
7456
6777
|
this._inVisitUpdate.whileTrue(() => {
|
|
7457
|
-
this.
|
|
6778
|
+
this.visitModel.value = visit;
|
|
7458
6779
|
});
|
|
7459
6780
|
}
|
|
7460
6781
|
isInitialised() {
|
|
7461
|
-
return !!this.
|
|
6782
|
+
return !!this.visitModel.value;
|
|
7462
6783
|
}
|
|
7463
6784
|
// @Trace()
|
|
7464
6785
|
/**
|
|
@@ -7468,9 +6789,8 @@ class PlaceComponent extends LoadableComponent {
|
|
|
7468
6789
|
*/
|
|
7469
6790
|
installAndInitialiseBinding(initialVisit, parameterDef) {
|
|
7470
6791
|
const model = this[parameterDef.propertyName];
|
|
7471
|
-
assert.notNil(model);
|
|
7472
6792
|
DebugContext.tag(model, `${this.placeDefinition.component.name}.${parameterDef.propertyName}`);
|
|
7473
|
-
const binding = this.registerDisposable(new Binding(this.
|
|
6793
|
+
const binding = this.registerDisposable(new Binding(this.visitModel, model, {
|
|
7474
6794
|
toRight(visit) {
|
|
7475
6795
|
const value = visit.getParameterValue(parameterDef);
|
|
7476
6796
|
// console.log('push to component', { name: parameterDef.name, value, visit });
|
|
@@ -7550,19 +6870,16 @@ class PlaceComponent extends LoadableComponent {
|
|
|
7550
6870
|
this._placeReadyCallbacks.push(callback);
|
|
7551
6871
|
}
|
|
7552
6872
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
7553
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: PlaceComponent,
|
|
6873
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: PlaceComponent, usesInheritance: true, ngImport: i0 });
|
|
7554
6874
|
}
|
|
7555
6875
|
__decorate([
|
|
7556
|
-
|
|
6876
|
+
Memoize(),
|
|
7557
6877
|
__metadata("design:type", PlaceDefinition),
|
|
7558
6878
|
__metadata("design:paramtypes", [])
|
|
7559
6879
|
], PlaceComponent.prototype, "placeDefinition", null);
|
|
7560
6880
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceComponent, decorators: [{
|
|
7561
6881
|
type: Directive
|
|
7562
|
-
}], ctorParameters: function () { return []; }, propDecorators: {
|
|
7563
|
-
type: HostBinding,
|
|
7564
|
-
args: ["attr.place-id"]
|
|
7565
|
-
}], placeDefinition: [] } });
|
|
6882
|
+
}], ctorParameters: function () { return []; }, propDecorators: { placeDefinition: [] } });
|
|
7566
6883
|
(function (PlaceComponent) {
|
|
7567
6884
|
function isPlaceComponentConstructor(target) {
|
|
7568
6885
|
return lang.constructorChain(target).includes(PlaceComponent);
|
|
@@ -7746,7 +7063,7 @@ class Visit {
|
|
|
7746
7063
|
getRouterCommands() {
|
|
7747
7064
|
return this.segments.reduce((result, v) => {
|
|
7748
7065
|
const path = v.placeDefinition.path;
|
|
7749
|
-
return isEmpty(path) ?
|
|
7066
|
+
return isEmpty$1(path) ?
|
|
7750
7067
|
[...result, path] : // Angular doesn't support route params on empty path segments
|
|
7751
7068
|
[...result, path, ...v.createRouterCommands()];
|
|
7752
7069
|
}, []);
|
|
@@ -7762,7 +7079,7 @@ class Visit {
|
|
|
7762
7079
|
}
|
|
7763
7080
|
}
|
|
7764
7081
|
__decorate([
|
|
7765
|
-
Memoize(),
|
|
7082
|
+
Memoize$1(),
|
|
7766
7083
|
__metadata("design:type", Function),
|
|
7767
7084
|
__metadata("design:paramtypes", [PlaceDefinition]),
|
|
7768
7085
|
__metadata("design:returntype", VisitSegment)
|
|
@@ -8143,7 +7460,10 @@ class SynchroniseInteractionContextIdsWithRoute extends NavigationSession {
|
|
|
8143
7460
|
return true;
|
|
8144
7461
|
}
|
|
8145
7462
|
notifyActive() {
|
|
8146
|
-
this
|
|
7463
|
+
// TODO: Do I still need this??
|
|
7464
|
+
setTimeout(() => {
|
|
7465
|
+
this.syncInteractionIdsWithRouter();
|
|
7466
|
+
});
|
|
8147
7467
|
}
|
|
8148
7468
|
// @Trace()
|
|
8149
7469
|
onRouterEnd(event) {
|
|
@@ -8682,12 +8002,12 @@ class PlaceAuthService extends GarbageCollector {
|
|
|
8682
8002
|
await toPromise(this, this._authZReady$);
|
|
8683
8003
|
await this.enabledPlaceChecker.waitUntilReady(placeDef);
|
|
8684
8004
|
}
|
|
8685
|
-
|
|
8686
|
-
const redirect =
|
|
8005
|
+
getAuthenticationFailureRedirect(activatedRoute, state) {
|
|
8006
|
+
const redirect = this.authNOptions.redirectTo(activatedRoute, state);
|
|
8687
8007
|
return redirect instanceof Visit ? redirect : Visit.goto(redirect);
|
|
8688
8008
|
}
|
|
8689
|
-
|
|
8690
|
-
return
|
|
8009
|
+
getAuthorisationFailureRedirectOptions(component) {
|
|
8010
|
+
return this.authZOptions.redirectTo(component).map(it => it instanceof Visit ? it : Visit.goto(it));
|
|
8691
8011
|
}
|
|
8692
8012
|
isAuthenticated() {
|
|
8693
8013
|
return this.accessGuard$.value.isAuthenticated();
|
|
@@ -8886,7 +8206,7 @@ class ConsolidatedParameterMap {
|
|
|
8886
8206
|
}
|
|
8887
8207
|
}
|
|
8888
8208
|
__decorate([
|
|
8889
|
-
|
|
8209
|
+
Memoize(),
|
|
8890
8210
|
__metadata("design:type", Array),
|
|
8891
8211
|
__metadata("design:paramtypes", [])
|
|
8892
8212
|
], ConsolidatedParameterMap.prototype, "keys", null);
|
|
@@ -8964,7 +8284,7 @@ class UrlSnapshot {
|
|
|
8964
8284
|
return this.getPrimaryUrlSegments().find(s => s.path === placeDef.path);
|
|
8965
8285
|
}
|
|
8966
8286
|
isLastPlaceInUrl(placeDef) {
|
|
8967
|
-
return last(this.getPrimaryUrlSegments()).path === placeDef.path;
|
|
8287
|
+
return last$1(this.getPrimaryUrlSegments()).path === placeDef.path;
|
|
8968
8288
|
}
|
|
8969
8289
|
createVisitSegmentFor(placeDef) {
|
|
8970
8290
|
return new VisitSegment(placeDef, new ConsolidatedParameterMap(this.getPrimaryUrlSegments()));
|
|
@@ -9080,7 +8400,7 @@ class UrlService {
|
|
|
9080
8400
|
back() {
|
|
9081
8401
|
this.angularLocation.back();
|
|
9082
8402
|
}
|
|
9083
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UrlService, deps: [{ token: i1$
|
|
8403
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UrlService, deps: [{ token: i1$4.Router }, { token: i1$1.Location }, { token: i1$4.UrlSerializer }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
9084
8404
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UrlService, providedIn: 'root' });
|
|
9085
8405
|
}
|
|
9086
8406
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UrlService, decorators: [{
|
|
@@ -9088,7 +8408,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
9088
8408
|
args: [{
|
|
9089
8409
|
providedIn: 'root'
|
|
9090
8410
|
}]
|
|
9091
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
8411
|
+
}], ctorParameters: function () { return [{ type: i1$4.Router }, { type: i1$1.Location }, { type: i1$4.UrlSerializer }]; } });
|
|
9092
8412
|
|
|
9093
8413
|
// function asArray<T>(item: T | T[]): T[] {
|
|
9094
8414
|
// return Array.isArray(item) ? item : [item];
|
|
@@ -9108,8 +8428,6 @@ class PlaceRouter extends GarbageCollector {
|
|
|
9108
8428
|
routerInteractionAdapter;
|
|
9109
8429
|
sessionFinishedJobs = [];
|
|
9110
8430
|
authService = new PlaceAuthService();
|
|
9111
|
-
_ready$ = this.registerDisposable(new DelegatingValueModel().withDefault(true));
|
|
9112
|
-
ready$ = this._ready$.readonly$;
|
|
9113
8431
|
constructor(angularRouter, angularLocation, interactionService, urlService, placeHistory) {
|
|
9114
8432
|
super();
|
|
9115
8433
|
this.angularRouter = angularRouter;
|
|
@@ -9131,7 +8449,7 @@ class PlaceRouter extends GarbageCollector {
|
|
|
9131
8449
|
});
|
|
9132
8450
|
const { chain } = Dsl.disposeWith(this);
|
|
9133
8451
|
this.navigationInProgress$ = chain(this.navigationSession$).isNotNil();
|
|
9134
|
-
this.interactionSyncInProgress$ = chain(this.navigationSession$).pluck("isInteractionSync")
|
|
8452
|
+
this.interactionSyncInProgress$ = chain(this.navigationSession$).pluck("isInteractionSync");
|
|
9135
8453
|
const idleStateName = chain(this.interactionService.active).map(active => active ? "IdleDuringInteraction" : "Idle");
|
|
9136
8454
|
this.navigationSessionName$ = chain(this.navigationSession$)
|
|
9137
8455
|
.pluck("name")
|
|
@@ -9175,13 +8493,10 @@ class PlaceRouter extends GarbageCollector {
|
|
|
9175
8493
|
// the back button was clicked.
|
|
9176
8494
|
angularLocation.onUrlChange(url => this.onUrlChanged(url));
|
|
9177
8495
|
}
|
|
9178
|
-
|
|
9179
|
-
this._ready$.setDelegate(condition$);
|
|
9180
|
-
}
|
|
9181
|
-
async getAuthenticationFailureRedirect(activatedRoute, state) {
|
|
8496
|
+
getAuthenticationFailureRedirect(activatedRoute, state) {
|
|
9182
8497
|
return this.authService.getAuthenticationFailureRedirect(activatedRoute, state);
|
|
9183
8498
|
}
|
|
9184
|
-
|
|
8499
|
+
getAuthorisationFailureRedirectOptions(component) {
|
|
9185
8500
|
return this.authService.getAuthorisationFailureRedirectOptions(component);
|
|
9186
8501
|
}
|
|
9187
8502
|
get navigationSession() {
|
|
@@ -9193,20 +8508,23 @@ class PlaceRouter extends GarbageCollector {
|
|
|
9193
8508
|
isNavigating() {
|
|
9194
8509
|
return this.navigationInProgress$.value;
|
|
9195
8510
|
}
|
|
9196
|
-
|
|
9197
|
-
const {
|
|
9198
|
-
|
|
9199
|
-
|
|
9200
|
-
|
|
9201
|
-
|
|
9202
|
-
|
|
9203
|
-
|
|
9204
|
-
return this;
|
|
8511
|
+
waitUntilIdle() {
|
|
8512
|
+
const { when } = Dsl.disposeWith(this);
|
|
8513
|
+
return new Promise(resolve => {
|
|
8514
|
+
when(this.navigationInProgress$).becomesFalsey(() => resolve(this), {
|
|
8515
|
+
initialValue: "evaluate",
|
|
8516
|
+
once: true
|
|
8517
|
+
});
|
|
8518
|
+
});
|
|
9205
8519
|
}
|
|
9206
8520
|
async waitActivitiesSynchronised() {
|
|
9207
|
-
const {
|
|
9208
|
-
|
|
9209
|
-
|
|
8521
|
+
const { when } = Dsl.disposeWith(this);
|
|
8522
|
+
return new Promise(resolve => {
|
|
8523
|
+
when(this.interactionSyncInProgress$).becomesFalsey(() => resolve(this), {
|
|
8524
|
+
initialValue: "evaluate",
|
|
8525
|
+
once: true
|
|
8526
|
+
});
|
|
8527
|
+
});
|
|
9210
8528
|
}
|
|
9211
8529
|
// @Trace()
|
|
9212
8530
|
onPopState(event) {
|
|
@@ -9392,7 +8710,7 @@ class PlaceRouter extends GarbageCollector {
|
|
|
9392
8710
|
return Visit.goto(visitOrPlaceComponent, params);
|
|
9393
8711
|
}
|
|
9394
8712
|
}
|
|
9395
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceRouter, deps: [{ token: i1$
|
|
8713
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceRouter, deps: [{ token: i1$4.Router }, { token: i1$1.Location }, { token: InteractionService }, { token: UrlService }, { token: PlaceHistory }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
9396
8714
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceRouter, providedIn: "root" });
|
|
9397
8715
|
}
|
|
9398
8716
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceRouter, decorators: [{
|
|
@@ -9400,7 +8718,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
9400
8718
|
args: [{
|
|
9401
8719
|
providedIn: "root"
|
|
9402
8720
|
}]
|
|
9403
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
8721
|
+
}], ctorParameters: function () { return [{ type: i1$4.Router }, { type: i1$1.Location }, { type: InteractionService }, { type: UrlService }, { type: PlaceHistory }]; } });
|
|
9404
8722
|
|
|
9405
8723
|
class ActivityTitleComponent extends DisposableComponent {
|
|
9406
8724
|
_color;
|
|
@@ -9422,11 +8740,11 @@ class ActivityTitleComponent extends DisposableComponent {
|
|
|
9422
8740
|
return this._color;
|
|
9423
8741
|
}
|
|
9424
8742
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityTitleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
9425
|
-
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
|
|
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:block}\n"] });
|
|
9426
8744
|
}
|
|
9427
8745
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityTitleComponent, decorators: [{
|
|
9428
8746
|
type: Component,
|
|
9429
|
-
args: [{ selector: 'aup-activity-title', template: "<ng-content></ng-content>\n
|
|
8747
|
+
args: [{ selector: 'aup-activity-title', template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
|
|
9430
8748
|
}], propDecorators: { hasTransparentBackground: [{
|
|
9431
8749
|
type: Input
|
|
9432
8750
|
}, {
|
|
@@ -9447,7 +8765,7 @@ class AlertDialogComponent extends AbstractDialogComponent {
|
|
|
9447
8765
|
});
|
|
9448
8766
|
}
|
|
9449
8767
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AlertDialogComponent, deps: [{ token: ACTIVITY_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
9450
|
-
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"
|
|
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"] }] });
|
|
9451
8769
|
}
|
|
9452
8770
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AlertDialogComponent, decorators: [{
|
|
9453
8771
|
type: Component,
|
|
@@ -9467,7 +8785,7 @@ class ConfirmThenDialogComponent extends AbstractConfirmDialogComponent {
|
|
|
9467
8785
|
});
|
|
9468
8786
|
}
|
|
9469
8787
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ConfirmThenDialogComponent, deps: [{ token: ACTIVITY_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
9470
|
-
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"
|
|
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"] }] });
|
|
9471
8789
|
}
|
|
9472
8790
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ConfirmThenDialogComponent, decorators: [{
|
|
9473
8791
|
type: Component,
|
|
@@ -9491,7 +8809,7 @@ class ConfirmThenExecuteDialogComponent extends AbstractConfirmDialogComponent {
|
|
|
9491
8809
|
});
|
|
9492
8810
|
}
|
|
9493
8811
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ConfirmThenExecuteDialogComponent, deps: [{ token: ACTIVITY_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
9494
|
-
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"
|
|
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"] }] });
|
|
9495
8813
|
}
|
|
9496
8814
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ConfirmThenExecuteDialogComponent, decorators: [{
|
|
9497
8815
|
type: Component,
|
|
@@ -9511,7 +8829,7 @@ class ConfirmationDialogComponent extends AbstractConfirmDialogComponent {
|
|
|
9511
8829
|
});
|
|
9512
8830
|
}
|
|
9513
8831
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ConfirmationDialogComponent, deps: [{ token: ACTIVITY_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
9514
|
-
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"
|
|
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"] }] });
|
|
9515
8833
|
}
|
|
9516
8834
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
|
|
9517
8835
|
type: Component,
|
|
@@ -9691,7 +9009,6 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9691
9009
|
tabs;
|
|
9692
9010
|
activityOutlets;
|
|
9693
9011
|
activityRefs = [];
|
|
9694
|
-
animationDuration = "500ms";
|
|
9695
9012
|
_identifier;
|
|
9696
9013
|
_deferredCleanUp;
|
|
9697
9014
|
interactionServiceApi;
|
|
@@ -9704,7 +9021,6 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9704
9021
|
busy = this.registerDisposable(new DelegatingValueModel().withDefault(false));
|
|
9705
9022
|
syncTabsJob = undefined;
|
|
9706
9023
|
stable$;
|
|
9707
|
-
wasActive = false;
|
|
9708
9024
|
constructor(placeRouter) {
|
|
9709
9025
|
super();
|
|
9710
9026
|
this.placeRouter = placeRouter;
|
|
@@ -9741,12 +9057,7 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9741
9057
|
* Returns true if an activity is currently running.
|
|
9742
9058
|
*/
|
|
9743
9059
|
isActive() {
|
|
9744
|
-
|
|
9745
|
-
// if (this.wasActive !== isActive) {
|
|
9746
|
-
// console.log({was: this.wasActive, is: isActive});
|
|
9747
|
-
// }
|
|
9748
|
-
// this.wasActive = isActive
|
|
9749
|
-
return isActive;
|
|
9060
|
+
return this.getActiveActivityCount() > 0;
|
|
9750
9061
|
}
|
|
9751
9062
|
registerDisposable(disposable) {
|
|
9752
9063
|
return this.garbage.registerDisposable(disposable);
|
|
@@ -9829,7 +9140,7 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9829
9140
|
// by activity index)
|
|
9830
9141
|
setTimeout(() => {
|
|
9831
9142
|
this.activityRefs = []; // we have to do it after the animation timeout or the activity disappears before the animatin finsihes
|
|
9832
|
-
}, this.
|
|
9143
|
+
}, this.getTabAnimationDuration());
|
|
9833
9144
|
const promise = this.interactionServiceApi.notifyFinished(this);
|
|
9834
9145
|
this._deferredCleanUp = promise
|
|
9835
9146
|
.finally(() => {
|
|
@@ -9855,6 +9166,7 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9855
9166
|
/**
|
|
9856
9167
|
* Synchronises the selected tab index.
|
|
9857
9168
|
*/
|
|
9169
|
+
// @Trace()
|
|
9858
9170
|
synchroniseSelectedTabIndex() {
|
|
9859
9171
|
assert.isTruthy(this.isActive());
|
|
9860
9172
|
const previousIndex = this.tabs.selectedIndex;
|
|
@@ -9866,10 +9178,10 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9866
9178
|
activityRef.setFocused(false);
|
|
9867
9179
|
this.busy.setDelegate(activityRef.activityBusy);
|
|
9868
9180
|
this.tabs.selectedIndex = newIndex;
|
|
9869
|
-
|
|
9870
|
-
|
|
9871
|
-
|
|
9872
|
-
|
|
9181
|
+
if (this.ready$.value) {
|
|
9182
|
+
// Note: We're not using the animation done event as it's firing almost immeadiately.
|
|
9183
|
+
setTimeout(() => this.finaliseActivityStates(), animate ? this.getTabAnimationDuration() : 0);
|
|
9184
|
+
}
|
|
9873
9185
|
}
|
|
9874
9186
|
}
|
|
9875
9187
|
finaliseActivityStates() {
|
|
@@ -9883,12 +9195,7 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9883
9195
|
return this.activityOutlets.toArray()[this.tabs.selectedIndex];
|
|
9884
9196
|
}
|
|
9885
9197
|
getTabAnimationDuration() {
|
|
9886
|
-
|
|
9887
|
-
// return s
|
|
9888
|
-
return this.animationDuration;
|
|
9889
|
-
}
|
|
9890
|
-
getTabAnimationDurationInMillis() {
|
|
9891
|
-
const match = this.animationDuration.match(/(\d+)(.*)/);
|
|
9198
|
+
const match = this.tabs.animationDuration.match(/(\d+)(.*)/);
|
|
9892
9199
|
const numericValue = parseFloat(match[1]);
|
|
9893
9200
|
switch (match[2].trim()) {
|
|
9894
9201
|
case "ms":
|
|
@@ -9914,16 +9221,12 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9914
9221
|
}
|
|
9915
9222
|
}, 75);
|
|
9916
9223
|
}
|
|
9917
|
-
onAnimationDone() {
|
|
9918
|
-
this._started$.value = true;
|
|
9919
|
-
this.finaliseActivityStates();
|
|
9920
|
-
}
|
|
9921
9224
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityContainerComponent, deps: [{ token: PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
9922
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ActivityContainerComponent, selector: "aup-activity-container", inputs: { dynamicHeight: "dynamicHeight"
|
|
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$1.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i3$1.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"] }] });
|
|
9923
9226
|
}
|
|
9924
9227
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityContainerComponent, decorators: [{
|
|
9925
9228
|
type: Component,
|
|
9926
|
-
args: [{ selector: "aup-activity-container", template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\"
|
|
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"] }]
|
|
9927
9230
|
}], ctorParameters: function () { return [{ type: PlaceRouter }]; }, propDecorators: { dynamicHeight: [{
|
|
9928
9231
|
type: Input
|
|
9929
9232
|
}], tabs: [{
|
|
@@ -9932,8 +9235,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
9932
9235
|
}], activityOutlets: [{
|
|
9933
9236
|
type: ViewChildren,
|
|
9934
9237
|
args: [ActivityOutletComponent]
|
|
9935
|
-
}], animationDuration: [{
|
|
9936
|
-
type: Input
|
|
9937
9238
|
}] } });
|
|
9938
9239
|
|
|
9939
9240
|
class AbstractActivityTriggerComponent extends DisposableComponent {
|
|
@@ -10034,16 +9335,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10034
9335
|
args: ['class.active']
|
|
10035
9336
|
}] } });
|
|
10036
9337
|
|
|
10037
|
-
const
|
|
10038
|
-
|
|
10039
|
-
const cssDurationRegex$1 = /(\d+)(m?s)/;
|
|
9338
|
+
const cssDurationRegex = /(\d+)(m?s)/;
|
|
10040
9339
|
/**
|
|
10041
9340
|
* @example
|
|
10042
9341
|
* <aup-in-place-interaction-context #inPlaceInteractionContext>
|
|
10043
9342
|
* </aup-in-place-interaction-context>
|
|
10044
9343
|
*
|
|
10045
9344
|
* in your component
|
|
10046
|
-
* @ViewChild(
|
|
9345
|
+
* @ViewChild('inPlaceInteractionContext', { static: true })
|
|
10047
9346
|
* interactionContext: InteractionContext;
|
|
10048
9347
|
*
|
|
10049
9348
|
*
|
|
@@ -10062,13 +9361,11 @@ class InPlaceInteractionContextComponent extends DisposableComponent {
|
|
|
10062
9361
|
* active interactions.
|
|
10063
9362
|
*/
|
|
10064
9363
|
syncWithRoutes = true;
|
|
10065
|
-
started = new EventEmitter();
|
|
10066
|
-
finished = new EventEmitter();
|
|
10067
9364
|
get animationDuration() {
|
|
10068
9365
|
return this.animateFirstActivity ? (this.tabConfig?.animationDuration || "500ms") : "0ms";
|
|
10069
9366
|
}
|
|
10070
9367
|
get animationDurationMillis() {
|
|
10071
|
-
const result = cssDurationRegex
|
|
9368
|
+
const result = cssDurationRegex.exec(this.animationDuration);
|
|
10072
9369
|
if (!result) {
|
|
10073
9370
|
lang.illegalState(`unsupported css duration: ${this.animationDuration}`);
|
|
10074
9371
|
}
|
|
@@ -10090,16 +9387,11 @@ class InPlaceInteractionContextComponent extends DisposableComponent {
|
|
|
10090
9387
|
this.interactionService.registerInplaceInteractionContext(this);
|
|
10091
9388
|
}
|
|
10092
9389
|
else {
|
|
10093
|
-
const self = this;
|
|
10094
9390
|
this.activityContainerComponent.initialise("dont-care", {
|
|
10095
9391
|
async notifyActive(interactionContext) {
|
|
10096
|
-
self.started.emit();
|
|
10097
9392
|
return undefined;
|
|
10098
9393
|
},
|
|
10099
9394
|
async notifyFinished(interactionContext) {
|
|
10100
|
-
// I've noticed some rendering fails when returning the the transcluded content we'll fire an event
|
|
10101
|
-
// so components can do stuff if they need to.
|
|
10102
|
-
self.started.emit();
|
|
10103
9395
|
return undefined;
|
|
10104
9396
|
}
|
|
10105
9397
|
});
|
|
@@ -10146,15 +9438,11 @@ class InPlaceInteractionContextComponent extends DisposableComponent {
|
|
|
10146
9438
|
}
|
|
10147
9439
|
}
|
|
10148
9440
|
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 });
|
|
10149
|
-
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" },
|
|
10150
|
-
{ provide: INTERACTION_CONTEXT, useExisting: InPlaceInteractionContextComponent }
|
|
10151
|
-
], 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"] }] });
|
|
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$1.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i3$1.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }, { kind: "component", type: ActivityContainerComponent, selector: "aup-activity-container", inputs: ["dynamicHeight"] }] });
|
|
10152
9442
|
}
|
|
10153
9443
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InPlaceInteractionContextComponent, decorators: [{
|
|
10154
9444
|
type: Component,
|
|
10155
|
-
args: [{ selector: "aup-in-place-interaction-context",
|
|
10156
|
-
{ provide: INTERACTION_CONTEXT, useExisting: InPlaceInteractionContextComponent }
|
|
10157
|
-
], 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"] }]
|
|
9445
|
+
args: [{ selector: "aup-in-place-interaction-context", 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"] }]
|
|
10158
9446
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
10159
9447
|
type: Inject,
|
|
10160
9448
|
args: [MAT_TABS_CONFIG]
|
|
@@ -10167,10 +9455,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10167
9455
|
type: Input
|
|
10168
9456
|
}], syncWithRoutes: [{
|
|
10169
9457
|
type: Input
|
|
10170
|
-
}], started: [{
|
|
10171
|
-
type: Output
|
|
10172
|
-
}], finished: [{
|
|
10173
|
-
type: Output
|
|
10174
9458
|
}], active: [{
|
|
10175
9459
|
type: HostBinding,
|
|
10176
9460
|
args: ["class.active"]
|
|
@@ -10185,7 +9469,7 @@ class InlineActivityTriggerComponent extends AbstractActivityTriggerComponent {
|
|
|
10185
9469
|
super();
|
|
10186
9470
|
}
|
|
10187
9471
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InlineActivityTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10188
|
-
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"]
|
|
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"] }] });
|
|
10189
9473
|
}
|
|
10190
9474
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InlineActivityTriggerComponent, decorators: [{
|
|
10191
9475
|
type: Component,
|
|
@@ -10309,7 +9593,7 @@ class PopupInteractionContextComponent extends DisposableComponent {
|
|
|
10309
9593
|
isActive() {
|
|
10310
9594
|
return this.interactionContext && this.interactionContext.isActive();
|
|
10311
9595
|
}
|
|
10312
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PopupInteractionContextComponent, deps: [{ token: i0.ElementRef }, { token: i1$
|
|
9596
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PopupInteractionContextComponent, deps: [{ token: i0.ElementRef }, { token: i1$5.Overlay }, { token: i1$5.CdkScrollable, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
10313
9597
|
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"] });
|
|
10314
9598
|
}
|
|
10315
9599
|
__decorate([
|
|
@@ -10323,7 +9607,7 @@ __decorate([
|
|
|
10323
9607
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PopupInteractionContextComponent, decorators: [{
|
|
10324
9608
|
type: Component,
|
|
10325
9609
|
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"] }]
|
|
10326
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$
|
|
9610
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$5.Overlay }, { type: i1$5.CdkScrollable, decorators: [{
|
|
10327
9611
|
type: Optional
|
|
10328
9612
|
}, {
|
|
10329
9613
|
type: SkipSelf
|
|
@@ -10408,7 +9692,7 @@ class AddCardActivityComponent extends AbstractActivityTriggerComponent {
|
|
|
10408
9692
|
return this.interactionStyle === 'inline';
|
|
10409
9693
|
}
|
|
10410
9694
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AddCardActivityComponent, deps: [{ token: InteractionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
10411
|
-
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"]
|
|
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"] }] });
|
|
10412
9696
|
}
|
|
10413
9697
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AddCardActivityComponent, decorators: [{
|
|
10414
9698
|
type: Component,
|
|
@@ -10484,7 +9768,7 @@ class AddItemInteractionContextComponent extends DisposableComponent {
|
|
|
10484
9768
|
return this.interactionContext.startActivity(activityType, data);
|
|
10485
9769
|
}
|
|
10486
9770
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AddItemInteractionContextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10487
|
-
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"]
|
|
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"] }] });
|
|
10488
9772
|
}
|
|
10489
9773
|
__decorate([
|
|
10490
9774
|
Proxify(),
|
|
@@ -10623,14 +9907,12 @@ class StringInputActivity extends InputActivity {
|
|
|
10623
9907
|
[label]="activityData.label"
|
|
10624
9908
|
[placeholder]="activityData.placeholder"
|
|
10625
9909
|
[command.enter]="confirmCommand"
|
|
10626
|
-
[command.escape]="cancelCommand"
|
|
10627
|
-
[dense]="true"
|
|
10628
|
-
></aup-string-input>
|
|
9910
|
+
[command.escape]="cancelCommand"></aup-string-input>
|
|
10629
9911
|
<aup-activity-actions [layout]="layout" align="end"
|
|
10630
9912
|
[confirmFace]="confirmFace"
|
|
10631
9913
|
[cancelFace]="cancelFace"
|
|
10632
9914
|
></aup-activity-actions>
|
|
10633
|
-
`, isInline: true, dependencies: [{ kind: "component", type: StringInputComponent, selector: "aup-string-input", inputs: ["autocomplete", "enableClear$", "enableClear", "iconPrefix"
|
|
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"] }] });
|
|
10634
9916
|
}
|
|
10635
9917
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: StringInputActivity, decorators: [{
|
|
10636
9918
|
type: Component,
|
|
@@ -10641,9 +9923,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10641
9923
|
[label]="activityData.label"
|
|
10642
9924
|
[placeholder]="activityData.placeholder"
|
|
10643
9925
|
[command.enter]="confirmCommand"
|
|
10644
|
-
[command.escape]="cancelCommand"
|
|
10645
|
-
[dense]="true"
|
|
10646
|
-
></aup-string-input>
|
|
9926
|
+
[command.escape]="cancelCommand"></aup-string-input>
|
|
10647
9927
|
<aup-activity-actions [layout]="layout" align="end"
|
|
10648
9928
|
[confirmFace]="confirmFace"
|
|
10649
9929
|
[cancelFace]="cancelFace"
|
|
@@ -10826,7 +10106,7 @@ class InlineStringEditorComponent extends DisposableComponent {
|
|
|
10826
10106
|
return !this.editingEnabled$.value;
|
|
10827
10107
|
}
|
|
10828
10108
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InlineStringEditorComponent, deps: [{ token: InteractionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
10829
|
-
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"]
|
|
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"] }] });
|
|
10830
10110
|
}
|
|
10831
10111
|
__decorate([
|
|
10832
10112
|
Proxify(),
|
|
@@ -10909,7 +10189,6 @@ class SelectInputActivity extends InputActivity {
|
|
|
10909
10189
|
[options]="options"
|
|
10910
10190
|
[optionLabelFormat]="optionLabelFormat"
|
|
10911
10191
|
[allowNil]="activityData.allowNil"
|
|
10912
|
-
[dense]="true"
|
|
10913
10192
|
>
|
|
10914
10193
|
<ng-template #nilOptionTemplate>{{activityData.nilLabel}}</ng-template>
|
|
10915
10194
|
</aup-select-input>
|
|
@@ -10917,7 +10196,7 @@ class SelectInputActivity extends InputActivity {
|
|
|
10917
10196
|
[confirmFace]="confirmFace"
|
|
10918
10197
|
[cancelFace]="cancelFace"
|
|
10919
10198
|
></aup-activity-actions>
|
|
10920
|
-
`, 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"
|
|
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"] }] });
|
|
10921
10200
|
}
|
|
10922
10201
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectInputActivity, decorators: [{
|
|
10923
10202
|
type: Component,
|
|
@@ -10932,7 +10211,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10932
10211
|
[options]="options"
|
|
10933
10212
|
[optionLabelFormat]="optionLabelFormat"
|
|
10934
10213
|
[allowNil]="activityData.allowNil"
|
|
10935
|
-
[dense]="true"
|
|
10936
10214
|
>
|
|
10937
10215
|
<ng-template #nilOptionTemplate>{{activityData.nilLabel}}</ng-template>
|
|
10938
10216
|
</aup-select-input>
|
|
@@ -10944,186 +10222,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10944
10222
|
}]
|
|
10945
10223
|
}] });
|
|
10946
10224
|
|
|
10947
|
-
const slideDownOnEnterDef = style({
|
|
10948
|
-
opacity: 0,
|
|
10949
|
-
'height': '0',
|
|
10950
|
-
'max-height': '0',
|
|
10951
|
-
paddingTop: '0',
|
|
10952
|
-
paddingBottom: '0'
|
|
10953
|
-
});
|
|
10954
|
-
const slideLeftOnEnterDef = style({
|
|
10955
|
-
opacity: 0,
|
|
10956
|
-
'width': '0',
|
|
10957
|
-
paddingLeft: '0',
|
|
10958
|
-
paddingRight: '0'
|
|
10959
|
-
});
|
|
10960
|
-
const ZERO_WIDTH = {
|
|
10961
|
-
opacity: 0,
|
|
10962
|
-
width: '0',
|
|
10963
|
-
paddingLeft: '0',
|
|
10964
|
-
paddingRight: '0',
|
|
10965
|
-
};
|
|
10966
|
-
const ZERO_HEIGHT = {
|
|
10967
|
-
opacity: 0,
|
|
10968
|
-
height: '0',
|
|
10969
|
-
paddingTop: '0',
|
|
10970
|
-
paddingBottom: '0',
|
|
10971
|
-
};
|
|
10972
|
-
// TODO: params aren't getting customised in the view. Need to figure out the correct approach.
|
|
10973
|
-
const slideDownOnEnterAnimation = trigger('slideDownOnEnter', [
|
|
10974
|
-
transition(':enter', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
10975
|
-
transition(':leave', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
|
|
10976
|
-
]);
|
|
10977
|
-
const slideDownWhenOpenAnimation = trigger('slideDownWhenOpen', [
|
|
10978
|
-
transition('closed => open', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
10979
|
-
transition('open => closed', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
|
|
10980
|
-
]);
|
|
10981
|
-
const slideRightOnEnterAnimation = trigger('slideRightOnEnter', [
|
|
10982
|
-
transition(':enter', [slideLeftOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
10983
|
-
transition(':leave', [animate('{{duration}}', slideLeftOnEnterDef)], { params: { duration: '100ms' } })
|
|
10984
|
-
]);
|
|
10985
|
-
const slideDownAndRightOnEnterAnimation = trigger('slideDownAndRightOnEnter', [
|
|
10986
|
-
transition(':enter', [
|
|
10987
|
-
style({ overflow: "hidden", whiteSpace: "nowrap", ...ZERO_WIDTH, ...ZERO_HEIGHT }),
|
|
10988
|
-
animate('{{duration}}')
|
|
10989
|
-
], { params: { duration: '100ms' } }),
|
|
10990
|
-
transition(':leave', [
|
|
10991
|
-
style({ overflow: "hidden", whiteSpace: "nowrap" }),
|
|
10992
|
-
group([
|
|
10993
|
-
animate('{{duration}}', style(ZERO_HEIGHT)),
|
|
10994
|
-
// Hack: 100ms is too quick as it animates from * - 0 as we only see it animate the width is greater than the parent.
|
|
10995
|
-
// Not sure how to animate from * to natural new width of parent. This hack won't work for text that's just a little
|
|
10996
|
-
// bit wider than the parent as it'll fall within the parent bounds very early in the animation cycle.
|
|
10997
|
-
animate('300ms', style(ZERO_WIDTH)),
|
|
10998
|
-
])
|
|
10999
|
-
], { params: { duration: '100ms' } })
|
|
11000
|
-
]);
|
|
11001
|
-
|
|
11002
|
-
const cssDurationRegex = /(\d+)(m?s)/;
|
|
11003
|
-
/**
|
|
11004
|
-
* This interaction context remains hidden (height: 0) until it is active.
|
|
11005
|
-
* @example
|
|
11006
|
-
* <aup-slide-down-interaction-context #inPlaceInteractionContext>
|
|
11007
|
-
* </aup-slide-down-interaction-context>
|
|
11008
|
-
*
|
|
11009
|
-
* in your component
|
|
11010
|
-
* @ViewChild(SlideDownInteractionContextComponent)
|
|
11011
|
-
* interactionContext: InteractionContext;
|
|
11012
|
-
*
|
|
11013
|
-
*
|
|
11014
|
-
*/
|
|
11015
|
-
class SlideDownInteractionContextComponent extends DisposableComponent {
|
|
11016
|
-
tabConfig;
|
|
11017
|
-
activityContainerComponent;
|
|
11018
|
-
// NOTE: disabling this as I'm using the initialise callback to release the hacky height clamp.
|
|
11019
|
-
// The whole registration thing is a bit naf so I should really clean that up at some point.
|
|
11020
|
-
// /**
|
|
11021
|
-
// * If true the activity will sync with the router to enable back button support. This is a work around for
|
|
11022
|
-
// * deeply nested activities that can't be linked with the root place interactionContext hook for cancelling
|
|
11023
|
-
// * active interactions.
|
|
11024
|
-
// */
|
|
11025
|
-
// @Input()
|
|
11026
|
-
// syncWithRoutes = true;
|
|
11027
|
-
dynamicHeight = true;
|
|
11028
|
-
get active() {
|
|
11029
|
-
return this.isActive();
|
|
11030
|
-
}
|
|
11031
|
-
// Horrible hack to stop the div and activity container bouncing back for a bit in after closing. No idea why it's doing that.
|
|
11032
|
-
clampShut = true;
|
|
11033
|
-
interactionService = this.inject(InteractionService);
|
|
11034
|
-
constructor(tabConfig) {
|
|
11035
|
-
super();
|
|
11036
|
-
this.tabConfig = tabConfig;
|
|
11037
|
-
}
|
|
11038
|
-
ngAfterViewInit() {
|
|
11039
|
-
// NOTE: this is a temp work around to detach inplace contexts from the router until AUP-88 is implemented.
|
|
11040
|
-
// https://coolon.atlassian.net/browse/AUP-88?atlOrigin=eyJpIjoiOTg5YjEzZGUzZjRmNDg0NmExOWU3ZGJmMzJiNTRmNGYiLCJwIjoiaiJ9
|
|
11041
|
-
const self = this;
|
|
11042
|
-
this.activityContainerComponent.initialise("dont-care", {
|
|
11043
|
-
async notifyActive(interactionContext) {
|
|
11044
|
-
self.clampShut = false;
|
|
11045
|
-
return undefined;
|
|
11046
|
-
},
|
|
11047
|
-
async notifyFinished(interactionContext) {
|
|
11048
|
-
return undefined;
|
|
11049
|
-
}
|
|
11050
|
-
});
|
|
11051
|
-
// if (this.syncWithRoutes) {
|
|
11052
|
-
// this.interactionService.registerInplaceInteractionContext(this);
|
|
11053
|
-
// }
|
|
11054
|
-
}
|
|
11055
|
-
getAnimationState() {
|
|
11056
|
-
return {
|
|
11057
|
-
value: this.isActive() ? "open" : "closed",
|
|
11058
|
-
params: { duration: "200ms" }
|
|
11059
|
-
};
|
|
11060
|
-
}
|
|
11061
|
-
// this is a regsitration callback from the interaction service
|
|
11062
|
-
// @Trace() // webstorm says no usages... but I'm not sure.
|
|
11063
|
-
onInplaceInteractionContextRegistered(id, api) {
|
|
11064
|
-
this.activityContainerComponent.initialise(id, api);
|
|
11065
|
-
}
|
|
11066
|
-
get identifier() {
|
|
11067
|
-
return this.activityContainerComponent.identifier;
|
|
11068
|
-
}
|
|
11069
|
-
alert(alert) {
|
|
11070
|
-
return this.activityContainerComponent.alert(alert);
|
|
11071
|
-
}
|
|
11072
|
-
cancelActiveActivity() {
|
|
11073
|
-
return this.activityContainerComponent.cancelActiveActivity();
|
|
11074
|
-
}
|
|
11075
|
-
confirm(confirm) {
|
|
11076
|
-
return this.activityContainerComponent.confirm(confirm);
|
|
11077
|
-
}
|
|
11078
|
-
confirmOrReject(confirm) {
|
|
11079
|
-
return this.activityContainerComponent.confirmOrReject(confirm);
|
|
11080
|
-
}
|
|
11081
|
-
confirmThen(confirm, activityType, data) {
|
|
11082
|
-
return this.activityContainerComponent.confirmThen(confirm, activityType);
|
|
11083
|
-
}
|
|
11084
|
-
confirmThenExecute(confirm, operation) {
|
|
11085
|
-
return this.activityContainerComponent.confirmThenExecute(confirm, operation);
|
|
11086
|
-
}
|
|
11087
|
-
isActive() {
|
|
11088
|
-
return this.activityContainerComponent.isActive();
|
|
11089
|
-
}
|
|
11090
|
-
startActivity(activityType, data, options) {
|
|
11091
|
-
return this.activityContainerComponent.startActivity(activityType, data, options);
|
|
11092
|
-
}
|
|
11093
|
-
onAnimationDone() {
|
|
11094
|
-
if (!this.isActive()) {
|
|
11095
|
-
this.clampShut = true;
|
|
11096
|
-
}
|
|
11097
|
-
}
|
|
11098
|
-
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 });
|
|
11099
|
-
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" } }, providers: [
|
|
11100
|
-
{ provide: INTERACTION_CONTEXT, useExisting: SlideDownInteractionContextComponent }
|
|
11101
|
-
], 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: [
|
|
11102
|
-
slideDownWhenOpenAnimation
|
|
11103
|
-
] });
|
|
11104
|
-
}
|
|
11105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SlideDownInteractionContextComponent, decorators: [{
|
|
11106
|
-
type: Component,
|
|
11107
|
-
args: [{ selector: "aup-slide-down-interaction-context", providers: [
|
|
11108
|
-
{ provide: INTERACTION_CONTEXT, useExisting: SlideDownInteractionContextComponent }
|
|
11109
|
-
], animations: [
|
|
11110
|
-
slideDownWhenOpenAnimation
|
|
11111
|
-
], 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"] }]
|
|
11112
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
11113
|
-
type: Inject,
|
|
11114
|
-
args: [MAT_TABS_CONFIG]
|
|
11115
|
-
}, {
|
|
11116
|
-
type: Optional
|
|
11117
|
-
}] }]; }, propDecorators: { activityContainerComponent: [{
|
|
11118
|
-
type: ViewChild,
|
|
11119
|
-
args: ["activityContainer", { static: true }]
|
|
11120
|
-
}], dynamicHeight: [{
|
|
11121
|
-
type: Input
|
|
11122
|
-
}], active: [{
|
|
11123
|
-
type: HostBinding,
|
|
11124
|
-
args: ["class.active"]
|
|
11125
|
-
}] } });
|
|
11126
|
-
|
|
11127
10225
|
class InteractionContextTriggerForDirective extends GarbageCollector {
|
|
11128
10226
|
aupInteractionContextTriggerFor;
|
|
11129
10227
|
activityClass;
|
|
@@ -11206,7 +10304,6 @@ class InteractionModule {
|
|
|
11206
10304
|
AlertDialogComponent,
|
|
11207
10305
|
ActivityOutletComponent,
|
|
11208
10306
|
InPlaceInteractionContextComponent,
|
|
11209
|
-
SlideDownInteractionContextComponent,
|
|
11210
10307
|
AddItemInteractionContextComponent,
|
|
11211
10308
|
ActivityActionsComponent,
|
|
11212
10309
|
PopupInteractionContextComponent,
|
|
@@ -11233,6 +10330,8 @@ class InteractionModule {
|
|
|
11233
10330
|
RouterModule,
|
|
11234
10331
|
MatIconModule,
|
|
11235
10332
|
DirectivesModule,
|
|
10333
|
+
FlexModule,
|
|
10334
|
+
GridModule,
|
|
11236
10335
|
ComponentsModule,
|
|
11237
10336
|
FormsModule,
|
|
11238
10337
|
MatInputModule,
|
|
@@ -11252,8 +10351,7 @@ class InteractionModule {
|
|
|
11252
10351
|
InlineActivityTriggerComponent,
|
|
11253
10352
|
ModalActivityTriggerComponent,
|
|
11254
10353
|
AddCardActivityComponent,
|
|
11255
|
-
InlineStringEditorComponent
|
|
11256
|
-
SlideDownInteractionContextComponent] });
|
|
10354
|
+
InlineStringEditorComponent] });
|
|
11257
10355
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InteractionModule, providers: [
|
|
11258
10356
|
InteractionService
|
|
11259
10357
|
// {
|
|
@@ -11267,6 +10365,8 @@ class InteractionModule {
|
|
|
11267
10365
|
RouterModule,
|
|
11268
10366
|
MatIconModule,
|
|
11269
10367
|
DirectivesModule,
|
|
10368
|
+
FlexModule,
|
|
10369
|
+
GridModule,
|
|
11270
10370
|
ComponentsModule,
|
|
11271
10371
|
FormsModule,
|
|
11272
10372
|
MatInputModule,
|
|
@@ -11285,6 +10385,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11285
10385
|
RouterModule,
|
|
11286
10386
|
MatIconModule,
|
|
11287
10387
|
DirectivesModule,
|
|
10388
|
+
FlexModule,
|
|
10389
|
+
GridModule,
|
|
11288
10390
|
ComponentsModule,
|
|
11289
10391
|
FormsModule,
|
|
11290
10392
|
MatInputModule,
|
|
@@ -11299,7 +10401,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11299
10401
|
AlertDialogComponent,
|
|
11300
10402
|
ActivityOutletComponent,
|
|
11301
10403
|
InPlaceInteractionContextComponent,
|
|
11302
|
-
SlideDownInteractionContextComponent,
|
|
11303
10404
|
AddItemInteractionContextComponent,
|
|
11304
10405
|
ActivityActionsComponent,
|
|
11305
10406
|
PopupInteractionContextComponent,
|
|
@@ -11337,7 +10438,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11337
10438
|
ModalActivityTriggerComponent,
|
|
11338
10439
|
AddCardActivityComponent,
|
|
11339
10440
|
InlineStringEditorComponent,
|
|
11340
|
-
SlideDownInteractionContextComponent,
|
|
11341
10441
|
],
|
|
11342
10442
|
providers: [
|
|
11343
10443
|
InteractionService
|
|
@@ -11408,6 +10508,7 @@ class PlaceOutletComponent extends DisposableComponent {
|
|
|
11408
10508
|
router;
|
|
11409
10509
|
placeRouter;
|
|
11410
10510
|
placeConfig;
|
|
10511
|
+
cdr;
|
|
11411
10512
|
#animate$_accessor_storage = proxify((ValueModel));
|
|
11412
10513
|
get animate$() { return this.#animate$_accessor_storage; }
|
|
11413
10514
|
set animate$(value) { this.#animate$_accessor_storage = value; }
|
|
@@ -11441,11 +10542,12 @@ class PlaceOutletComponent extends DisposableComponent {
|
|
|
11441
10542
|
animationEnabled;
|
|
11442
10543
|
authorised;
|
|
11443
10544
|
notAuthorisedNoticePortal;
|
|
11444
|
-
constructor(router, placeRouter, placeConfig, unauthorisedPlaceNotice, parentOutlet) {
|
|
10545
|
+
constructor(router, placeRouter, placeConfig, unauthorisedPlaceNotice, parentOutlet, cdr) {
|
|
11445
10546
|
super();
|
|
11446
10547
|
this.router = router;
|
|
11447
10548
|
this.placeRouter = placeRouter;
|
|
11448
10549
|
this.placeConfig = placeConfig;
|
|
10550
|
+
this.cdr = cdr;
|
|
11449
10551
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
11450
10552
|
this.parentOutletModel = new MutableValueModel(parentOutlet);
|
|
11451
10553
|
const defaultPlaceAnimationOrder = chain(this.parentOutletModel)
|
|
@@ -11457,7 +10559,7 @@ class PlaceOutletComponent extends DisposableComponent {
|
|
|
11457
10559
|
this.placesInAnimationOrder = chain(this.customPlaceAnimationOrder$)
|
|
11458
10560
|
.otherwise(defaultPlaceAnimationOrder);
|
|
11459
10561
|
this.activePlaceAnimationPosition = this.placesInAnimationOrder
|
|
11460
|
-
.
|
|
10562
|
+
.reduce((placesInOrder) => {
|
|
11461
10563
|
let placeIndex = 0;
|
|
11462
10564
|
if (activatePlaceType.value) {
|
|
11463
10565
|
placeIndex = placesInOrder.indexOf(activatePlaceType.value);
|
|
@@ -11611,8 +10713,8 @@ class PlaceOutletComponent extends DisposableComponent {
|
|
|
11611
10713
|
this.onAnimationFinishedJob = undefined;
|
|
11612
10714
|
}
|
|
11613
10715
|
}
|
|
11614
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceOutletComponent, deps: [{ token: i1$
|
|
11615
|
-
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$
|
|
10716
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceOutletComponent, deps: [{ token: i1$4.Router }, { token: PlaceRouter }, { token: AUP_PLACE_CONFIG, optional: true }, { token: AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT, optional: true }, { token: PlaceOutletComponent, optional: true, skipSelf: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
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$4.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: i3$2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [LEFT_RIGHT_PLACE_ANIMATION] });
|
|
11616
10718
|
}
|
|
11617
10719
|
__decorate([
|
|
11618
10720
|
Proxify(),
|
|
@@ -11633,7 +10735,7 @@ __decorate([
|
|
|
11633
10735
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceOutletComponent, decorators: [{
|
|
11634
10736
|
type: Component,
|
|
11635
10737
|
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"] }]
|
|
11636
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
10738
|
+
}], ctorParameters: function () { return [{ type: i1$4.Router }, { type: PlaceRouter }, { type: undefined, decorators: [{
|
|
11637
10739
|
type: Optional
|
|
11638
10740
|
}, {
|
|
11639
10741
|
type: Inject,
|
|
@@ -11647,7 +10749,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11647
10749
|
type: SkipSelf
|
|
11648
10750
|
}, {
|
|
11649
10751
|
type: Optional
|
|
11650
|
-
}] }]; }, propDecorators: { animate$: [{
|
|
10752
|
+
}] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { animate$: [{
|
|
11651
10753
|
type: Input
|
|
11652
10754
|
}], animate: [{
|
|
11653
10755
|
type: Input
|
|
@@ -11780,7 +10882,7 @@ class ListPlaceNavComponent extends AbstractPlaceNavigationComponent {
|
|
|
11780
10882
|
super(router);
|
|
11781
10883
|
}
|
|
11782
10884
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ListPlaceNavComponent, deps: [{ token: PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
11783
|
-
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"] }] });
|
|
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: "directive", type: i7$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
|
|
11784
10886
|
}
|
|
11785
10887
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ListPlaceNavComponent, decorators: [{
|
|
11786
10888
|
type: Component,
|
|
@@ -11855,7 +10957,7 @@ class SidePlaceNavigationComponent extends AbstractPlaceNavigationComponent {
|
|
|
11855
10957
|
this.expanded = !this.expanded;
|
|
11856
10958
|
}
|
|
11857
10959
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SidePlaceNavigationComponent, deps: [{ token: PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
11858
|
-
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-
|
|
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"] }] });
|
|
11859
10961
|
}
|
|
11860
10962
|
__decorate([
|
|
11861
10963
|
Proxify(),
|
|
@@ -11867,7 +10969,7 @@ __decorate([
|
|
|
11867
10969
|
], SidePlaceNavigationComponent.prototype, "expanded", null);
|
|
11868
10970
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SidePlaceNavigationComponent, decorators: [{
|
|
11869
10971
|
type: Component,
|
|
11870
|
-
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-
|
|
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"] }]
|
|
11871
10973
|
}], ctorParameters: function () { return [{ type: PlaceRouter }]; }, propDecorators: { expanded$: [{
|
|
11872
10974
|
type: Input
|
|
11873
10975
|
}], expanded: [{
|
|
@@ -11885,7 +10987,7 @@ class TabbedPlaceNavigationComponent extends AbstractPlaceNavigationComponent {
|
|
|
11885
10987
|
super(router);
|
|
11886
10988
|
}
|
|
11887
10989
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TabbedPlaceNavigationComponent, deps: [{ token: PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
11888
|
-
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$
|
|
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$1.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "animationDuration"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i3$1.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i3$1.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"] }] });
|
|
11889
10991
|
}
|
|
11890
10992
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TabbedPlaceNavigationComponent, decorators: [{
|
|
11891
10993
|
type: Component,
|
|
@@ -11908,6 +11010,7 @@ class PlaceModule {
|
|
|
11908
11010
|
MatTooltipModule,
|
|
11909
11011
|
MatIconModule,
|
|
11910
11012
|
DirectivesModule,
|
|
11013
|
+
FlexModule,
|
|
11911
11014
|
ComponentsModule,
|
|
11912
11015
|
PortalModule,
|
|
11913
11016
|
MatCardModule], exports: [PlaceOutletComponent,
|
|
@@ -11924,6 +11027,7 @@ class PlaceModule {
|
|
|
11924
11027
|
MatTooltipModule,
|
|
11925
11028
|
MatIconModule,
|
|
11926
11029
|
DirectivesModule,
|
|
11030
|
+
FlexModule,
|
|
11927
11031
|
ComponentsModule,
|
|
11928
11032
|
PortalModule,
|
|
11929
11033
|
MatCardModule] });
|
|
@@ -11941,6 +11045,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11941
11045
|
MatTooltipModule,
|
|
11942
11046
|
MatIconModule,
|
|
11943
11047
|
DirectivesModule,
|
|
11048
|
+
FlexModule,
|
|
11944
11049
|
ComponentsModule,
|
|
11945
11050
|
PortalModule,
|
|
11946
11051
|
MatCardModule
|
|
@@ -12030,44 +11135,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
12030
11135
|
}]
|
|
12031
11136
|
}] });
|
|
12032
11137
|
|
|
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
|
+
|
|
12033
11188
|
/**
|
|
12034
11189
|
* @file Automatically generated by barrelsby.
|
|
12035
11190
|
*/
|
|
12036
11191
|
|
|
12037
|
-
class ResizeObserverDirective extends DisposableComponent {
|
|
12038
|
-
aupOnResize = new EventEmitter();
|
|
12039
|
-
elementRef = this.inject(ElementRef);
|
|
12040
|
-
ngZone = this.inject(NgZone);
|
|
12041
|
-
_bounds$ = new MutableValueModel();
|
|
12042
|
-
ngAfterViewInit() {
|
|
12043
|
-
const element = this.elementRef.nativeElement;
|
|
12044
|
-
const ro = new ResizeObserver((entries, observer) => {
|
|
12045
|
-
this.ngZone.run(() => this._updateBounds());
|
|
12046
|
-
});
|
|
12047
|
-
ro.observe(element);
|
|
12048
|
-
this.onDispose(() => ro.disconnect());
|
|
12049
|
-
setTimeout(() => this._updateBounds());
|
|
12050
|
-
}
|
|
12051
|
-
get bounds$() {
|
|
12052
|
-
return this._bounds$.readonly$;
|
|
12053
|
-
}
|
|
12054
|
-
_updateBounds() {
|
|
12055
|
-
this._bounds$.value = Bounds.ofElement(this.elementRef.nativeElement);
|
|
12056
|
-
this.aupOnResize.emit(this._bounds$.value);
|
|
12057
|
-
}
|
|
12058
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ResizeObserverDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
12059
|
-
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 });
|
|
12060
|
-
}
|
|
12061
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ResizeObserverDirective, decorators: [{
|
|
12062
|
-
type: Directive,
|
|
12063
|
-
args: [{
|
|
12064
|
-
selector: "[aupOnResize]",
|
|
12065
|
-
standalone: true
|
|
12066
|
-
}]
|
|
12067
|
-
}], propDecorators: { aupOnResize: [{
|
|
12068
|
-
type: Output
|
|
12069
|
-
}] } });
|
|
12070
|
-
|
|
12071
11192
|
/**
|
|
12072
11193
|
* @file Automatically generated by barrelsby.
|
|
12073
11194
|
*/
|
|
@@ -12158,7 +11279,7 @@ class DialogInteractionContextFactory extends ModalInteractionContextFactory {
|
|
|
12158
11279
|
};
|
|
12159
11280
|
return new DialogInteractionContext(identifier, api, this.dialogService, config);
|
|
12160
11281
|
}
|
|
12161
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DialogInteractionContextFactory, deps: [{ token: i1$
|
|
11282
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DialogInteractionContextFactory, deps: [{ token: i1$6.MatDialog }, { token: DIALOG_INTERACTION_SERVICE_DEFAULTS, optional: true }, { token: MAT_DIALOG_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
12162
11283
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DialogInteractionContextFactory, providedIn: 'root' });
|
|
12163
11284
|
}
|
|
12164
11285
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DialogInteractionContextFactory, decorators: [{
|
|
@@ -12166,12 +11287,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
12166
11287
|
args: [{
|
|
12167
11288
|
providedIn: 'root'
|
|
12168
11289
|
}]
|
|
12169
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
11290
|
+
}], ctorParameters: function () { return [{ type: i1$6.MatDialog }, { type: i1$6.MatDialogConfig, decorators: [{
|
|
12170
11291
|
type: Optional
|
|
12171
11292
|
}, {
|
|
12172
11293
|
type: Inject,
|
|
12173
11294
|
args: [DIALOG_INTERACTION_SERVICE_DEFAULTS]
|
|
12174
|
-
}] }, { type: i1$
|
|
11295
|
+
}] }, { type: i1$6.MatDialogConfig, decorators: [{
|
|
12175
11296
|
type: Optional
|
|
12176
11297
|
}, {
|
|
12177
11298
|
type: Inject,
|
|
@@ -12291,14 +11412,13 @@ class PlaceGuard {
|
|
|
12291
11412
|
}
|
|
12292
11413
|
// @Trace()
|
|
12293
11414
|
async canActivate(activatedRoute, state) {
|
|
12294
|
-
await this.placeRouter.waitUntilRouterReady();
|
|
12295
11415
|
if (PlaceComponent.isPlaceComponentConstructor(activatedRoute.component)) {
|
|
12296
11416
|
const placeDefinition = PlaceComponent.getDefinition(activatedRoute.component);
|
|
12297
11417
|
if (placeDefinition.authenticate) {
|
|
12298
11418
|
await this.placeRouter.authService.waitUntilAuthenticationReady();
|
|
12299
11419
|
const authenticated = this.authService.isAuthenticated();
|
|
12300
11420
|
if (!authenticated) {
|
|
12301
|
-
const redirect =
|
|
11421
|
+
const redirect = this.authService.getAuthenticationFailureRedirect(activatedRoute, state);
|
|
12302
11422
|
// const nextPlaceDef = this.getPlaceDefinition(redirect);
|
|
12303
11423
|
if (redirect.requiresAuthentication()) {
|
|
12304
11424
|
lang.illegalState(`onAuthenticationFailure hook returned place ${redirect.toDebugString()} that requires authentication.`);
|
|
@@ -12307,7 +11427,7 @@ class PlaceGuard {
|
|
|
12307
11427
|
}
|
|
12308
11428
|
await this.authService.waitUntilAuthorisationReadyFor(placeDefinition);
|
|
12309
11429
|
if (!this.authService.isAuthorised(placeDefinition)) {
|
|
12310
|
-
const nextRedirect =
|
|
11430
|
+
const nextRedirect = this.findBestAuthenticatedAlternative(placeDefinition, activatedRoute);
|
|
12311
11431
|
return this.createUrlTree(nextRedirect);
|
|
12312
11432
|
}
|
|
12313
11433
|
}
|
|
@@ -12351,7 +11471,7 @@ class PlaceGuard {
|
|
|
12351
11471
|
return lang.illegalState(`expected component to be an instance of PlaceComponent, got ${activatedRoute.component}`);
|
|
12352
11472
|
}
|
|
12353
11473
|
}
|
|
12354
|
-
|
|
11474
|
+
findBestAuthenticatedAlternative(placeDefinition, activatedRoute) {
|
|
12355
11475
|
let currentPlace = placeDefinition;
|
|
12356
11476
|
while (!currentPlace.isRoot()) {
|
|
12357
11477
|
currentPlace = currentPlace.parent;
|
|
@@ -12361,7 +11481,7 @@ class PlaceGuard {
|
|
|
12361
11481
|
}
|
|
12362
11482
|
}
|
|
12363
11483
|
// Couldn't find an authorised ancestor so we check if there are router level defined alternatives
|
|
12364
|
-
const alternativeRoutes =
|
|
11484
|
+
const alternativeRoutes = this.placeRouter.getAuthorisationFailureRedirectOptions(activatedRoute.component);
|
|
12365
11485
|
if (alternativeRoutes.length < 1) {
|
|
12366
11486
|
return lang.illegalState(`onAuthorisationFailure hook didn't return any alternate places`);
|
|
12367
11487
|
}
|
|
@@ -12404,13 +11524,13 @@ class PlaceGuard {
|
|
|
12404
11524
|
return next();
|
|
12405
11525
|
}
|
|
12406
11526
|
}
|
|
12407
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceGuard, deps: [{ token: i1$
|
|
11527
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceGuard, deps: [{ token: i1$4.Router }, { token: UrlService }, { token: PlaceRouter }, { token: PlaceHistory }, { token: InteractionService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
12408
11528
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceGuard, providedIn: 'root' });
|
|
12409
11529
|
}
|
|
12410
11530
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceGuard, decorators: [{
|
|
12411
11531
|
type: Injectable,
|
|
12412
11532
|
args: [{ providedIn: 'root' }]
|
|
12413
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
11533
|
+
}], ctorParameters: function () { return [{ type: i1$4.Router }, { type: UrlService }, { type: PlaceRouter }, { type: PlaceHistory }, { type: InteractionService }, { type: i0.Injector }]; } });
|
|
12414
11534
|
|
|
12415
11535
|
var Formatter;
|
|
12416
11536
|
(function (Formatter) {
|
|
@@ -12444,74 +11564,69 @@ var Formatter;
|
|
|
12444
11564
|
Formatter.BOOLEAN = new BooleanType();
|
|
12445
11565
|
})(Formatter || (Formatter = {}));
|
|
12446
11566
|
|
|
12447
|
-
|
|
12448
|
-
|
|
12449
|
-
|
|
12450
|
-
|
|
12451
|
-
|
|
12452
|
-
|
|
12453
|
-
|
|
12454
|
-
|
|
12455
|
-
|
|
12456
|
-
|
|
12457
|
-
|
|
12458
|
-
|
|
12459
|
-
|
|
12460
|
-
|
|
12461
|
-
|
|
12462
|
-
|
|
12463
|
-
|
|
12464
|
-
|
|
12465
|
-
|
|
12466
|
-
|
|
12467
|
-
|
|
12468
|
-
//
|
|
12469
|
-
//
|
|
12470
|
-
|
|
12471
|
-
|
|
12472
|
-
|
|
12473
|
-
|
|
12474
|
-
|
|
12475
|
-
|
|
12476
|
-
|
|
12477
|
-
|
|
12478
|
-
|
|
12479
|
-
//
|
|
12480
|
-
|
|
12481
|
-
|
|
12482
|
-
|
|
12483
|
-
|
|
12484
|
-
|
|
12485
|
-
|
|
12486
|
-
|
|
12487
|
-
|
|
12488
|
-
|
|
12489
|
-
|
|
12490
|
-
|
|
12491
|
-
|
|
12492
|
-
// });
|
|
12493
|
-
// }
|
|
11567
|
+
function installMechanics(parameterDef, prototype, propertyKey, tagPrefix) {
|
|
11568
|
+
Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, parameterDef);
|
|
11569
|
+
function getMechanics(instance, propertyName) {
|
|
11570
|
+
const key = `__mechanics_${propertyName.toString()}`;
|
|
11571
|
+
if (!instance[key]) {
|
|
11572
|
+
const backingModel = parameterDef.createBackingModel();
|
|
11573
|
+
instance[key] = {
|
|
11574
|
+
backingModel: backingModel,
|
|
11575
|
+
binding: null
|
|
11576
|
+
};
|
|
11577
|
+
const tag = `${tagPrefix}(${prototype.constructor.name}.${propertyKey.toString()})`;
|
|
11578
|
+
DebugContext.getOrCreate(instance[key].backingModel).tag(tag);
|
|
11579
|
+
}
|
|
11580
|
+
return instance[key];
|
|
11581
|
+
}
|
|
11582
|
+
Object.defineProperty(prototype, propertyKey, {
|
|
11583
|
+
get: function () {
|
|
11584
|
+
return getMechanics(this, propertyKey).backingModel;
|
|
11585
|
+
},
|
|
11586
|
+
set: function (userModel) {
|
|
11587
|
+
const mechanics = getMechanics(this, propertyKey);
|
|
11588
|
+
// This handles the scenario where we want to push an existing value model (such as a form model)
|
|
11589
|
+
// to and from the route.
|
|
11590
|
+
if (mechanics.binding) {
|
|
11591
|
+
mechanics.binding.dispose();
|
|
11592
|
+
}
|
|
11593
|
+
if (userModel) {
|
|
11594
|
+
mechanics.binding = new Binding(mechanics.backingModel, userModel, {
|
|
11595
|
+
toLeft: Functions.identity,
|
|
11596
|
+
toRight: Functions.identity
|
|
11597
|
+
});
|
|
11598
|
+
if (parameterDef.isEmptyValue(userModel.value)) {
|
|
11599
|
+
// console.log(`Push visit to model for ${tag}`, {value: mechanics.backingModel.value});
|
|
11600
|
+
mechanics.binding.writeRight(); // push the visit into the user model;
|
|
11601
|
+
}
|
|
11602
|
+
else {
|
|
11603
|
+
if (!parameterDef.isEmptyValue(mechanics.backingModel.value)) {
|
|
11604
|
+
console.warn('Assigning a visit model with an existing value to a visit parameter with an existing value. Visit parameter will be overridden');
|
|
11605
|
+
}
|
|
11606
|
+
mechanics.binding.writeLeft(); // push the user model into the visit
|
|
11607
|
+
}
|
|
11608
|
+
}
|
|
11609
|
+
}
|
|
11610
|
+
});
|
|
11611
|
+
}
|
|
12494
11612
|
function RouteId(formatter, options) {
|
|
12495
11613
|
return (prototype, propertyKey) => {
|
|
12496
11614
|
const parameterDef = new ParameterDefinition.RouteId(propertyKey.toString(), options, formatter);
|
|
12497
|
-
|
|
12498
|
-
Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, parameterDef);
|
|
11615
|
+
installMechanics(parameterDef, prototype, propertyKey, '@RouteId');
|
|
12499
11616
|
};
|
|
12500
11617
|
}
|
|
12501
11618
|
function VisitParameter(options) {
|
|
12502
11619
|
const opts = Opts.get(options);
|
|
12503
11620
|
return (prototype, propertyKey) => {
|
|
12504
11621
|
const parameterDef = new ParameterDefinition.ValueParameter(propertyKey.toString(), options, opts.getOptional('storeInUrl', null));
|
|
12505
|
-
|
|
12506
|
-
// installMechanics(parameterDef, prototype, propertyKey, '@VisitParameter');
|
|
11622
|
+
installMechanics(parameterDef, prototype, propertyKey, '@VisitParameter');
|
|
12507
11623
|
};
|
|
12508
11624
|
}
|
|
12509
11625
|
function VisitParameterList(options) {
|
|
12510
11626
|
const opts = Opts.get(options);
|
|
12511
11627
|
return (prototype, propertyKey) => {
|
|
12512
11628
|
const parameterDef = new ParameterDefinition.ArrayParameter(propertyKey.toString(), options, opts.getOptional('storeInUrl', null));
|
|
12513
|
-
|
|
12514
|
-
// installMechanics(parameterDef, prototype, propertyKey, '@VisitParameterList');
|
|
11629
|
+
installMechanics(parameterDef, prototype, propertyKey, '@VisitParameterList');
|
|
12515
11630
|
};
|
|
12516
11631
|
}
|
|
12517
11632
|
|
|
@@ -12605,5 +11720,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
12605
11720
|
* Generated bundle index. Do not edit.
|
|
12606
11721
|
*/
|
|
12607
11722
|
|
|
12608
|
-
export { ACTIVITY_DATA, ALERT_CONFIG, AUP_PLACE_CONFIG,
|
|
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, ColumnListModel, ColumnModel, ColumnTemplateDirective, ColumnTextSearchFormatter, CommandComponent, CommandContainer, CommandDirective, CommandFace, CommandFaceComponent, ComponentCellRendererPortalRef, ComponentsModule, ConfirmThenDialogComponent, ConfirmThenExecuteDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, CustomTemplateColumnModel, CustomValueColumnModel, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DecoratedTreeNode, DefaultCellRendererComponent, DefaultHeaderCellRendererComponent, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EditRowControlsComponent, EditSession, EditorControlColumnModel, EmptyStateComponent, EnableCellTextSearch, EventCleanUpSession, FlattenedTreeListModel, FlexComponent, FocusBinding, FocusBindingDirective, FocusBindingFactory, FocusContainerComponent, FocusableComponent, 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, 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, RouteId, ScrollContainerComponent, SectionHeaderComponent, SelectInputActivity, SelectInputComponent, SelectionCellComponent, SelectionColumnModel, SelectionHeaderCellComponent, SeparatorComponent, SidePlaceNavigationComponent, StringInputActivity, StringInputComponent, SwitchCaseComponent, SwitchCaseDefaultDirective, SwitchCaseOption, SwitchCaseWhenDirective, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, TableBodyComponent, TableCellComponent, TableComponent, TableFilterModel, TableHeaderCellComponent, TableModel, TableMoreMenuComponent, TableMoreMenuPopupComponent, TableRowMenuComponent, TemplateCellRendererPortalRef, TextInputComponent, ToolBarComponent, Track, TreeExpansionModel, TreeInheritanceIconComponent, TreeLabelCellRendererComponent, TreeLabelColumnModel, TreeTableComponent, TreeTableModel, UrlService, UrlSnapshot, VerticalFocusContainerComponent, VisibilityService, Visit, VisitParameter, VisitParameterList, VisitSegment, VisitSegmentSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationTypeDetermined, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, markdownPillExtension, slideDownAndRightOnEnterAnimation, slideDownOnEnterAnimation, slideRightOnEnterAnimation, treeNodeDecorator };
|
|
12609
11724
|
//# sourceMappingURL=coolon-angular-ui-powerups.mjs.map
|