@coolon/angular-ui-powerups 16.1.0-aplpha.128 → 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 +6 -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 +7 -7
- package/esm2022/lib/place/place-definition.mjs +3 -3
- package/esm2022/lib/place/place-history.mjs +2 -2
- package/esm2022/lib/place/place-router.mjs +20 -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 +623 -1488
- 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 +4 -4
- 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$
|
|
61
|
+
import * as i1$4 from '@angular/router';
|
|
62
62
|
import { ActivatedRouteSnapshot, UrlSegment, NavigationStart, NavigationEnd, NavigationError, NavigationCancel, RouterModule } from '@angular/router';
|
|
63
|
+
import { Memoize as Memoize$1 } from 'typescript-memoize';
|
|
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
|
-
|
|
247
|
+
inject(token) {
|
|
248
|
+
return inject(token);
|
|
270
249
|
}
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
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,21 +504,19 @@ class HighlightPipe extends GarbageCollector {
|
|
|
498
504
|
this.dispose();
|
|
499
505
|
}
|
|
500
506
|
transform(value, searchModel) {
|
|
501
|
-
const sanitisedValue = escape(value);
|
|
502
|
-
console.log(sanitisedValue);
|
|
503
507
|
const model = searchModel ?? this.highlightContext?.aupHighlightTextModel;
|
|
504
508
|
const searchText = model?.value;
|
|
505
509
|
if (isEmpty(searchText) || !isString(value)) {
|
|
506
|
-
return
|
|
510
|
+
return value;
|
|
507
511
|
}
|
|
508
512
|
// Match in a case insensitive manner
|
|
509
513
|
const re = new RegExp(escapeStringRegexp(searchText), 'gi');
|
|
510
|
-
const match =
|
|
514
|
+
const match = value.match(re);
|
|
511
515
|
// If there's no match, just return the original value.
|
|
512
516
|
if (!match) {
|
|
513
|
-
return
|
|
517
|
+
return value;
|
|
514
518
|
}
|
|
515
|
-
const result =
|
|
519
|
+
const result = value.replace(re, '<mark>' + match[0] + '</mark>');
|
|
516
520
|
return this.sanitizer.bypassSecurityTrustHtml(result);
|
|
517
521
|
}
|
|
518
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 });
|
|
@@ -732,42 +736,42 @@ var CommandFace;
|
|
|
732
736
|
}
|
|
733
737
|
}
|
|
734
738
|
__decorate([
|
|
735
|
-
|
|
739
|
+
Memoize(),
|
|
736
740
|
__metadata("design:type", Object),
|
|
737
741
|
__metadata("design:paramtypes", [])
|
|
738
742
|
], Adapter.prototype, "text", null);
|
|
739
743
|
__decorate([
|
|
740
|
-
|
|
744
|
+
Memoize(),
|
|
741
745
|
__metadata("design:type", Object),
|
|
742
746
|
__metadata("design:paramtypes", [])
|
|
743
747
|
], Adapter.prototype, "icon", null);
|
|
744
748
|
__decorate([
|
|
745
|
-
|
|
749
|
+
Memoize(),
|
|
746
750
|
__metadata("design:type", Object),
|
|
747
751
|
__metadata("design:paramtypes", [])
|
|
748
752
|
], Adapter.prototype, "iconPosition", null);
|
|
749
753
|
__decorate([
|
|
750
|
-
|
|
754
|
+
Memoize(),
|
|
751
755
|
__metadata("design:type", Object),
|
|
752
756
|
__metadata("design:paramtypes", [])
|
|
753
757
|
], Adapter.prototype, "tooltip", null);
|
|
754
758
|
__decorate([
|
|
755
|
-
|
|
759
|
+
Memoize(),
|
|
756
760
|
__metadata("design:type", Boolean),
|
|
757
761
|
__metadata("design:paramtypes", [])
|
|
758
762
|
], Adapter.prototype, "iconPositionStart", null);
|
|
759
763
|
__decorate([
|
|
760
|
-
|
|
764
|
+
Memoize(),
|
|
761
765
|
__metadata("design:type", Boolean),
|
|
762
766
|
__metadata("design:paramtypes", [])
|
|
763
767
|
], Adapter.prototype, "iconPositionEnd", null);
|
|
764
768
|
__decorate([
|
|
765
|
-
|
|
769
|
+
Memoize(),
|
|
766
770
|
__metadata("design:type", String),
|
|
767
771
|
__metadata("design:paramtypes", [])
|
|
768
772
|
], Adapter.prototype, "color", null);
|
|
769
773
|
__decorate([
|
|
770
|
-
|
|
774
|
+
Memoize(),
|
|
771
775
|
__metadata("design:type", String),
|
|
772
776
|
__metadata("design:paramtypes", [])
|
|
773
777
|
], Adapter.prototype, "style", null);
|
|
@@ -838,7 +842,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
838
842
|
args: ["class.disable-scroll"]
|
|
839
843
|
}] } });
|
|
840
844
|
|
|
841
|
-
/* eslint-disable @angular-eslint/no-host-metadata-property */
|
|
842
845
|
class IconComponent {
|
|
843
846
|
_icon;
|
|
844
847
|
prefix;
|
|
@@ -870,13 +873,11 @@ class IconComponent {
|
|
|
870
873
|
return `fa-${this.suffix}`;
|
|
871
874
|
}
|
|
872
875
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
873
|
-
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"] }] });
|
|
874
877
|
}
|
|
875
878
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IconComponent, decorators: [{
|
|
876
879
|
type: Component,
|
|
877
|
-
args: [{ selector: 'aup-icon',
|
|
878
|
-
class: "mat-icon" // this ensures angular form styles that target mat icon also work with us
|
|
879
|
-
}, 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"] }]
|
|
880
881
|
}], propDecorators: { icon: [{
|
|
881
882
|
type: Input
|
|
882
883
|
}, {
|
|
@@ -907,7 +908,6 @@ class CommandFaceComponent extends DisposableComponent {
|
|
|
907
908
|
// tslint:disable-next-line:no-input-rename
|
|
908
909
|
get _rawFaces() { return this.#_rawFaces_accessor_storage; }
|
|
909
910
|
set _rawFaces(value) { this.#_rawFaces_accessor_storage = value; }
|
|
910
|
-
hasTextAndLeadingIcon$;
|
|
911
911
|
set face(face) {
|
|
912
912
|
this.faces$.value = [face];
|
|
913
913
|
}
|
|
@@ -927,7 +927,6 @@ class CommandFaceComponent extends DisposableComponent {
|
|
|
927
927
|
const activeFace = this.faceAdapters.first();
|
|
928
928
|
this.activeIcon = activeFace.pluck("icon");
|
|
929
929
|
this.activeColor = activeFace.pluck("color");
|
|
930
|
-
this.hasTextAndLeadingIcon$ = valueOf.all(this.activeIcon.isNotNil(), activeFace.pluckString('text').isNotBlank(), activeFace.pluck("iconPosition").doesNotEqual(CommandFace.Position.END)).areTruthy();
|
|
931
930
|
}
|
|
932
931
|
shouldIncludeIcon(face) {
|
|
933
932
|
return (!this.ignoreIcon && face.icon) || this.includeMissingIconInLayout;
|
|
@@ -941,11 +940,8 @@ class CommandFaceComponent extends DisposableComponent {
|
|
|
941
940
|
get color() {
|
|
942
941
|
return this.activeColor.value;
|
|
943
942
|
}
|
|
944
|
-
get hasTextAndIcon() {
|
|
945
|
-
return this.hasTextAndLeadingIcon$.value;
|
|
946
|
-
}
|
|
947
943
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CommandFaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
948
|
-
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 });
|
|
949
945
|
}
|
|
950
946
|
__decorate([
|
|
951
947
|
StoreInListModel("faces$"),
|
|
@@ -953,7 +949,7 @@ __decorate([
|
|
|
953
949
|
], CommandFaceComponent.prototype, "_rawFaces", null);
|
|
954
950
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CommandFaceComponent, decorators: [{
|
|
955
951
|
type: Component,
|
|
956
|
-
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"] }]
|
|
957
953
|
}], ctorParameters: function () { return []; }, propDecorators: { _rawFaces: [{
|
|
958
954
|
type: Input,
|
|
959
955
|
args: ['faces']
|
|
@@ -971,9 +967,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
971
967
|
}], color: [{
|
|
972
968
|
type: HostBinding,
|
|
973
969
|
args: ['attr.color']
|
|
974
|
-
}], hasTextAndIcon: [{
|
|
975
|
-
type: HostBinding,
|
|
976
|
-
args: ['class.has-text-and-leading-icon']
|
|
977
970
|
}] } });
|
|
978
971
|
|
|
979
972
|
/**
|
|
@@ -1077,11 +1070,11 @@ class CardContainerComponent extends AbstractCardContainerComponent {
|
|
|
1077
1070
|
}
|
|
1078
1071
|
}
|
|
1079
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 });
|
|
1080
|
-
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"] }] });
|
|
1081
1074
|
}
|
|
1082
1075
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CardContainerComponent, decorators: [{
|
|
1083
1076
|
type: Component,
|
|
1084
|
-
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"] }]
|
|
1085
1078
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { columnCount: [{
|
|
1086
1079
|
type: Input
|
|
1087
1080
|
}], enableScroll: [{
|
|
@@ -1157,24 +1150,14 @@ class CommandComponent extends PopupAwareComponent {
|
|
|
1157
1150
|
activeFace$;
|
|
1158
1151
|
iconOnly$;
|
|
1159
1152
|
tooltip$;
|
|
1160
|
-
visible$;
|
|
1161
1153
|
constructor(element, parent) {
|
|
1162
1154
|
super(element, parent);
|
|
1163
1155
|
const { chain, switchOn } = Dsl.disposeWith(this);
|
|
1164
|
-
this.faces$ = chain(this.command.busy$)
|
|
1165
|
-
.mapToList(busy => {
|
|
1156
|
+
this.faces$ = chain(this.command.busy$).mapToList(busy => {
|
|
1166
1157
|
return busy ?
|
|
1167
|
-
[this.busyFace$.value
|
|
1168
|
-
[this.face$.value
|
|
1169
|
-
}, {
|
|
1170
|
-
allowNil: true,
|
|
1171
|
-
dependsOn: [
|
|
1172
|
-
this.face$,
|
|
1173
|
-
this.busyFace$,
|
|
1174
|
-
this.command.defaultFace$,
|
|
1175
|
-
this.command.busyFace$
|
|
1176
|
-
]
|
|
1177
|
-
})
|
|
1158
|
+
[this.busyFace$.value, this.face$.value] :
|
|
1159
|
+
[this.face$.value, this.busyFace$.value];
|
|
1160
|
+
}, { allowNil: true, dependsOn: [this.face$, this.busyFace$] })
|
|
1178
1161
|
.rejectNil();
|
|
1179
1162
|
this.activeFace$ = this.faces$.first();
|
|
1180
1163
|
this.buttonStyle$ = chain(this.activeFace$).map(f => CommandFace.getStyleOf(f));
|
|
@@ -1183,19 +1166,18 @@ class CommandComponent extends PopupAwareComponent {
|
|
|
1183
1166
|
this.iconOnly$ = this.faces$.select(face => {
|
|
1184
1167
|
return isEmpty(CommandFace.getTextOf(face)) && !isEmpty(CommandFace.getIconOf(face));
|
|
1185
1168
|
}).count().equals(this.faces$.count());
|
|
1186
|
-
this.visible$ = chain(this.command.visible$);
|
|
1187
|
-
}
|
|
1188
|
-
get cssDisplayProperty() {
|
|
1189
|
-
return this.visible$.value ? undefined : 'none';
|
|
1190
1169
|
}
|
|
1191
1170
|
isActive(face) {
|
|
1192
1171
|
return this.activeFace$.query().equals(face);
|
|
1193
1172
|
}
|
|
1173
|
+
getFace() {
|
|
1174
|
+
return this.face;
|
|
1175
|
+
}
|
|
1194
1176
|
requestFocus() {
|
|
1195
1177
|
this.button.focus();
|
|
1196
1178
|
}
|
|
1197
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 });
|
|
1198
|
-
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"] }] });
|
|
1199
1181
|
}
|
|
1200
1182
|
__decorate([
|
|
1201
1183
|
Proxify(),
|
|
@@ -1243,9 +1225,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1243
1225
|
}], button: [{
|
|
1244
1226
|
type: ViewChild,
|
|
1245
1227
|
args: [MatButton]
|
|
1246
|
-
}], cssDisplayProperty: [{
|
|
1247
|
-
type: HostBinding,
|
|
1248
|
-
args: ["style.display"]
|
|
1249
1228
|
}] } });
|
|
1250
1229
|
|
|
1251
1230
|
/**
|
|
@@ -1273,12 +1252,12 @@ class AbstractPopupMenuComponent extends PopupAwareComponent {
|
|
|
1273
1252
|
xPosition = 'after';
|
|
1274
1253
|
yPosition = 'below';
|
|
1275
1254
|
triggers;
|
|
1255
|
+
#enabled_accessor_storage;
|
|
1256
|
+
get enabled() { return this.#enabled_accessor_storage; }
|
|
1257
|
+
set enabled(value) { this.#enabled_accessor_storage = value; }
|
|
1276
1258
|
#enabled$_accessor_storage = proxify((ValueModel));
|
|
1277
1259
|
get enabled$() { return this.#enabled$_accessor_storage; }
|
|
1278
1260
|
set enabled$(value) { this.#enabled$_accessor_storage = value; }
|
|
1279
|
-
#enabled_accessor_storage = true;
|
|
1280
|
-
get enabled() { return this.#enabled_accessor_storage; }
|
|
1281
|
-
set enabled(value) { this.#enabled_accessor_storage = value; }
|
|
1282
1261
|
children;
|
|
1283
1262
|
faces$;
|
|
1284
1263
|
constructor(element, parent) {
|
|
@@ -1320,16 +1299,16 @@ class AbstractPopupMenuComponent extends PopupAwareComponent {
|
|
|
1320
1299
|
return this.faceAdapter.face;
|
|
1321
1300
|
}
|
|
1322
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 });
|
|
1323
|
-
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 });
|
|
1324
1303
|
}
|
|
1304
|
+
__decorate([
|
|
1305
|
+
StoreInValueModel(),
|
|
1306
|
+
__metadata("design:type", Boolean)
|
|
1307
|
+
], AbstractPopupMenuComponent.prototype, "enabled", null);
|
|
1325
1308
|
__decorate([
|
|
1326
1309
|
Proxify(),
|
|
1327
1310
|
__metadata("design:type", Object)
|
|
1328
1311
|
], AbstractPopupMenuComponent.prototype, "enabled$", null);
|
|
1329
|
-
__decorate([
|
|
1330
|
-
StoreInValueModel(),
|
|
1331
|
-
__metadata("design:type", Object)
|
|
1332
|
-
], AbstractPopupMenuComponent.prototype, "enabled", null);
|
|
1333
1312
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractPopupMenuComponent, decorators: [{
|
|
1334
1313
|
type: Component,
|
|
1335
1314
|
args: [{ selector: 'aup-abstract-popup-menu', template: '' }]
|
|
@@ -1343,10 +1322,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1343
1322
|
}], triggers: [{
|
|
1344
1323
|
type: ViewChildren,
|
|
1345
1324
|
args: [MatMenuTrigger]
|
|
1346
|
-
}], enabled$: [{
|
|
1347
|
-
type: Input
|
|
1348
1325
|
}], enabled: [{
|
|
1349
1326
|
type: Input
|
|
1327
|
+
}], enabled$: [{
|
|
1328
|
+
type: Input
|
|
1350
1329
|
}] } });
|
|
1351
1330
|
|
|
1352
1331
|
class CommandContainer extends GarbageCollector {
|
|
@@ -1379,15 +1358,13 @@ class ToolBarComponent extends CommandContainer {
|
|
|
1379
1358
|
get orientation() {
|
|
1380
1359
|
return CommandContainer.Orientation.HORIZONTAL;
|
|
1381
1360
|
}
|
|
1382
|
-
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 });
|
|
1383
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 });
|
|
1384
1363
|
}
|
|
1385
1364
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ToolBarComponent, decorators: [{
|
|
1386
1365
|
type: Component,
|
|
1387
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"] }]
|
|
1388
|
-
}], ctorParameters: function () { return [{ type: CommandContainer
|
|
1389
|
-
type: Optional
|
|
1390
|
-
}] }]; } });
|
|
1367
|
+
}], ctorParameters: function () { return [{ type: CommandContainer }]; } });
|
|
1391
1368
|
|
|
1392
1369
|
/**
|
|
1393
1370
|
*
|
|
@@ -1698,6 +1675,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1698
1675
|
args: ['blur']
|
|
1699
1676
|
}] } });
|
|
1700
1677
|
|
|
1678
|
+
/* tslint:disable:no-input-rename */
|
|
1701
1679
|
const INPUT_TOKEN_HACK = new InjectionToken("INPUT_TOKEN_HACK");
|
|
1702
1680
|
class AbstractInputComponent extends DisposableComponent {
|
|
1703
1681
|
onValueEditedListeners = new EventListenerList();
|
|
@@ -1712,16 +1690,11 @@ class AbstractInputComponent extends DisposableComponent {
|
|
|
1712
1690
|
* gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
|
|
1713
1691
|
*/
|
|
1714
1692
|
formValue$;
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
set i18n$(value) { this.#i18n$_accessor_storage = value; }
|
|
1718
|
-
#i18n_accessor_storage;
|
|
1719
|
-
get i18n() { return this.#i18n_accessor_storage; }
|
|
1720
|
-
set i18n(value) { this.#i18n_accessor_storage = value; }
|
|
1721
|
-
_label;
|
|
1693
|
+
label;
|
|
1694
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
1722
1695
|
userFloatLabel = 'always'; // TODO: make this an injectable default
|
|
1723
|
-
|
|
1724
|
-
|
|
1696
|
+
hint;
|
|
1697
|
+
placeholder;
|
|
1725
1698
|
dense = false;
|
|
1726
1699
|
_enabled$ = this.registerDisposable(new DelegatingValueModel());
|
|
1727
1700
|
set enabled$(condition$) {
|
|
@@ -1788,9 +1761,6 @@ class AbstractInputComponent extends DisposableComponent {
|
|
|
1788
1761
|
isEnabled() {
|
|
1789
1762
|
return this.enabled$.value;
|
|
1790
1763
|
}
|
|
1791
|
-
get disabled() {
|
|
1792
|
-
return !this.isEnabled();
|
|
1793
|
-
}
|
|
1794
1764
|
hasErrors() {
|
|
1795
1765
|
return !this.errorList$.query().isEmpty();
|
|
1796
1766
|
}
|
|
@@ -1803,15 +1773,6 @@ class AbstractInputComponent extends DisposableComponent {
|
|
|
1803
1773
|
get focusContext() {
|
|
1804
1774
|
return this.formValue$.focusContext;
|
|
1805
1775
|
}
|
|
1806
|
-
get label() {
|
|
1807
|
-
return this._label ?? this.i18n?.label();
|
|
1808
|
-
}
|
|
1809
|
-
get hint() {
|
|
1810
|
-
return this._hint ?? this.hackyGetI18n("hint");
|
|
1811
|
-
}
|
|
1812
|
-
get placeholder() {
|
|
1813
|
-
return this._placeholder ?? this.hackyGetI18n("placeholder");
|
|
1814
|
-
}
|
|
1815
1776
|
get floatLabel() {
|
|
1816
1777
|
// return this.dense ? 'never' : this.userFloatLabel;
|
|
1817
1778
|
return this.userFloatLabel;
|
|
@@ -1826,45 +1787,24 @@ class AbstractInputComponent extends DisposableComponent {
|
|
|
1826
1787
|
onValueEdited(callback) {
|
|
1827
1788
|
return this.onValueEditedListeners.add(callback);
|
|
1828
1789
|
}
|
|
1829
|
-
hackyGetI18n(key) {
|
|
1830
|
-
// TODO: update I18n to make it possible to get an optional value with return the missing key message.
|
|
1831
|
-
const i18nFn = this.i18n ? this.i18n[key] : undefined;
|
|
1832
|
-
const i18nValue = i18nFn && i18nFn();
|
|
1833
|
-
return i18nValue?.startsWith("missing key") ? undefined : i18nValue;
|
|
1834
|
-
}
|
|
1835
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 });
|
|
1836
|
-
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 });
|
|
1837
1792
|
}
|
|
1838
|
-
__decorate([
|
|
1839
|
-
Proxify(),
|
|
1840
|
-
__metadata("design:type", Object)
|
|
1841
|
-
], AbstractInputComponent.prototype, "i18n$", null);
|
|
1842
|
-
__decorate([
|
|
1843
|
-
StoreInValueModel(),
|
|
1844
|
-
__metadata("design:type", Object)
|
|
1845
|
-
], AbstractInputComponent.prototype, "i18n", null);
|
|
1846
1793
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractInputComponent, decorators: [{
|
|
1847
1794
|
type: Component,
|
|
1848
1795
|
args: [{ template: '' }]
|
|
1849
1796
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
1850
1797
|
type: Inject,
|
|
1851
1798
|
args: [INPUT_TOKEN_HACK]
|
|
1852
|
-
}] }]; }, propDecorators: {
|
|
1799
|
+
}] }]; }, propDecorators: { label: [{
|
|
1853
1800
|
type: Input
|
|
1854
|
-
}], i18n: [{
|
|
1855
|
-
type: Input
|
|
1856
|
-
}], _label: [{
|
|
1857
|
-
type: Input,
|
|
1858
|
-
args: ["label"]
|
|
1859
1801
|
}], userFloatLabel: [{
|
|
1860
1802
|
type: Input,
|
|
1861
1803
|
args: ['floatLabel']
|
|
1862
|
-
}],
|
|
1863
|
-
type: Input
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
type: Input,
|
|
1867
|
-
args: ['placeholder']
|
|
1804
|
+
}], hint: [{
|
|
1805
|
+
type: Input
|
|
1806
|
+
}], placeholder: [{
|
|
1807
|
+
type: Input
|
|
1868
1808
|
}], dense: [{
|
|
1869
1809
|
type: HostBinding,
|
|
1870
1810
|
args: ['class.dense']
|
|
@@ -1907,9 +1847,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1907
1847
|
}], notifyFocusOut: [{
|
|
1908
1848
|
type: HostListener,
|
|
1909
1849
|
args: ['focusout']
|
|
1910
|
-
}], disabled: [{
|
|
1911
|
-
type: HostBinding,
|
|
1912
|
-
args: ["class.disabled"]
|
|
1913
1850
|
}] } });
|
|
1914
1851
|
|
|
1915
1852
|
class AbstractListInputComponent extends AbstractInputComponent {
|
|
@@ -2147,15 +2084,12 @@ class CheckboxInputComponent extends AbstractValueInputComponent {
|
|
|
2147
2084
|
constructor() {
|
|
2148
2085
|
super();
|
|
2149
2086
|
}
|
|
2150
|
-
select($event) {
|
|
2151
|
-
this.componentValue$.value = $event.checked;
|
|
2152
|
-
}
|
|
2153
2087
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CheckboxInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2154
|
-
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"] }] });
|
|
2155
2089
|
}
|
|
2156
2090
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CheckboxInputComponent, decorators: [{
|
|
2157
2091
|
type: Component,
|
|
2158
|
-
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"] }]
|
|
2159
2093
|
}], ctorParameters: function () { return []; }, propDecorators: { color: [{
|
|
2160
2094
|
type: Input
|
|
2161
2095
|
}], labelPosition: [{
|
|
@@ -2194,7 +2128,7 @@ class MultipleSelectInputComponent extends AbstractListInputComponent {
|
|
|
2194
2128
|
const self = this;
|
|
2195
2129
|
this.registerDisposable(new Binding(this.componentList$, this.ids$, {
|
|
2196
2130
|
toLeft(selectedItems, currentLeftValue) {
|
|
2197
|
-
const newValues = selectedItems.map(it => lookup.get(it)).filter(it =>
|
|
2131
|
+
const newValues = selectedItems.map(it => lookup.get(it)).filter(it => !it);
|
|
2198
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
|
|
2199
2133
|
return newValues.length < 1 && selectedItems.length > 0 ? currentLeftValue : newValues;
|
|
2200
2134
|
},
|
|
@@ -2205,7 +2139,7 @@ class MultipleSelectInputComponent extends AbstractListInputComponent {
|
|
|
2205
2139
|
})).writeRight();
|
|
2206
2140
|
}
|
|
2207
2141
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: MultipleSelectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2208
|
-
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"] }] });
|
|
2209
2143
|
}
|
|
2210
2144
|
__decorate([
|
|
2211
2145
|
Proxify(),
|
|
@@ -2233,178 +2167,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
2233
2167
|
|
|
2234
2168
|
class NumberInputComponent extends AbstractValueInputComponent {
|
|
2235
2169
|
autocomplete;
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
#min_accessor_storage = Number.MIN_SAFE_INTEGER;
|
|
2240
|
-
get min() { return this.#min_accessor_storage; }
|
|
2241
|
-
set min(value) { this.#min_accessor_storage = value; }
|
|
2242
|
-
#max$_accessor_storage = proxify((ValueModel));
|
|
2243
|
-
get max$() { return this.#max$_accessor_storage; }
|
|
2244
|
-
set max$(value) { this.#max$_accessor_storage = value; }
|
|
2245
|
-
#max_accessor_storage = Number.MAX_SAFE_INTEGER;
|
|
2246
|
-
get max() { return this.#max_accessor_storage; }
|
|
2247
|
-
set max(value) { this.#max_accessor_storage = value; }
|
|
2248
|
-
#significantDigits$_accessor_storage = proxify((ValueModel));
|
|
2249
|
-
get significantDigits$() { return this.#significantDigits$_accessor_storage; }
|
|
2250
|
-
set significantDigits$(value) { this.#significantDigits$_accessor_storage = value; }
|
|
2251
|
-
#significantDigits_accessor_storage;
|
|
2252
|
-
get significantDigits() { return this.#significantDigits_accessor_storage; }
|
|
2253
|
-
set significantDigits(value) { this.#significantDigits_accessor_storage = value; }
|
|
2254
|
-
incrementCommand;
|
|
2255
|
-
decrementCommand;
|
|
2256
|
-
displayValue$;
|
|
2257
|
-
step$;
|
|
2170
|
+
min = Number.MIN_SAFE_INTEGER;
|
|
2171
|
+
max = Number.MAX_SAFE_INTEGER;
|
|
2172
|
+
iconPrefix;
|
|
2258
2173
|
constructor() {
|
|
2259
2174
|
super();
|
|
2260
|
-
const { chain } = Dsl.disposeWith(this);
|
|
2261
|
-
this.step$ = chain(this.significantDigits$).map(v => 10 ** (-v)).otherwise(1);
|
|
2262
|
-
this.displayValue$ = chain(this.value$).map(v => this.clampSignificantDigits(v), {
|
|
2263
|
-
dependsOn: this.significantDigits$
|
|
2264
|
-
});
|
|
2265
|
-
const normalisedValue$ = chain(this.value$).otherwise(0);
|
|
2266
|
-
this.incrementCommand = Command.create(() => {
|
|
2267
|
-
this.value$.value = this.increment(this.value$.value);
|
|
2268
|
-
}).enableWhile(chain.numericValue(normalisedValue$).isLessThan(this.max$).and(this.enabled$));
|
|
2269
|
-
this.decrementCommand = Command.create(() => {
|
|
2270
|
-
this.value$.value = this.decrement(this.value$.value);
|
|
2271
|
-
}).enableWhile(chain.numericValue(normalisedValue$).isGreaterThan(this.min$).and(this.enabled$));
|
|
2272
|
-
}
|
|
2273
|
-
increment(value) {
|
|
2274
|
-
return this.clampSignificantDigits((value ?? 0) + this.step$.value);
|
|
2275
|
-
}
|
|
2276
|
-
decrement(value) {
|
|
2277
|
-
return this.clampSignificantDigits((value ?? 0) - this.step$.value);
|
|
2278
|
-
}
|
|
2279
|
-
clampSignificantDigits(value) {
|
|
2280
|
-
return Number(value.toFixed(this.significantDigits));
|
|
2281
|
-
}
|
|
2282
|
-
onValueChange(value) {
|
|
2283
|
-
this.value$.value = value;
|
|
2284
2175
|
}
|
|
2285
2176
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: NumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2286
|
-
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"] }] });
|
|
2287
2178
|
}
|
|
2288
|
-
__decorate([
|
|
2289
|
-
Proxify(),
|
|
2290
|
-
__metadata("design:type", ValueModel)
|
|
2291
|
-
], NumberInputComponent.prototype, "min$", null);
|
|
2292
|
-
__decorate([
|
|
2293
|
-
StoreInValueModel(),
|
|
2294
|
-
__metadata("design:type", Object)
|
|
2295
|
-
], NumberInputComponent.prototype, "min", null);
|
|
2296
|
-
__decorate([
|
|
2297
|
-
Proxify(),
|
|
2298
|
-
__metadata("design:type", ValueModel)
|
|
2299
|
-
], NumberInputComponent.prototype, "max$", null);
|
|
2300
|
-
__decorate([
|
|
2301
|
-
StoreInValueModel(),
|
|
2302
|
-
__metadata("design:type", Object)
|
|
2303
|
-
], NumberInputComponent.prototype, "max", null);
|
|
2304
|
-
__decorate([
|
|
2305
|
-
Proxify(),
|
|
2306
|
-
__metadata("design:type", ValueModel)
|
|
2307
|
-
], NumberInputComponent.prototype, "significantDigits$", null);
|
|
2308
|
-
__decorate([
|
|
2309
|
-
StoreInValueModel(),
|
|
2310
|
-
__metadata("design:type", Number)
|
|
2311
|
-
], NumberInputComponent.prototype, "significantDigits", null);
|
|
2312
2179
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: NumberInputComponent, decorators: [{
|
|
2313
2180
|
type: Component,
|
|
2314
|
-
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" }]
|
|
2315
2182
|
}], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
|
|
2316
2183
|
type: Input
|
|
2317
|
-
}], min$: [{
|
|
2318
|
-
type: Input
|
|
2319
2184
|
}], min: [{
|
|
2320
2185
|
type: Input
|
|
2321
|
-
}], max$: [{
|
|
2322
|
-
type: Input
|
|
2323
2186
|
}], max: [{
|
|
2324
2187
|
type: Input
|
|
2325
|
-
}],
|
|
2326
|
-
type: Input
|
|
2327
|
-
}], significantDigits: [{
|
|
2188
|
+
}], iconPrefix: [{
|
|
2328
2189
|
type: Input
|
|
2329
2190
|
}] } });
|
|
2330
2191
|
|
|
2331
2192
|
class PasswordInputComponent extends AbstractValueInputComponent {
|
|
2332
2193
|
autocomplete;
|
|
2333
|
-
#enableShowPassword$_accessor_storage = proxify((ValueModel));
|
|
2334
|
-
get enableShowPassword$() { return this.#enableShowPassword$_accessor_storage; }
|
|
2335
|
-
set enableShowPassword$(value) { this.#enableShowPassword$_accessor_storage = value; }
|
|
2336
|
-
#enableShowPassword_accessor_storage = false;
|
|
2337
|
-
get enableShowPassword() { return this.#enableShowPassword_accessor_storage; }
|
|
2338
|
-
set enableShowPassword(value) { this.#enableShowPassword_accessor_storage = value; }
|
|
2339
|
-
showPassword$ = new MutableValueModel(false);
|
|
2340
|
-
toggleShowPasswordCommand;
|
|
2341
2194
|
constructor() {
|
|
2342
2195
|
super();
|
|
2343
|
-
const { chain, valueOf } = Dsl.disposeWith(this);
|
|
2344
|
-
const face$ = chain(this.showPassword$).map(show => {
|
|
2345
|
-
return {
|
|
2346
|
-
icon: () => show ? "mat:visibility_off" : "mat:visibility"
|
|
2347
|
-
};
|
|
2348
|
-
});
|
|
2349
|
-
this.toggleShowPasswordCommand = Command.create(() => {
|
|
2350
|
-
this.showPassword$.value = !this.showPassword$.value;
|
|
2351
|
-
})
|
|
2352
|
-
.withFace(face$)
|
|
2353
|
-
.enableWhile(chain.stringValue(this.componentValue$).isNotBlank());
|
|
2354
|
-
}
|
|
2355
|
-
get fieldType() {
|
|
2356
|
-
return this.showPassword$.value ? "text" : "password";
|
|
2357
2196
|
}
|
|
2358
2197
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PasswordInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2359
|
-
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"] }] });
|
|
2360
2199
|
}
|
|
2361
|
-
__decorate([
|
|
2362
|
-
Proxify(),
|
|
2363
|
-
__metadata("design:type", Object)
|
|
2364
|
-
], PasswordInputComponent.prototype, "enableShowPassword$", null);
|
|
2365
|
-
__decorate([
|
|
2366
|
-
StoreInValueModel(),
|
|
2367
|
-
__metadata("design:type", Object)
|
|
2368
|
-
], PasswordInputComponent.prototype, "enableShowPassword", null);
|
|
2369
2200
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PasswordInputComponent, decorators: [{
|
|
2370
2201
|
type: Component,
|
|
2371
|
-
args: [{ selector: 'aup-password-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input
|
|
2372
|
-
}], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
|
|
2373
|
-
type: Input
|
|
2374
|
-
}], enableShowPassword$: [{
|
|
2375
|
-
type: Input
|
|
2376
|
-
}], enableShowPassword: [{
|
|
2377
|
-
type: Input
|
|
2378
|
-
}] } });
|
|
2379
|
-
|
|
2380
|
-
class SearchInputComponent extends AbstractValueInputComponent {
|
|
2381
|
-
autocomplete;
|
|
2382
|
-
clearCommand;
|
|
2383
|
-
constructor() {
|
|
2384
|
-
super();
|
|
2385
|
-
this.dense = true;
|
|
2386
|
-
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
2387
|
-
this.clearCommand = Command.create(() => {
|
|
2388
|
-
this.componentValue$.value = "";
|
|
2389
|
-
});
|
|
2390
|
-
this.clearCommand.disableWhile(chain.stringValue(this.componentValue$).isBlank());
|
|
2391
|
-
}
|
|
2392
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2393
|
-
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"] }] });
|
|
2394
|
-
}
|
|
2395
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SearchInputComponent, decorators: [{
|
|
2396
|
-
type: Component,
|
|
2397
|
-
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" }]
|
|
2398
2203
|
}], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
|
|
2399
2204
|
type: Input
|
|
2400
2205
|
}] } });
|
|
2401
2206
|
|
|
2402
2207
|
/**
|
|
2403
2208
|
* Using templates:
|
|
2404
|
-
* <aup-select-input [
|
|
2209
|
+
* <aup-select-input [valueModel]="myModel" [options]="myOptions">
|
|
2405
2210
|
* <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
|
|
2406
|
-
* <ng-template #
|
|
2407
|
-
* <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>
|
|
2408
2212
|
* </aup-select_input>
|
|
2409
2213
|
*/
|
|
2410
2214
|
class SelectInputComponent extends AbstractValueInputComponent {
|
|
@@ -2429,7 +2233,7 @@ class SelectInputComponent extends AbstractValueInputComponent {
|
|
|
2429
2233
|
super();
|
|
2430
2234
|
const { chain } = Dsl.disposeWith(this);
|
|
2431
2235
|
this.cookedOptions$ = chain(this.options$)
|
|
2432
|
-
.
|
|
2236
|
+
.reduceToList(options => {
|
|
2433
2237
|
return options.length < 1 && !isNil(this.componentValue$.value) ? [this.componentValue$.value] : options;
|
|
2434
2238
|
}, {
|
|
2435
2239
|
dependsOn: this.componentValue$
|
|
@@ -2468,21 +2272,21 @@ class SelectInputComponent extends AbstractValueInputComponent {
|
|
|
2468
2272
|
id: this.delegatedIdentityOf(value)
|
|
2469
2273
|
});
|
|
2470
2274
|
let lastIdSnapshot = snapshotValueAndId(this.componentValue$.value);
|
|
2471
|
-
|
|
2275
|
+
console.log(lastIdSnapshot);
|
|
2472
2276
|
before(this.options$).changes(() => {
|
|
2473
2277
|
lastIdSnapshot = snapshotValueAndId(this.componentValue$.value);
|
|
2474
|
-
|
|
2278
|
+
console.log(lastIdSnapshot);
|
|
2475
2279
|
});
|
|
2476
2280
|
when(this.options$).changes((is, was) => {
|
|
2477
2281
|
const newIdSnapshot = snapshotValueAndId(lastIdSnapshot.value);
|
|
2478
|
-
|
|
2282
|
+
console.log(lastIdSnapshot, newIdSnapshot);
|
|
2479
2283
|
if (newIdSnapshot !== lastIdSnapshot.id) {
|
|
2480
2284
|
this.id$.value = this.delegatedIdentityOf(this.componentValue$.value);
|
|
2481
2285
|
}
|
|
2482
2286
|
});
|
|
2483
2287
|
}
|
|
2484
2288
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2485
|
-
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"] }] });
|
|
2486
2290
|
}
|
|
2487
2291
|
__decorate([
|
|
2488
2292
|
Proxify(),
|
|
@@ -2494,7 +2298,7 @@ __decorate([
|
|
|
2494
2298
|
], SelectInputComponent.prototype, "options", null);
|
|
2495
2299
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectInputComponent, decorators: [{
|
|
2496
2300
|
type: Component,
|
|
2497
|
-
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"] }]
|
|
2498
2302
|
}], ctorParameters: function () { return []; }, propDecorators: { options$: [{
|
|
2499
2303
|
type: Input
|
|
2500
2304
|
}], options: [{
|
|
@@ -2525,28 +2329,17 @@ class StringInputComponent extends AbstractValueInputComponent {
|
|
|
2525
2329
|
get enableClear() { return this.#enableClear_accessor_storage; }
|
|
2526
2330
|
set enableClear(value) { this.#enableClear_accessor_storage = value; }
|
|
2527
2331
|
iconPrefix;
|
|
2528
|
-
#suffixCommand_accessor_storage = proxify(Command);
|
|
2529
|
-
get suffixCommand() { return this.#suffixCommand_accessor_storage; }
|
|
2530
|
-
set suffixCommand(value) { this.#suffixCommand_accessor_storage = value; }
|
|
2531
2332
|
clearCommand;
|
|
2532
|
-
elementRef = this.inject(ElementRef);
|
|
2533
2333
|
constructor() {
|
|
2534
2334
|
super();
|
|
2535
2335
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
2536
2336
|
this.clearCommand = Command.create(() => {
|
|
2537
2337
|
this.componentValue$.value = "";
|
|
2538
|
-
})
|
|
2539
|
-
|
|
2540
|
-
.enableWhile(chain.stringValue(this.componentValue$).isNotBlank());
|
|
2541
|
-
}
|
|
2542
|
-
get hasSuffixCommand() {
|
|
2543
|
-
return Proxify.hasTarget(this.suffixCommand);
|
|
2544
|
-
}
|
|
2545
|
-
select() {
|
|
2546
|
-
this.elementRef.nativeElement.querySelector('input').select();
|
|
2338
|
+
});
|
|
2339
|
+
this.clearCommand.disableWhile(chain.stringValue(this.componentValue$).isBlank());
|
|
2547
2340
|
}
|
|
2548
2341
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: StringInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2549
|
-
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"] }] });
|
|
2550
2343
|
}
|
|
2551
2344
|
__decorate([
|
|
2552
2345
|
Proxify(),
|
|
@@ -2556,13 +2349,9 @@ __decorate([
|
|
|
2556
2349
|
StoreInValueModel(),
|
|
2557
2350
|
__metadata("design:type", Object)
|
|
2558
2351
|
], StringInputComponent.prototype, "enableClear", null);
|
|
2559
|
-
__decorate([
|
|
2560
|
-
Proxify(),
|
|
2561
|
-
__metadata("design:type", Command)
|
|
2562
|
-
], StringInputComponent.prototype, "suffixCommand", null);
|
|
2563
2352
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: StringInputComponent, decorators: [{
|
|
2564
2353
|
type: Component,
|
|
2565
|
-
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"] }]
|
|
2566
2355
|
}], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
|
|
2567
2356
|
type: Input
|
|
2568
2357
|
}], enableClear$: [{
|
|
@@ -2571,8 +2360,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
2571
2360
|
type: Input
|
|
2572
2361
|
}], iconPrefix: [{
|
|
2573
2362
|
type: Input
|
|
2574
|
-
}], suffixCommand: [{
|
|
2575
|
-
type: Input
|
|
2576
2363
|
}] } });
|
|
2577
2364
|
|
|
2578
2365
|
class TextInputComponent extends AbstractValueInputComponent {
|
|
@@ -2580,14 +2367,10 @@ class TextInputComponent extends AbstractValueInputComponent {
|
|
|
2580
2367
|
// valueModel: Form.ValueModelBase<string> | MutableValueModel<string>;
|
|
2581
2368
|
rows = 2;
|
|
2582
2369
|
cols;
|
|
2583
|
-
elementRef = this.inject(ElementRef);
|
|
2584
2370
|
constructor() {
|
|
2585
2371
|
super();
|
|
2586
2372
|
// const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
2587
2373
|
}
|
|
2588
|
-
select() {
|
|
2589
|
-
this.elementRef.nativeElement.querySelector('input').select();
|
|
2590
|
-
}
|
|
2591
2374
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2592
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"] }] });
|
|
2593
2376
|
}
|
|
@@ -2764,6 +2547,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
2764
2547
|
* </aup-switch-case>
|
|
2765
2548
|
*/
|
|
2766
2549
|
class SwitchCaseComponent extends DisposableComponent {
|
|
2550
|
+
cdr;
|
|
2767
2551
|
#switch$_accessor_storage = proxify((ValueModel));
|
|
2768
2552
|
get switch$() { return this.#switch$_accessor_storage; }
|
|
2769
2553
|
set switch$(value) { this.#switch$_accessor_storage = value; }
|
|
@@ -2772,8 +2556,9 @@ class SwitchCaseComponent extends DisposableComponent {
|
|
|
2772
2556
|
set switch(value) { this.#switch_accessor_storage = value; }
|
|
2773
2557
|
switchCaseOptions;
|
|
2774
2558
|
selectedIndex = 0;
|
|
2775
|
-
constructor() {
|
|
2559
|
+
constructor(cdr) {
|
|
2776
2560
|
super();
|
|
2561
|
+
this.cdr = cdr;
|
|
2777
2562
|
}
|
|
2778
2563
|
ngAfterContentInit() {
|
|
2779
2564
|
const subscription = this.switchCaseOptions.changes.subscribe(change => this.updateSelection());
|
|
@@ -2810,8 +2595,8 @@ class SwitchCaseComponent extends DisposableComponent {
|
|
|
2810
2595
|
this.selectedIndex = -1;
|
|
2811
2596
|
}
|
|
2812
2597
|
}
|
|
2813
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SwitchCaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2814
|
-
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"] }] });
|
|
2815
2600
|
}
|
|
2816
2601
|
__decorate([
|
|
2817
2602
|
Proxify(),
|
|
@@ -2824,7 +2609,7 @@ __decorate([
|
|
|
2824
2609
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SwitchCaseComponent, decorators: [{
|
|
2825
2610
|
type: Component,
|
|
2826
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"] }]
|
|
2827
|
-
}], ctorParameters: function () { return []; }, propDecorators: { switch$: [{
|
|
2612
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { switch$: [{
|
|
2828
2613
|
type: Input
|
|
2829
2614
|
}], switch: [{
|
|
2830
2615
|
type: Input
|
|
@@ -2834,7 +2619,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
2834
2619
|
}] } });
|
|
2835
2620
|
|
|
2836
2621
|
const HEADER_CELL_RENDERER_PORTAL = Symbol('aup-cell-header-renderer-component-ref');
|
|
2837
|
-
const FOOTER_CELL_RENDERER_PORTAL = Symbol('aup-cell-footer-renderer-component-ref');
|
|
2838
2622
|
const CELL_RENDERER_PORTAL = Symbol('aup-cell-renderer-component-ref');
|
|
2839
2623
|
const CELL_EDITOR_PORTAL = Symbol('aup-cell-editor-component-ref');
|
|
2840
2624
|
const PORTAL_RENDERER_COMPONENT = Symbol('aup-cell-renderer-portal-component');
|
|
@@ -2849,7 +2633,7 @@ class CellHeaderPortalRef extends CellPortalRef {
|
|
|
2849
2633
|
this.componentType = componentType;
|
|
2850
2634
|
this.initialiseHeader = initialiseHeader;
|
|
2851
2635
|
}
|
|
2852
|
-
initialiseHost(host) {
|
|
2636
|
+
initialiseHost(host, columnModel) {
|
|
2853
2637
|
assert$1.isTruthy(host);
|
|
2854
2638
|
host[HEADER_CELL_RENDERER_PORTAL] = new ComponentPortal(this.componentType);
|
|
2855
2639
|
}
|
|
@@ -2868,7 +2652,7 @@ class ComponentCellRendererPortalRef extends CellRendererPortalRef {
|
|
|
2868
2652
|
this.componentType = componentType;
|
|
2869
2653
|
this.updateComponent = updateComponent;
|
|
2870
2654
|
}
|
|
2871
|
-
initialiseHost(host) {
|
|
2655
|
+
initialiseHost(host, columnModel) {
|
|
2872
2656
|
host[CELL_RENDERER_PORTAL] = new ComponentPortal(this.componentType);
|
|
2873
2657
|
}
|
|
2874
2658
|
// @Trace()
|
|
@@ -2891,7 +2675,7 @@ class CellEditorPortalRef extends CellPortalRef {
|
|
|
2891
2675
|
this.componentType = componentType;
|
|
2892
2676
|
this.initialiseEditorSession = initialiseEditorSession;
|
|
2893
2677
|
}
|
|
2894
|
-
initialiseHost(host) {
|
|
2678
|
+
initialiseHost(host, columnModel) {
|
|
2895
2679
|
assert$1.isTruthy(host);
|
|
2896
2680
|
host[CELL_EDITOR_PORTAL] = new ComponentPortal(this.componentType);
|
|
2897
2681
|
}
|
|
@@ -2915,7 +2699,7 @@ class TemplateCellRendererPortalRef extends CellRendererPortalRef {
|
|
|
2915
2699
|
this.fillCell = fillCell;
|
|
2916
2700
|
this.padChild = padChild;
|
|
2917
2701
|
}
|
|
2918
|
-
initialiseHost(host) {
|
|
2702
|
+
initialiseHost(host, columnModel) {
|
|
2919
2703
|
assert$1.isTruthy(host);
|
|
2920
2704
|
}
|
|
2921
2705
|
// @Trace()
|
|
@@ -2932,23 +2716,6 @@ class TemplateCellRendererPortalRef extends CellRendererPortalRef {
|
|
|
2932
2716
|
return new TemplatePortal(this.templateRef, this.viewContainer, { ...(data), $implicit: data.row });
|
|
2933
2717
|
}
|
|
2934
2718
|
}
|
|
2935
|
-
class CellFooterPortalRef extends CellPortalRef {
|
|
2936
|
-
componentType;
|
|
2937
|
-
initialiseHeader;
|
|
2938
|
-
constructor(componentType, initialiseHeader) {
|
|
2939
|
-
super();
|
|
2940
|
-
this.componentType = componentType;
|
|
2941
|
-
this.initialiseHeader = initialiseHeader;
|
|
2942
|
-
}
|
|
2943
|
-
initialiseHost(host) {
|
|
2944
|
-
assert$1.isTruthy(host);
|
|
2945
|
-
host[HEADER_CELL_RENDERER_PORTAL] = new ComponentPortal(this.componentType);
|
|
2946
|
-
}
|
|
2947
|
-
// @Trace()
|
|
2948
|
-
onPortalAttached(host, portalComponent) {
|
|
2949
|
-
this.initialiseHeader(portalComponent, host.column);
|
|
2950
|
-
}
|
|
2951
|
-
}
|
|
2952
2719
|
|
|
2953
2720
|
class ColumnTextSearchFormatter {
|
|
2954
2721
|
}
|
|
@@ -3039,7 +2806,6 @@ class ColumnTextSearchWrapper extends ColumnTextSearchFormatter.Delegate {
|
|
|
3039
2806
|
}
|
|
3040
2807
|
class ColumnModel extends GarbageCollector {
|
|
3041
2808
|
columnId;
|
|
3042
|
-
order;
|
|
3043
2809
|
textPropertiesProvider;
|
|
3044
2810
|
_columnTextProperties;
|
|
3045
2811
|
_columnHeaderPortalRef;
|
|
@@ -3053,10 +2819,9 @@ class ColumnModel extends GarbageCollector {
|
|
|
3053
2819
|
dasherisedColumnId;
|
|
3054
2820
|
textSearchDelegate = new ColumnTextSearchWrapper();
|
|
3055
2821
|
visible$;
|
|
3056
|
-
constructor(columnId,
|
|
2822
|
+
constructor(columnId, textPropertiesProvider) {
|
|
3057
2823
|
super();
|
|
3058
2824
|
this.columnId = columnId;
|
|
3059
|
-
this.order = order;
|
|
3060
2825
|
this.textPropertiesProvider = textPropertiesProvider;
|
|
3061
2826
|
const { valueOf } = Dsl.disposeWith(this);
|
|
3062
2827
|
this.installHeaderRenderer();
|
|
@@ -3101,14 +2866,6 @@ class ColumnModel extends GarbageCollector {
|
|
|
3101
2866
|
this._columnTextProperties = columnTextProperties;
|
|
3102
2867
|
return this;
|
|
3103
2868
|
}
|
|
3104
|
-
positionAfter(column) {
|
|
3105
|
-
this.order.position(this, { after: column });
|
|
3106
|
-
return this;
|
|
3107
|
-
}
|
|
3108
|
-
positionBefore(column) {
|
|
3109
|
-
this.order.position(this, { before: column });
|
|
3110
|
-
return this;
|
|
3111
|
-
}
|
|
3112
2869
|
getSearchTextFor(row) {
|
|
3113
2870
|
return this.textSearchDelegate.format(row);
|
|
3114
2871
|
}
|
|
@@ -3141,12 +2898,12 @@ class ColumnModel extends GarbageCollector {
|
|
|
3141
2898
|
return !!this._cellEditorPortalRef;
|
|
3142
2899
|
}
|
|
3143
2900
|
attachHeaderCell(host) {
|
|
3144
|
-
this._columnHeaderPortalRef.initialiseHost(host);
|
|
2901
|
+
this._columnHeaderPortalRef.initialiseHost(host, this);
|
|
3145
2902
|
}
|
|
3146
2903
|
attachCell(host) {
|
|
3147
|
-
this._cellRendererPortalRef.initialiseHost(host);
|
|
2904
|
+
this._cellRendererPortalRef.initialiseHost(host, this);
|
|
3148
2905
|
if (this.hasEditorPortal()) {
|
|
3149
|
-
this._cellEditorPortalRef.initialiseHost(host);
|
|
2906
|
+
this._cellEditorPortalRef.initialiseHost(host, this);
|
|
3150
2907
|
}
|
|
3151
2908
|
}
|
|
3152
2909
|
onHeaderAttached(host, ref) {
|
|
@@ -3210,8 +2967,8 @@ __decorate([
|
|
|
3210
2967
|
|
|
3211
2968
|
class CustomTemplateColumnModel extends ColumnModel {
|
|
3212
2969
|
config = new TemplateCellRendererPortalRef();
|
|
3213
|
-
constructor(columnId,
|
|
3214
|
-
super(columnId,
|
|
2970
|
+
constructor(columnId, defaults) {
|
|
2971
|
+
super(columnId, defaults);
|
|
3215
2972
|
this.configureCellRenderer(this.config);
|
|
3216
2973
|
}
|
|
3217
2974
|
setTemplate(templateRef, viewContainer, fillCell, padChild) {
|
|
@@ -3289,17 +3046,12 @@ class AbstractTableComponent extends DisposableComponent {
|
|
|
3289
3046
|
#showHeader_accessor_storage = true;
|
|
3290
3047
|
get showHeader() { return this.#showHeader_accessor_storage; }
|
|
3291
3048
|
set showHeader(value) { this.#showHeader_accessor_storage = value; }
|
|
3292
|
-
#enableScrolling$_accessor_storage = proxify((ValueModel));
|
|
3293
3049
|
/**
|
|
3294
3050
|
* Set to true to enable scrolling. Once enabled the table will have 0 implicit height. You will either
|
|
3295
3051
|
* need to set it explicitly e.g. height: 400px; or by using flex or grid layout to make it fill it's
|
|
3296
3052
|
* containment area.
|
|
3297
3053
|
*/
|
|
3298
|
-
|
|
3299
|
-
set enableScrolling$(value) { this.#enableScrolling$_accessor_storage = value; }
|
|
3300
|
-
#enableScrolling_accessor_storage = false;
|
|
3301
|
-
get enableScrolling() { return this.#enableScrolling_accessor_storage; }
|
|
3302
|
-
set enableScrolling(value) { this.#enableScrolling_accessor_storage = value; }
|
|
3054
|
+
enableScrolling = false;
|
|
3303
3055
|
columns;
|
|
3304
3056
|
columnIds;
|
|
3305
3057
|
columnsById;
|
|
@@ -3318,6 +3070,7 @@ class AbstractTableComponent extends DisposableComponent {
|
|
|
3318
3070
|
super();
|
|
3319
3071
|
this.injector = injector;
|
|
3320
3072
|
const { chain, when } = Dsl.disposeWith(this);
|
|
3073
|
+
this._visibleRows$.setDelegate(this._dataSource$);
|
|
3321
3074
|
when(chain(this._dataSource$).first()).becomesTruthy(it => {
|
|
3322
3075
|
if (it === this.identityOf(it)) {
|
|
3323
3076
|
console.warn("Table model identity function is using reference equality. This can cause lots of table re-rendering", {
|
|
@@ -3336,7 +3089,7 @@ class AbstractTableComponent extends DisposableComponent {
|
|
|
3336
3089
|
if (!model) {
|
|
3337
3090
|
lang$1.illegalState("aup-table tableModel is nil");
|
|
3338
3091
|
}
|
|
3339
|
-
this.columnsById = chain(model.columns
|
|
3092
|
+
this.columnsById = chain(model.columns).indexBy('columnId');
|
|
3340
3093
|
this._dataSource$.setDelegate(model.dataSource$);
|
|
3341
3094
|
model.initialise(this.injector, (row) => this.identityOf(row));
|
|
3342
3095
|
}
|
|
@@ -3353,7 +3106,7 @@ class AbstractTableComponent extends DisposableComponent {
|
|
|
3353
3106
|
}
|
|
3354
3107
|
}
|
|
3355
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 });
|
|
3356
|
-
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 });
|
|
3357
3110
|
}
|
|
3358
3111
|
__decorate([
|
|
3359
3112
|
Proxify(),
|
|
@@ -3363,14 +3116,6 @@ __decorate([
|
|
|
3363
3116
|
StoreInValueModel(),
|
|
3364
3117
|
__metadata("design:type", Object)
|
|
3365
3118
|
], AbstractTableComponent.prototype, "showHeader", null);
|
|
3366
|
-
__decorate([
|
|
3367
|
-
Proxify(),
|
|
3368
|
-
__metadata("design:type", ValueModel)
|
|
3369
|
-
], AbstractTableComponent.prototype, "enableScrolling$", null);
|
|
3370
|
-
__decorate([
|
|
3371
|
-
StoreInValueModel(),
|
|
3372
|
-
__metadata("design:type", Boolean)
|
|
3373
|
-
], AbstractTableComponent.prototype, "enableScrolling", null);
|
|
3374
3119
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractTableComponent, decorators: [{
|
|
3375
3120
|
type: Component,
|
|
3376
3121
|
args: [{
|
|
@@ -3381,8 +3126,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
3381
3126
|
type: Input
|
|
3382
3127
|
}], showHeader: [{
|
|
3383
3128
|
type: Input
|
|
3384
|
-
}], enableScrolling$: [{
|
|
3385
|
-
type: Input
|
|
3386
3129
|
}], enableScrolling: [{
|
|
3387
3130
|
type: Input
|
|
3388
3131
|
}], baseCssClass: [{
|
|
@@ -3443,8 +3186,6 @@ class EditSession extends GarbageCollector {
|
|
|
3443
3186
|
// console.warn()
|
|
3444
3187
|
// }
|
|
3445
3188
|
this._liveRowValue$.value = produce(this._liveRowValue$.value, draft => {
|
|
3446
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3447
|
-
// @ts-ignore
|
|
3448
3189
|
this.form.writeDirtyStateTo(draft);
|
|
3449
3190
|
});
|
|
3450
3191
|
});
|
|
@@ -3547,11 +3288,11 @@ class DefaultCellRendererComponent {
|
|
|
3547
3288
|
return this._value;
|
|
3548
3289
|
}
|
|
3549
3290
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DefaultCellRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3550
|
-
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" }] });
|
|
3551
3292
|
}
|
|
3552
3293
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DefaultCellRendererComponent, decorators: [{
|
|
3553
3294
|
type: Component,
|
|
3554
|
-
args: [{ selector: "aup-default-cell-renderer", template: "<span [innerHTML]=\"value
|
|
3295
|
+
args: [{ selector: "aup-default-cell-renderer", template: "<span [innerHTML]=\"value| aupHighlight\"></span>\n" }]
|
|
3555
3296
|
}], propDecorators: { value: [{
|
|
3556
3297
|
type: Input
|
|
3557
3298
|
}] } });
|
|
@@ -3567,8 +3308,7 @@ class SelectionHeaderCellComponent extends DisposableComponent {
|
|
|
3567
3308
|
super();
|
|
3568
3309
|
this.selectCommand = Command.create(() => {
|
|
3569
3310
|
this.selectionModel.toggleAllCommand.execute();
|
|
3570
|
-
})
|
|
3571
|
-
.enableWhile(this.selectionModel.toggleAllCommand.enabled$);
|
|
3311
|
+
});
|
|
3572
3312
|
}
|
|
3573
3313
|
isSelected() {
|
|
3574
3314
|
return this.ifMultiSelectionModel(m => m.allSelected$.value, false);
|
|
@@ -3596,7 +3336,7 @@ class SelectionHeaderCellComponent extends DisposableComponent {
|
|
|
3596
3336
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectionHeaderCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3597
3337
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SelectionHeaderCellComponent, selector: "aup-selection-header-cell", providers: [
|
|
3598
3338
|
{ provide: MAT_CHECKBOX_DEFAULT_OPTIONS, useValue: { clickAction: 'noop' } }
|
|
3599
|
-
], 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"] }] });
|
|
3600
3340
|
}
|
|
3601
3341
|
__decorate([
|
|
3602
3342
|
Proxify(),
|
|
@@ -3629,7 +3369,7 @@ class SelectionCellComponent extends DisposableComponent {
|
|
|
3629
3369
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectionCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3630
3370
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SelectionCellComponent, selector: "aup-selection-cell", inputs: { row: "row" }, providers: [
|
|
3631
3371
|
{ provide: MAT_CHECKBOX_DEFAULT_OPTIONS, useValue: { clickAction: 'noop' } }
|
|
3632
|
-
], 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"] }] });
|
|
3633
3373
|
}
|
|
3634
3374
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectionCellComponent, decorators: [{
|
|
3635
3375
|
type: Component,
|
|
@@ -3690,14 +3430,25 @@ class Bounds extends Dimension {
|
|
|
3690
3430
|
})(Bounds || (Bounds = {}));
|
|
3691
3431
|
|
|
3692
3432
|
class ResizeAwareComponent extends DisposableComponent {
|
|
3693
|
-
elementRef
|
|
3694
|
-
ngZone
|
|
3695
|
-
|
|
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
|
+
}
|
|
3696
3441
|
ngAfterViewInit() {
|
|
3697
|
-
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());
|
|
3698
3449
|
}
|
|
3699
3450
|
get bounds$() {
|
|
3700
|
-
return this.
|
|
3451
|
+
return this._bounds$.readonly$;
|
|
3701
3452
|
}
|
|
3702
3453
|
get nativeElement() {
|
|
3703
3454
|
return this.elementRef.nativeElement;
|
|
@@ -3707,160 +3458,57 @@ class ResizeAwareComponent extends DisposableComponent {
|
|
|
3707
3458
|
return this.bounds.relativePositionOf(point);
|
|
3708
3459
|
}
|
|
3709
3460
|
get bounds() {
|
|
3710
|
-
return this.
|
|
3461
|
+
return this._bounds$.value;
|
|
3462
|
+
}
|
|
3463
|
+
_updateBounds() {
|
|
3464
|
+
this._bounds$.value = Bounds.ofElement(this.nativeElement);
|
|
3711
3465
|
}
|
|
3712
|
-
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 });
|
|
3713
3467
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: ResizeAwareComponent, usesInheritance: true, ngImport: i0 });
|
|
3714
3468
|
}
|
|
3715
3469
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ResizeAwareComponent, decorators: [{
|
|
3716
3470
|
type: Directive
|
|
3717
|
-
}] });
|
|
3718
|
-
(function (ResizeAwareComponent) {
|
|
3719
|
-
class ResizeTracker extends GarbageCollector {
|
|
3720
|
-
elementRef;
|
|
3721
|
-
ngZone;
|
|
3722
|
-
_bounds$ = new MutableValueModel(new Bounds(0, 0, 0, 0));
|
|
3723
|
-
width$;
|
|
3724
|
-
height$;
|
|
3725
|
-
top$;
|
|
3726
|
-
left$;
|
|
3727
|
-
bottom$;
|
|
3728
|
-
right$;
|
|
3729
|
-
constructor(elementRef, ngZone) {
|
|
3730
|
-
super();
|
|
3731
|
-
this.elementRef = elementRef;
|
|
3732
|
-
this.ngZone = ngZone;
|
|
3733
|
-
const { chain } = Dsl.disposeWith(this);
|
|
3734
|
-
this.width$ = chain(this.bounds$).pluck("width");
|
|
3735
|
-
this.height$ = chain(this.bounds$).pluck("height");
|
|
3736
|
-
this.top$ = chain(this.bounds$).pluck("top");
|
|
3737
|
-
this.left$ = chain(this.bounds$).pluck("left");
|
|
3738
|
-
this.bottom$ = chain.numericValue(this.top$).add(this.height$);
|
|
3739
|
-
this.right$ = chain.numericValue(this.left$).add(this.width$);
|
|
3740
|
-
}
|
|
3741
|
-
notifyViewReady() {
|
|
3742
|
-
const element = this.elementRef.nativeElement;
|
|
3743
|
-
const ro = new ResizeObserver((entries, observer) => {
|
|
3744
|
-
this.ngZone.run(() => this._updateBounds());
|
|
3745
|
-
});
|
|
3746
|
-
ro.observe(element);
|
|
3747
|
-
this.onDispose(() => ro.disconnect());
|
|
3748
|
-
setTimeout(() => this._updateBounds());
|
|
3749
|
-
}
|
|
3750
|
-
get bounds$() {
|
|
3751
|
-
return this._bounds$.readonly$;
|
|
3752
|
-
}
|
|
3753
|
-
get nativeElement() {
|
|
3754
|
-
return this.elementRef.nativeElement;
|
|
3755
|
-
}
|
|
3756
|
-
// TODO: Make this handle body scroll
|
|
3757
|
-
relativePositionOf(point) {
|
|
3758
|
-
return this.bounds.relativePositionOf(point);
|
|
3759
|
-
}
|
|
3760
|
-
get bounds() {
|
|
3761
|
-
return this._bounds$.value;
|
|
3762
|
-
}
|
|
3763
|
-
_updateBounds() {
|
|
3764
|
-
this._bounds$.value = Bounds.ofElement(this.nativeElement);
|
|
3765
|
-
}
|
|
3766
|
-
}
|
|
3767
|
-
ResizeAwareComponent.ResizeTracker = ResizeTracker;
|
|
3768
|
-
})(ResizeAwareComponent || (ResizeAwareComponent = {}));
|
|
3769
|
-
|
|
3770
|
-
var ColumnOrderManager;
|
|
3771
|
-
(function (ColumnOrderManager) {
|
|
3772
|
-
function processPosition(position, callback) {
|
|
3773
|
-
if (position) {
|
|
3774
|
-
const keys = Object.keys(position);
|
|
3775
|
-
if (keys.includes("before")) {
|
|
3776
|
-
return position["before"] ? callback.before(position["before"]) : callback.first();
|
|
3777
|
-
}
|
|
3778
|
-
else {
|
|
3779
|
-
return position["after"] ? callback.after(position["after"]) : callback.last();
|
|
3780
|
-
}
|
|
3781
|
-
}
|
|
3782
|
-
else {
|
|
3783
|
-
return callback.last();
|
|
3784
|
-
}
|
|
3785
|
-
}
|
|
3786
|
-
ColumnOrderManager.processPosition = processPosition;
|
|
3787
|
-
})(ColumnOrderManager || (ColumnOrderManager = {}));
|
|
3471
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
3788
3472
|
|
|
3789
|
-
class
|
|
3790
|
-
|
|
3791
|
-
|
|
3792
|
-
constructor(column, position) {
|
|
3793
|
-
this.column = column;
|
|
3794
|
-
this.position = position;
|
|
3795
|
-
}
|
|
3796
|
-
}
|
|
3797
|
-
class ColumnManager extends GarbageCollector {
|
|
3798
|
-
_columnRefs$ = new MutableListModel();
|
|
3799
|
-
orderedColumnRefs$;
|
|
3800
|
-
_columnsById$;
|
|
3801
|
-
allColumns$;
|
|
3802
|
-
columnVisibilities$ = new WatchList();
|
|
3803
|
-
visibleColumns$;
|
|
3473
|
+
class ColumnListModel extends AbstractComputedListModel {
|
|
3474
|
+
_allColumns$ = new MutableListModel();
|
|
3475
|
+
columnsById$;
|
|
3804
3476
|
constructor() {
|
|
3805
3477
|
super();
|
|
3806
3478
|
const { chain } = Dsl.disposeWith(this);
|
|
3807
|
-
this.
|
|
3808
|
-
this.allColumns$ = this.orderedColumnRefs$.pluck("column");
|
|
3809
|
-
this._columnsById$ = chain(this.allColumns$).indexBy('columnId');
|
|
3810
|
-
this.visibleColumns$ = chain(this.allColumns$).select(it => it.visible$.value, {
|
|
3811
|
-
dependsOn: this.columnVisibilities$
|
|
3812
|
-
});
|
|
3479
|
+
this.columnsById$ = chain(this._allColumns$).indexBy('columnId');
|
|
3813
3480
|
}
|
|
3814
|
-
|
|
3815
|
-
|
|
3816
|
-
const position = this.computePosition(newPosition);
|
|
3817
|
-
this._columnRefs$.replace(target, { with: new ColumnRef(target.column, position) });
|
|
3481
|
+
get allColumns$() {
|
|
3482
|
+
return this._allColumns$.readonly$;
|
|
3818
3483
|
}
|
|
3819
3484
|
getColumn(id) {
|
|
3820
|
-
return this.
|
|
3485
|
+
return this.columnsById$.get(id);
|
|
3821
3486
|
}
|
|
3822
3487
|
hasColumn(id) {
|
|
3823
|
-
return !!this.
|
|
3488
|
+
return !!this.columnsById$.get(id);
|
|
3824
3489
|
}
|
|
3825
3490
|
hasMatchingColumn(row, regex) {
|
|
3826
3491
|
// only search the visible columns
|
|
3827
|
-
return !!this.
|
|
3492
|
+
return !!this.value.find(c => regex.test(c.getSearchTextFor(row)));
|
|
3828
3493
|
}
|
|
3829
|
-
addColumn(column,
|
|
3494
|
+
addColumn(column, index) {
|
|
3830
3495
|
if (this.hasColumn(column.columnId)) {
|
|
3831
3496
|
lang.illegalState(`Column with id=${column.columnId} already exists`);
|
|
3832
3497
|
}
|
|
3833
3498
|
this.registerDisposable(column);
|
|
3834
|
-
this.
|
|
3835
|
-
|
|
3836
|
-
|
|
3837
|
-
|
|
3838
|
-
|
|
3839
|
-
|
|
3840
|
-
return ColumnOrderManager.processPosition(position, {
|
|
3841
|
-
before(col) {
|
|
3842
|
-
const index = q.findIndex(ref => ref.column === col);
|
|
3843
|
-
const beforeCol = q.value[index];
|
|
3844
|
-
const afterCol = index - 1 >= 0 ? q.value[index - 1] : undefined;
|
|
3845
|
-
return generateKeyBetween(afterCol?.position, beforeCol.position);
|
|
3846
|
-
},
|
|
3847
|
-
after(col) {
|
|
3848
|
-
const index = q.findIndex(ref => ref.column === col);
|
|
3849
|
-
const afterCol = q.value[index];
|
|
3850
|
-
const beforeCol = index + 1 < q.length ? q.value[index + 1] : undefined;
|
|
3851
|
-
return generateKeyBetween(afterCol.position, beforeCol?.position);
|
|
3852
|
-
},
|
|
3853
|
-
first() {
|
|
3854
|
-
return generateKeyBetween(null, q.first()?.position);
|
|
3855
|
-
},
|
|
3856
|
-
last() {
|
|
3857
|
-
// add it to the end of the list
|
|
3858
|
-
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);
|
|
3859
3505
|
}
|
|
3506
|
+
this.registerDisposable(this.trackSource(column.visible$));
|
|
3860
3507
|
});
|
|
3508
|
+
return column;
|
|
3861
3509
|
}
|
|
3862
3510
|
doComputeValue() {
|
|
3863
|
-
return this.
|
|
3511
|
+
return this._allColumns$.value.filter(c => c.visible$.value);
|
|
3864
3512
|
}
|
|
3865
3513
|
}
|
|
3866
3514
|
|
|
@@ -3894,8 +3542,8 @@ function EnableCellTextSearch(options) {
|
|
|
3894
3542
|
|
|
3895
3543
|
class CustomValueColumnModel extends ColumnModel {
|
|
3896
3544
|
getValue;
|
|
3897
|
-
constructor(columnId,
|
|
3898
|
-
super(columnId,
|
|
3545
|
+
constructor(columnId, defaults, getValue) {
|
|
3546
|
+
super(columnId, defaults);
|
|
3899
3547
|
this.getValue = getValue;
|
|
3900
3548
|
this.cellRenderer(DefaultCellRendererComponent);
|
|
3901
3549
|
}
|
|
@@ -3903,17 +3551,17 @@ class CustomValueColumnModel extends ColumnModel {
|
|
|
3903
3551
|
this.configureColumnTextSearch(EnableCellTextSearch.getFormatter(componentType, () => new ColumnTextSearchFormatter.Null()), row => this.getValue(row));
|
|
3904
3552
|
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
3905
3553
|
if (firstTime) {
|
|
3906
|
-
if (isFunction(onComponentInitOrOptions)) {
|
|
3554
|
+
if (isFunction$1(onComponentInitOrOptions)) {
|
|
3907
3555
|
onComponentInitOrOptions(component);
|
|
3908
3556
|
}
|
|
3909
3557
|
else {
|
|
3910
|
-
if (isFunction(onComponentInitOrOptions?.onComponentInit)) {
|
|
3558
|
+
if (isFunction$1(onComponentInitOrOptions?.onComponentInit)) {
|
|
3911
3559
|
onComponentInitOrOptions.onComponentInit(component);
|
|
3912
3560
|
}
|
|
3913
3561
|
}
|
|
3914
3562
|
}
|
|
3915
3563
|
component.value = this.getValue(rowData.row);
|
|
3916
|
-
if (!isFunction(onComponentInitOrOptions) && isFunction(onComponentInitOrOptions?.onRowUpdate)) {
|
|
3564
|
+
if (!isFunction$1(onComponentInitOrOptions) && isFunction$1(onComponentInitOrOptions?.onRowUpdate)) {
|
|
3917
3565
|
onComponentInitOrOptions.onRowUpdate(component, rowData.row);
|
|
3918
3566
|
}
|
|
3919
3567
|
}));
|
|
@@ -3925,8 +3573,8 @@ class CustomValueColumnModel extends ColumnModel {
|
|
|
3925
3573
|
}
|
|
3926
3574
|
|
|
3927
3575
|
class EditorControlColumnModel extends ColumnModel {
|
|
3928
|
-
constructor(columnId,
|
|
3929
|
-
super(columnId,
|
|
3576
|
+
constructor(columnId, saveCommandFactory, defaults) {
|
|
3577
|
+
super(columnId, defaults);
|
|
3930
3578
|
this.cellRenderer(EditRowControlsComponent);
|
|
3931
3579
|
}
|
|
3932
3580
|
cellRenderer(componentType) {
|
|
@@ -3951,8 +3599,8 @@ class ListPropertyColumnModel extends ColumnModel {
|
|
|
3951
3599
|
intermediate.map(v => v?.toString()).join(", ") :
|
|
3952
3600
|
intermediate?.toString();
|
|
3953
3601
|
};
|
|
3954
|
-
constructor(id,
|
|
3955
|
-
super(id,
|
|
3602
|
+
constructor(id, property, defaults) {
|
|
3603
|
+
super(id, defaults);
|
|
3956
3604
|
this.property = property;
|
|
3957
3605
|
this.cellRenderer(DefaultCellRendererComponent);
|
|
3958
3606
|
}
|
|
@@ -3968,7 +3616,7 @@ class ListPropertyColumnModel extends ColumnModel {
|
|
|
3968
3616
|
}
|
|
3969
3617
|
cellEditor(editor, validatorsOrInitialiser, initialiseComponent) {
|
|
3970
3618
|
const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
|
|
3971
|
-
const initialiser = isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
|
|
3619
|
+
const initialiser = isFunction$1(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
|
|
3972
3620
|
this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
|
|
3973
3621
|
const formListModel = editSession.form.pluckList(this.property);
|
|
3974
3622
|
if (validators) {
|
|
@@ -3997,8 +3645,8 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
3997
3645
|
_defaultSearchTextFormatter = (value) => {
|
|
3998
3646
|
return (this._userFormat ?? Functions.identity)(value)?.toString();
|
|
3999
3647
|
};
|
|
4000
|
-
constructor(id,
|
|
4001
|
-
super(id,
|
|
3648
|
+
constructor(id, property, defaults) {
|
|
3649
|
+
super(id, defaults);
|
|
4002
3650
|
this.property = property;
|
|
4003
3651
|
this.cellRenderer(DefaultCellRendererComponent);
|
|
4004
3652
|
}
|
|
@@ -4006,11 +3654,11 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
4006
3654
|
this.configureColumnTextSearch(EnableCellTextSearch.getFormatter(componentType, () => ColumnTextSearchFormatter.forFormatter(this._defaultSearchTextFormatter)), row => row[this.property]);
|
|
4007
3655
|
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
4008
3656
|
if (firstTime) {
|
|
4009
|
-
if (isFunction(onComponentInitOrOptions)) {
|
|
3657
|
+
if (isFunction$1(onComponentInitOrOptions)) {
|
|
4010
3658
|
onComponentInitOrOptions(component);
|
|
4011
3659
|
}
|
|
4012
3660
|
else {
|
|
4013
|
-
if (isFunction(onComponentInitOrOptions?.onComponentInit)) {
|
|
3661
|
+
if (isFunction$1(onComponentInitOrOptions?.onComponentInit)) {
|
|
4014
3662
|
onComponentInitOrOptions.onComponentInit(component);
|
|
4015
3663
|
}
|
|
4016
3664
|
}
|
|
@@ -4035,7 +3683,7 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
4035
3683
|
component[ColumnModel.CELL_RENDERER_COMPONENT_ROW_CACHE] = rowData.row;
|
|
4036
3684
|
let disableEditCallback = false;
|
|
4037
3685
|
if (firstTime) {
|
|
4038
|
-
if (isFunction(options?.onComponentInit)) {
|
|
3686
|
+
if (isFunction$1(options?.onComponentInit)) {
|
|
4039
3687
|
options.onComponentInit(component);
|
|
4040
3688
|
}
|
|
4041
3689
|
// install our edit callback
|
|
@@ -4050,7 +3698,7 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
4050
3698
|
disableEditCallback = true;
|
|
4051
3699
|
component.value = rowData.row[this.property];
|
|
4052
3700
|
disableEditCallback = false;
|
|
4053
|
-
if (!isFunction(options) && isFunction(options?.onRowUpdate)) {
|
|
3701
|
+
if (!isFunction$1(options) && isFunction$1(options?.onRowUpdate)) {
|
|
4054
3702
|
options.onRowUpdate(component, rowData.row);
|
|
4055
3703
|
}
|
|
4056
3704
|
}));
|
|
@@ -4058,7 +3706,7 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
4058
3706
|
}
|
|
4059
3707
|
cellEditor(editor, validatorsOrInitialiser, onComponentInit) {
|
|
4060
3708
|
const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
|
|
4061
|
-
const initialiser = isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
|
|
3709
|
+
const initialiser = isFunction$1(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
|
|
4062
3710
|
this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
|
|
4063
3711
|
const formValueModel = editSession.form.pluck(this.property);
|
|
4064
3712
|
if (validators) {
|
|
@@ -4082,37 +3730,29 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
4082
3730
|
}
|
|
4083
3731
|
|
|
4084
3732
|
class SelectionColumnModel extends ColumnModel {
|
|
3733
|
+
selectionModel;
|
|
4085
3734
|
_enableHeaderControls = true;
|
|
4086
3735
|
_color = "accent";
|
|
4087
|
-
|
|
4088
|
-
|
|
4089
|
-
|
|
4090
|
-
constructor(columnId, order, defaults) {
|
|
4091
|
-
super(columnId, order, defaults);
|
|
3736
|
+
constructor(columnId, defaults, selectionModel) {
|
|
3737
|
+
super(columnId, defaults);
|
|
3738
|
+
this.selectionModel = selectionModel;
|
|
4092
3739
|
const { chain } = Dsl.disposeWith(this);
|
|
4093
3740
|
this._selectRowOnClick(false);
|
|
4094
3741
|
this.cellHeaderRenderer(SelectionHeaderCellComponent, (component) => {
|
|
4095
|
-
component.selectionModel = this.
|
|
3742
|
+
component.selectionModel = this.selectionModel;
|
|
4096
3743
|
component.enableHeaderControls = this._enableHeaderControls;
|
|
4097
3744
|
component.color = this._color;
|
|
4098
3745
|
});
|
|
4099
3746
|
this.configureCellRenderer(new ComponentCellRendererPortalRef(SelectionCellComponent, (component, rowData) => {
|
|
4100
3747
|
component.row = rowData.row;
|
|
4101
|
-
component.selectionModel = this.
|
|
3748
|
+
component.selectionModel = this.selectionModel;
|
|
4102
3749
|
component.color = this._color;
|
|
4103
3750
|
}));
|
|
4104
|
-
this.setMasterVisibility(this.
|
|
4105
|
-
this.setDefaultVisibility(chain(this.
|
|
4106
|
-
}
|
|
4107
|
-
get selectionModel() {
|
|
4108
|
-
return this._selectionModelProxy;
|
|
4109
|
-
}
|
|
4110
|
-
get isUsingTemporarySelectionModel$() {
|
|
4111
|
-
return this._isUsingTemporarySelection$.readonly$;
|
|
3751
|
+
this.setMasterVisibility(this.selectionModel.enabled$);
|
|
3752
|
+
this.setDefaultVisibility(chain(this.selectionModel.mode$).equals(SelectionModel.Mode.MULTIPLE));
|
|
4112
3753
|
}
|
|
4113
3754
|
useSelectionModel(selectionModel) {
|
|
4114
|
-
this.
|
|
4115
|
-
this._selectionModelProxy.setProxyTarget(selectionModel);
|
|
3755
|
+
this.selectionModel.setProxyTarget(selectionModel);
|
|
4116
3756
|
}
|
|
4117
3757
|
getDefaultHeaderText() {
|
|
4118
3758
|
return '';
|
|
@@ -4128,63 +3768,13 @@ class SelectionColumnModel extends ColumnModel {
|
|
|
4128
3768
|
this._color = color;
|
|
4129
3769
|
}
|
|
4130
3770
|
selectRow(row) {
|
|
4131
|
-
this.
|
|
3771
|
+
this.selectionModel.selectCommand.execute(row);
|
|
4132
3772
|
}
|
|
4133
3773
|
isSelected(row) {
|
|
4134
|
-
return this.
|
|
4135
|
-
}
|
|
4136
|
-
async withTemporarySelectionModel(createSelectionModel, process) {
|
|
4137
|
-
const garbage = new GarbageCollector();
|
|
4138
|
-
this._isUsingTemporarySelection$.value = true;
|
|
4139
|
-
const selectionModel = createSelectionModel(garbage);
|
|
4140
|
-
this._selectionModelProxy.setProxyTarget(selectionModel);
|
|
4141
|
-
try {
|
|
4142
|
-
await process(selectionModel);
|
|
4143
|
-
}
|
|
4144
|
-
finally {
|
|
4145
|
-
this._selectionModelProxy.setProxyTarget(this._userSelectionModel);
|
|
4146
|
-
garbage.dispose();
|
|
4147
|
-
this._isUsingTemporarySelection$.value = false;
|
|
4148
|
-
}
|
|
3774
|
+
return this.selectionModel.isSelected(row);
|
|
4149
3775
|
}
|
|
4150
3776
|
}
|
|
4151
3777
|
|
|
4152
|
-
let RowClass$1 = class RowClass {
|
|
4153
|
-
className;
|
|
4154
|
-
matches;
|
|
4155
|
-
constructor(className, matches) {
|
|
4156
|
-
this.className = className;
|
|
4157
|
-
this.matches = matches;
|
|
4158
|
-
}
|
|
4159
|
-
};
|
|
4160
|
-
class FooterRowModel {
|
|
4161
|
-
_rowClasses = [];
|
|
4162
|
-
noPadding() {
|
|
4163
|
-
this.addClass("no-padding");
|
|
4164
|
-
}
|
|
4165
|
-
addClass(className, condition) {
|
|
4166
|
-
this._rowClasses.push(new RowClass$1(className, condition ?? (() => true)));
|
|
4167
|
-
}
|
|
4168
|
-
}
|
|
4169
|
-
(function (FooterRowModel) {
|
|
4170
|
-
class Impl extends FooterRowModel {
|
|
4171
|
-
component;
|
|
4172
|
-
onInit;
|
|
4173
|
-
portal;
|
|
4174
|
-
constructor(component, onInit) {
|
|
4175
|
-
super();
|
|
4176
|
-
this.component = component;
|
|
4177
|
-
this.onInit = onInit;
|
|
4178
|
-
this.portal = new ComponentPortal(component);
|
|
4179
|
-
}
|
|
4180
|
-
getActiveRowClasses() {
|
|
4181
|
-
return this._rowClasses.filter(c => c.matches()).map(c => c.className).join(" ");
|
|
4182
|
-
}
|
|
4183
|
-
}
|
|
4184
|
-
FooterRowModel.Impl = Impl;
|
|
4185
|
-
})(FooterRowModel || (FooterRowModel = {}));
|
|
4186
|
-
ProxyRegistry.registerOneTimeBinding(FooterRowModel);
|
|
4187
|
-
|
|
4188
3778
|
class TableMoreMenuComponent extends DisposableComponent {
|
|
4189
3779
|
value$ = new MutableValueModel();
|
|
4190
3780
|
#value_accessor_storage;
|
|
@@ -4194,15 +3784,13 @@ class TableMoreMenuComponent extends DisposableComponent {
|
|
|
4194
3784
|
popupType$ = new MutableValueModel();
|
|
4195
3785
|
popupComponentPortal$;
|
|
4196
3786
|
_visible$ = this.registerDisposable(new DelegatingValueModel());
|
|
4197
|
-
initialiseCallback;
|
|
4198
3787
|
constructor() {
|
|
4199
3788
|
super();
|
|
4200
3789
|
const { chain } = Dsl.disposeWith(this);
|
|
4201
3790
|
this.popupComponentPortal$ = chain(this.popupType$).map(type => new ComponentPortal(type));
|
|
4202
3791
|
}
|
|
4203
|
-
configurePopupComponentType(popupComponentType
|
|
3792
|
+
configurePopupComponentType(popupComponentType) {
|
|
4204
3793
|
this.popupType$.value = popupComponentType;
|
|
4205
|
-
this.initialiseCallback = configureCallback;
|
|
4206
3794
|
}
|
|
4207
3795
|
// Stops tree selection when clicking the menu button
|
|
4208
3796
|
preventDefault($event) {
|
|
@@ -4213,15 +3801,12 @@ class TableMoreMenuComponent extends DisposableComponent {
|
|
|
4213
3801
|
const component = $event.instance;
|
|
4214
3802
|
component.initialise(this.value$, Command.create(() => this.matMenuTrigger.closeMenu()));
|
|
4215
3803
|
this._visible$.setDelegate(component.visible$);
|
|
4216
|
-
if (this.initialiseCallback) {
|
|
4217
|
-
this.initialiseCallback(component);
|
|
4218
|
-
}
|
|
4219
3804
|
}
|
|
4220
3805
|
get visible$() {
|
|
4221
3806
|
return this._visible$.readonly$;
|
|
4222
3807
|
}
|
|
4223
3808
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableMoreMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4224
|
-
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"] }] });
|
|
4225
3810
|
}
|
|
4226
3811
|
__decorate([
|
|
4227
3812
|
StoreInValueModel(),
|
|
@@ -4250,25 +3835,16 @@ class RowClass {
|
|
|
4250
3835
|
this.matches = matches;
|
|
4251
3836
|
}
|
|
4252
3837
|
}
|
|
4253
|
-
class RowAttribute {
|
|
4254
|
-
attributeName;
|
|
4255
|
-
getValue;
|
|
4256
|
-
constructor(attributeName, getValue) {
|
|
4257
|
-
this.attributeName = attributeName;
|
|
4258
|
-
this.getValue = getValue;
|
|
4259
|
-
}
|
|
4260
|
-
}
|
|
4261
3838
|
class AbstractTableModel extends GarbageCollector {
|
|
4262
3839
|
_dataSource$ = this.registerDisposable(new DelegatingListModel());
|
|
4263
3840
|
_filteredRows$ = this.registerDisposable(new DelegatingListModel());
|
|
4264
3841
|
_visibleRows$ = this.registerDisposable(new DelegatingListModel());
|
|
4265
|
-
|
|
3842
|
+
_columnList = this.registerDisposable(new ColumnListModel());
|
|
4266
3843
|
_editorSessions = new MutableListModel();
|
|
4267
3844
|
_rowsBeingEdited$;
|
|
4268
3845
|
saveCommandFactory;
|
|
4269
3846
|
_editorSessionByRowId;
|
|
4270
3847
|
rowClassNamePredicates = [];
|
|
4271
|
-
rowAttributeGenerators = [];
|
|
4272
3848
|
_columnTextPropertiesLookup;
|
|
4273
3849
|
editing$;
|
|
4274
3850
|
firstEditableColumn$;
|
|
@@ -4281,11 +3857,10 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4281
3857
|
textSearchPredicate$;
|
|
4282
3858
|
identityOf;
|
|
4283
3859
|
dataSourceEmpty$;
|
|
3860
|
+
selectionModelProxy = proxify((SelectionModel));
|
|
4284
3861
|
selectedItems$;
|
|
4285
3862
|
leadSelection$;
|
|
4286
3863
|
hasSelection$;
|
|
4287
|
-
footerRowModel;
|
|
4288
|
-
_viewDependencies = new Set();
|
|
4289
3864
|
constructor() {
|
|
4290
3865
|
super();
|
|
4291
3866
|
const { chain } = Dsl.disposeWith(this);
|
|
@@ -4294,21 +3869,18 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4294
3869
|
});
|
|
4295
3870
|
this._editorSessionByRowId = chain(this._editorSessions).indexBy("rowId");
|
|
4296
3871
|
this.editing$ = chain(this._editorSessions).count().isGreaterThan(0);
|
|
4297
|
-
this.textSearchPredicate$ = chain(this.visibleColumns
|
|
3872
|
+
this.textSearchPredicate$ = chain(this.visibleColumns).reduce(columns => {
|
|
4298
3873
|
return (row, regex) => {
|
|
4299
3874
|
return (!regex || !!columns.find(c => regex.test(c.getSearchTextFor(row))));
|
|
4300
3875
|
};
|
|
4301
3876
|
});
|
|
4302
|
-
this.
|
|
4303
|
-
this.
|
|
4304
|
-
this.
|
|
4305
|
-
this.
|
|
4306
|
-
this.firstVisibleColumn$ = chain(this.visibleColumns$).first();
|
|
4307
|
-
this.lastVisibleColumn$ = chain(this.visibleColumns$).last();
|
|
4308
|
-
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);
|
|
4309
3881
|
this.dataSourceEmpty$ = chain(this.dataSource$).isEmpty();
|
|
4310
|
-
this.selectedItems$ = this.
|
|
4311
|
-
this.leadSelection$ = this.
|
|
3882
|
+
this.selectedItems$ = this.selectionModelProxy.selectedItems$;
|
|
3883
|
+
this.leadSelection$ = this.selectionModelProxy.leadSelection$;
|
|
4312
3884
|
this.hasSelection$ = chain(this.selectedItems$).isNotEmpty();
|
|
4313
3885
|
}
|
|
4314
3886
|
setDataSource(dataSource$) {
|
|
@@ -4329,23 +3901,9 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4329
3901
|
],
|
|
4330
3902
|
parent: injector
|
|
4331
3903
|
});
|
|
4332
|
-
this.columns
|
|
3904
|
+
this.columns.value.forEach(c => c.initialise(customInjector));
|
|
4333
3905
|
this.identityOf = identityOf;
|
|
4334
3906
|
}
|
|
4335
|
-
/**
|
|
4336
|
-
* Adds additional models that will trigger a table repaint. This is required if the table
|
|
4337
|
-
* needs to be redrawn outside of changes to the rows of filters. i.e. some eternal state is used
|
|
4338
|
-
* to assign row classes etc.
|
|
4339
|
-
*
|
|
4340
|
-
* Note: This function must be called before the table is bound to the model.
|
|
4341
|
-
* @param hasValues
|
|
4342
|
-
*/
|
|
4343
|
-
viewStateDependsOn(...hasValues) {
|
|
4344
|
-
hasValues.forEach(it => this._viewDependencies.add(it));
|
|
4345
|
-
}
|
|
4346
|
-
get viewStateDependencies() {
|
|
4347
|
-
return Array.from(this._viewDependencies.values());
|
|
4348
|
-
}
|
|
4349
3907
|
get dataSource$() {
|
|
4350
3908
|
return this._dataSource$.readonly$;
|
|
4351
3909
|
}
|
|
@@ -4396,62 +3954,64 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4396
3954
|
});
|
|
4397
3955
|
});
|
|
4398
3956
|
}
|
|
4399
|
-
get columns
|
|
4400
|
-
return this.
|
|
3957
|
+
get columns() {
|
|
3958
|
+
return this._columnList.allColumns$;
|
|
4401
3959
|
}
|
|
4402
|
-
get visibleColumns
|
|
4403
|
-
return this.
|
|
3960
|
+
get visibleColumns() {
|
|
3961
|
+
return this._columnList.readonly$;
|
|
4404
3962
|
}
|
|
4405
3963
|
pluck(property, options) {
|
|
4406
3964
|
const columnId = options?.columnId || property.toString();
|
|
4407
|
-
return this.addColumn(new PropertyColumnModel(columnId,
|
|
3965
|
+
return this.addColumn(new PropertyColumnModel(columnId, property, () => this.getColumnTextProperties(columnId)));
|
|
4408
3966
|
}
|
|
4409
3967
|
pluckList(property, options) {
|
|
4410
3968
|
const columnId = options?.columnId || property.toString();
|
|
4411
|
-
return this.addColumn(new ListPropertyColumnModel(columnId,
|
|
4412
|
-
}
|
|
4413
|
-
|
|
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);
|
|
4414
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;
|
|
4415
3986
|
}
|
|
4416
3987
|
addEditControls(saveCommandFactory, formFactory) {
|
|
4417
3988
|
this.saveCommandFactory = saveCommandFactory;
|
|
4418
|
-
if (isFunction(formFactory)) {
|
|
3989
|
+
if (isFunction$1(formFactory)) {
|
|
4419
3990
|
this._createForm = formFactory;
|
|
4420
3991
|
}
|
|
4421
3992
|
const columnId = "editControls";
|
|
4422
|
-
return this.addColumn(new EditorControlColumnModel(columnId,
|
|
3993
|
+
return this.addColumn(new EditorControlColumnModel(columnId, saveCommandFactory, () => this.getColumnTextProperties(columnId)));
|
|
4423
3994
|
}
|
|
4424
3995
|
addCustomColumn(columnId, dataAccessor) {
|
|
4425
|
-
return this.addColumn(new CustomValueColumnModel(columnId,
|
|
3996
|
+
return this.addColumn(new CustomValueColumnModel(columnId, () => this.getColumnTextProperties(columnId), dataAccessor));
|
|
4426
3997
|
}
|
|
4427
3998
|
addComponentColumn(columnId, component, onComponentInitOrOptions) {
|
|
4428
|
-
return this.addColumn(new CustomValueColumnModel(columnId,
|
|
3999
|
+
return this.addColumn(new CustomValueColumnModel(columnId, () => this.getColumnTextProperties(columnId), row => row)).cellRenderer(component, onComponentInitOrOptions);
|
|
4429
4000
|
}
|
|
4430
|
-
addMoreMenu(componentClass
|
|
4001
|
+
addMoreMenu(componentClass) {
|
|
4431
4002
|
return this.addComponentColumn("more-menu", TableMoreMenuComponent, (component) => {
|
|
4432
|
-
component.configurePopupComponentType(componentClass
|
|
4003
|
+
component.configurePopupComponentType(componentClass);
|
|
4433
4004
|
}).columnTextProperties({
|
|
4434
4005
|
headerText() {
|
|
4435
4006
|
return "";
|
|
4436
4007
|
}
|
|
4437
4008
|
});
|
|
4438
4009
|
}
|
|
4439
|
-
addFooterRow(component, initialiseCallback) {
|
|
4440
|
-
assert.isNil(this.footerRowModel);
|
|
4441
|
-
this.footerRowModel = new FooterRowModel.Impl(component, initialiseCallback);
|
|
4442
|
-
return this.footerRowModel;
|
|
4443
|
-
}
|
|
4444
4010
|
addTemplateColumn(columnId) {
|
|
4445
|
-
return this.addColumn(new CustomTemplateColumnModel(columnId,
|
|
4011
|
+
return this.addColumn(new CustomTemplateColumnModel(columnId, () => this.getColumnTextProperties(columnId)));
|
|
4446
4012
|
}
|
|
4447
|
-
addRowClass(className, predicate
|
|
4013
|
+
addRowClass(className, predicate) {
|
|
4448
4014
|
this.rowClassNamePredicates.push(new RowClass(className, predicate));
|
|
4449
|
-
if (options) {
|
|
4450
|
-
this.viewStateDependsOn(...DependsOnOptions.extract(options));
|
|
4451
|
-
}
|
|
4452
|
-
}
|
|
4453
|
-
addRowAttribute(attributeName, getValue) {
|
|
4454
|
-
this.rowAttributeGenerators.push(new RowAttribute(attributeName, getValue));
|
|
4455
4015
|
}
|
|
4456
4016
|
getRowClasses(row) {
|
|
4457
4017
|
const classNames = [];
|
|
@@ -4462,13 +4022,8 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4462
4022
|
});
|
|
4463
4023
|
return classNames;
|
|
4464
4024
|
}
|
|
4465
|
-
|
|
4466
|
-
return this.
|
|
4467
|
-
return { ...result, [generator.attributeName]: generator.getValue(row) };
|
|
4468
|
-
}, {});
|
|
4469
|
-
}
|
|
4470
|
-
addColumn(column, position) {
|
|
4471
|
-
return this.columnManager.addColumn(column, position);
|
|
4025
|
+
addColumn(column, index) {
|
|
4026
|
+
return this._columnList.addColumn(column, index);
|
|
4472
4027
|
}
|
|
4473
4028
|
columnTextProperties(columnTextProperties) {
|
|
4474
4029
|
this._columnTextPropertiesLookup = columnTextProperties;
|
|
@@ -4483,10 +4038,11 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4483
4038
|
return this.hasUserSelectionModelThatIsEnabled() && !this.rowSelectionDisabledOnAllColumns$.value;
|
|
4484
4039
|
}
|
|
4485
4040
|
hasUserSelectionModelThatIsEnabled() {
|
|
4486
|
-
|
|
4041
|
+
const userSelectionModel = this.selectionColumnModel?.selectionModel.getProxyTarget();
|
|
4042
|
+
return !!userSelectionModel && userSelectionModel.enabled$.value;
|
|
4487
4043
|
}
|
|
4488
4044
|
getSelectionModel() {
|
|
4489
|
-
return this.selectionColumnModel
|
|
4045
|
+
return this.selectionColumnModel?.selectionModel;
|
|
4490
4046
|
}
|
|
4491
4047
|
isHoverEnabled() {
|
|
4492
4048
|
return this.isRowSelectionEnabled() || this.rowClickListeners.listenerCount > 0;
|
|
@@ -4528,15 +4084,15 @@ class TableCellComponent extends DisposableComponent {
|
|
|
4528
4084
|
defaultClassNames = 'aup-cell-renderer';
|
|
4529
4085
|
fillCell = false;
|
|
4530
4086
|
padChild = false;
|
|
4087
|
+
firstEditableColumn;
|
|
4531
4088
|
constructor() {
|
|
4532
4089
|
super();
|
|
4533
4090
|
this.editRowCommand = Command.create(() => {
|
|
4534
4091
|
this.tableModel.startEditSession(this.row);
|
|
4535
4092
|
});
|
|
4536
4093
|
this.onInit(() => {
|
|
4537
|
-
|
|
4538
|
-
|
|
4539
|
-
// 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.
|
|
4540
4096
|
this.column.attachCell(this);
|
|
4541
4097
|
});
|
|
4542
4098
|
}
|
|
@@ -4548,7 +4104,7 @@ class TableCellComponent extends DisposableComponent {
|
|
|
4548
4104
|
}
|
|
4549
4105
|
initialiseEditor(ref) {
|
|
4550
4106
|
this.column.onEditorAttached(this, ref);
|
|
4551
|
-
if (this.
|
|
4107
|
+
if (this.firstEditableColumn.value) {
|
|
4552
4108
|
// @see https://github.com/angular/components/issues/12070
|
|
4553
4109
|
setTimeout(() => this.tryAndFocusEditor(ref));
|
|
4554
4110
|
}
|
|
@@ -4584,7 +4140,7 @@ class TableCellComponent extends DisposableComponent {
|
|
|
4584
4140
|
};
|
|
4585
4141
|
}
|
|
4586
4142
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4587
|
-
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"] }] });
|
|
4588
4144
|
}
|
|
4589
4145
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableCellComponent, decorators: [{
|
|
4590
4146
|
type: Component,
|
|
@@ -4623,7 +4179,7 @@ class TableHeaderCellComponent {
|
|
|
4623
4179
|
return this[HEADER_CELL_RENDERER_PORTAL];
|
|
4624
4180
|
}
|
|
4625
4181
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableHeaderCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4626
|
-
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"] }] });
|
|
4627
4183
|
}
|
|
4628
4184
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableHeaderCellComponent, decorators: [{
|
|
4629
4185
|
type: Component,
|
|
@@ -4635,132 +4191,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
4635
4191
|
args: ['class']
|
|
4636
4192
|
}] } });
|
|
4637
4193
|
|
|
4638
|
-
// eslint-disable-next-line @angular-eslint/component-class-suffix
|
|
4639
|
-
class TableFooterRow {
|
|
4640
|
-
row;
|
|
4641
|
-
defaultClassNames = 'aup-footer-row-renderer';
|
|
4642
|
-
get rowClasses() {
|
|
4643
|
-
return this.row.getActiveRowClasses();
|
|
4644
|
-
}
|
|
4645
|
-
initialise($event) {
|
|
4646
|
-
this.row.onInit && this.row.onInit($event.instance);
|
|
4647
|
-
}
|
|
4648
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableFooterRow, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4649
|
-
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"] }] });
|
|
4650
|
-
}
|
|
4651
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableFooterRow, decorators: [{
|
|
4652
|
-
type: Component,
|
|
4653
|
-
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"] }]
|
|
4654
|
-
}], propDecorators: { row: [{
|
|
4655
|
-
type: Input
|
|
4656
|
-
}], defaultClassNames: [{
|
|
4657
|
-
type: HostBinding,
|
|
4658
|
-
args: ['class']
|
|
4659
|
-
}], rowClasses: [{
|
|
4660
|
-
type: HostBinding,
|
|
4661
|
-
args: ['class']
|
|
4662
|
-
}] } });
|
|
4663
|
-
|
|
4664
|
-
const AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER = new InjectionToken("AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER");
|
|
4665
|
-
class TableRowAttributesDirective {
|
|
4666
|
-
elementRef;
|
|
4667
|
-
aupTableRowAttributes;
|
|
4668
|
-
constructor(elementRef) {
|
|
4669
|
-
this.elementRef = elementRef;
|
|
4670
|
-
}
|
|
4671
|
-
ngOnInit() {
|
|
4672
|
-
for (const attr in this.aupTableRowAttributes) {
|
|
4673
|
-
this.elementRef.nativeElement.setAttribute(attr, this.aupTableRowAttributes[attr]);
|
|
4674
|
-
}
|
|
4675
|
-
}
|
|
4676
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableRowAttributesDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4677
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: TableRowAttributesDirective, selector: "[aupTableRowAttributes]", inputs: { aupTableRowAttributes: "aupTableRowAttributes" }, ngImport: i0 });
|
|
4678
|
-
}
|
|
4679
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableRowAttributesDirective, decorators: [{
|
|
4680
|
-
type: Directive,
|
|
4681
|
-
args: [{
|
|
4682
|
-
selector: "[aupTableRowAttributes]",
|
|
4683
|
-
}]
|
|
4684
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { aupTableRowAttributes: [{
|
|
4685
|
-
type: Input
|
|
4686
|
-
}] } });
|
|
4687
4194
|
class TableBodyComponent extends ResizeAwareComponent {
|
|
4688
|
-
bufferMultiplier;
|
|
4689
4195
|
#data$_accessor_storage = proxify((ListModel));
|
|
4690
4196
|
get data$() { return this.#data$_accessor_storage; }
|
|
4691
4197
|
set data$(value) { this.#data$_accessor_storage = value; }
|
|
4692
4198
|
#tableModel_accessor_storage = proxify((AbstractTableModel));
|
|
4693
4199
|
get tableModel() { return this.#tableModel_accessor_storage; }
|
|
4694
4200
|
set tableModel(value) { this.#tableModel_accessor_storage = value; }
|
|
4695
|
-
#footerRow_accessor_storage = proxify((FooterRowModel.Impl));
|
|
4696
|
-
get footerRow() { return this.#footerRow_accessor_storage; }
|
|
4697
|
-
set footerRow(value) { this.#footerRow_accessor_storage = value; }
|
|
4698
4201
|
#showHeader$_accessor_storage = proxify((ValueModel));
|
|
4699
4202
|
get showHeader$() { return this.#showHeader$_accessor_storage; }
|
|
4700
4203
|
set showHeader$(value) { this.#showHeader$_accessor_storage = value; }
|
|
4701
4204
|
#showHeader_accessor_storage = true;
|
|
4702
4205
|
get showHeader() { return this.#showHeader_accessor_storage; }
|
|
4703
4206
|
set showHeader(value) { this.#showHeader_accessor_storage = value; }
|
|
4207
|
+
visibleRowCount = new EventEmitter();
|
|
4704
4208
|
trackBy;
|
|
4705
|
-
|
|
4706
|
-
|
|
4707
|
-
|
|
4708
|
-
|
|
4709
|
-
|
|
4710
|
-
|
|
4711
|
-
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;
|
|
4712
4215
|
columns$;
|
|
4713
4216
|
columnIds$;
|
|
4714
4217
|
columnsById$;
|
|
4218
|
+
_visibleRowCount$;
|
|
4715
4219
|
// TODO: support user defined header and row heights via css vars.
|
|
4716
|
-
headerHeight$ = new MutableValueModel(
|
|
4717
|
-
rowHeight$ = new MutableValueModel(
|
|
4220
|
+
headerHeight$ = new MutableValueModel(29);
|
|
4221
|
+
rowHeight$ = new MutableValueModel(40);
|
|
4718
4222
|
baseCssClass = "aup-table-component";
|
|
4719
|
-
|
|
4720
|
-
|
|
4721
|
-
|
|
4722
|
-
constructor(bufferMultiplier = 1) {
|
|
4723
|
-
super();
|
|
4724
|
-
this.bufferMultiplier = bufferMultiplier;
|
|
4725
|
-
const { chain, when, observe } = Dsl.disposeWith(this);
|
|
4223
|
+
constructor(elementRef, ngZone) {
|
|
4224
|
+
super(elementRef, ngZone);
|
|
4225
|
+
const { chain, when } = Dsl.disposeWith(this);
|
|
4726
4226
|
const actualHeaderHeight$ = chain(this.showHeader$).map(show => {
|
|
4727
4227
|
return show ? this.headerHeight$.value : 0;
|
|
4728
4228
|
}, { dependsOn: this.headerHeight$ });
|
|
4729
|
-
|
|
4730
|
-
|
|
4731
|
-
|
|
4732
|
-
|
|
4733
|
-
|
|
4734
|
-
this.
|
|
4735
|
-
|
|
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" });
|
|
4736
4240
|
this.onInit(() => {
|
|
4737
|
-
this.columns$ = chain(this.tableModel.
|
|
4241
|
+
this.columns$ = chain(this.tableModel.columns);
|
|
4738
4242
|
this.columnIds$ = chain(this.columns$).pluck("columnId");
|
|
4739
4243
|
this.columnsById$ = chain(this.columns$).indexBy('columnId');
|
|
4740
4244
|
});
|
|
4741
|
-
// const txo = new TransactionObserver({verbose: false}).onEvent(e => console.log(e.name, e.payload));
|
|
4742
|
-
// txo.observe('this.virtualScrollRowRange$', this.virtualScrollRowRange$);
|
|
4743
|
-
// txo.observe('this.virtualScrollSpacerSize$', this.virtualScrollSpacerSize$);
|
|
4744
|
-
// txo.observe('this.virtualRows$', this.virtualRows$);
|
|
4745
|
-
// txo.observe('this.tableBodyHeight$', this.tableBodyHeight$);
|
|
4746
|
-
// txo.observe('this.virtualScrollActive$', this.virtualScrollActive$);
|
|
4747
|
-
}
|
|
4748
|
-
ngAfterViewInit() {
|
|
4749
|
-
super.ngAfterViewInit();
|
|
4750
|
-
if (this.scrollViewport) {
|
|
4751
|
-
const { observe } = Dsl.disposeWith(this);
|
|
4752
|
-
this.scrollViewport.elementScrolled().subscribe(() => this.notifyScrolled());
|
|
4753
|
-
}
|
|
4754
4245
|
}
|
|
4755
4246
|
get hideHeader() {
|
|
4756
4247
|
return !this.showHeader;
|
|
4757
4248
|
}
|
|
4758
|
-
get headerHeightCssVar() {
|
|
4759
|
-
return `${this.headerHeight$.value}px`;
|
|
4760
|
-
}
|
|
4761
|
-
get rowHeightCssVar() {
|
|
4762
|
-
return `${this.rowHeight$.value}px`;
|
|
4763
|
-
}
|
|
4764
4249
|
isEditing(row) {
|
|
4765
4250
|
return !!this.tableModel.getEditSessionFor(row);
|
|
4766
4251
|
}
|
|
@@ -4785,110 +4270,51 @@ class TableBodyComponent extends ResizeAwareComponent {
|
|
|
4785
4270
|
}
|
|
4786
4271
|
return classes;
|
|
4787
4272
|
}
|
|
4788
|
-
|
|
4789
|
-
|
|
4790
|
-
const tbody = this.elementRef.nativeElement.querySelector("tbody");
|
|
4791
|
-
const bodyHeight = tbody.offsetHeight;
|
|
4792
|
-
if (this.data$.length > 0 && bodyHeight < this.rowHeight$.value) {
|
|
4793
|
-
// Hacks to get our virtual scroll to repaint
|
|
4794
|
-
// Logger.get(this).log(`rowCount=${this.data$.length}, bodyHeight=${bodyHeight} -> virtual table not rendering, triggering resize to force repaint`)
|
|
4795
|
-
window.dispatchEvent(new Event('resize'));
|
|
4796
|
-
if (waitMillis < 500) {
|
|
4797
|
-
this.scheduleTableHeightCheck(waitMillis + 50);
|
|
4798
|
-
}
|
|
4799
|
-
}
|
|
4800
|
-
}, waitMillis);
|
|
4801
|
-
}
|
|
4802
|
-
notifyScrolled() {
|
|
4803
|
-
this.virtualScrollActive$.value = true;
|
|
4804
|
-
this.clearScrollTimeout();
|
|
4805
|
-
this.scrollTimeout = setTimeout(() => {
|
|
4806
|
-
return this.virtualScrollActive$.value = false;
|
|
4807
|
-
}, 200);
|
|
4808
|
-
}
|
|
4809
|
-
clearScrollTimeout() {
|
|
4810
|
-
if (this.scrollTimeout) {
|
|
4811
|
-
clearTimeout(this.scrollTimeout);
|
|
4812
|
-
}
|
|
4813
|
-
}
|
|
4814
|
-
initialiseFooter($event) {
|
|
4815
|
-
const portalRef = $event;
|
|
4816
|
-
this.footerRow.onInit(portalRef.instance);
|
|
4817
|
-
}
|
|
4818
|
-
Proxify = Proxify;
|
|
4819
|
-
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 });
|
|
4820
|
-
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"] }] });
|
|
4821
4275
|
}
|
|
4822
4276
|
__decorate([
|
|
4823
4277
|
Proxify(),
|
|
4824
|
-
__metadata("design:type",
|
|
4278
|
+
__metadata("design:type", Object)
|
|
4825
4279
|
], TableBodyComponent.prototype, "data$", null);
|
|
4826
4280
|
__decorate([
|
|
4827
4281
|
Proxify(),
|
|
4828
|
-
__metadata("design:type",
|
|
4282
|
+
__metadata("design:type", Object)
|
|
4829
4283
|
], TableBodyComponent.prototype, "tableModel", null);
|
|
4830
4284
|
__decorate([
|
|
4831
4285
|
Proxify(),
|
|
4832
|
-
__metadata("design:type",
|
|
4833
|
-
], TableBodyComponent.prototype, "footerRow", null);
|
|
4834
|
-
__decorate([
|
|
4835
|
-
Proxify(),
|
|
4836
|
-
__metadata("design:type", ValueModel)
|
|
4286
|
+
__metadata("design:type", Object)
|
|
4837
4287
|
], TableBodyComponent.prototype, "showHeader$", null);
|
|
4838
4288
|
__decorate([
|
|
4839
4289
|
StoreInValueModel(),
|
|
4840
4290
|
__metadata("design:type", Object)
|
|
4841
4291
|
], TableBodyComponent.prototype, "showHeader", null);
|
|
4842
|
-
__decorate([
|
|
4843
|
-
Proxify(),
|
|
4844
|
-
__metadata("design:type", ValueModel)
|
|
4845
|
-
], TableBodyComponent.prototype, "scrollMode$", null);
|
|
4846
|
-
__decorate([
|
|
4847
|
-
StoreInValueModel(),
|
|
4848
|
-
__metadata("design:type", String)
|
|
4849
|
-
], TableBodyComponent.prototype, "scrollMode", null);
|
|
4850
4292
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableBodyComponent, decorators: [{
|
|
4851
4293
|
type: Component,
|
|
4852
|
-
args: [{ selector: "aup-table-body", template: "
|
|
4853
|
-
}], ctorParameters: function () { return [{ type:
|
|
4854
|
-
type: Inject,
|
|
4855
|
-
args: [AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER]
|
|
4856
|
-
}, {
|
|
4857
|
-
type: Optional
|
|
4858
|
-
}] }]; }, 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$: [{
|
|
4859
4296
|
type: Input
|
|
4860
4297
|
}], tableModel: [{
|
|
4861
4298
|
type: Input
|
|
4862
|
-
}], footerRow: [{
|
|
4863
|
-
type: Input
|
|
4864
4299
|
}], showHeader$: [{
|
|
4865
4300
|
type: Input
|
|
4866
4301
|
}], showHeader: [{
|
|
4867
4302
|
type: Input
|
|
4303
|
+
}], visibleRowCount: [{
|
|
4304
|
+
type: Output
|
|
4868
4305
|
}], trackBy: [{
|
|
4869
4306
|
type: Input
|
|
4870
|
-
}],
|
|
4871
|
-
type: Input
|
|
4872
|
-
}], scrollMode: [{
|
|
4307
|
+
}], enableScrolling: [{
|
|
4873
4308
|
type: Input
|
|
4874
4309
|
}, {
|
|
4875
4310
|
type: HostBinding,
|
|
4876
|
-
args: ["
|
|
4877
|
-
}], scrollViewport: [{
|
|
4878
|
-
type: ViewChild,
|
|
4879
|
-
args: [CdkVirtualScrollViewport]
|
|
4311
|
+
args: ["class.enable-scrolling"]
|
|
4880
4312
|
}], baseCssClass: [{
|
|
4881
4313
|
type: HostBinding,
|
|
4882
4314
|
args: ["class"]
|
|
4883
4315
|
}], hideHeader: [{
|
|
4884
4316
|
type: HostBinding,
|
|
4885
4317
|
args: ["class.hide-header"]
|
|
4886
|
-
}], headerHeightCssVar: [{
|
|
4887
|
-
type: HostBinding,
|
|
4888
|
-
args: ["style.--aup-table-header-height"]
|
|
4889
|
-
}], rowHeightCssVar: [{
|
|
4890
|
-
type: HostBinding,
|
|
4891
|
-
args: ["style.--aup-table-row-height"]
|
|
4892
4318
|
}] } });
|
|
4893
4319
|
|
|
4894
4320
|
class TableMoreMenuPopupComponent extends DisposableComponent {
|
|
@@ -5009,10 +4435,8 @@ class TableFilterModel extends GarbageCollector {
|
|
|
5009
4435
|
this.useSearchText(options.searchText$);
|
|
5010
4436
|
this.useRowPredicate(options.predicate$);
|
|
5011
4437
|
const { chain } = Dsl.disposeWith(this);
|
|
5012
|
-
const textSearchRegex$ = chain(this._searchText$)
|
|
5013
|
-
|
|
5014
|
-
.map(text => {
|
|
5015
|
-
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");
|
|
5016
4440
|
}, { allowNil: true });
|
|
5017
4441
|
this._rowPredicate = chain(this._rowPredicate$)
|
|
5018
4442
|
.map(predicate => {
|
|
@@ -5148,16 +4572,8 @@ class TableModel extends AbstractTableModel {
|
|
|
5148
4572
|
this._filteredRows$.setDelegate(filteredRows$);
|
|
5149
4573
|
this._visibleRows$.setDelegate(visibleRows$);
|
|
5150
4574
|
}
|
|
5151
|
-
|
|
5152
|
-
return this.
|
|
5153
|
-
}
|
|
5154
|
-
async withTemporaryMultipleSelectionModel(process) {
|
|
5155
|
-
return this.selectionColumnModel.withTemporarySelectionModel(garbage => {
|
|
5156
|
-
return new MultipleSelectionModel(this.filteredRows$, {
|
|
5157
|
-
identifiedWith: this.dataSource$.identityOf,
|
|
5158
|
-
disposedWith: garbage
|
|
5159
|
-
});
|
|
5160
|
-
}, process);
|
|
4575
|
+
addSelectionColumn(selectionModel, showSelectionColumn) {
|
|
4576
|
+
return this._addSelectionColumn(selectionModel, showSelectionColumn);
|
|
5161
4577
|
}
|
|
5162
4578
|
}
|
|
5163
4579
|
|
|
@@ -5228,30 +4644,31 @@ class TableComponent extends AbstractTableComponent {
|
|
|
5228
4644
|
#filterModel_accessor_storage = proxify((TableFilterModel));
|
|
5229
4645
|
get filterModel() { return this.#filterModel_accessor_storage; }
|
|
5230
4646
|
set filterModel(value) { this.#filterModel_accessor_storage = value; }
|
|
5231
|
-
|
|
5232
|
-
|
|
5233
|
-
|
|
5234
|
-
|
|
5235
|
-
|
|
5236
|
-
|
|
5237
|
-
|
|
5238
|
-
|
|
5239
|
-
|
|
5240
|
-
|
|
5241
|
-
|
|
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
|
+
// }
|
|
5242
4660
|
_footerContentAdded = false;
|
|
5243
4661
|
_filteredRows$ = this.registerDisposable(new DelegatingListModel());
|
|
5244
|
-
|
|
4662
|
+
_pageSize = new MutableValueModel();
|
|
4663
|
+
pagedListModel;
|
|
5245
4664
|
constructor(injector) {
|
|
5246
4665
|
super(injector);
|
|
5247
|
-
const {
|
|
5248
|
-
this.
|
|
5249
|
-
|
|
5250
|
-
}, { dependsOn: this.scrollMode$ });
|
|
4666
|
+
const { when } = Dsl.disposeWith(this);
|
|
4667
|
+
this.onDispose(() => this.disposeOfPagedListModel());
|
|
4668
|
+
when(this.enablePaging$).changes(enabled => this.configurePaging(enabled));
|
|
5251
4669
|
}
|
|
5252
4670
|
ngOnInit() {
|
|
5253
4671
|
super.ngOnInit();
|
|
5254
|
-
const { when } = Dsl.disposeWith(this);
|
|
5255
4672
|
if (CanProxy.hasTarget(this.filterModel)) {
|
|
5256
4673
|
this.registerDisposable(this.filterModel.bindToTable(this._dataSource$, this.getModel().textSearchPredicate$));
|
|
5257
4674
|
this.highlightText$.setDelegate(this.filterModel.highlightText$);
|
|
@@ -5260,27 +4677,50 @@ class TableComponent extends AbstractTableComponent {
|
|
|
5260
4677
|
else {
|
|
5261
4678
|
this._filteredRows$.setDelegate(this._dataSource$);
|
|
5262
4679
|
}
|
|
5263
|
-
this.
|
|
5264
|
-
// 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);
|
|
5265
4681
|
this.tableModel.bindToTable(this._filteredRows$, this._visibleRows$);
|
|
5266
|
-
when.anyOf(...this.tableModel.viewStateDependencies).changes(() => this.cdr.markForCheck());
|
|
5267
|
-
this.viewStateDependsOn(this._filteredRows$, this.tableModel.visibleColumns$);
|
|
5268
4682
|
}
|
|
5269
4683
|
getModel() {
|
|
5270
4684
|
return this.tableModel;
|
|
5271
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
|
+
}
|
|
5272
4708
|
footerContentChanged($event) {
|
|
5273
4709
|
// console.log($event);
|
|
5274
4710
|
this._footerContentAdded = true;
|
|
5275
4711
|
}
|
|
4712
|
+
//@Trace()
|
|
4713
|
+
updatePageSize(count) {
|
|
4714
|
+
this._pageSize.value = count;
|
|
4715
|
+
}
|
|
5276
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 });
|
|
5277
|
-
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: [
|
|
5278
4718
|
{ provide: AbstractTableComponent, useExisting: TableComponent }
|
|
5279
|
-
],
|
|
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"] }] });
|
|
5280
4720
|
}
|
|
5281
4721
|
__decorate([
|
|
5282
4722
|
Proxify(),
|
|
5283
|
-
__metadata("design:type",
|
|
4723
|
+
__metadata("design:type", Object)
|
|
5284
4724
|
], TableComponent.prototype, "tableModel", null);
|
|
5285
4725
|
__decorate([
|
|
5286
4726
|
Proxify(),
|
|
@@ -5288,27 +4728,24 @@ __decorate([
|
|
|
5288
4728
|
], TableComponent.prototype, "filterModel", null);
|
|
5289
4729
|
__decorate([
|
|
5290
4730
|
Proxify(),
|
|
5291
|
-
__metadata("design:type",
|
|
5292
|
-
], TableComponent.prototype, "
|
|
4731
|
+
__metadata("design:type", Object)
|
|
4732
|
+
], TableComponent.prototype, "enablePaging$", null);
|
|
5293
4733
|
__decorate([
|
|
5294
4734
|
StoreInValueModel(),
|
|
5295
4735
|
__metadata("design:type", Object)
|
|
5296
|
-
], TableComponent.prototype, "
|
|
4736
|
+
], TableComponent.prototype, "enablePaging", null);
|
|
5297
4737
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableComponent, decorators: [{
|
|
5298
4738
|
type: Component,
|
|
5299
4739
|
args: [{ selector: 'aup-table', providers: [
|
|
5300
4740
|
{ provide: AbstractTableComponent, useExisting: TableComponent }
|
|
5301
|
-
], 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"] }]
|
|
5302
4742
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { tableModel: [{
|
|
5303
4743
|
type: Input
|
|
5304
4744
|
}], filterModel: [{
|
|
5305
4745
|
type: Input
|
|
5306
|
-
}],
|
|
5307
|
-
type: ViewChild,
|
|
5308
|
-
args: [TableBodyComponent]
|
|
5309
|
-
}], scrollMode$: [{
|
|
4746
|
+
}], enablePaging$: [{
|
|
5310
4747
|
type: Input
|
|
5311
|
-
}],
|
|
4748
|
+
}], enablePaging: [{
|
|
5312
4749
|
type: Input
|
|
5313
4750
|
}] } });
|
|
5314
4751
|
|
|
@@ -5490,7 +4927,7 @@ var DecoratedTreeNode;
|
|
|
5490
4927
|
}
|
|
5491
4928
|
}
|
|
5492
4929
|
__decorate([
|
|
5493
|
-
|
|
4930
|
+
Memoize(),
|
|
5494
4931
|
__metadata("design:type", Array),
|
|
5495
4932
|
__metadata("design:paramtypes", [])
|
|
5496
4933
|
], Decorator.prototype, "children", null);
|
|
@@ -5543,7 +4980,7 @@ var DecoratedTreeNode;
|
|
|
5543
4980
|
__metadata("design:returntype", Array)
|
|
5544
4981
|
], Decorator.prototype, "ancestors", null);
|
|
5545
4982
|
__decorate([
|
|
5546
|
-
|
|
4983
|
+
Memoize(),
|
|
5547
4984
|
__metadata("design:type", Number),
|
|
5548
4985
|
__metadata("design:paramtypes", [])
|
|
5549
4986
|
], Decorator.prototype, "depth", null);
|
|
@@ -5554,8 +4991,8 @@ class TreeLabelColumnModel extends ColumnModel {
|
|
|
5554
4991
|
expansionModel;
|
|
5555
4992
|
labelFactory = () => undefined;
|
|
5556
4993
|
iconFactory;
|
|
5557
|
-
constructor(columnId,
|
|
5558
|
-
super(columnId,
|
|
4994
|
+
constructor(columnId, textPropertiesProvider, expansionModel) {
|
|
4995
|
+
super(columnId, textPropertiesProvider);
|
|
5559
4996
|
this.expansionModel = expansionModel;
|
|
5560
4997
|
this.cellRenderer(TreeLabelCellRendererComponent);
|
|
5561
4998
|
}
|
|
@@ -5614,7 +5051,7 @@ class TreeTableModel extends AbstractTableModel {
|
|
|
5614
5051
|
get isExpandedPredicate$() {
|
|
5615
5052
|
return this._isExpandedPredicate$.readonly$;
|
|
5616
5053
|
}
|
|
5617
|
-
bindToTable(expansionModel, filteredRows$, visibleRows
|
|
5054
|
+
bindToTable(expansionModel, filteredRows$, visibleRows$) {
|
|
5618
5055
|
this.treeExpansionModel = expansionModel;
|
|
5619
5056
|
// TODO: Move all the expansion model stuff out of here and have things use the expansion model directly
|
|
5620
5057
|
this._isExpandedPredicate$.setDelegate(this.treeExpansionModel.isExpandedPredicate$);
|
|
@@ -5623,7 +5060,7 @@ class TreeTableModel extends AbstractTableModel {
|
|
|
5623
5060
|
}
|
|
5624
5061
|
treeControlColumn(builder) {
|
|
5625
5062
|
const columnId = 'tree-label';
|
|
5626
|
-
const column = new TreeLabelColumnModel(columnId,
|
|
5063
|
+
const column = new TreeLabelColumnModel(columnId, () => this.getColumnTextProperties(columnId), this);
|
|
5627
5064
|
builder(column);
|
|
5628
5065
|
this.addColumn(column);
|
|
5629
5066
|
}
|
|
@@ -5642,6 +5079,9 @@ class TreeTableModel extends AbstractTableModel {
|
|
|
5642
5079
|
isExpanded(row) {
|
|
5643
5080
|
return this.treeExpansionModel.isExpanded(row);
|
|
5644
5081
|
}
|
|
5082
|
+
addSelectionColumn(selectionModel, showSelectionColumn) {
|
|
5083
|
+
return this._addSelectionColumn(selectionModel, showSelectionColumn);
|
|
5084
|
+
}
|
|
5645
5085
|
}
|
|
5646
5086
|
// export class FlattenStrategy<T extends VisitableTree<any>> extends SelfAndDescendantsVisitor<T> {
|
|
5647
5087
|
//
|
|
@@ -5946,15 +5386,11 @@ class TreeTableComponent extends AbstractTableComponent {
|
|
|
5946
5386
|
#expansionModel_accessor_storage = proxify((TreeExpansionModel));
|
|
5947
5387
|
get expansionModel() { return this.#expansionModel_accessor_storage; }
|
|
5948
5388
|
set expansionModel(value) { this.#expansionModel_accessor_storage = value; }
|
|
5949
|
-
scrollMode$;
|
|
5950
5389
|
constructor(injector) {
|
|
5951
5390
|
super(injector);
|
|
5952
|
-
const { chain } = Dsl.disposeWith(this);
|
|
5953
|
-
this.scrollMode$ = chain(this.enableScrolling$).map(enabled => enabled ? "classic" : "none");
|
|
5954
5391
|
}
|
|
5955
5392
|
ngOnInit() {
|
|
5956
5393
|
super.ngOnInit();
|
|
5957
|
-
const { when } = Dsl.disposeWith(this);
|
|
5958
5394
|
// TODO: clean up all this tightly coupled shit, should the expansion model really be separate from the tree model?
|
|
5959
5395
|
if (!this.expansionModel) {
|
|
5960
5396
|
this.expansionModel = new TreeExpansionModel({ disposedWith: this });
|
|
@@ -5963,10 +5399,7 @@ class TreeTableComponent extends AbstractTableComponent {
|
|
|
5963
5399
|
const visibleRows$ = new FlattenedTreeListModel(this._dataSource$, row => this.treeTableModel.childExtractor(row), this.expansionModel);
|
|
5964
5400
|
this._visibleRows$.setDelegate(visibleRows$);
|
|
5965
5401
|
this.expansionModel.bindToTable(this._dataSource$, visibleRows$);
|
|
5966
|
-
this.treeTableModel.bindToTable(this.expansionModel, visibleRows$, this._visibleRows
|
|
5967
|
-
this.viewStateDependsOn(this.treeTableModel.visibleRows$);
|
|
5968
|
-
this.viewStateDependsOn(this.treeTableModel.visibleRows$);
|
|
5969
|
-
when.anyOf(...this.treeTableModel.viewStateDependencies).changes(() => this.cdr.markForCheck());
|
|
5402
|
+
this.treeTableModel.bindToTable(this.expansionModel, visibleRows$, this._visibleRows$);
|
|
5970
5403
|
}
|
|
5971
5404
|
getModel() {
|
|
5972
5405
|
return this.treeTableModel;
|
|
@@ -5974,7 +5407,7 @@ class TreeTableComponent extends AbstractTableComponent {
|
|
|
5974
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 });
|
|
5975
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: [
|
|
5976
5409
|
{ provide: AbstractTableComponent, useExisting: TreeTableComponent }
|
|
5977
|
-
], 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"] }] });
|
|
5978
5411
|
}
|
|
5979
5412
|
__decorate([
|
|
5980
5413
|
Proxify(),
|
|
@@ -5988,7 +5421,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
5988
5421
|
type: Component,
|
|
5989
5422
|
args: [{ selector: 'aup-tree-table', providers: [
|
|
5990
5423
|
{ provide: AbstractTableComponent, useExisting: TreeTableComponent }
|
|
5991
|
-
], 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"] }]
|
|
5992
5425
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { treeTableModel: [{
|
|
5993
5426
|
type: Input
|
|
5994
5427
|
}], expansionModel: [{
|
|
@@ -6170,7 +5603,6 @@ class ComponentsModule {
|
|
|
6170
5603
|
FocusableComponent,
|
|
6171
5604
|
CardContainerComponent,
|
|
6172
5605
|
TableComponent,
|
|
6173
|
-
TableRowAttributesDirective,
|
|
6174
5606
|
EditRowControlsComponent,
|
|
6175
5607
|
ColumnTemplateDirective,
|
|
6176
5608
|
DefaultCellRendererComponent,
|
|
@@ -6204,9 +5636,7 @@ class ComponentsModule {
|
|
|
6204
5636
|
MarkdownComponent,
|
|
6205
5637
|
TableBodyComponent,
|
|
6206
5638
|
TableMoreMenuComponent,
|
|
6207
|
-
TableMoreMenuPopupComponent,
|
|
6208
|
-
SearchInputComponent,
|
|
6209
|
-
TableFooterRow], imports: [CommonModule,
|
|
5639
|
+
TableMoreMenuPopupComponent], imports: [CommonModule,
|
|
6210
5640
|
BrowserAnimationsModule,
|
|
6211
5641
|
FormsModule,
|
|
6212
5642
|
MatInputModule,
|
|
@@ -6225,10 +5655,7 @@ class ComponentsModule {
|
|
|
6225
5655
|
MatMenuModule,
|
|
6226
5656
|
MatDividerModule,
|
|
6227
5657
|
MatProgressSpinnerModule,
|
|
6228
|
-
MatProgressBarModule,
|
|
6229
|
-
ScrollingModule,
|
|
6230
|
-
TableVirtualScrollModule], exports: [TableFooterRow,
|
|
6231
|
-
NumberInputComponent,
|
|
5658
|
+
MatProgressBarModule], exports: [NumberInputComponent,
|
|
6232
5659
|
StringInputComponent,
|
|
6233
5660
|
TextInputComponent,
|
|
6234
5661
|
PasswordInputComponent,
|
|
@@ -6266,8 +5693,7 @@ class ComponentsModule {
|
|
|
6266
5693
|
LoadingContainerComponent,
|
|
6267
5694
|
MarkdownComponent,
|
|
6268
5695
|
TableMoreMenuComponent,
|
|
6269
|
-
TableMoreMenuPopupComponent
|
|
6270
|
-
SearchInputComponent] });
|
|
5696
|
+
TableMoreMenuPopupComponent] });
|
|
6271
5697
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ComponentsModule, providers: [
|
|
6272
5698
|
FocusBindingFactory,
|
|
6273
5699
|
MarkdownService
|
|
@@ -6290,9 +5716,7 @@ class ComponentsModule {
|
|
|
6290
5716
|
MatMenuModule,
|
|
6291
5717
|
MatDividerModule,
|
|
6292
5718
|
MatProgressSpinnerModule,
|
|
6293
|
-
MatProgressBarModule
|
|
6294
|
-
ScrollingModule,
|
|
6295
|
-
TableVirtualScrollModule] });
|
|
5719
|
+
MatProgressBarModule] });
|
|
6296
5720
|
}
|
|
6297
5721
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ComponentsModule, decorators: [{
|
|
6298
5722
|
type: NgModule,
|
|
@@ -6317,9 +5741,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6317
5741
|
MatMenuModule,
|
|
6318
5742
|
MatDividerModule,
|
|
6319
5743
|
MatProgressSpinnerModule,
|
|
6320
|
-
MatProgressBarModule
|
|
6321
|
-
ScrollingModule,
|
|
6322
|
-
TableVirtualScrollModule
|
|
5744
|
+
MatProgressBarModule
|
|
6323
5745
|
],
|
|
6324
5746
|
declarations: [
|
|
6325
5747
|
AbstractInputComponent,
|
|
@@ -6343,7 +5765,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6343
5765
|
FocusableComponent,
|
|
6344
5766
|
CardContainerComponent,
|
|
6345
5767
|
TableComponent,
|
|
6346
|
-
TableRowAttributesDirective,
|
|
6347
5768
|
EditRowControlsComponent,
|
|
6348
5769
|
ColumnTemplateDirective,
|
|
6349
5770
|
DefaultCellRendererComponent,
|
|
@@ -6378,11 +5799,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6378
5799
|
TableBodyComponent,
|
|
6379
5800
|
TableMoreMenuComponent,
|
|
6380
5801
|
TableMoreMenuPopupComponent,
|
|
6381
|
-
SearchInputComponent,
|
|
6382
|
-
TableFooterRow
|
|
6383
5802
|
],
|
|
6384
5803
|
exports: [
|
|
6385
|
-
TableFooterRow,
|
|
6386
5804
|
NumberInputComponent,
|
|
6387
5805
|
StringInputComponent,
|
|
6388
5806
|
TextInputComponent,
|
|
@@ -6422,7 +5840,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6422
5840
|
MarkdownComponent,
|
|
6423
5841
|
TableMoreMenuComponent,
|
|
6424
5842
|
TableMoreMenuPopupComponent,
|
|
6425
|
-
SearchInputComponent
|
|
6426
5843
|
],
|
|
6427
5844
|
providers: [
|
|
6428
5845
|
FocusBindingFactory,
|
|
@@ -6431,73 +5848,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6431
5848
|
}]
|
|
6432
5849
|
}] });
|
|
6433
5850
|
|
|
6434
|
-
class LoadableComponent extends DisposableComponent {
|
|
6435
|
-
#_loaded$ = new MutableValueModel();
|
|
6436
|
-
#asyncLoadables = [];
|
|
6437
|
-
#awaitedLoadables = [];
|
|
6438
|
-
get loaded$() {
|
|
6439
|
-
return this.#_loaded$.readonly$;
|
|
6440
|
-
}
|
|
6441
|
-
ngOnInit() {
|
|
6442
|
-
super.ngOnInit();
|
|
6443
|
-
this.#asyncLoadables.forEach(it => it.ensureLoaded());
|
|
6444
|
-
if (this.#awaitedLoadables.length > 0) {
|
|
6445
|
-
Promise.all(this.#awaitedLoadables.map(it => {
|
|
6446
|
-
return it.ensureLoaded(); //.then(() => console.log(`${it.constructor.name} loaded`));
|
|
6447
|
-
})).then(() => {
|
|
6448
|
-
this.#_loaded$.value = true;
|
|
6449
|
-
});
|
|
6450
|
-
}
|
|
6451
|
-
else {
|
|
6452
|
-
this.#_loaded$.value = true;
|
|
6453
|
-
}
|
|
6454
|
-
}
|
|
6455
|
-
injectLoadable(token, options) {
|
|
6456
|
-
return this.registerLoadable(inject(token, options), options);
|
|
6457
|
-
}
|
|
6458
|
-
registerLoadable(loadable, options) {
|
|
6459
|
-
if (this.loaded$.value) {
|
|
6460
|
-
loadable.ensureLoaded();
|
|
6461
|
-
}
|
|
6462
|
-
else {
|
|
6463
|
-
if (!options || options.wait === true) {
|
|
6464
|
-
this.#awaitedLoadables.push(loadable);
|
|
6465
|
-
}
|
|
6466
|
-
else {
|
|
6467
|
-
this.#asyncLoadables.push(loadable);
|
|
6468
|
-
}
|
|
6469
|
-
}
|
|
6470
|
-
return loadable;
|
|
6471
|
-
}
|
|
6472
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: LoadableComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
6473
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: LoadableComponent, usesInheritance: true, ngImport: i0 });
|
|
6474
|
-
}
|
|
6475
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: LoadableComponent, decorators: [{
|
|
6476
|
-
type: Directive
|
|
6477
|
-
}] });
|
|
6478
|
-
|
|
6479
|
-
class TextSearchContext {
|
|
6480
|
-
row;
|
|
6481
|
-
searchText;
|
|
6482
|
-
searchRegex;
|
|
6483
|
-
constructor(row, searchText, searchRegex) {
|
|
6484
|
-
this.row = row;
|
|
6485
|
-
this.searchText = searchText;
|
|
6486
|
-
this.searchRegex = searchRegex;
|
|
6487
|
-
}
|
|
6488
|
-
getOrCreate(type, create) {
|
|
6489
|
-
}
|
|
6490
|
-
matchesText(text) {
|
|
6491
|
-
return this.searchRegex.test(text);
|
|
6492
|
-
}
|
|
6493
|
-
}
|
|
6494
|
-
|
|
6495
|
-
class AbstractCellRenderer extends LoadableComponent {
|
|
6496
|
-
constructor() {
|
|
6497
|
-
super();
|
|
6498
|
-
}
|
|
6499
|
-
}
|
|
6500
|
-
|
|
6501
5851
|
/**
|
|
6502
5852
|
* @file Automatically generated by barrelsby.
|
|
6503
5853
|
*/
|
|
@@ -6524,6 +5874,7 @@ class AbstractCellRenderer extends LoadableComponent {
|
|
|
6524
5874
|
* </aup-activity-actions>
|
|
6525
5875
|
*/
|
|
6526
5876
|
class ActivityActionsComponent extends DisposableComponent {
|
|
5877
|
+
cdr;
|
|
6527
5878
|
confirmCommandComponent;
|
|
6528
5879
|
cancelCommandComponent;
|
|
6529
5880
|
#confirmCommand_accessor_storage = proxify((Command));
|
|
@@ -6552,9 +5903,9 @@ class ActivityActionsComponent extends DisposableComponent {
|
|
|
6552
5903
|
}
|
|
6553
5904
|
layout = ActivityActionsComponent.Layout.BLOCK;
|
|
6554
5905
|
align = ActivityActionsComponent.Align.STRETCH;
|
|
6555
|
-
|
|
6556
|
-
constructor() {
|
|
5906
|
+
constructor(cdr) {
|
|
6557
5907
|
super();
|
|
5908
|
+
this.cdr = cdr;
|
|
6558
5909
|
}
|
|
6559
5910
|
hasConfirmFace() {
|
|
6560
5911
|
return !!this.confirmFace;
|
|
@@ -6573,8 +5924,8 @@ class ActivityActionsComponent extends DisposableComponent {
|
|
|
6573
5924
|
focusCancel() {
|
|
6574
5925
|
this.cancelCommandComponent.requestFocus();
|
|
6575
5926
|
}
|
|
6576
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6577
|
-
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"] }] });
|
|
6578
5929
|
}
|
|
6579
5930
|
__decorate([
|
|
6580
5931
|
Proxify(),
|
|
@@ -6586,8 +5937,8 @@ __decorate([
|
|
|
6586
5937
|
], ActivityActionsComponent.prototype, "cancelCommand", null);
|
|
6587
5938
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityActionsComponent, decorators: [{
|
|
6588
5939
|
type: Component,
|
|
6589
|
-
args: [{ selector: 'aup-activity-actions', template: "<div class=\"content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"
|
|
6590
|
-
}], 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: [{
|
|
6591
5942
|
type: ViewChild,
|
|
6592
5943
|
args: ["confirmCommandComponent"]
|
|
6593
5944
|
}], cancelCommandComponent: [{
|
|
@@ -6615,11 +5966,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6615
5966
|
}, {
|
|
6616
5967
|
type: HostBinding,
|
|
6617
5968
|
args: ['attr.align']
|
|
6618
|
-
}], alignContent: [{
|
|
6619
|
-
type: Input
|
|
6620
|
-
}, {
|
|
6621
|
-
type: HostBinding,
|
|
6622
|
-
args: ['attr.align-content']
|
|
6623
5969
|
}] } });
|
|
6624
5970
|
(function (ActivityActionsComponent) {
|
|
6625
5971
|
ActivityActionsComponent.Layout = Enum({
|
|
@@ -6628,19 +5974,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6628
5974
|
});
|
|
6629
5975
|
ActivityActionsComponent.Align = Enum({
|
|
6630
5976
|
START: 'start',
|
|
6631
|
-
|
|
6632
|
-
|
|
6633
|
-
});
|
|
6634
|
-
ActivityActionsComponent.AlignContent = Enum({
|
|
6635
|
-
START: 'start',
|
|
6636
|
-
CENTER: 'center',
|
|
6637
|
-
END: 'end'
|
|
5977
|
+
END: 'end',
|
|
5978
|
+
STRETCH: 'stretch'
|
|
6638
5979
|
});
|
|
6639
5980
|
})(ActivityActionsComponent || (ActivityActionsComponent = {}));
|
|
6640
5981
|
|
|
6641
5982
|
const ACTIVITY_DATA = new InjectionToken("InteractionActivityData");
|
|
6642
5983
|
// eslint-disable-next-line @angular-eslint/component-class-suffix
|
|
6643
|
-
class Activity extends
|
|
5984
|
+
class Activity extends DisposableComponent {
|
|
6644
5985
|
activityData = inject(ACTIVITY_DATA);
|
|
6645
5986
|
activityReadyListeners = new EventListenerList();
|
|
6646
5987
|
_busy$ = this.registerDisposable(new DelegatingValueModel().withDefault(false));
|
|
@@ -6695,6 +6036,7 @@ class Activity extends LoadableComponent {
|
|
|
6695
6036
|
notifyActivityReady() {
|
|
6696
6037
|
this.activityReadyListeners.fire(l => l(this));
|
|
6697
6038
|
this._ready$.value = true;
|
|
6039
|
+
console.log("ready");
|
|
6698
6040
|
}
|
|
6699
6041
|
onActivityReady(callback) {
|
|
6700
6042
|
return this.activityReadyListeners.add(callback);
|
|
@@ -6814,7 +6156,7 @@ class AbstractDialogComponent extends Activity {
|
|
|
6814
6156
|
}
|
|
6815
6157
|
}
|
|
6816
6158
|
isDestructive() {
|
|
6817
|
-
return isFunction(this.config['destructive']) && this.config["destructive"]();
|
|
6159
|
+
return isFunction$1(this.config['destructive']) && this.config["destructive"]();
|
|
6818
6160
|
}
|
|
6819
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 });
|
|
6820
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 });
|
|
@@ -6831,7 +6173,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6831
6173
|
|
|
6832
6174
|
class AbstractConfirmDialogComponent extends AbstractDialogComponent {
|
|
6833
6175
|
cancelFace;
|
|
6834
|
-
confirmClass = "aup-confirm-activity";
|
|
6835
6176
|
constructor(config) {
|
|
6836
6177
|
super(config);
|
|
6837
6178
|
this.cancelFace = {
|
|
@@ -6842,7 +6183,7 @@ class AbstractConfirmDialogComponent extends AbstractDialogComponent {
|
|
|
6842
6183
|
});
|
|
6843
6184
|
}
|
|
6844
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 });
|
|
6845
|
-
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 });
|
|
6846
6187
|
}
|
|
6847
6188
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractConfirmDialogComponent, decorators: [{
|
|
6848
6189
|
type: Component,
|
|
@@ -6852,10 +6193,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6852
6193
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
6853
6194
|
type: Inject,
|
|
6854
6195
|
args: [ALERT_CONFIG]
|
|
6855
|
-
}] }]; }
|
|
6856
|
-
type: HostBinding,
|
|
6857
|
-
args: ["class"]
|
|
6858
|
-
}] } });
|
|
6196
|
+
}] }]; } });
|
|
6859
6197
|
|
|
6860
6198
|
class ActivityBodyComponent extends DisposableComponent {
|
|
6861
6199
|
fullWidth = false;
|
|
@@ -7394,7 +6732,7 @@ const ROUTE_PARAMETER_LIST_KEY = Symbol('place:route:parameters');
|
|
|
7394
6732
|
// return true;
|
|
7395
6733
|
// }
|
|
7396
6734
|
// }
|
|
7397
|
-
class PlaceComponent extends
|
|
6735
|
+
class PlaceComponent extends DisposableComponent {
|
|
7398
6736
|
_placeReadyCallbacks = [];
|
|
7399
6737
|
visitModel = new MutableValueModel();
|
|
7400
6738
|
_inVisitUpdate = new Guard();
|
|
@@ -7451,7 +6789,6 @@ class PlaceComponent extends LoadableComponent {
|
|
|
7451
6789
|
*/
|
|
7452
6790
|
installAndInitialiseBinding(initialVisit, parameterDef) {
|
|
7453
6791
|
const model = this[parameterDef.propertyName];
|
|
7454
|
-
assert.notNil(model);
|
|
7455
6792
|
DebugContext.tag(model, `${this.placeDefinition.component.name}.${parameterDef.propertyName}`);
|
|
7456
6793
|
const binding = this.registerDisposable(new Binding(this.visitModel, model, {
|
|
7457
6794
|
toRight(visit) {
|
|
@@ -7536,7 +6873,7 @@ class PlaceComponent extends LoadableComponent {
|
|
|
7536
6873
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: PlaceComponent, usesInheritance: true, ngImport: i0 });
|
|
7537
6874
|
}
|
|
7538
6875
|
__decorate([
|
|
7539
|
-
|
|
6876
|
+
Memoize(),
|
|
7540
6877
|
__metadata("design:type", PlaceDefinition),
|
|
7541
6878
|
__metadata("design:paramtypes", [])
|
|
7542
6879
|
], PlaceComponent.prototype, "placeDefinition", null);
|
|
@@ -7726,7 +7063,7 @@ class Visit {
|
|
|
7726
7063
|
getRouterCommands() {
|
|
7727
7064
|
return this.segments.reduce((result, v) => {
|
|
7728
7065
|
const path = v.placeDefinition.path;
|
|
7729
|
-
return isEmpty(path) ?
|
|
7066
|
+
return isEmpty$1(path) ?
|
|
7730
7067
|
[...result, path] : // Angular doesn't support route params on empty path segments
|
|
7731
7068
|
[...result, path, ...v.createRouterCommands()];
|
|
7732
7069
|
}, []);
|
|
@@ -7742,7 +7079,7 @@ class Visit {
|
|
|
7742
7079
|
}
|
|
7743
7080
|
}
|
|
7744
7081
|
__decorate([
|
|
7745
|
-
Memoize(),
|
|
7082
|
+
Memoize$1(),
|
|
7746
7083
|
__metadata("design:type", Function),
|
|
7747
7084
|
__metadata("design:paramtypes", [PlaceDefinition]),
|
|
7748
7085
|
__metadata("design:returntype", VisitSegment)
|
|
@@ -8123,7 +7460,10 @@ class SynchroniseInteractionContextIdsWithRoute extends NavigationSession {
|
|
|
8123
7460
|
return true;
|
|
8124
7461
|
}
|
|
8125
7462
|
notifyActive() {
|
|
8126
|
-
this
|
|
7463
|
+
// TODO: Do I still need this??
|
|
7464
|
+
setTimeout(() => {
|
|
7465
|
+
this.syncInteractionIdsWithRouter();
|
|
7466
|
+
});
|
|
8127
7467
|
}
|
|
8128
7468
|
// @Trace()
|
|
8129
7469
|
onRouterEnd(event) {
|
|
@@ -8662,12 +8002,12 @@ class PlaceAuthService extends GarbageCollector {
|
|
|
8662
8002
|
await toPromise(this, this._authZReady$);
|
|
8663
8003
|
await this.enabledPlaceChecker.waitUntilReady(placeDef);
|
|
8664
8004
|
}
|
|
8665
|
-
|
|
8666
|
-
const redirect =
|
|
8005
|
+
getAuthenticationFailureRedirect(activatedRoute, state) {
|
|
8006
|
+
const redirect = this.authNOptions.redirectTo(activatedRoute, state);
|
|
8667
8007
|
return redirect instanceof Visit ? redirect : Visit.goto(redirect);
|
|
8668
8008
|
}
|
|
8669
|
-
|
|
8670
|
-
return
|
|
8009
|
+
getAuthorisationFailureRedirectOptions(component) {
|
|
8010
|
+
return this.authZOptions.redirectTo(component).map(it => it instanceof Visit ? it : Visit.goto(it));
|
|
8671
8011
|
}
|
|
8672
8012
|
isAuthenticated() {
|
|
8673
8013
|
return this.accessGuard$.value.isAuthenticated();
|
|
@@ -8866,7 +8206,7 @@ class ConsolidatedParameterMap {
|
|
|
8866
8206
|
}
|
|
8867
8207
|
}
|
|
8868
8208
|
__decorate([
|
|
8869
|
-
|
|
8209
|
+
Memoize(),
|
|
8870
8210
|
__metadata("design:type", Array),
|
|
8871
8211
|
__metadata("design:paramtypes", [])
|
|
8872
8212
|
], ConsolidatedParameterMap.prototype, "keys", null);
|
|
@@ -8944,7 +8284,7 @@ class UrlSnapshot {
|
|
|
8944
8284
|
return this.getPrimaryUrlSegments().find(s => s.path === placeDef.path);
|
|
8945
8285
|
}
|
|
8946
8286
|
isLastPlaceInUrl(placeDef) {
|
|
8947
|
-
return last(this.getPrimaryUrlSegments()).path === placeDef.path;
|
|
8287
|
+
return last$1(this.getPrimaryUrlSegments()).path === placeDef.path;
|
|
8948
8288
|
}
|
|
8949
8289
|
createVisitSegmentFor(placeDef) {
|
|
8950
8290
|
return new VisitSegment(placeDef, new ConsolidatedParameterMap(this.getPrimaryUrlSegments()));
|
|
@@ -9060,7 +8400,7 @@ class UrlService {
|
|
|
9060
8400
|
back() {
|
|
9061
8401
|
this.angularLocation.back();
|
|
9062
8402
|
}
|
|
9063
|
-
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 });
|
|
9064
8404
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UrlService, providedIn: 'root' });
|
|
9065
8405
|
}
|
|
9066
8406
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UrlService, decorators: [{
|
|
@@ -9068,7 +8408,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
9068
8408
|
args: [{
|
|
9069
8409
|
providedIn: 'root'
|
|
9070
8410
|
}]
|
|
9071
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
8411
|
+
}], ctorParameters: function () { return [{ type: i1$4.Router }, { type: i1$1.Location }, { type: i1$4.UrlSerializer }]; } });
|
|
9072
8412
|
|
|
9073
8413
|
// function asArray<T>(item: T | T[]): T[] {
|
|
9074
8414
|
// return Array.isArray(item) ? item : [item];
|
|
@@ -9088,8 +8428,6 @@ class PlaceRouter extends GarbageCollector {
|
|
|
9088
8428
|
routerInteractionAdapter;
|
|
9089
8429
|
sessionFinishedJobs = [];
|
|
9090
8430
|
authService = new PlaceAuthService();
|
|
9091
|
-
_ready$ = this.registerDisposable(new DelegatingValueModel().withDefault(true));
|
|
9092
|
-
ready$ = this._ready$.readonly$;
|
|
9093
8431
|
constructor(angularRouter, angularLocation, interactionService, urlService, placeHistory) {
|
|
9094
8432
|
super();
|
|
9095
8433
|
this.angularRouter = angularRouter;
|
|
@@ -9111,7 +8449,7 @@ class PlaceRouter extends GarbageCollector {
|
|
|
9111
8449
|
});
|
|
9112
8450
|
const { chain } = Dsl.disposeWith(this);
|
|
9113
8451
|
this.navigationInProgress$ = chain(this.navigationSession$).isNotNil();
|
|
9114
|
-
this.interactionSyncInProgress$ = chain(this.navigationSession$).pluck("isInteractionSync")
|
|
8452
|
+
this.interactionSyncInProgress$ = chain(this.navigationSession$).pluck("isInteractionSync");
|
|
9115
8453
|
const idleStateName = chain(this.interactionService.active).map(active => active ? "IdleDuringInteraction" : "Idle");
|
|
9116
8454
|
this.navigationSessionName$ = chain(this.navigationSession$)
|
|
9117
8455
|
.pluck("name")
|
|
@@ -9155,13 +8493,10 @@ class PlaceRouter extends GarbageCollector {
|
|
|
9155
8493
|
// the back button was clicked.
|
|
9156
8494
|
angularLocation.onUrlChange(url => this.onUrlChanged(url));
|
|
9157
8495
|
}
|
|
9158
|
-
|
|
9159
|
-
this._ready$.setDelegate(condition$);
|
|
9160
|
-
}
|
|
9161
|
-
async getAuthenticationFailureRedirect(activatedRoute, state) {
|
|
8496
|
+
getAuthenticationFailureRedirect(activatedRoute, state) {
|
|
9162
8497
|
return this.authService.getAuthenticationFailureRedirect(activatedRoute, state);
|
|
9163
8498
|
}
|
|
9164
|
-
|
|
8499
|
+
getAuthorisationFailureRedirectOptions(component) {
|
|
9165
8500
|
return this.authService.getAuthorisationFailureRedirectOptions(component);
|
|
9166
8501
|
}
|
|
9167
8502
|
get navigationSession() {
|
|
@@ -9173,20 +8508,23 @@ class PlaceRouter extends GarbageCollector {
|
|
|
9173
8508
|
isNavigating() {
|
|
9174
8509
|
return this.navigationInProgress$.value;
|
|
9175
8510
|
}
|
|
9176
|
-
|
|
9177
|
-
const {
|
|
9178
|
-
|
|
9179
|
-
|
|
9180
|
-
|
|
9181
|
-
|
|
9182
|
-
|
|
9183
|
-
|
|
9184
|
-
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
|
+
});
|
|
9185
8519
|
}
|
|
9186
8520
|
async waitActivitiesSynchronised() {
|
|
9187
|
-
const {
|
|
9188
|
-
|
|
9189
|
-
|
|
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
|
+
});
|
|
9190
8528
|
}
|
|
9191
8529
|
// @Trace()
|
|
9192
8530
|
onPopState(event) {
|
|
@@ -9372,7 +8710,7 @@ class PlaceRouter extends GarbageCollector {
|
|
|
9372
8710
|
return Visit.goto(visitOrPlaceComponent, params);
|
|
9373
8711
|
}
|
|
9374
8712
|
}
|
|
9375
|
-
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 });
|
|
9376
8714
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceRouter, providedIn: "root" });
|
|
9377
8715
|
}
|
|
9378
8716
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceRouter, decorators: [{
|
|
@@ -9380,7 +8718,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
9380
8718
|
args: [{
|
|
9381
8719
|
providedIn: "root"
|
|
9382
8720
|
}]
|
|
9383
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
8721
|
+
}], ctorParameters: function () { return [{ type: i1$4.Router }, { type: i1$1.Location }, { type: InteractionService }, { type: UrlService }, { type: PlaceHistory }]; } });
|
|
9384
8722
|
|
|
9385
8723
|
class ActivityTitleComponent extends DisposableComponent {
|
|
9386
8724
|
_color;
|
|
@@ -9402,11 +8740,11 @@ class ActivityTitleComponent extends DisposableComponent {
|
|
|
9402
8740
|
return this._color;
|
|
9403
8741
|
}
|
|
9404
8742
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityTitleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
9405
|
-
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"] });
|
|
9406
8744
|
}
|
|
9407
8745
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityTitleComponent, decorators: [{
|
|
9408
8746
|
type: Component,
|
|
9409
|
-
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"] }]
|
|
9410
8748
|
}], propDecorators: { hasTransparentBackground: [{
|
|
9411
8749
|
type: Input
|
|
9412
8750
|
}, {
|
|
@@ -9427,7 +8765,7 @@ class AlertDialogComponent extends AbstractDialogComponent {
|
|
|
9427
8765
|
});
|
|
9428
8766
|
}
|
|
9429
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 });
|
|
9430
|
-
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"] }] });
|
|
9431
8769
|
}
|
|
9432
8770
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AlertDialogComponent, decorators: [{
|
|
9433
8771
|
type: Component,
|
|
@@ -9447,7 +8785,7 @@ class ConfirmThenDialogComponent extends AbstractConfirmDialogComponent {
|
|
|
9447
8785
|
});
|
|
9448
8786
|
}
|
|
9449
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 });
|
|
9450
|
-
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"] }] });
|
|
9451
8789
|
}
|
|
9452
8790
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ConfirmThenDialogComponent, decorators: [{
|
|
9453
8791
|
type: Component,
|
|
@@ -9471,7 +8809,7 @@ class ConfirmThenExecuteDialogComponent extends AbstractConfirmDialogComponent {
|
|
|
9471
8809
|
});
|
|
9472
8810
|
}
|
|
9473
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 });
|
|
9474
|
-
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"] }] });
|
|
9475
8813
|
}
|
|
9476
8814
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ConfirmThenExecuteDialogComponent, decorators: [{
|
|
9477
8815
|
type: Component,
|
|
@@ -9491,7 +8829,7 @@ class ConfirmationDialogComponent extends AbstractConfirmDialogComponent {
|
|
|
9491
8829
|
});
|
|
9492
8830
|
}
|
|
9493
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 });
|
|
9494
|
-
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"] }] });
|
|
9495
8833
|
}
|
|
9496
8834
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
|
|
9497
8835
|
type: Component,
|
|
@@ -9671,7 +9009,6 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9671
9009
|
tabs;
|
|
9672
9010
|
activityOutlets;
|
|
9673
9011
|
activityRefs = [];
|
|
9674
|
-
animationDuration = "500ms";
|
|
9675
9012
|
_identifier;
|
|
9676
9013
|
_deferredCleanUp;
|
|
9677
9014
|
interactionServiceApi;
|
|
@@ -9684,7 +9021,6 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9684
9021
|
busy = this.registerDisposable(new DelegatingValueModel().withDefault(false));
|
|
9685
9022
|
syncTabsJob = undefined;
|
|
9686
9023
|
stable$;
|
|
9687
|
-
wasActive = false;
|
|
9688
9024
|
constructor(placeRouter) {
|
|
9689
9025
|
super();
|
|
9690
9026
|
this.placeRouter = placeRouter;
|
|
@@ -9721,12 +9057,7 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9721
9057
|
* Returns true if an activity is currently running.
|
|
9722
9058
|
*/
|
|
9723
9059
|
isActive() {
|
|
9724
|
-
|
|
9725
|
-
// if (this.wasActive !== isActive) {
|
|
9726
|
-
// console.log({was: this.wasActive, is: isActive});
|
|
9727
|
-
// }
|
|
9728
|
-
// this.wasActive = isActive
|
|
9729
|
-
return isActive;
|
|
9060
|
+
return this.getActiveActivityCount() > 0;
|
|
9730
9061
|
}
|
|
9731
9062
|
registerDisposable(disposable) {
|
|
9732
9063
|
return this.garbage.registerDisposable(disposable);
|
|
@@ -9809,7 +9140,7 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9809
9140
|
// by activity index)
|
|
9810
9141
|
setTimeout(() => {
|
|
9811
9142
|
this.activityRefs = []; // we have to do it after the animation timeout or the activity disappears before the animatin finsihes
|
|
9812
|
-
}, this.
|
|
9143
|
+
}, this.getTabAnimationDuration());
|
|
9813
9144
|
const promise = this.interactionServiceApi.notifyFinished(this);
|
|
9814
9145
|
this._deferredCleanUp = promise
|
|
9815
9146
|
.finally(() => {
|
|
@@ -9835,6 +9166,7 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9835
9166
|
/**
|
|
9836
9167
|
* Synchronises the selected tab index.
|
|
9837
9168
|
*/
|
|
9169
|
+
// @Trace()
|
|
9838
9170
|
synchroniseSelectedTabIndex() {
|
|
9839
9171
|
assert.isTruthy(this.isActive());
|
|
9840
9172
|
const previousIndex = this.tabs.selectedIndex;
|
|
@@ -9846,10 +9178,10 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9846
9178
|
activityRef.setFocused(false);
|
|
9847
9179
|
this.busy.setDelegate(activityRef.activityBusy);
|
|
9848
9180
|
this.tabs.selectedIndex = newIndex;
|
|
9849
|
-
|
|
9850
|
-
|
|
9851
|
-
|
|
9852
|
-
|
|
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
|
+
}
|
|
9853
9185
|
}
|
|
9854
9186
|
}
|
|
9855
9187
|
finaliseActivityStates() {
|
|
@@ -9863,12 +9195,7 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9863
9195
|
return this.activityOutlets.toArray()[this.tabs.selectedIndex];
|
|
9864
9196
|
}
|
|
9865
9197
|
getTabAnimationDuration() {
|
|
9866
|
-
|
|
9867
|
-
// return s
|
|
9868
|
-
return this.animationDuration;
|
|
9869
|
-
}
|
|
9870
|
-
getTabAnimationDurationInMillis() {
|
|
9871
|
-
const match = this.animationDuration.match(/(\d+)(.*)/);
|
|
9198
|
+
const match = this.tabs.animationDuration.match(/(\d+)(.*)/);
|
|
9872
9199
|
const numericValue = parseFloat(match[1]);
|
|
9873
9200
|
switch (match[2].trim()) {
|
|
9874
9201
|
case "ms":
|
|
@@ -9894,16 +9221,12 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9894
9221
|
}
|
|
9895
9222
|
}, 75);
|
|
9896
9223
|
}
|
|
9897
|
-
onAnimationDone() {
|
|
9898
|
-
this._started$.value = true;
|
|
9899
|
-
this.finaliseActivityStates();
|
|
9900
|
-
}
|
|
9901
9224
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityContainerComponent, deps: [{ token: PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
9902
|
-
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"] }] });
|
|
9903
9226
|
}
|
|
9904
9227
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityContainerComponent, decorators: [{
|
|
9905
9228
|
type: Component,
|
|
9906
|
-
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"] }]
|
|
9907
9230
|
}], ctorParameters: function () { return [{ type: PlaceRouter }]; }, propDecorators: { dynamicHeight: [{
|
|
9908
9231
|
type: Input
|
|
9909
9232
|
}], tabs: [{
|
|
@@ -9912,8 +9235,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
9912
9235
|
}], activityOutlets: [{
|
|
9913
9236
|
type: ViewChildren,
|
|
9914
9237
|
args: [ActivityOutletComponent]
|
|
9915
|
-
}], animationDuration: [{
|
|
9916
|
-
type: Input
|
|
9917
9238
|
}] } });
|
|
9918
9239
|
|
|
9919
9240
|
class AbstractActivityTriggerComponent extends DisposableComponent {
|
|
@@ -10014,16 +9335,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10014
9335
|
args: ['class.active']
|
|
10015
9336
|
}] } });
|
|
10016
9337
|
|
|
10017
|
-
const
|
|
10018
|
-
|
|
10019
|
-
const cssDurationRegex$1 = /(\d+)(m?s)/;
|
|
9338
|
+
const cssDurationRegex = /(\d+)(m?s)/;
|
|
10020
9339
|
/**
|
|
10021
9340
|
* @example
|
|
10022
9341
|
* <aup-in-place-interaction-context #inPlaceInteractionContext>
|
|
10023
9342
|
* </aup-in-place-interaction-context>
|
|
10024
9343
|
*
|
|
10025
9344
|
* in your component
|
|
10026
|
-
* @ViewChild(
|
|
9345
|
+
* @ViewChild('inPlaceInteractionContext', { static: true })
|
|
10027
9346
|
* interactionContext: InteractionContext;
|
|
10028
9347
|
*
|
|
10029
9348
|
*
|
|
@@ -10042,13 +9361,11 @@ class InPlaceInteractionContextComponent extends DisposableComponent {
|
|
|
10042
9361
|
* active interactions.
|
|
10043
9362
|
*/
|
|
10044
9363
|
syncWithRoutes = true;
|
|
10045
|
-
started = new EventEmitter();
|
|
10046
|
-
finished = new EventEmitter();
|
|
10047
9364
|
get animationDuration() {
|
|
10048
9365
|
return this.animateFirstActivity ? (this.tabConfig?.animationDuration || "500ms") : "0ms";
|
|
10049
9366
|
}
|
|
10050
9367
|
get animationDurationMillis() {
|
|
10051
|
-
const result = cssDurationRegex
|
|
9368
|
+
const result = cssDurationRegex.exec(this.animationDuration);
|
|
10052
9369
|
if (!result) {
|
|
10053
9370
|
lang.illegalState(`unsupported css duration: ${this.animationDuration}`);
|
|
10054
9371
|
}
|
|
@@ -10070,16 +9387,11 @@ class InPlaceInteractionContextComponent extends DisposableComponent {
|
|
|
10070
9387
|
this.interactionService.registerInplaceInteractionContext(this);
|
|
10071
9388
|
}
|
|
10072
9389
|
else {
|
|
10073
|
-
const self = this;
|
|
10074
9390
|
this.activityContainerComponent.initialise("dont-care", {
|
|
10075
9391
|
async notifyActive(interactionContext) {
|
|
10076
|
-
self.started.emit();
|
|
10077
9392
|
return undefined;
|
|
10078
9393
|
},
|
|
10079
9394
|
async notifyFinished(interactionContext) {
|
|
10080
|
-
// I've noticed some rendering fails when returning the the transcluded content we'll fire an event
|
|
10081
|
-
// so components can do stuff if they need to.
|
|
10082
|
-
self.started.emit();
|
|
10083
9395
|
return undefined;
|
|
10084
9396
|
}
|
|
10085
9397
|
});
|
|
@@ -10126,15 +9438,11 @@ class InPlaceInteractionContextComponent extends DisposableComponent {
|
|
|
10126
9438
|
}
|
|
10127
9439
|
}
|
|
10128
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 });
|
|
10129
|
-
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" },
|
|
10130
|
-
{ provide: INTERACTION_CONTEXT, useExisting: InPlaceInteractionContextComponent }
|
|
10131
|
-
], 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"] }] });
|
|
10132
9442
|
}
|
|
10133
9443
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InPlaceInteractionContextComponent, decorators: [{
|
|
10134
9444
|
type: Component,
|
|
10135
|
-
args: [{ selector: "aup-in-place-interaction-context",
|
|
10136
|
-
{ provide: INTERACTION_CONTEXT, useExisting: InPlaceInteractionContextComponent }
|
|
10137
|
-
], 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"] }]
|
|
10138
9446
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
10139
9447
|
type: Inject,
|
|
10140
9448
|
args: [MAT_TABS_CONFIG]
|
|
@@ -10147,10 +9455,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10147
9455
|
type: Input
|
|
10148
9456
|
}], syncWithRoutes: [{
|
|
10149
9457
|
type: Input
|
|
10150
|
-
}], started: [{
|
|
10151
|
-
type: Output
|
|
10152
|
-
}], finished: [{
|
|
10153
|
-
type: Output
|
|
10154
9458
|
}], active: [{
|
|
10155
9459
|
type: HostBinding,
|
|
10156
9460
|
args: ["class.active"]
|
|
@@ -10165,7 +9469,7 @@ class InlineActivityTriggerComponent extends AbstractActivityTriggerComponent {
|
|
|
10165
9469
|
super();
|
|
10166
9470
|
}
|
|
10167
9471
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InlineActivityTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10168
|
-
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"] }] });
|
|
10169
9473
|
}
|
|
10170
9474
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InlineActivityTriggerComponent, decorators: [{
|
|
10171
9475
|
type: Component,
|
|
@@ -10289,7 +9593,7 @@ class PopupInteractionContextComponent extends DisposableComponent {
|
|
|
10289
9593
|
isActive() {
|
|
10290
9594
|
return this.interactionContext && this.interactionContext.isActive();
|
|
10291
9595
|
}
|
|
10292
|
-
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 });
|
|
10293
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"] });
|
|
10294
9598
|
}
|
|
10295
9599
|
__decorate([
|
|
@@ -10303,7 +9607,7 @@ __decorate([
|
|
|
10303
9607
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PopupInteractionContextComponent, decorators: [{
|
|
10304
9608
|
type: Component,
|
|
10305
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"] }]
|
|
10306
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$
|
|
9610
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$5.Overlay }, { type: i1$5.CdkScrollable, decorators: [{
|
|
10307
9611
|
type: Optional
|
|
10308
9612
|
}, {
|
|
10309
9613
|
type: SkipSelf
|
|
@@ -10388,7 +9692,7 @@ class AddCardActivityComponent extends AbstractActivityTriggerComponent {
|
|
|
10388
9692
|
return this.interactionStyle === 'inline';
|
|
10389
9693
|
}
|
|
10390
9694
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AddCardActivityComponent, deps: [{ token: InteractionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
10391
|
-
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"] }] });
|
|
10392
9696
|
}
|
|
10393
9697
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AddCardActivityComponent, decorators: [{
|
|
10394
9698
|
type: Component,
|
|
@@ -10464,7 +9768,7 @@ class AddItemInteractionContextComponent extends DisposableComponent {
|
|
|
10464
9768
|
return this.interactionContext.startActivity(activityType, data);
|
|
10465
9769
|
}
|
|
10466
9770
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AddItemInteractionContextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10467
|
-
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"] }] });
|
|
10468
9772
|
}
|
|
10469
9773
|
__decorate([
|
|
10470
9774
|
Proxify(),
|
|
@@ -10603,14 +9907,12 @@ class StringInputActivity extends InputActivity {
|
|
|
10603
9907
|
[label]="activityData.label"
|
|
10604
9908
|
[placeholder]="activityData.placeholder"
|
|
10605
9909
|
[command.enter]="confirmCommand"
|
|
10606
|
-
[command.escape]="cancelCommand"
|
|
10607
|
-
[dense]="true"
|
|
10608
|
-
></aup-string-input>
|
|
9910
|
+
[command.escape]="cancelCommand"></aup-string-input>
|
|
10609
9911
|
<aup-activity-actions [layout]="layout" align="end"
|
|
10610
9912
|
[confirmFace]="confirmFace"
|
|
10611
9913
|
[cancelFace]="cancelFace"
|
|
10612
9914
|
></aup-activity-actions>
|
|
10613
|
-
`, 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"] }] });
|
|
10614
9916
|
}
|
|
10615
9917
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: StringInputActivity, decorators: [{
|
|
10616
9918
|
type: Component,
|
|
@@ -10621,9 +9923,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10621
9923
|
[label]="activityData.label"
|
|
10622
9924
|
[placeholder]="activityData.placeholder"
|
|
10623
9925
|
[command.enter]="confirmCommand"
|
|
10624
|
-
[command.escape]="cancelCommand"
|
|
10625
|
-
[dense]="true"
|
|
10626
|
-
></aup-string-input>
|
|
9926
|
+
[command.escape]="cancelCommand"></aup-string-input>
|
|
10627
9927
|
<aup-activity-actions [layout]="layout" align="end"
|
|
10628
9928
|
[confirmFace]="confirmFace"
|
|
10629
9929
|
[cancelFace]="cancelFace"
|
|
@@ -10806,7 +10106,7 @@ class InlineStringEditorComponent extends DisposableComponent {
|
|
|
10806
10106
|
return !this.editingEnabled$.value;
|
|
10807
10107
|
}
|
|
10808
10108
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InlineStringEditorComponent, deps: [{ token: InteractionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
10809
|
-
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"] }] });
|
|
10810
10110
|
}
|
|
10811
10111
|
__decorate([
|
|
10812
10112
|
Proxify(),
|
|
@@ -10889,7 +10189,6 @@ class SelectInputActivity extends InputActivity {
|
|
|
10889
10189
|
[options]="options"
|
|
10890
10190
|
[optionLabelFormat]="optionLabelFormat"
|
|
10891
10191
|
[allowNil]="activityData.allowNil"
|
|
10892
|
-
[dense]="true"
|
|
10893
10192
|
>
|
|
10894
10193
|
<ng-template #nilOptionTemplate>{{activityData.nilLabel}}</ng-template>
|
|
10895
10194
|
</aup-select-input>
|
|
@@ -10897,7 +10196,7 @@ class SelectInputActivity extends InputActivity {
|
|
|
10897
10196
|
[confirmFace]="confirmFace"
|
|
10898
10197
|
[cancelFace]="cancelFace"
|
|
10899
10198
|
></aup-activity-actions>
|
|
10900
|
-
`, 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"] }] });
|
|
10901
10200
|
}
|
|
10902
10201
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectInputActivity, decorators: [{
|
|
10903
10202
|
type: Component,
|
|
@@ -10912,7 +10211,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10912
10211
|
[options]="options"
|
|
10913
10212
|
[optionLabelFormat]="optionLabelFormat"
|
|
10914
10213
|
[allowNil]="activityData.allowNil"
|
|
10915
|
-
[dense]="true"
|
|
10916
10214
|
>
|
|
10917
10215
|
<ng-template #nilOptionTemplate>{{activityData.nilLabel}}</ng-template>
|
|
10918
10216
|
</aup-select-input>
|
|
@@ -10924,186 +10222,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10924
10222
|
}]
|
|
10925
10223
|
}] });
|
|
10926
10224
|
|
|
10927
|
-
const slideDownOnEnterDef = style({
|
|
10928
|
-
opacity: 0,
|
|
10929
|
-
'height': '0',
|
|
10930
|
-
'max-height': '0',
|
|
10931
|
-
paddingTop: '0',
|
|
10932
|
-
paddingBottom: '0'
|
|
10933
|
-
});
|
|
10934
|
-
const slideLeftOnEnterDef = style({
|
|
10935
|
-
opacity: 0,
|
|
10936
|
-
'width': '0',
|
|
10937
|
-
paddingLeft: '0',
|
|
10938
|
-
paddingRight: '0'
|
|
10939
|
-
});
|
|
10940
|
-
const ZERO_WIDTH = {
|
|
10941
|
-
opacity: 0,
|
|
10942
|
-
width: '0',
|
|
10943
|
-
paddingLeft: '0',
|
|
10944
|
-
paddingRight: '0',
|
|
10945
|
-
};
|
|
10946
|
-
const ZERO_HEIGHT = {
|
|
10947
|
-
opacity: 0,
|
|
10948
|
-
height: '0',
|
|
10949
|
-
paddingTop: '0',
|
|
10950
|
-
paddingBottom: '0',
|
|
10951
|
-
};
|
|
10952
|
-
// TODO: params aren't getting customised in the view. Need to figure out the correct approach.
|
|
10953
|
-
const slideDownOnEnterAnimation = trigger('slideDownOnEnter', [
|
|
10954
|
-
transition(':enter', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
10955
|
-
transition(':leave', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
|
|
10956
|
-
]);
|
|
10957
|
-
const slideDownWhenOpenAnimation = trigger('slideDownWhenOpen', [
|
|
10958
|
-
transition('closed => open', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
10959
|
-
transition('open => closed', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
|
|
10960
|
-
]);
|
|
10961
|
-
const slideRightOnEnterAnimation = trigger('slideRightOnEnter', [
|
|
10962
|
-
transition(':enter', [slideLeftOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
10963
|
-
transition(':leave', [animate('{{duration}}', slideLeftOnEnterDef)], { params: { duration: '100ms' } })
|
|
10964
|
-
]);
|
|
10965
|
-
const slideDownAndRightOnEnterAnimation = trigger('slideDownAndRightOnEnter', [
|
|
10966
|
-
transition(':enter', [
|
|
10967
|
-
style({ overflow: "hidden", whiteSpace: "nowrap", ...ZERO_WIDTH, ...ZERO_HEIGHT }),
|
|
10968
|
-
animate('{{duration}}')
|
|
10969
|
-
], { params: { duration: '100ms' } }),
|
|
10970
|
-
transition(':leave', [
|
|
10971
|
-
style({ overflow: "hidden", whiteSpace: "nowrap" }),
|
|
10972
|
-
group([
|
|
10973
|
-
animate('{{duration}}', style(ZERO_HEIGHT)),
|
|
10974
|
-
// Hack: 100ms is too quick as it animates from * - 0 as we only see it animate the width is greater than the parent.
|
|
10975
|
-
// Not sure how to animate from * to natural new width of parent. This hack won't work for text that's just a little
|
|
10976
|
-
// bit wider than the parent as it'll fall within the parent bounds very early in the animation cycle.
|
|
10977
|
-
animate('300ms', style(ZERO_WIDTH)),
|
|
10978
|
-
])
|
|
10979
|
-
], { params: { duration: '100ms' } })
|
|
10980
|
-
]);
|
|
10981
|
-
|
|
10982
|
-
const cssDurationRegex = /(\d+)(m?s)/;
|
|
10983
|
-
/**
|
|
10984
|
-
* This interaction context remains hidden (height: 0) until it is active.
|
|
10985
|
-
* @example
|
|
10986
|
-
* <aup-slide-down-interaction-context #inPlaceInteractionContext>
|
|
10987
|
-
* </aup-slide-down-interaction-context>
|
|
10988
|
-
*
|
|
10989
|
-
* in your component
|
|
10990
|
-
* @ViewChild(SlideDownInteractionContextComponent)
|
|
10991
|
-
* interactionContext: InteractionContext;
|
|
10992
|
-
*
|
|
10993
|
-
*
|
|
10994
|
-
*/
|
|
10995
|
-
class SlideDownInteractionContextComponent extends DisposableComponent {
|
|
10996
|
-
tabConfig;
|
|
10997
|
-
activityContainerComponent;
|
|
10998
|
-
// NOTE: disabling this as I'm using the initialise callback to release the hacky height clamp.
|
|
10999
|
-
// The whole registration thing is a bit naf so I should really clean that up at some point.
|
|
11000
|
-
// /**
|
|
11001
|
-
// * If true the activity will sync with the router to enable back button support. This is a work around for
|
|
11002
|
-
// * deeply nested activities that can't be linked with the root place interactionContext hook for cancelling
|
|
11003
|
-
// * active interactions.
|
|
11004
|
-
// */
|
|
11005
|
-
// @Input()
|
|
11006
|
-
// syncWithRoutes = true;
|
|
11007
|
-
dynamicHeight = true;
|
|
11008
|
-
get active() {
|
|
11009
|
-
return this.isActive();
|
|
11010
|
-
}
|
|
11011
|
-
// Horrible hack to stop the div and activity container bouncing back for a bit in after closing. No idea why it's doing that.
|
|
11012
|
-
clampShut = true;
|
|
11013
|
-
interactionService = this.inject(InteractionService);
|
|
11014
|
-
constructor(tabConfig) {
|
|
11015
|
-
super();
|
|
11016
|
-
this.tabConfig = tabConfig;
|
|
11017
|
-
}
|
|
11018
|
-
ngAfterViewInit() {
|
|
11019
|
-
// NOTE: this is a temp work around to detach inplace contexts from the router until AUP-88 is implemented.
|
|
11020
|
-
// https://coolon.atlassian.net/browse/AUP-88?atlOrigin=eyJpIjoiOTg5YjEzZGUzZjRmNDg0NmExOWU3ZGJmMzJiNTRmNGYiLCJwIjoiaiJ9
|
|
11021
|
-
const self = this;
|
|
11022
|
-
this.activityContainerComponent.initialise("dont-care", {
|
|
11023
|
-
async notifyActive(interactionContext) {
|
|
11024
|
-
self.clampShut = false;
|
|
11025
|
-
return undefined;
|
|
11026
|
-
},
|
|
11027
|
-
async notifyFinished(interactionContext) {
|
|
11028
|
-
return undefined;
|
|
11029
|
-
}
|
|
11030
|
-
});
|
|
11031
|
-
// if (this.syncWithRoutes) {
|
|
11032
|
-
// this.interactionService.registerInplaceInteractionContext(this);
|
|
11033
|
-
// }
|
|
11034
|
-
}
|
|
11035
|
-
getAnimationState() {
|
|
11036
|
-
return {
|
|
11037
|
-
value: this.isActive() ? "open" : "closed",
|
|
11038
|
-
params: { duration: "200ms" }
|
|
11039
|
-
};
|
|
11040
|
-
}
|
|
11041
|
-
// this is a regsitration callback from the interaction service
|
|
11042
|
-
// @Trace() // webstorm says no usages... but I'm not sure.
|
|
11043
|
-
onInplaceInteractionContextRegistered(id, api) {
|
|
11044
|
-
this.activityContainerComponent.initialise(id, api);
|
|
11045
|
-
}
|
|
11046
|
-
get identifier() {
|
|
11047
|
-
return this.activityContainerComponent.identifier;
|
|
11048
|
-
}
|
|
11049
|
-
alert(alert) {
|
|
11050
|
-
return this.activityContainerComponent.alert(alert);
|
|
11051
|
-
}
|
|
11052
|
-
cancelActiveActivity() {
|
|
11053
|
-
return this.activityContainerComponent.cancelActiveActivity();
|
|
11054
|
-
}
|
|
11055
|
-
confirm(confirm) {
|
|
11056
|
-
return this.activityContainerComponent.confirm(confirm);
|
|
11057
|
-
}
|
|
11058
|
-
confirmOrReject(confirm) {
|
|
11059
|
-
return this.activityContainerComponent.confirmOrReject(confirm);
|
|
11060
|
-
}
|
|
11061
|
-
confirmThen(confirm, activityType, data) {
|
|
11062
|
-
return this.activityContainerComponent.confirmThen(confirm, activityType);
|
|
11063
|
-
}
|
|
11064
|
-
confirmThenExecute(confirm, operation) {
|
|
11065
|
-
return this.activityContainerComponent.confirmThenExecute(confirm, operation);
|
|
11066
|
-
}
|
|
11067
|
-
isActive() {
|
|
11068
|
-
return this.activityContainerComponent.isActive();
|
|
11069
|
-
}
|
|
11070
|
-
startActivity(activityType, data, options) {
|
|
11071
|
-
return this.activityContainerComponent.startActivity(activityType, data, options);
|
|
11072
|
-
}
|
|
11073
|
-
onAnimationDone() {
|
|
11074
|
-
if (!this.isActive()) {
|
|
11075
|
-
this.clampShut = true;
|
|
11076
|
-
}
|
|
11077
|
-
}
|
|
11078
|
-
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 });
|
|
11079
|
-
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: [
|
|
11080
|
-
{ provide: INTERACTION_CONTEXT, useExisting: SlideDownInteractionContextComponent }
|
|
11081
|
-
], 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: [
|
|
11082
|
-
slideDownWhenOpenAnimation
|
|
11083
|
-
] });
|
|
11084
|
-
}
|
|
11085
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SlideDownInteractionContextComponent, decorators: [{
|
|
11086
|
-
type: Component,
|
|
11087
|
-
args: [{ selector: "aup-slide-down-interaction-context", providers: [
|
|
11088
|
-
{ provide: INTERACTION_CONTEXT, useExisting: SlideDownInteractionContextComponent }
|
|
11089
|
-
], animations: [
|
|
11090
|
-
slideDownWhenOpenAnimation
|
|
11091
|
-
], 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"] }]
|
|
11092
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
11093
|
-
type: Inject,
|
|
11094
|
-
args: [MAT_TABS_CONFIG]
|
|
11095
|
-
}, {
|
|
11096
|
-
type: Optional
|
|
11097
|
-
}] }]; }, propDecorators: { activityContainerComponent: [{
|
|
11098
|
-
type: ViewChild,
|
|
11099
|
-
args: ["activityContainer", { static: true }]
|
|
11100
|
-
}], dynamicHeight: [{
|
|
11101
|
-
type: Input
|
|
11102
|
-
}], active: [{
|
|
11103
|
-
type: HostBinding,
|
|
11104
|
-
args: ["class.active"]
|
|
11105
|
-
}] } });
|
|
11106
|
-
|
|
11107
10225
|
class InteractionContextTriggerForDirective extends GarbageCollector {
|
|
11108
10226
|
aupInteractionContextTriggerFor;
|
|
11109
10227
|
activityClass;
|
|
@@ -11186,7 +10304,6 @@ class InteractionModule {
|
|
|
11186
10304
|
AlertDialogComponent,
|
|
11187
10305
|
ActivityOutletComponent,
|
|
11188
10306
|
InPlaceInteractionContextComponent,
|
|
11189
|
-
SlideDownInteractionContextComponent,
|
|
11190
10307
|
AddItemInteractionContextComponent,
|
|
11191
10308
|
ActivityActionsComponent,
|
|
11192
10309
|
PopupInteractionContextComponent,
|
|
@@ -11213,6 +10330,8 @@ class InteractionModule {
|
|
|
11213
10330
|
RouterModule,
|
|
11214
10331
|
MatIconModule,
|
|
11215
10332
|
DirectivesModule,
|
|
10333
|
+
FlexModule,
|
|
10334
|
+
GridModule,
|
|
11216
10335
|
ComponentsModule,
|
|
11217
10336
|
FormsModule,
|
|
11218
10337
|
MatInputModule,
|
|
@@ -11232,8 +10351,7 @@ class InteractionModule {
|
|
|
11232
10351
|
InlineActivityTriggerComponent,
|
|
11233
10352
|
ModalActivityTriggerComponent,
|
|
11234
10353
|
AddCardActivityComponent,
|
|
11235
|
-
InlineStringEditorComponent
|
|
11236
|
-
SlideDownInteractionContextComponent] });
|
|
10354
|
+
InlineStringEditorComponent] });
|
|
11237
10355
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InteractionModule, providers: [
|
|
11238
10356
|
InteractionService
|
|
11239
10357
|
// {
|
|
@@ -11247,6 +10365,8 @@ class InteractionModule {
|
|
|
11247
10365
|
RouterModule,
|
|
11248
10366
|
MatIconModule,
|
|
11249
10367
|
DirectivesModule,
|
|
10368
|
+
FlexModule,
|
|
10369
|
+
GridModule,
|
|
11250
10370
|
ComponentsModule,
|
|
11251
10371
|
FormsModule,
|
|
11252
10372
|
MatInputModule,
|
|
@@ -11265,6 +10385,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11265
10385
|
RouterModule,
|
|
11266
10386
|
MatIconModule,
|
|
11267
10387
|
DirectivesModule,
|
|
10388
|
+
FlexModule,
|
|
10389
|
+
GridModule,
|
|
11268
10390
|
ComponentsModule,
|
|
11269
10391
|
FormsModule,
|
|
11270
10392
|
MatInputModule,
|
|
@@ -11279,7 +10401,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11279
10401
|
AlertDialogComponent,
|
|
11280
10402
|
ActivityOutletComponent,
|
|
11281
10403
|
InPlaceInteractionContextComponent,
|
|
11282
|
-
SlideDownInteractionContextComponent,
|
|
11283
10404
|
AddItemInteractionContextComponent,
|
|
11284
10405
|
ActivityActionsComponent,
|
|
11285
10406
|
PopupInteractionContextComponent,
|
|
@@ -11317,7 +10438,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11317
10438
|
ModalActivityTriggerComponent,
|
|
11318
10439
|
AddCardActivityComponent,
|
|
11319
10440
|
InlineStringEditorComponent,
|
|
11320
|
-
SlideDownInteractionContextComponent,
|
|
11321
10441
|
],
|
|
11322
10442
|
providers: [
|
|
11323
10443
|
InteractionService
|
|
@@ -11388,6 +10508,7 @@ class PlaceOutletComponent extends DisposableComponent {
|
|
|
11388
10508
|
router;
|
|
11389
10509
|
placeRouter;
|
|
11390
10510
|
placeConfig;
|
|
10511
|
+
cdr;
|
|
11391
10512
|
#animate$_accessor_storage = proxify((ValueModel));
|
|
11392
10513
|
get animate$() { return this.#animate$_accessor_storage; }
|
|
11393
10514
|
set animate$(value) { this.#animate$_accessor_storage = value; }
|
|
@@ -11421,11 +10542,12 @@ class PlaceOutletComponent extends DisposableComponent {
|
|
|
11421
10542
|
animationEnabled;
|
|
11422
10543
|
authorised;
|
|
11423
10544
|
notAuthorisedNoticePortal;
|
|
11424
|
-
constructor(router, placeRouter, placeConfig, unauthorisedPlaceNotice, parentOutlet) {
|
|
10545
|
+
constructor(router, placeRouter, placeConfig, unauthorisedPlaceNotice, parentOutlet, cdr) {
|
|
11425
10546
|
super();
|
|
11426
10547
|
this.router = router;
|
|
11427
10548
|
this.placeRouter = placeRouter;
|
|
11428
10549
|
this.placeConfig = placeConfig;
|
|
10550
|
+
this.cdr = cdr;
|
|
11429
10551
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
11430
10552
|
this.parentOutletModel = new MutableValueModel(parentOutlet);
|
|
11431
10553
|
const defaultPlaceAnimationOrder = chain(this.parentOutletModel)
|
|
@@ -11437,7 +10559,7 @@ class PlaceOutletComponent extends DisposableComponent {
|
|
|
11437
10559
|
this.placesInAnimationOrder = chain(this.customPlaceAnimationOrder$)
|
|
11438
10560
|
.otherwise(defaultPlaceAnimationOrder);
|
|
11439
10561
|
this.activePlaceAnimationPosition = this.placesInAnimationOrder
|
|
11440
|
-
.
|
|
10562
|
+
.reduce((placesInOrder) => {
|
|
11441
10563
|
let placeIndex = 0;
|
|
11442
10564
|
if (activatePlaceType.value) {
|
|
11443
10565
|
placeIndex = placesInOrder.indexOf(activatePlaceType.value);
|
|
@@ -11591,8 +10713,8 @@ class PlaceOutletComponent extends DisposableComponent {
|
|
|
11591
10713
|
this.onAnimationFinishedJob = undefined;
|
|
11592
10714
|
}
|
|
11593
10715
|
}
|
|
11594
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceOutletComponent, deps: [{ token: i1$
|
|
11595
|
-
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] });
|
|
11596
10718
|
}
|
|
11597
10719
|
__decorate([
|
|
11598
10720
|
Proxify(),
|
|
@@ -11613,7 +10735,7 @@ __decorate([
|
|
|
11613
10735
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceOutletComponent, decorators: [{
|
|
11614
10736
|
type: Component,
|
|
11615
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"] }]
|
|
11616
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
10738
|
+
}], ctorParameters: function () { return [{ type: i1$4.Router }, { type: PlaceRouter }, { type: undefined, decorators: [{
|
|
11617
10739
|
type: Optional
|
|
11618
10740
|
}, {
|
|
11619
10741
|
type: Inject,
|
|
@@ -11627,7 +10749,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11627
10749
|
type: SkipSelf
|
|
11628
10750
|
}, {
|
|
11629
10751
|
type: Optional
|
|
11630
|
-
}] }]; }, propDecorators: { animate$: [{
|
|
10752
|
+
}] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { animate$: [{
|
|
11631
10753
|
type: Input
|
|
11632
10754
|
}], animate: [{
|
|
11633
10755
|
type: Input
|
|
@@ -11760,7 +10882,7 @@ class ListPlaceNavComponent extends AbstractPlaceNavigationComponent {
|
|
|
11760
10882
|
super(router);
|
|
11761
10883
|
}
|
|
11762
10884
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ListPlaceNavComponent, deps: [{ token: PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
11763
|
-
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"] }] });
|
|
11764
10886
|
}
|
|
11765
10887
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ListPlaceNavComponent, decorators: [{
|
|
11766
10888
|
type: Component,
|
|
@@ -11835,7 +10957,7 @@ class SidePlaceNavigationComponent extends AbstractPlaceNavigationComponent {
|
|
|
11835
10957
|
this.expanded = !this.expanded;
|
|
11836
10958
|
}
|
|
11837
10959
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SidePlaceNavigationComponent, deps: [{ token: PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
11838
|
-
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"] }] });
|
|
11839
10961
|
}
|
|
11840
10962
|
__decorate([
|
|
11841
10963
|
Proxify(),
|
|
@@ -11847,7 +10969,7 @@ __decorate([
|
|
|
11847
10969
|
], SidePlaceNavigationComponent.prototype, "expanded", null);
|
|
11848
10970
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SidePlaceNavigationComponent, decorators: [{
|
|
11849
10971
|
type: Component,
|
|
11850
|
-
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"] }]
|
|
11851
10973
|
}], ctorParameters: function () { return [{ type: PlaceRouter }]; }, propDecorators: { expanded$: [{
|
|
11852
10974
|
type: Input
|
|
11853
10975
|
}], expanded: [{
|
|
@@ -11865,7 +10987,7 @@ class TabbedPlaceNavigationComponent extends AbstractPlaceNavigationComponent {
|
|
|
11865
10987
|
super(router);
|
|
11866
10988
|
}
|
|
11867
10989
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TabbedPlaceNavigationComponent, deps: [{ token: PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
11868
|
-
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"] }] });
|
|
11869
10991
|
}
|
|
11870
10992
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TabbedPlaceNavigationComponent, decorators: [{
|
|
11871
10993
|
type: Component,
|
|
@@ -11888,6 +11010,7 @@ class PlaceModule {
|
|
|
11888
11010
|
MatTooltipModule,
|
|
11889
11011
|
MatIconModule,
|
|
11890
11012
|
DirectivesModule,
|
|
11013
|
+
FlexModule,
|
|
11891
11014
|
ComponentsModule,
|
|
11892
11015
|
PortalModule,
|
|
11893
11016
|
MatCardModule], exports: [PlaceOutletComponent,
|
|
@@ -11904,6 +11027,7 @@ class PlaceModule {
|
|
|
11904
11027
|
MatTooltipModule,
|
|
11905
11028
|
MatIconModule,
|
|
11906
11029
|
DirectivesModule,
|
|
11030
|
+
FlexModule,
|
|
11907
11031
|
ComponentsModule,
|
|
11908
11032
|
PortalModule,
|
|
11909
11033
|
MatCardModule] });
|
|
@@ -11921,6 +11045,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11921
11045
|
MatTooltipModule,
|
|
11922
11046
|
MatIconModule,
|
|
11923
11047
|
DirectivesModule,
|
|
11048
|
+
FlexModule,
|
|
11924
11049
|
ComponentsModule,
|
|
11925
11050
|
PortalModule,
|
|
11926
11051
|
MatCardModule
|
|
@@ -12010,44 +11135,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
12010
11135
|
}]
|
|
12011
11136
|
}] });
|
|
12012
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
|
+
|
|
12013
11188
|
/**
|
|
12014
11189
|
* @file Automatically generated by barrelsby.
|
|
12015
11190
|
*/
|
|
12016
11191
|
|
|
12017
|
-
class ResizeObserverDirective extends DisposableComponent {
|
|
12018
|
-
aupOnResize = new EventEmitter();
|
|
12019
|
-
elementRef = this.inject(ElementRef);
|
|
12020
|
-
ngZone = this.inject(NgZone);
|
|
12021
|
-
_bounds$ = new MutableValueModel();
|
|
12022
|
-
ngAfterViewInit() {
|
|
12023
|
-
const element = this.elementRef.nativeElement;
|
|
12024
|
-
const ro = new ResizeObserver((entries, observer) => {
|
|
12025
|
-
this.ngZone.run(() => this._updateBounds());
|
|
12026
|
-
});
|
|
12027
|
-
ro.observe(element);
|
|
12028
|
-
this.onDispose(() => ro.disconnect());
|
|
12029
|
-
setTimeout(() => this._updateBounds());
|
|
12030
|
-
}
|
|
12031
|
-
get bounds$() {
|
|
12032
|
-
return this._bounds$.readonly$;
|
|
12033
|
-
}
|
|
12034
|
-
_updateBounds() {
|
|
12035
|
-
this._bounds$.value = Bounds.ofElement(this.elementRef.nativeElement);
|
|
12036
|
-
this.aupOnResize.emit(this._bounds$.value);
|
|
12037
|
-
}
|
|
12038
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ResizeObserverDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
12039
|
-
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 });
|
|
12040
|
-
}
|
|
12041
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ResizeObserverDirective, decorators: [{
|
|
12042
|
-
type: Directive,
|
|
12043
|
-
args: [{
|
|
12044
|
-
selector: "[aupOnResize]",
|
|
12045
|
-
standalone: true
|
|
12046
|
-
}]
|
|
12047
|
-
}], propDecorators: { aupOnResize: [{
|
|
12048
|
-
type: Output
|
|
12049
|
-
}] } });
|
|
12050
|
-
|
|
12051
11192
|
/**
|
|
12052
11193
|
* @file Automatically generated by barrelsby.
|
|
12053
11194
|
*/
|
|
@@ -12138,7 +11279,7 @@ class DialogInteractionContextFactory extends ModalInteractionContextFactory {
|
|
|
12138
11279
|
};
|
|
12139
11280
|
return new DialogInteractionContext(identifier, api, this.dialogService, config);
|
|
12140
11281
|
}
|
|
12141
|
-
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 });
|
|
12142
11283
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DialogInteractionContextFactory, providedIn: 'root' });
|
|
12143
11284
|
}
|
|
12144
11285
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DialogInteractionContextFactory, decorators: [{
|
|
@@ -12146,12 +11287,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
12146
11287
|
args: [{
|
|
12147
11288
|
providedIn: 'root'
|
|
12148
11289
|
}]
|
|
12149
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
11290
|
+
}], ctorParameters: function () { return [{ type: i1$6.MatDialog }, { type: i1$6.MatDialogConfig, decorators: [{
|
|
12150
11291
|
type: Optional
|
|
12151
11292
|
}, {
|
|
12152
11293
|
type: Inject,
|
|
12153
11294
|
args: [DIALOG_INTERACTION_SERVICE_DEFAULTS]
|
|
12154
|
-
}] }, { type: i1$
|
|
11295
|
+
}] }, { type: i1$6.MatDialogConfig, decorators: [{
|
|
12155
11296
|
type: Optional
|
|
12156
11297
|
}, {
|
|
12157
11298
|
type: Inject,
|
|
@@ -12271,14 +11412,13 @@ class PlaceGuard {
|
|
|
12271
11412
|
}
|
|
12272
11413
|
// @Trace()
|
|
12273
11414
|
async canActivate(activatedRoute, state) {
|
|
12274
|
-
await this.placeRouter.waitUntilRouterReady();
|
|
12275
11415
|
if (PlaceComponent.isPlaceComponentConstructor(activatedRoute.component)) {
|
|
12276
11416
|
const placeDefinition = PlaceComponent.getDefinition(activatedRoute.component);
|
|
12277
11417
|
if (placeDefinition.authenticate) {
|
|
12278
11418
|
await this.placeRouter.authService.waitUntilAuthenticationReady();
|
|
12279
11419
|
const authenticated = this.authService.isAuthenticated();
|
|
12280
11420
|
if (!authenticated) {
|
|
12281
|
-
const redirect =
|
|
11421
|
+
const redirect = this.authService.getAuthenticationFailureRedirect(activatedRoute, state);
|
|
12282
11422
|
// const nextPlaceDef = this.getPlaceDefinition(redirect);
|
|
12283
11423
|
if (redirect.requiresAuthentication()) {
|
|
12284
11424
|
lang.illegalState(`onAuthenticationFailure hook returned place ${redirect.toDebugString()} that requires authentication.`);
|
|
@@ -12287,7 +11427,7 @@ class PlaceGuard {
|
|
|
12287
11427
|
}
|
|
12288
11428
|
await this.authService.waitUntilAuthorisationReadyFor(placeDefinition);
|
|
12289
11429
|
if (!this.authService.isAuthorised(placeDefinition)) {
|
|
12290
|
-
const nextRedirect =
|
|
11430
|
+
const nextRedirect = this.findBestAuthenticatedAlternative(placeDefinition, activatedRoute);
|
|
12291
11431
|
return this.createUrlTree(nextRedirect);
|
|
12292
11432
|
}
|
|
12293
11433
|
}
|
|
@@ -12331,7 +11471,7 @@ class PlaceGuard {
|
|
|
12331
11471
|
return lang.illegalState(`expected component to be an instance of PlaceComponent, got ${activatedRoute.component}`);
|
|
12332
11472
|
}
|
|
12333
11473
|
}
|
|
12334
|
-
|
|
11474
|
+
findBestAuthenticatedAlternative(placeDefinition, activatedRoute) {
|
|
12335
11475
|
let currentPlace = placeDefinition;
|
|
12336
11476
|
while (!currentPlace.isRoot()) {
|
|
12337
11477
|
currentPlace = currentPlace.parent;
|
|
@@ -12341,7 +11481,7 @@ class PlaceGuard {
|
|
|
12341
11481
|
}
|
|
12342
11482
|
}
|
|
12343
11483
|
// Couldn't find an authorised ancestor so we check if there are router level defined alternatives
|
|
12344
|
-
const alternativeRoutes =
|
|
11484
|
+
const alternativeRoutes = this.placeRouter.getAuthorisationFailureRedirectOptions(activatedRoute.component);
|
|
12345
11485
|
if (alternativeRoutes.length < 1) {
|
|
12346
11486
|
return lang.illegalState(`onAuthorisationFailure hook didn't return any alternate places`);
|
|
12347
11487
|
}
|
|
@@ -12384,13 +11524,13 @@ class PlaceGuard {
|
|
|
12384
11524
|
return next();
|
|
12385
11525
|
}
|
|
12386
11526
|
}
|
|
12387
|
-
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 });
|
|
12388
11528
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceGuard, providedIn: 'root' });
|
|
12389
11529
|
}
|
|
12390
11530
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceGuard, decorators: [{
|
|
12391
11531
|
type: Injectable,
|
|
12392
11532
|
args: [{ providedIn: 'root' }]
|
|
12393
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
11533
|
+
}], ctorParameters: function () { return [{ type: i1$4.Router }, { type: UrlService }, { type: PlaceRouter }, { type: PlaceHistory }, { type: InteractionService }, { type: i0.Injector }]; } });
|
|
12394
11534
|
|
|
12395
11535
|
var Formatter;
|
|
12396
11536
|
(function (Formatter) {
|
|
@@ -12424,74 +11564,69 @@ var Formatter;
|
|
|
12424
11564
|
Formatter.BOOLEAN = new BooleanType();
|
|
12425
11565
|
})(Formatter || (Formatter = {}));
|
|
12426
11566
|
|
|
12427
|
-
|
|
12428
|
-
|
|
12429
|
-
|
|
12430
|
-
|
|
12431
|
-
|
|
12432
|
-
|
|
12433
|
-
|
|
12434
|
-
|
|
12435
|
-
|
|
12436
|
-
|
|
12437
|
-
|
|
12438
|
-
|
|
12439
|
-
|
|
12440
|
-
|
|
12441
|
-
|
|
12442
|
-
|
|
12443
|
-
|
|
12444
|
-
|
|
12445
|
-
|
|
12446
|
-
|
|
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
|
-
// }
|
|
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
|
+
}
|
|
12474
11612
|
function RouteId(formatter, options) {
|
|
12475
11613
|
return (prototype, propertyKey) => {
|
|
12476
11614
|
const parameterDef = new ParameterDefinition.RouteId(propertyKey.toString(), options, formatter);
|
|
12477
|
-
|
|
12478
|
-
Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, parameterDef);
|
|
11615
|
+
installMechanics(parameterDef, prototype, propertyKey, '@RouteId');
|
|
12479
11616
|
};
|
|
12480
11617
|
}
|
|
12481
11618
|
function VisitParameter(options) {
|
|
12482
11619
|
const opts = Opts.get(options);
|
|
12483
11620
|
return (prototype, propertyKey) => {
|
|
12484
11621
|
const parameterDef = new ParameterDefinition.ValueParameter(propertyKey.toString(), options, opts.getOptional('storeInUrl', null));
|
|
12485
|
-
|
|
12486
|
-
// installMechanics(parameterDef, prototype, propertyKey, '@VisitParameter');
|
|
11622
|
+
installMechanics(parameterDef, prototype, propertyKey, '@VisitParameter');
|
|
12487
11623
|
};
|
|
12488
11624
|
}
|
|
12489
11625
|
function VisitParameterList(options) {
|
|
12490
11626
|
const opts = Opts.get(options);
|
|
12491
11627
|
return (prototype, propertyKey) => {
|
|
12492
11628
|
const parameterDef = new ParameterDefinition.ArrayParameter(propertyKey.toString(), options, opts.getOptional('storeInUrl', null));
|
|
12493
|
-
|
|
12494
|
-
// installMechanics(parameterDef, prototype, propertyKey, '@VisitParameterList');
|
|
11629
|
+
installMechanics(parameterDef, prototype, propertyKey, '@VisitParameterList');
|
|
12495
11630
|
};
|
|
12496
11631
|
}
|
|
12497
11632
|
|
|
@@ -12585,5 +11720,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
12585
11720
|
* Generated bundle index. Do not edit.
|
|
12586
11721
|
*/
|
|
12587
11722
|
|
|
12588
|
-
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 };
|
|
12589
11724
|
//# sourceMappingURL=coolon-angular-ui-powerups.mjs.map
|