@coolon/angular-ui-powerups 16.1.0-aplpha.88 → 16.1.0-aplpha.9
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 +2 -10
- package/assets/form.scss +27 -62
- package/assets/table.scss +24 -13
- package/assets/tabs.scss +6 -2
- package/esm2022/lib/animations/slide-animations.mjs +1 -6
- 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 -22
- package/esm2022/lib/components/disposable-component.mjs +37 -19
- package/esm2022/lib/components/exports.mjs +2 -6
- 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 +3 -3
- 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 +10 -49
- 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 +9 -21
- 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 +25 -42
- 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 +3 -13
- package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/property-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/selection-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/editor/edit-session.mjs +2 -4
- 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/default-cell-renderer/default-cell-renderer.component.mjs +3 -3
- package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +41 -132
- package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +2 -7
- package/esm2022/lib/components/tables/table/table.component.mjs +68 -19
- package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +4 -5
- 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 +4 -7
- package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +3 -3
- package/esm2022/lib/components/text/markdown/markdown.component.mjs +2 -2
- package/esm2022/lib/directives/directives.module.mjs +1 -1
- package/esm2022/lib/directives/exports.mjs +1 -2
- package/esm2022/lib/directives/highlight.pipe.mjs +2 -2
- 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 +9 -7
- 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/editors/edit-context.mjs +1 -1
- package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +2 -2
- package/esm2022/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +3 -3
- package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +2 -2
- package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +1 -3
- 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.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/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-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.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 +488 -1078
- 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 -55
- package/lib/components/disposable-component.d.ts +8 -11
- package/lib/components/exports.d.ts +1 -5
- package/lib/components/forms/abstract-input.component.d.ts +5 -13
- package/lib/components/forms/number-input/number-input.component.d.ts +4 -8
- 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 -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 +5 -10
- package/lib/components/tables/abstract-table.component.d.ts +2 -3
- package/lib/components/tables/column/column-list-model.d.ts +13 -0
- package/lib/components/tables/column/column-model.d.ts +1 -5
- package/lib/components/tables/column/custom-template-column-model.d.ts +1 -2
- package/lib/components/tables/column/custom-value-column-model.d.ts +1 -2
- package/lib/components/tables/column/editor-controls-column-model.d.ts +1 -2
- package/lib/components/tables/column/list-propery-column-model.d.ts +1 -2
- package/lib/components/tables/column/property-column-model.d.ts +1 -2
- package/lib/components/tables/column/selection-column-model.d.ts +1 -2
- package/lib/components/tables/filter/text-search-predicate.d.ts +0 -9
- package/lib/components/tables/renderer/table-body/table-body.component.d.ts +16 -35
- package/lib/components/tables/renderer/table-more-menu/table-more-menu.component.d.ts +1 -2
- package/lib/components/tables/table/table.component.d.ts +10 -5
- package/lib/components/tables/tree-table/tree-label-column-model.d.ts +1 -2
- package/lib/components/tables/tree-table/tree-table-component.d.ts +0 -3
- 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 +3 -1
- 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 +1 -1
- package/lib/interaction/exports.d.ts +0 -1
- 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-component.d.ts +4 -4
- package/lib/place/place.module.d.ts +5 -4
- package/package.json +5 -7
- 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/directives/resize-observer.directive.mjs +0 -40
- package/esm2022/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.mjs +0 -129
- 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/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,7 +2,7 @@ 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';
|
|
@@ -17,7 +17,7 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
|
17
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';
|
|
@@ -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$5 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, Logger, proxify, ValueModel, Proxify, StoreInValueModel, Command, MutableListModel, StoreInListModel, Disposable, DelegatingListModel,
|
|
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, TransactionObserver, DelegatingCommand, PagedListModel, ComputedListModel, Deferred, ReducingValueModel, AndValueModel } from '@coolon/pectin';
|
|
45
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 { isEmpty, isString, isFunction, isNil, isInteger, isObject, isEqual, join,
|
|
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
|
|
54
|
-
import { produce } from 'immer';
|
|
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';
|
|
57
|
+
import * as i7$1 from '@angular/flex-layout';
|
|
58
|
+
import { FlexModule, GridModule } from '@angular/flex-layout';
|
|
59
59
|
import * as i1$6 from '@angular/material/dialog';
|
|
60
60
|
import { MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
|
|
61
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
65
|
import * as i1$5 from '@angular/cdk/overlay';
|
|
65
|
-
import { style, trigger, transition, animate, group, query } from '@angular/animations';
|
|
66
66
|
import { MatCardModule } from '@angular/material/card';
|
|
67
67
|
import * as i3$3 from '@angular/material/list';
|
|
68
68
|
import { MatListModule } from '@angular/material/list';
|
|
69
|
+
import { style, query, group, animate, trigger, transition } from '@angular/animations';
|
|
69
70
|
|
|
70
71
|
class CommandDirective extends GarbageCollector {
|
|
71
72
|
elementRef;
|
|
@@ -212,12 +213,11 @@ var Track;
|
|
|
212
213
|
|
|
213
214
|
class DisposableComponent extends GarbageCollector {
|
|
214
215
|
trackById = Track.byId();
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
216
|
+
#_loaded$ = new MutableValueModel();
|
|
217
|
+
#asyncLoadables = [];
|
|
218
|
+
#awaitedLoadables = [];
|
|
218
219
|
#initCallbacks = [];
|
|
219
220
|
#initialised = false;
|
|
220
|
-
cdr = this.inject(ChangeDetectorRef);
|
|
221
221
|
onInit(callback) {
|
|
222
222
|
if (this.#initialised) {
|
|
223
223
|
callback();
|
|
@@ -226,25 +226,44 @@ class DisposableComponent extends GarbageCollector {
|
|
|
226
226
|
this.#initCallbacks.push(callback);
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
|
+
get loaded$() {
|
|
230
|
+
return this.#_loaded$.readonly$;
|
|
231
|
+
}
|
|
229
232
|
ngOnInit() {
|
|
230
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
|
+
}
|
|
231
245
|
this.#initialised = true;
|
|
232
246
|
}
|
|
233
|
-
ngOnDestroy() {
|
|
234
|
-
this.dispose();
|
|
235
|
-
}
|
|
236
247
|
inject(token) {
|
|
237
248
|
return inject(token);
|
|
238
249
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
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;
|
|
264
|
+
}
|
|
265
|
+
ngOnDestroy() {
|
|
266
|
+
this.dispose();
|
|
248
267
|
}
|
|
249
268
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DisposableComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
250
269
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: DisposableComponent, usesInheritance: true, ngImport: i0 });
|
|
@@ -717,42 +736,42 @@ var CommandFace;
|
|
|
717
736
|
}
|
|
718
737
|
}
|
|
719
738
|
__decorate([
|
|
720
|
-
|
|
739
|
+
Memoize(),
|
|
721
740
|
__metadata("design:type", Object),
|
|
722
741
|
__metadata("design:paramtypes", [])
|
|
723
742
|
], Adapter.prototype, "text", null);
|
|
724
743
|
__decorate([
|
|
725
|
-
|
|
744
|
+
Memoize(),
|
|
726
745
|
__metadata("design:type", Object),
|
|
727
746
|
__metadata("design:paramtypes", [])
|
|
728
747
|
], Adapter.prototype, "icon", null);
|
|
729
748
|
__decorate([
|
|
730
|
-
|
|
749
|
+
Memoize(),
|
|
731
750
|
__metadata("design:type", Object),
|
|
732
751
|
__metadata("design:paramtypes", [])
|
|
733
752
|
], Adapter.prototype, "iconPosition", null);
|
|
734
753
|
__decorate([
|
|
735
|
-
|
|
754
|
+
Memoize(),
|
|
736
755
|
__metadata("design:type", Object),
|
|
737
756
|
__metadata("design:paramtypes", [])
|
|
738
757
|
], Adapter.prototype, "tooltip", null);
|
|
739
758
|
__decorate([
|
|
740
|
-
|
|
759
|
+
Memoize(),
|
|
741
760
|
__metadata("design:type", Boolean),
|
|
742
761
|
__metadata("design:paramtypes", [])
|
|
743
762
|
], Adapter.prototype, "iconPositionStart", null);
|
|
744
763
|
__decorate([
|
|
745
|
-
|
|
764
|
+
Memoize(),
|
|
746
765
|
__metadata("design:type", Boolean),
|
|
747
766
|
__metadata("design:paramtypes", [])
|
|
748
767
|
], Adapter.prototype, "iconPositionEnd", null);
|
|
749
768
|
__decorate([
|
|
750
|
-
|
|
769
|
+
Memoize(),
|
|
751
770
|
__metadata("design:type", String),
|
|
752
771
|
__metadata("design:paramtypes", [])
|
|
753
772
|
], Adapter.prototype, "color", null);
|
|
754
773
|
__decorate([
|
|
755
|
-
|
|
774
|
+
Memoize(),
|
|
756
775
|
__metadata("design:type", String),
|
|
757
776
|
__metadata("design:paramtypes", [])
|
|
758
777
|
], Adapter.prototype, "style", null);
|
|
@@ -823,7 +842,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
823
842
|
args: ["class.disable-scroll"]
|
|
824
843
|
}] } });
|
|
825
844
|
|
|
826
|
-
/* eslint-disable @angular-eslint/no-host-metadata-property */
|
|
827
845
|
class IconComponent {
|
|
828
846
|
_icon;
|
|
829
847
|
prefix;
|
|
@@ -855,13 +873,11 @@ class IconComponent {
|
|
|
855
873
|
return `fa-${this.suffix}`;
|
|
856
874
|
}
|
|
857
875
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
858
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: IconComponent, selector: "aup-icon", inputs: { icon: "icon" }, host: { properties: { "attr.icon": "this.icon" }
|
|
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"] }] });
|
|
859
877
|
}
|
|
860
878
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IconComponent, decorators: [{
|
|
861
879
|
type: Component,
|
|
862
|
-
args: [{ selector: 'aup-icon',
|
|
863
|
-
class: "mat-icon" // this ensures angular form styles that target mat icon also work with us
|
|
864
|
-
}, template: "<ng-container [ngSwitch]=\"prefix\">\n\n <mat-icon *ngSwitchCase=\"iconPrefix.SVG\"\n [svgIcon]=\"suffix\"\n class=\"svgIcon\">\n </mat-icon>\n\n <mat-icon *ngSwitchCase=\"iconPrefix.MATERIAL\">\n {{suffix}}\n </mat-icon>\n\n <div *ngSwitchCase=\"iconPrefix.FONT_AWESOME\" class=\"faIconWrapper\">\n <i class=\"fa-solid\" [class]=\"faIcon\"></i>\n </div>\n\n <mat-icon *ngSwitchDefault\n [matTooltip]=\"errorMessage\">\n bug_report\n </mat-icon>\n\n</ng-container>\n\n", styles: [":host{display:inline-flex;--resolved-size: var(--aup-icon-size, 24px);width:var(--resolved-size)!important;min-width:var(--resolved-size)!important;height:var(--resolved-size)!important;min-height:var(--resolved-size)!important}:host fa-icon{vertical-align:middle}:host .faIconWrapper{display:flex;flex-direction:row;align-items:center;justify-content:center;width:var(--resolved-size)!important;height:var(--resolved-size)!important}:host .svgIcon{width:var(--resolved-size)!important;height:var(--resolved-size)!important}:host :host(.mat-chip-remove){--aup-icon-size: 18px}:host mat-icon{font-size:var(--resolved-size)!important;width:var(--resolved-size)!important;height:var(--resolved-size)!important;margin-right:0!important}\n"] }]
|
|
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"] }]
|
|
865
881
|
}], propDecorators: { icon: [{
|
|
866
882
|
type: Input
|
|
867
883
|
}, {
|
|
@@ -892,7 +908,6 @@ class CommandFaceComponent extends DisposableComponent {
|
|
|
892
908
|
// tslint:disable-next-line:no-input-rename
|
|
893
909
|
get _rawFaces() { return this.#_rawFaces_accessor_storage; }
|
|
894
910
|
set _rawFaces(value) { this.#_rawFaces_accessor_storage = value; }
|
|
895
|
-
hasTextAndLeadingIcon$;
|
|
896
911
|
set face(face) {
|
|
897
912
|
this.faces$.value = [face];
|
|
898
913
|
}
|
|
@@ -912,7 +927,6 @@ class CommandFaceComponent extends DisposableComponent {
|
|
|
912
927
|
const activeFace = this.faceAdapters.first();
|
|
913
928
|
this.activeIcon = activeFace.pluck("icon");
|
|
914
929
|
this.activeColor = activeFace.pluck("color");
|
|
915
|
-
this.hasTextAndLeadingIcon$ = valueOf.all(this.activeIcon.isNotNil(), activeFace.pluckString('text').isNotBlank(), activeFace.pluck("iconPosition").doesNotEqual(CommandFace.Position.END)).areTruthy();
|
|
916
930
|
}
|
|
917
931
|
shouldIncludeIcon(face) {
|
|
918
932
|
return (!this.ignoreIcon && face.icon) || this.includeMissingIconInLayout;
|
|
@@ -926,11 +940,8 @@ class CommandFaceComponent extends DisposableComponent {
|
|
|
926
940
|
get color() {
|
|
927
941
|
return this.activeColor.value;
|
|
928
942
|
}
|
|
929
|
-
get hasTextAndIcon() {
|
|
930
|
-
return this.hasTextAndLeadingIcon$.value;
|
|
931
|
-
}
|
|
932
943
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CommandFaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
933
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: CommandFaceComponent, selector: "aup-command-face", inputs: { _rawFaces: ["faces", "_rawFaces"], face: "face", ignoreIcon: "ignoreIcon", ignoreText: "ignoreText", includeMissingIconInLayout: "includeMissingIconInLayout" }, host: { properties: { "class.hide-icon": "this.requiresMissingIconInLayout", "attr.color": "this.color"
|
|
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 });
|
|
934
945
|
}
|
|
935
946
|
__decorate([
|
|
936
947
|
StoreInListModel("faces$"),
|
|
@@ -938,7 +949,7 @@ __decorate([
|
|
|
938
949
|
], CommandFaceComponent.prototype, "_rawFaces", null);
|
|
939
950
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CommandFaceComponent, decorators: [{
|
|
940
951
|
type: Component,
|
|
941
|
-
args: [{ selector: 'aup-command-face', encapsulation: ViewEncapsulation.None, template: "<div class=\"face-container\" *ngFor=\"let face of faceAdapters.value\">\n <aup-icon *ngIf=\"hasIconStart(face)\" [icon]=\"face.icon\"></aup-icon>\n <span *ngIf=\"face.text\">{{face.text}}</span>\n <aup-icon *ngIf=\"hasIconEnd(face)\" [icon]=\"face.icon\"></aup-icon>\n</div>\n", styles: ["aup-command-face{--icon-gap: var(--aup-command-face-icon-gap);display:inline-grid}aup-command-face>.face-container{grid-column:1;grid-row:1;display:inline-flex;flex-direction:row;align-items:center}aup-command-face>.face-container
|
|
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"] }]
|
|
942
953
|
}], ctorParameters: function () { return []; }, propDecorators: { _rawFaces: [{
|
|
943
954
|
type: Input,
|
|
944
955
|
args: ['faces']
|
|
@@ -956,9 +967,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
956
967
|
}], color: [{
|
|
957
968
|
type: HostBinding,
|
|
958
969
|
args: ['attr.color']
|
|
959
|
-
}], hasTextAndIcon: [{
|
|
960
|
-
type: HostBinding,
|
|
961
|
-
args: ['class.has-text-and-leading-icon']
|
|
962
970
|
}] } });
|
|
963
971
|
|
|
964
972
|
/**
|
|
@@ -1062,11 +1070,11 @@ class CardContainerComponent extends AbstractCardContainerComponent {
|
|
|
1062
1070
|
}
|
|
1063
1071
|
}
|
|
1064
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 });
|
|
1065
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: CardContainerComponent, selector: "aup-card-container", inputs: { columnCount: "columnCount", enableScroll: "enableScroll" }, host: { properties: { "class.auto-columns": "this.isAutoColumns", "class.single-column": "this.isSingleColumn" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"header-container\">\n <ng-content select=\"[card-container-header]
|
|
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"] }] });
|
|
1066
1074
|
}
|
|
1067
1075
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CardContainerComponent, decorators: [{
|
|
1068
1076
|
type: Component,
|
|
1069
|
-
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"] }]
|
|
1070
1078
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { columnCount: [{
|
|
1071
1079
|
type: Input
|
|
1072
1080
|
}], enableScroll: [{
|
|
@@ -1142,24 +1150,14 @@ class CommandComponent extends PopupAwareComponent {
|
|
|
1142
1150
|
activeFace$;
|
|
1143
1151
|
iconOnly$;
|
|
1144
1152
|
tooltip$;
|
|
1145
|
-
visible$;
|
|
1146
1153
|
constructor(element, parent) {
|
|
1147
1154
|
super(element, parent);
|
|
1148
1155
|
const { chain, switchOn } = Dsl.disposeWith(this);
|
|
1149
|
-
this.faces$ = chain(this.command.busy$)
|
|
1150
|
-
.mapToList(busy => {
|
|
1156
|
+
this.faces$ = chain(this.command.busy$).mapToList(busy => {
|
|
1151
1157
|
return busy ?
|
|
1152
|
-
[this.busyFace$.value
|
|
1153
|
-
[this.face$.value
|
|
1154
|
-
}, {
|
|
1155
|
-
allowNil: true,
|
|
1156
|
-
dependsOn: [
|
|
1157
|
-
this.face$,
|
|
1158
|
-
this.busyFace$,
|
|
1159
|
-
this.command.defaultFace$,
|
|
1160
|
-
this.command.busyFace$
|
|
1161
|
-
]
|
|
1162
|
-
})
|
|
1158
|
+
[this.busyFace$.value, this.face$.value] :
|
|
1159
|
+
[this.face$.value, this.busyFace$.value];
|
|
1160
|
+
}, { allowNil: true, dependsOn: [this.face$, this.busyFace$] })
|
|
1163
1161
|
.rejectNil();
|
|
1164
1162
|
this.activeFace$ = this.faces$.first();
|
|
1165
1163
|
this.buttonStyle$ = chain(this.activeFace$).map(f => CommandFace.getStyleOf(f));
|
|
@@ -1168,19 +1166,18 @@ class CommandComponent extends PopupAwareComponent {
|
|
|
1168
1166
|
this.iconOnly$ = this.faces$.select(face => {
|
|
1169
1167
|
return isEmpty(CommandFace.getTextOf(face)) && !isEmpty(CommandFace.getIconOf(face));
|
|
1170
1168
|
}).count().equals(this.faces$.count());
|
|
1171
|
-
this.visible$ = chain(this.command.visible$);
|
|
1172
|
-
}
|
|
1173
|
-
get cssDisplayProperty() {
|
|
1174
|
-
return this.visible$.value ? undefined : 'none';
|
|
1175
1169
|
}
|
|
1176
1170
|
isActive(face) {
|
|
1177
1171
|
return this.activeFace$.query().equals(face);
|
|
1178
1172
|
}
|
|
1173
|
+
getFace() {
|
|
1174
|
+
return this.face;
|
|
1175
|
+
}
|
|
1179
1176
|
requestFocus() {
|
|
1180
1177
|
this.button.focus();
|
|
1181
1178
|
}
|
|
1182
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 });
|
|
1183
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: CommandComponent, selector: "aup-command", inputs: { command: "command", face$: "face$", face: "face", busyFace$: "busyFace$", busyFace: "busyFace", alignFace: "alignFace" }, host: { properties: { "class": "this.alignFace"
|
|
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"] }] });
|
|
1184
1181
|
}
|
|
1185
1182
|
__decorate([
|
|
1186
1183
|
Proxify(),
|
|
@@ -1228,9 +1225,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1228
1225
|
}], button: [{
|
|
1229
1226
|
type: ViewChild,
|
|
1230
1227
|
args: [MatButton]
|
|
1231
|
-
}], cssDisplayProperty: [{
|
|
1232
|
-
type: HostBinding,
|
|
1233
|
-
args: ["style.display"]
|
|
1234
1228
|
}] } });
|
|
1235
1229
|
|
|
1236
1230
|
/**
|
|
@@ -1258,12 +1252,12 @@ class AbstractPopupMenuComponent extends PopupAwareComponent {
|
|
|
1258
1252
|
xPosition = 'after';
|
|
1259
1253
|
yPosition = 'below';
|
|
1260
1254
|
triggers;
|
|
1255
|
+
#enabled_accessor_storage;
|
|
1256
|
+
get enabled() { return this.#enabled_accessor_storage; }
|
|
1257
|
+
set enabled(value) { this.#enabled_accessor_storage = value; }
|
|
1261
1258
|
#enabled$_accessor_storage = proxify((ValueModel));
|
|
1262
1259
|
get enabled$() { return this.#enabled$_accessor_storage; }
|
|
1263
1260
|
set enabled$(value) { this.#enabled$_accessor_storage = value; }
|
|
1264
|
-
#enabled_accessor_storage = true;
|
|
1265
|
-
get enabled() { return this.#enabled_accessor_storage; }
|
|
1266
|
-
set enabled(value) { this.#enabled_accessor_storage = value; }
|
|
1267
1261
|
children;
|
|
1268
1262
|
faces$;
|
|
1269
1263
|
constructor(element, parent) {
|
|
@@ -1305,16 +1299,16 @@ class AbstractPopupMenuComponent extends PopupAwareComponent {
|
|
|
1305
1299
|
return this.faceAdapter.face;
|
|
1306
1300
|
}
|
|
1307
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 });
|
|
1308
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractPopupMenuComponent, selector: "aup-abstract-popup-menu", inputs: { xPosition: "xPosition", yPosition: "yPosition", enabled
|
|
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 });
|
|
1309
1303
|
}
|
|
1304
|
+
__decorate([
|
|
1305
|
+
StoreInValueModel(),
|
|
1306
|
+
__metadata("design:type", Boolean)
|
|
1307
|
+
], AbstractPopupMenuComponent.prototype, "enabled", null);
|
|
1310
1308
|
__decorate([
|
|
1311
1309
|
Proxify(),
|
|
1312
1310
|
__metadata("design:type", Object)
|
|
1313
1311
|
], AbstractPopupMenuComponent.prototype, "enabled$", null);
|
|
1314
|
-
__decorate([
|
|
1315
|
-
StoreInValueModel(),
|
|
1316
|
-
__metadata("design:type", Object)
|
|
1317
|
-
], AbstractPopupMenuComponent.prototype, "enabled", null);
|
|
1318
1312
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractPopupMenuComponent, decorators: [{
|
|
1319
1313
|
type: Component,
|
|
1320
1314
|
args: [{ selector: 'aup-abstract-popup-menu', template: '' }]
|
|
@@ -1328,10 +1322,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1328
1322
|
}], triggers: [{
|
|
1329
1323
|
type: ViewChildren,
|
|
1330
1324
|
args: [MatMenuTrigger]
|
|
1331
|
-
}], enabled$: [{
|
|
1332
|
-
type: Input
|
|
1333
1325
|
}], enabled: [{
|
|
1334
1326
|
type: Input
|
|
1327
|
+
}], enabled$: [{
|
|
1328
|
+
type: Input
|
|
1335
1329
|
}] } });
|
|
1336
1330
|
|
|
1337
1331
|
class CommandContainer extends GarbageCollector {
|
|
@@ -1364,15 +1358,13 @@ class ToolBarComponent extends CommandContainer {
|
|
|
1364
1358
|
get orientation() {
|
|
1365
1359
|
return CommandContainer.Orientation.HORIZONTAL;
|
|
1366
1360
|
}
|
|
1367
|
-
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 });
|
|
1368
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 });
|
|
1369
1363
|
}
|
|
1370
1364
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ToolBarComponent, decorators: [{
|
|
1371
1365
|
type: Component,
|
|
1372
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"] }]
|
|
1373
|
-
}], ctorParameters: function () { return [{ type: CommandContainer
|
|
1374
|
-
type: Optional
|
|
1375
|
-
}] }]; } });
|
|
1367
|
+
}], ctorParameters: function () { return [{ type: CommandContainer }]; } });
|
|
1376
1368
|
|
|
1377
1369
|
/**
|
|
1378
1370
|
*
|
|
@@ -1683,6 +1675,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1683
1675
|
args: ['blur']
|
|
1684
1676
|
}] } });
|
|
1685
1677
|
|
|
1678
|
+
/* tslint:disable:no-input-rename */
|
|
1686
1679
|
const INPUT_TOKEN_HACK = new InjectionToken("INPUT_TOKEN_HACK");
|
|
1687
1680
|
class AbstractInputComponent extends DisposableComponent {
|
|
1688
1681
|
onValueEditedListeners = new EventListenerList();
|
|
@@ -1697,16 +1690,11 @@ class AbstractInputComponent extends DisposableComponent {
|
|
|
1697
1690
|
* gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
|
|
1698
1691
|
*/
|
|
1699
1692
|
formValue$;
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
set i18n$(value) { this.#i18n$_accessor_storage = value; }
|
|
1703
|
-
#i18n_accessor_storage;
|
|
1704
|
-
get i18n() { return this.#i18n_accessor_storage; }
|
|
1705
|
-
set i18n(value) { this.#i18n_accessor_storage = value; }
|
|
1706
|
-
_label;
|
|
1693
|
+
label;
|
|
1694
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
1707
1695
|
userFloatLabel = 'always'; // TODO: make this an injectable default
|
|
1708
|
-
|
|
1709
|
-
|
|
1696
|
+
hint;
|
|
1697
|
+
placeholder;
|
|
1710
1698
|
dense = false;
|
|
1711
1699
|
_enabled$ = this.registerDisposable(new DelegatingValueModel());
|
|
1712
1700
|
set enabled$(condition$) {
|
|
@@ -1773,9 +1761,6 @@ class AbstractInputComponent extends DisposableComponent {
|
|
|
1773
1761
|
isEnabled() {
|
|
1774
1762
|
return this.enabled$.value;
|
|
1775
1763
|
}
|
|
1776
|
-
get disabled() {
|
|
1777
|
-
return !this.isEnabled();
|
|
1778
|
-
}
|
|
1779
1764
|
hasErrors() {
|
|
1780
1765
|
return !this.errorList$.query().isEmpty();
|
|
1781
1766
|
}
|
|
@@ -1788,15 +1773,6 @@ class AbstractInputComponent extends DisposableComponent {
|
|
|
1788
1773
|
get focusContext() {
|
|
1789
1774
|
return this.formValue$.focusContext;
|
|
1790
1775
|
}
|
|
1791
|
-
get label() {
|
|
1792
|
-
return this._label ?? this.i18n?.label();
|
|
1793
|
-
}
|
|
1794
|
-
get hint() {
|
|
1795
|
-
return this._hint ?? this.hackyGetI18n("hint");
|
|
1796
|
-
}
|
|
1797
|
-
get placeholder() {
|
|
1798
|
-
return this._placeholder ?? this.hackyGetI18n("placeholder");
|
|
1799
|
-
}
|
|
1800
1776
|
get floatLabel() {
|
|
1801
1777
|
// return this.dense ? 'never' : this.userFloatLabel;
|
|
1802
1778
|
return this.userFloatLabel;
|
|
@@ -1811,45 +1787,24 @@ class AbstractInputComponent extends DisposableComponent {
|
|
|
1811
1787
|
onValueEdited(callback) {
|
|
1812
1788
|
return this.onValueEditedListeners.add(callback);
|
|
1813
1789
|
}
|
|
1814
|
-
hackyGetI18n(key) {
|
|
1815
|
-
// TODO: update I18n to make it possible to get an optional value with return the missing key message.
|
|
1816
|
-
const i18nFn = this.i18n ? this.i18n[key] : undefined;
|
|
1817
|
-
const i18nValue = i18nFn && i18nFn();
|
|
1818
|
-
return i18nValue?.startsWith("missing key") ? undefined : i18nValue;
|
|
1819
|
-
}
|
|
1820
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 });
|
|
1821
|
-
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 });
|
|
1822
1792
|
}
|
|
1823
|
-
__decorate([
|
|
1824
|
-
Proxify(),
|
|
1825
|
-
__metadata("design:type", Object)
|
|
1826
|
-
], AbstractInputComponent.prototype, "i18n$", null);
|
|
1827
|
-
__decorate([
|
|
1828
|
-
StoreInValueModel(),
|
|
1829
|
-
__metadata("design:type", Object)
|
|
1830
|
-
], AbstractInputComponent.prototype, "i18n", null);
|
|
1831
1793
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractInputComponent, decorators: [{
|
|
1832
1794
|
type: Component,
|
|
1833
1795
|
args: [{ template: '' }]
|
|
1834
1796
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
1835
1797
|
type: Inject,
|
|
1836
1798
|
args: [INPUT_TOKEN_HACK]
|
|
1837
|
-
}] }]; }, propDecorators: {
|
|
1838
|
-
type: Input
|
|
1839
|
-
}], i18n: [{
|
|
1799
|
+
}] }]; }, propDecorators: { label: [{
|
|
1840
1800
|
type: Input
|
|
1841
|
-
}], _label: [{
|
|
1842
|
-
type: Input,
|
|
1843
|
-
args: ["label"]
|
|
1844
1801
|
}], userFloatLabel: [{
|
|
1845
1802
|
type: Input,
|
|
1846
1803
|
args: ['floatLabel']
|
|
1847
|
-
}],
|
|
1848
|
-
type: Input
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
type: Input,
|
|
1852
|
-
args: ['placeholder']
|
|
1804
|
+
}], hint: [{
|
|
1805
|
+
type: Input
|
|
1806
|
+
}], placeholder: [{
|
|
1807
|
+
type: Input
|
|
1853
1808
|
}], dense: [{
|
|
1854
1809
|
type: HostBinding,
|
|
1855
1810
|
args: ['class.dense']
|
|
@@ -1892,9 +1847,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1892
1847
|
}], notifyFocusOut: [{
|
|
1893
1848
|
type: HostListener,
|
|
1894
1849
|
args: ['focusout']
|
|
1895
|
-
}], disabled: [{
|
|
1896
|
-
type: HostBinding,
|
|
1897
|
-
args: ["class.disabled"]
|
|
1898
1850
|
}] } });
|
|
1899
1851
|
|
|
1900
1852
|
class AbstractListInputComponent extends AbstractInputComponent {
|
|
@@ -2133,11 +2085,11 @@ class CheckboxInputComponent extends AbstractValueInputComponent {
|
|
|
2133
2085
|
super();
|
|
2134
2086
|
}
|
|
2135
2087
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CheckboxInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2136
|
-
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>{{
|
|
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"] }] });
|
|
2137
2089
|
}
|
|
2138
2090
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CheckboxInputComponent, decorators: [{
|
|
2139
2091
|
type: Component,
|
|
2140
|
-
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>{{
|
|
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"] }]
|
|
2141
2093
|
}], ctorParameters: function () { return []; }, propDecorators: { color: [{
|
|
2142
2094
|
type: Input
|
|
2143
2095
|
}], labelPosition: [{
|
|
@@ -2176,7 +2128,7 @@ class MultipleSelectInputComponent extends AbstractListInputComponent {
|
|
|
2176
2128
|
const self = this;
|
|
2177
2129
|
this.registerDisposable(new Binding(this.componentList$, this.ids$, {
|
|
2178
2130
|
toLeft(selectedItems, currentLeftValue) {
|
|
2179
|
-
const newValues = selectedItems.map(it => lookup.get(it)).filter(it =>
|
|
2131
|
+
const newValues = selectedItems.map(it => lookup.get(it)).filter(it => !it);
|
|
2180
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
|
|
2181
2133
|
return newValues.length < 1 && selectedItems.length > 0 ? currentLeftValue : newValues;
|
|
2182
2134
|
},
|
|
@@ -2215,142 +2167,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
2215
2167
|
|
|
2216
2168
|
class NumberInputComponent extends AbstractValueInputComponent {
|
|
2217
2169
|
autocomplete;
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
#min_accessor_storage = Number.MIN_SAFE_INTEGER;
|
|
2222
|
-
get min() { return this.#min_accessor_storage; }
|
|
2223
|
-
set min(value) { this.#min_accessor_storage = value; }
|
|
2224
|
-
#max$_accessor_storage = proxify((ValueModel));
|
|
2225
|
-
get max$() { return this.#max$_accessor_storage; }
|
|
2226
|
-
set max$(value) { this.#max$_accessor_storage = value; }
|
|
2227
|
-
#max_accessor_storage = Number.MAX_SAFE_INTEGER;
|
|
2228
|
-
get max() { return this.#max_accessor_storage; }
|
|
2229
|
-
set max(value) { this.#max_accessor_storage = value; }
|
|
2230
|
-
incrementCommand;
|
|
2231
|
-
decrementCommand;
|
|
2170
|
+
min = Number.MIN_SAFE_INTEGER;
|
|
2171
|
+
max = Number.MAX_SAFE_INTEGER;
|
|
2172
|
+
iconPrefix;
|
|
2232
2173
|
constructor() {
|
|
2233
2174
|
super();
|
|
2234
|
-
const { chain } = Dsl.disposeWith(this);
|
|
2235
|
-
const normalisedValue$ = chain(this.value$).otherwise(0);
|
|
2236
|
-
this.incrementCommand = Command.create(() => {
|
|
2237
|
-
this.value$.value = normalisedValue$.value + 1;
|
|
2238
|
-
}).enableWhile(chain.numericValue(normalisedValue$).isLessThan(this.max$).and(this.enabled$));
|
|
2239
|
-
this.decrementCommand = Command.create(() => {
|
|
2240
|
-
this.value$.value = normalisedValue$.value - 1;
|
|
2241
|
-
}).enableWhile(chain.numericValue(normalisedValue$).isGreaterThan(this.min$).and(this.enabled$));
|
|
2242
2175
|
}
|
|
2243
2176
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: NumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2244
|
-
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"] }] });
|
|
2245
2178
|
}
|
|
2246
|
-
__decorate([
|
|
2247
|
-
Proxify(),
|
|
2248
|
-
__metadata("design:type", ValueModel)
|
|
2249
|
-
], NumberInputComponent.prototype, "min$", null);
|
|
2250
|
-
__decorate([
|
|
2251
|
-
StoreInValueModel(),
|
|
2252
|
-
__metadata("design:type", Object)
|
|
2253
|
-
], NumberInputComponent.prototype, "min", null);
|
|
2254
|
-
__decorate([
|
|
2255
|
-
Proxify(),
|
|
2256
|
-
__metadata("design:type", ValueModel)
|
|
2257
|
-
], NumberInputComponent.prototype, "max$", null);
|
|
2258
|
-
__decorate([
|
|
2259
|
-
StoreInValueModel(),
|
|
2260
|
-
__metadata("design:type", Object)
|
|
2261
|
-
], NumberInputComponent.prototype, "max", null);
|
|
2262
2179
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: NumberInputComponent, decorators: [{
|
|
2263
2180
|
type: Component,
|
|
2264
|
-
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" }]
|
|
2265
2182
|
}], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
|
|
2266
2183
|
type: Input
|
|
2267
|
-
}], min$: [{
|
|
2268
|
-
type: Input
|
|
2269
2184
|
}], min: [{
|
|
2270
2185
|
type: Input
|
|
2271
|
-
}], max$: [{
|
|
2272
|
-
type: Input
|
|
2273
2186
|
}], max: [{
|
|
2274
2187
|
type: Input
|
|
2188
|
+
}], iconPrefix: [{
|
|
2189
|
+
type: Input
|
|
2275
2190
|
}] } });
|
|
2276
2191
|
|
|
2277
2192
|
class PasswordInputComponent extends AbstractValueInputComponent {
|
|
2278
2193
|
autocomplete;
|
|
2279
|
-
#enableShowPassword$_accessor_storage = proxify((ValueModel));
|
|
2280
|
-
get enableShowPassword$() { return this.#enableShowPassword$_accessor_storage; }
|
|
2281
|
-
set enableShowPassword$(value) { this.#enableShowPassword$_accessor_storage = value; }
|
|
2282
|
-
#enableShowPassword_accessor_storage = false;
|
|
2283
|
-
get enableShowPassword() { return this.#enableShowPassword_accessor_storage; }
|
|
2284
|
-
set enableShowPassword(value) { this.#enableShowPassword_accessor_storage = value; }
|
|
2285
|
-
showPassword$ = new MutableValueModel(false);
|
|
2286
|
-
toggleShowPasswordCommand;
|
|
2287
2194
|
constructor() {
|
|
2288
2195
|
super();
|
|
2289
|
-
const { chain, valueOf } = Dsl.disposeWith(this);
|
|
2290
|
-
const face$ = chain(this.showPassword$).map(show => {
|
|
2291
|
-
return {
|
|
2292
|
-
icon: () => show ? "mat:visibility_off" : "mat:visibility"
|
|
2293
|
-
};
|
|
2294
|
-
});
|
|
2295
|
-
this.toggleShowPasswordCommand = Command.create(() => {
|
|
2296
|
-
this.showPassword$.value = !this.showPassword$.value;
|
|
2297
|
-
})
|
|
2298
|
-
.withFace(face$)
|
|
2299
|
-
.enableWhile(chain.stringValue(this.componentValue$).isNotBlank());
|
|
2300
|
-
}
|
|
2301
|
-
get fieldType() {
|
|
2302
|
-
return this.showPassword$.value ? "text" : "password";
|
|
2303
2196
|
}
|
|
2304
2197
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PasswordInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2305
|
-
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"] }] });
|
|
2306
2199
|
}
|
|
2307
|
-
__decorate([
|
|
2308
|
-
Proxify(),
|
|
2309
|
-
__metadata("design:type", Object)
|
|
2310
|
-
], PasswordInputComponent.prototype, "enableShowPassword$", null);
|
|
2311
|
-
__decorate([
|
|
2312
|
-
StoreInValueModel(),
|
|
2313
|
-
__metadata("design:type", Object)
|
|
2314
|
-
], PasswordInputComponent.prototype, "enableShowPassword", null);
|
|
2315
2200
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PasswordInputComponent, decorators: [{
|
|
2316
2201
|
type: Component,
|
|
2317
|
-
args: [{ selector: 'aup-password-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input
|
|
2318
|
-
}], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
|
|
2319
|
-
type: Input
|
|
2320
|
-
}], enableShowPassword$: [{
|
|
2321
|
-
type: Input
|
|
2322
|
-
}], enableShowPassword: [{
|
|
2323
|
-
type: Input
|
|
2324
|
-
}] } });
|
|
2325
|
-
|
|
2326
|
-
class SearchInputComponent extends AbstractValueInputComponent {
|
|
2327
|
-
autocomplete;
|
|
2328
|
-
clearCommand;
|
|
2329
|
-
constructor() {
|
|
2330
|
-
super();
|
|
2331
|
-
this.dense = true;
|
|
2332
|
-
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
2333
|
-
this.clearCommand = Command.create(() => {
|
|
2334
|
-
this.componentValue$.value = "";
|
|
2335
|
-
});
|
|
2336
|
-
this.clearCommand.disableWhile(chain.stringValue(this.componentValue$).isBlank());
|
|
2337
|
-
}
|
|
2338
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2339
|
-
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"] }] });
|
|
2340
|
-
}
|
|
2341
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SearchInputComponent, decorators: [{
|
|
2342
|
-
type: Component,
|
|
2343
|
-
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" }]
|
|
2344
2203
|
}], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
|
|
2345
2204
|
type: Input
|
|
2346
2205
|
}] } });
|
|
2347
2206
|
|
|
2348
2207
|
/**
|
|
2349
2208
|
* Using templates:
|
|
2350
|
-
* <aup-select-input [
|
|
2209
|
+
* <aup-select-input [valueModel]="myModel" [options]="myOptions">
|
|
2351
2210
|
* <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
|
|
2352
|
-
* <ng-template #
|
|
2353
|
-
* <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>
|
|
2354
2212
|
* </aup-select_input>
|
|
2355
2213
|
*/
|
|
2356
2214
|
class SelectInputComponent extends AbstractValueInputComponent {
|
|
@@ -2375,7 +2233,7 @@ class SelectInputComponent extends AbstractValueInputComponent {
|
|
|
2375
2233
|
super();
|
|
2376
2234
|
const { chain } = Dsl.disposeWith(this);
|
|
2377
2235
|
this.cookedOptions$ = chain(this.options$)
|
|
2378
|
-
.
|
|
2236
|
+
.reduceToList(options => {
|
|
2379
2237
|
return options.length < 1 && !isNil(this.componentValue$.value) ? [this.componentValue$.value] : options;
|
|
2380
2238
|
}, {
|
|
2381
2239
|
dependsOn: this.componentValue$
|
|
@@ -2414,21 +2272,21 @@ class SelectInputComponent extends AbstractValueInputComponent {
|
|
|
2414
2272
|
id: this.delegatedIdentityOf(value)
|
|
2415
2273
|
});
|
|
2416
2274
|
let lastIdSnapshot = snapshotValueAndId(this.componentValue$.value);
|
|
2417
|
-
|
|
2275
|
+
console.log(lastIdSnapshot);
|
|
2418
2276
|
before(this.options$).changes(() => {
|
|
2419
2277
|
lastIdSnapshot = snapshotValueAndId(this.componentValue$.value);
|
|
2420
|
-
|
|
2278
|
+
console.log(lastIdSnapshot);
|
|
2421
2279
|
});
|
|
2422
2280
|
when(this.options$).changes((is, was) => {
|
|
2423
2281
|
const newIdSnapshot = snapshotValueAndId(lastIdSnapshot.value);
|
|
2424
|
-
|
|
2282
|
+
console.log(lastIdSnapshot, newIdSnapshot);
|
|
2425
2283
|
if (newIdSnapshot !== lastIdSnapshot.id) {
|
|
2426
2284
|
this.id$.value = this.delegatedIdentityOf(this.componentValue$.value);
|
|
2427
2285
|
}
|
|
2428
2286
|
});
|
|
2429
2287
|
}
|
|
2430
2288
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2431
|
-
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"] }] });
|
|
2432
2290
|
}
|
|
2433
2291
|
__decorate([
|
|
2434
2292
|
Proxify(),
|
|
@@ -2440,7 +2298,7 @@ __decorate([
|
|
|
2440
2298
|
], SelectInputComponent.prototype, "options", null);
|
|
2441
2299
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SelectInputComponent, decorators: [{
|
|
2442
2300
|
type: Component,
|
|
2443
|
-
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"] }]
|
|
2444
2302
|
}], ctorParameters: function () { return []; }, propDecorators: { options$: [{
|
|
2445
2303
|
type: Input
|
|
2446
2304
|
}], options: [{
|
|
@@ -2471,24 +2329,17 @@ class StringInputComponent extends AbstractValueInputComponent {
|
|
|
2471
2329
|
get enableClear() { return this.#enableClear_accessor_storage; }
|
|
2472
2330
|
set enableClear(value) { this.#enableClear_accessor_storage = value; }
|
|
2473
2331
|
iconPrefix;
|
|
2474
|
-
#suffixCommand_accessor_storage = proxify(Command);
|
|
2475
|
-
get suffixCommand() { return this.#suffixCommand_accessor_storage; }
|
|
2476
|
-
set suffixCommand(value) { this.#suffixCommand_accessor_storage = value; }
|
|
2477
2332
|
clearCommand;
|
|
2478
2333
|
constructor() {
|
|
2479
2334
|
super();
|
|
2480
2335
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
2481
2336
|
this.clearCommand = Command.create(() => {
|
|
2482
2337
|
this.componentValue$.value = "";
|
|
2483
|
-
})
|
|
2484
|
-
|
|
2485
|
-
.enableWhile(chain.stringValue(this.componentValue$).isNotBlank());
|
|
2486
|
-
}
|
|
2487
|
-
get hasSuffixCommand() {
|
|
2488
|
-
return Proxify.hasTarget(this.suffixCommand);
|
|
2338
|
+
});
|
|
2339
|
+
this.clearCommand.disableWhile(chain.stringValue(this.componentValue$).isBlank());
|
|
2489
2340
|
}
|
|
2490
2341
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: StringInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2491
|
-
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"] }] });
|
|
2492
2343
|
}
|
|
2493
2344
|
__decorate([
|
|
2494
2345
|
Proxify(),
|
|
@@ -2498,13 +2349,9 @@ __decorate([
|
|
|
2498
2349
|
StoreInValueModel(),
|
|
2499
2350
|
__metadata("design:type", Object)
|
|
2500
2351
|
], StringInputComponent.prototype, "enableClear", null);
|
|
2501
|
-
__decorate([
|
|
2502
|
-
Proxify(),
|
|
2503
|
-
__metadata("design:type", Command)
|
|
2504
|
-
], StringInputComponent.prototype, "suffixCommand", null);
|
|
2505
2352
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: StringInputComponent, decorators: [{
|
|
2506
2353
|
type: Component,
|
|
2507
|
-
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"] }]
|
|
2508
2355
|
}], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
|
|
2509
2356
|
type: Input
|
|
2510
2357
|
}], enableClear$: [{
|
|
@@ -2513,8 +2360,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
2513
2360
|
type: Input
|
|
2514
2361
|
}], iconPrefix: [{
|
|
2515
2362
|
type: Input
|
|
2516
|
-
}], suffixCommand: [{
|
|
2517
|
-
type: Input
|
|
2518
2363
|
}] } });
|
|
2519
2364
|
|
|
2520
2365
|
class TextInputComponent extends AbstractValueInputComponent {
|
|
@@ -2702,6 +2547,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
2702
2547
|
* </aup-switch-case>
|
|
2703
2548
|
*/
|
|
2704
2549
|
class SwitchCaseComponent extends DisposableComponent {
|
|
2550
|
+
cdr;
|
|
2705
2551
|
#switch$_accessor_storage = proxify((ValueModel));
|
|
2706
2552
|
get switch$() { return this.#switch$_accessor_storage; }
|
|
2707
2553
|
set switch$(value) { this.#switch$_accessor_storage = value; }
|
|
@@ -2710,8 +2556,9 @@ class SwitchCaseComponent extends DisposableComponent {
|
|
|
2710
2556
|
set switch(value) { this.#switch_accessor_storage = value; }
|
|
2711
2557
|
switchCaseOptions;
|
|
2712
2558
|
selectedIndex = 0;
|
|
2713
|
-
constructor() {
|
|
2559
|
+
constructor(cdr) {
|
|
2714
2560
|
super();
|
|
2561
|
+
this.cdr = cdr;
|
|
2715
2562
|
}
|
|
2716
2563
|
ngAfterContentInit() {
|
|
2717
2564
|
const subscription = this.switchCaseOptions.changes.subscribe(change => this.updateSelection());
|
|
@@ -2748,7 +2595,7 @@ class SwitchCaseComponent extends DisposableComponent {
|
|
|
2748
2595
|
this.selectedIndex = -1;
|
|
2749
2596
|
}
|
|
2750
2597
|
}
|
|
2751
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SwitchCaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
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 });
|
|
2752
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"] }] });
|
|
2753
2600
|
}
|
|
2754
2601
|
__decorate([
|
|
@@ -2762,7 +2609,7 @@ __decorate([
|
|
|
2762
2609
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SwitchCaseComponent, decorators: [{
|
|
2763
2610
|
type: Component,
|
|
2764
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"] }]
|
|
2765
|
-
}], ctorParameters: function () { return []; }, propDecorators: { switch$: [{
|
|
2612
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { switch$: [{
|
|
2766
2613
|
type: Input
|
|
2767
2614
|
}], switch: [{
|
|
2768
2615
|
type: Input
|
|
@@ -2959,7 +2806,6 @@ class ColumnTextSearchWrapper extends ColumnTextSearchFormatter.Delegate {
|
|
|
2959
2806
|
}
|
|
2960
2807
|
class ColumnModel extends GarbageCollector {
|
|
2961
2808
|
columnId;
|
|
2962
|
-
order;
|
|
2963
2809
|
textPropertiesProvider;
|
|
2964
2810
|
_columnTextProperties;
|
|
2965
2811
|
_columnHeaderPortalRef;
|
|
@@ -2973,10 +2819,9 @@ class ColumnModel extends GarbageCollector {
|
|
|
2973
2819
|
dasherisedColumnId;
|
|
2974
2820
|
textSearchDelegate = new ColumnTextSearchWrapper();
|
|
2975
2821
|
visible$;
|
|
2976
|
-
constructor(columnId,
|
|
2822
|
+
constructor(columnId, textPropertiesProvider) {
|
|
2977
2823
|
super();
|
|
2978
2824
|
this.columnId = columnId;
|
|
2979
|
-
this.order = order;
|
|
2980
2825
|
this.textPropertiesProvider = textPropertiesProvider;
|
|
2981
2826
|
const { valueOf } = Dsl.disposeWith(this);
|
|
2982
2827
|
this.installHeaderRenderer();
|
|
@@ -3021,14 +2866,6 @@ class ColumnModel extends GarbageCollector {
|
|
|
3021
2866
|
this._columnTextProperties = columnTextProperties;
|
|
3022
2867
|
return this;
|
|
3023
2868
|
}
|
|
3024
|
-
positionAfter(column) {
|
|
3025
|
-
this.order.position(this, { after: column });
|
|
3026
|
-
return this;
|
|
3027
|
-
}
|
|
3028
|
-
positionBefore(column) {
|
|
3029
|
-
this.order.position(this, { before: column });
|
|
3030
|
-
return this;
|
|
3031
|
-
}
|
|
3032
2869
|
getSearchTextFor(row) {
|
|
3033
2870
|
return this.textSearchDelegate.format(row);
|
|
3034
2871
|
}
|
|
@@ -3130,8 +2967,8 @@ __decorate([
|
|
|
3130
2967
|
|
|
3131
2968
|
class CustomTemplateColumnModel extends ColumnModel {
|
|
3132
2969
|
config = new TemplateCellRendererPortalRef();
|
|
3133
|
-
constructor(columnId,
|
|
3134
|
-
super(columnId,
|
|
2970
|
+
constructor(columnId, defaults) {
|
|
2971
|
+
super(columnId, defaults);
|
|
3135
2972
|
this.configureCellRenderer(this.config);
|
|
3136
2973
|
}
|
|
3137
2974
|
setTemplate(templateRef, viewContainer, fillCell, padChild) {
|
|
@@ -3209,17 +3046,12 @@ class AbstractTableComponent extends DisposableComponent {
|
|
|
3209
3046
|
#showHeader_accessor_storage = true;
|
|
3210
3047
|
get showHeader() { return this.#showHeader_accessor_storage; }
|
|
3211
3048
|
set showHeader(value) { this.#showHeader_accessor_storage = value; }
|
|
3212
|
-
#enableScrolling$_accessor_storage = proxify((ValueModel));
|
|
3213
3049
|
/**
|
|
3214
3050
|
* Set to true to enable scrolling. Once enabled the table will have 0 implicit height. You will either
|
|
3215
3051
|
* need to set it explicitly e.g. height: 400px; or by using flex or grid layout to make it fill it's
|
|
3216
3052
|
* containment area.
|
|
3217
3053
|
*/
|
|
3218
|
-
|
|
3219
|
-
set enableScrolling$(value) { this.#enableScrolling$_accessor_storage = value; }
|
|
3220
|
-
#enableScrolling_accessor_storage = false;
|
|
3221
|
-
get enableScrolling() { return this.#enableScrolling_accessor_storage; }
|
|
3222
|
-
set enableScrolling(value) { this.#enableScrolling_accessor_storage = value; }
|
|
3054
|
+
enableScrolling = false;
|
|
3223
3055
|
columns;
|
|
3224
3056
|
columnIds;
|
|
3225
3057
|
columnsById;
|
|
@@ -3238,6 +3070,7 @@ class AbstractTableComponent extends DisposableComponent {
|
|
|
3238
3070
|
super();
|
|
3239
3071
|
this.injector = injector;
|
|
3240
3072
|
const { chain, when } = Dsl.disposeWith(this);
|
|
3073
|
+
this._visibleRows$.setDelegate(this._dataSource$);
|
|
3241
3074
|
when(chain(this._dataSource$).first()).becomesTruthy(it => {
|
|
3242
3075
|
if (it === this.identityOf(it)) {
|
|
3243
3076
|
console.warn("Table model identity function is using reference equality. This can cause lots of table re-rendering", {
|
|
@@ -3256,7 +3089,7 @@ class AbstractTableComponent extends DisposableComponent {
|
|
|
3256
3089
|
if (!model) {
|
|
3257
3090
|
lang$1.illegalState("aup-table tableModel is nil");
|
|
3258
3091
|
}
|
|
3259
|
-
this.columnsById = chain(model.columns
|
|
3092
|
+
this.columnsById = chain(model.columns).indexBy('columnId');
|
|
3260
3093
|
this._dataSource$.setDelegate(model.dataSource$);
|
|
3261
3094
|
model.initialise(this.injector, (row) => this.identityOf(row));
|
|
3262
3095
|
}
|
|
@@ -3273,7 +3106,7 @@ class AbstractTableComponent extends DisposableComponent {
|
|
|
3273
3106
|
}
|
|
3274
3107
|
}
|
|
3275
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 });
|
|
3276
|
-
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 });
|
|
3277
3110
|
}
|
|
3278
3111
|
__decorate([
|
|
3279
3112
|
Proxify(),
|
|
@@ -3283,14 +3116,6 @@ __decorate([
|
|
|
3283
3116
|
StoreInValueModel(),
|
|
3284
3117
|
__metadata("design:type", Object)
|
|
3285
3118
|
], AbstractTableComponent.prototype, "showHeader", null);
|
|
3286
|
-
__decorate([
|
|
3287
|
-
Proxify(),
|
|
3288
|
-
__metadata("design:type", ValueModel)
|
|
3289
|
-
], AbstractTableComponent.prototype, "enableScrolling$", null);
|
|
3290
|
-
__decorate([
|
|
3291
|
-
StoreInValueModel(),
|
|
3292
|
-
__metadata("design:type", Boolean)
|
|
3293
|
-
], AbstractTableComponent.prototype, "enableScrolling", null);
|
|
3294
3119
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractTableComponent, decorators: [{
|
|
3295
3120
|
type: Component,
|
|
3296
3121
|
args: [{
|
|
@@ -3301,8 +3126,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
3301
3126
|
type: Input
|
|
3302
3127
|
}], showHeader: [{
|
|
3303
3128
|
type: Input
|
|
3304
|
-
}], enableScrolling$: [{
|
|
3305
|
-
type: Input
|
|
3306
3129
|
}], enableScrolling: [{
|
|
3307
3130
|
type: Input
|
|
3308
3131
|
}], baseCssClass: [{
|
|
@@ -3363,8 +3186,6 @@ class EditSession extends GarbageCollector {
|
|
|
3363
3186
|
// console.warn()
|
|
3364
3187
|
// }
|
|
3365
3188
|
this._liveRowValue$.value = produce(this._liveRowValue$.value, draft => {
|
|
3366
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3367
|
-
// @ts-ignore
|
|
3368
3189
|
this.form.writeDirtyStateTo(draft);
|
|
3369
3190
|
});
|
|
3370
3191
|
});
|
|
@@ -3467,11 +3288,11 @@ class DefaultCellRendererComponent {
|
|
|
3467
3288
|
return this._value;
|
|
3468
3289
|
}
|
|
3469
3290
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DefaultCellRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3470
|
-
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" }] });
|
|
3471
3292
|
}
|
|
3472
3293
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DefaultCellRendererComponent, decorators: [{
|
|
3473
3294
|
type: Component,
|
|
3474
|
-
args: [{ selector: "aup-default-cell-renderer", template: "<span [innerHTML]=\"value
|
|
3295
|
+
args: [{ selector: "aup-default-cell-renderer", template: "<span [innerHTML]=\"value| aupHighlight\"></span>\n" }]
|
|
3475
3296
|
}], propDecorators: { value: [{
|
|
3476
3297
|
type: Input
|
|
3477
3298
|
}] } });
|
|
@@ -3609,14 +3430,25 @@ class Bounds extends Dimension {
|
|
|
3609
3430
|
})(Bounds || (Bounds = {}));
|
|
3610
3431
|
|
|
3611
3432
|
class ResizeAwareComponent extends DisposableComponent {
|
|
3612
|
-
elementRef
|
|
3613
|
-
ngZone
|
|
3614
|
-
|
|
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
|
+
}
|
|
3615
3441
|
ngAfterViewInit() {
|
|
3616
|
-
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());
|
|
3617
3449
|
}
|
|
3618
3450
|
get bounds$() {
|
|
3619
|
-
return this.
|
|
3451
|
+
return this._bounds$.readonly$;
|
|
3620
3452
|
}
|
|
3621
3453
|
get nativeElement() {
|
|
3622
3454
|
return this.elementRef.nativeElement;
|
|
@@ -3626,160 +3458,57 @@ class ResizeAwareComponent extends DisposableComponent {
|
|
|
3626
3458
|
return this.bounds.relativePositionOf(point);
|
|
3627
3459
|
}
|
|
3628
3460
|
get bounds() {
|
|
3629
|
-
return this.
|
|
3461
|
+
return this._bounds$.value;
|
|
3462
|
+
}
|
|
3463
|
+
_updateBounds() {
|
|
3464
|
+
this._bounds$.value = Bounds.ofElement(this.nativeElement);
|
|
3630
3465
|
}
|
|
3631
|
-
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 });
|
|
3632
3467
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: ResizeAwareComponent, usesInheritance: true, ngImport: i0 });
|
|
3633
3468
|
}
|
|
3634
3469
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ResizeAwareComponent, decorators: [{
|
|
3635
3470
|
type: Directive
|
|
3636
|
-
}] });
|
|
3637
|
-
(function (ResizeAwareComponent) {
|
|
3638
|
-
class ResizeTracker extends GarbageCollector {
|
|
3639
|
-
elementRef;
|
|
3640
|
-
ngZone;
|
|
3641
|
-
_bounds$ = new MutableValueModel(new Bounds(0, 0, 0, 0));
|
|
3642
|
-
width$;
|
|
3643
|
-
height$;
|
|
3644
|
-
top$;
|
|
3645
|
-
left$;
|
|
3646
|
-
bottom$;
|
|
3647
|
-
right$;
|
|
3648
|
-
constructor(elementRef, ngZone) {
|
|
3649
|
-
super();
|
|
3650
|
-
this.elementRef = elementRef;
|
|
3651
|
-
this.ngZone = ngZone;
|
|
3652
|
-
const { chain } = Dsl.disposeWith(this);
|
|
3653
|
-
this.width$ = chain(this.bounds$).pluck("width");
|
|
3654
|
-
this.height$ = chain(this.bounds$).pluck("height");
|
|
3655
|
-
this.top$ = chain(this.bounds$).pluck("top");
|
|
3656
|
-
this.left$ = chain(this.bounds$).pluck("left");
|
|
3657
|
-
this.bottom$ = chain.numericValue(this.top$).add(this.height$);
|
|
3658
|
-
this.right$ = chain.numericValue(this.left$).add(this.width$);
|
|
3659
|
-
}
|
|
3660
|
-
notifyViewReady() {
|
|
3661
|
-
const element = this.elementRef.nativeElement;
|
|
3662
|
-
const ro = new ResizeObserver((entries, observer) => {
|
|
3663
|
-
this.ngZone.run(() => this._updateBounds());
|
|
3664
|
-
});
|
|
3665
|
-
ro.observe(element);
|
|
3666
|
-
this.onDispose(() => ro.disconnect());
|
|
3667
|
-
setTimeout(() => this._updateBounds());
|
|
3668
|
-
}
|
|
3669
|
-
get bounds$() {
|
|
3670
|
-
return this._bounds$.readonly$;
|
|
3671
|
-
}
|
|
3672
|
-
get nativeElement() {
|
|
3673
|
-
return this.elementRef.nativeElement;
|
|
3674
|
-
}
|
|
3675
|
-
// TODO: Make this handle body scroll
|
|
3676
|
-
relativePositionOf(point) {
|
|
3677
|
-
return this.bounds.relativePositionOf(point);
|
|
3678
|
-
}
|
|
3679
|
-
get bounds() {
|
|
3680
|
-
return this._bounds$.value;
|
|
3681
|
-
}
|
|
3682
|
-
_updateBounds() {
|
|
3683
|
-
this._bounds$.value = Bounds.ofElement(this.nativeElement);
|
|
3684
|
-
}
|
|
3685
|
-
}
|
|
3686
|
-
ResizeAwareComponent.ResizeTracker = ResizeTracker;
|
|
3687
|
-
})(ResizeAwareComponent || (ResizeAwareComponent = {}));
|
|
3471
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
3688
3472
|
|
|
3689
|
-
|
|
3690
|
-
|
|
3691
|
-
|
|
3692
|
-
if (position) {
|
|
3693
|
-
const keys = Object.keys(position);
|
|
3694
|
-
if (keys.includes("before")) {
|
|
3695
|
-
return position["before"] ? callback.before(position["before"]) : callback.first();
|
|
3696
|
-
}
|
|
3697
|
-
else {
|
|
3698
|
-
return position["after"] ? callback.after(position["after"]) : callback.last();
|
|
3699
|
-
}
|
|
3700
|
-
}
|
|
3701
|
-
else {
|
|
3702
|
-
return callback.last();
|
|
3703
|
-
}
|
|
3704
|
-
}
|
|
3705
|
-
ColumnOrderManager.processPosition = processPosition;
|
|
3706
|
-
})(ColumnOrderManager || (ColumnOrderManager = {}));
|
|
3707
|
-
|
|
3708
|
-
class ColumnRef {
|
|
3709
|
-
column;
|
|
3710
|
-
position;
|
|
3711
|
-
constructor(column, position) {
|
|
3712
|
-
this.column = column;
|
|
3713
|
-
this.position = position;
|
|
3714
|
-
}
|
|
3715
|
-
}
|
|
3716
|
-
class ColumnManager extends GarbageCollector {
|
|
3717
|
-
_columnRefs$ = new MutableListModel();
|
|
3718
|
-
orderedColumnRefs$;
|
|
3719
|
-
_columnsById$;
|
|
3720
|
-
allColumns$;
|
|
3721
|
-
columnVisibilities$ = new WatchList();
|
|
3722
|
-
visibleColumns$;
|
|
3473
|
+
class ColumnListModel extends AbstractComputedListModel {
|
|
3474
|
+
_allColumns$ = new MutableListModel();
|
|
3475
|
+
columnsById$;
|
|
3723
3476
|
constructor() {
|
|
3724
3477
|
super();
|
|
3725
3478
|
const { chain } = Dsl.disposeWith(this);
|
|
3726
|
-
this.
|
|
3727
|
-
this.allColumns$ = this.orderedColumnRefs$.pluck("column");
|
|
3728
|
-
this._columnsById$ = chain(this.allColumns$).indexBy('columnId');
|
|
3729
|
-
this.visibleColumns$ = chain(this.allColumns$).select(it => it.visible$.value, {
|
|
3730
|
-
dependsOn: this.columnVisibilities$
|
|
3731
|
-
});
|
|
3479
|
+
this.columnsById$ = chain(this._allColumns$).indexBy('columnId');
|
|
3732
3480
|
}
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
const position = this.computePosition(newPosition);
|
|
3736
|
-
this._columnRefs$.replace(target, { with: new ColumnRef(target.column, position) });
|
|
3481
|
+
get allColumns$() {
|
|
3482
|
+
return this._allColumns$.readonly$;
|
|
3737
3483
|
}
|
|
3738
3484
|
getColumn(id) {
|
|
3739
|
-
return this.
|
|
3485
|
+
return this.columnsById$.get(id);
|
|
3740
3486
|
}
|
|
3741
3487
|
hasColumn(id) {
|
|
3742
|
-
return !!this.
|
|
3488
|
+
return !!this.columnsById$.get(id);
|
|
3743
3489
|
}
|
|
3744
3490
|
hasMatchingColumn(row, regex) {
|
|
3745
3491
|
// only search the visible columns
|
|
3746
|
-
return !!this.
|
|
3492
|
+
return !!this.value.find(c => regex.test(c.getSearchTextFor(row)));
|
|
3747
3493
|
}
|
|
3748
|
-
addColumn(column,
|
|
3494
|
+
addColumn(column, index) {
|
|
3749
3495
|
if (this.hasColumn(column.columnId)) {
|
|
3750
3496
|
lang.illegalState(`Column with id=${column.columnId} already exists`);
|
|
3751
3497
|
}
|
|
3752
3498
|
this.registerDisposable(column);
|
|
3753
|
-
this.
|
|
3754
|
-
|
|
3755
|
-
|
|
3756
|
-
}
|
|
3757
|
-
computePosition(position) {
|
|
3758
|
-
const q = this.orderedColumnRefs$.query();
|
|
3759
|
-
return ColumnOrderManager.processPosition(position, {
|
|
3760
|
-
before(col) {
|
|
3761
|
-
const index = q.findIndex(ref => ref.column === col);
|
|
3762
|
-
const beforeCol = q.value[index];
|
|
3763
|
-
const afterCol = index - 1 >= 0 ? q.value[index - 1] : undefined;
|
|
3764
|
-
return generateKeyBetween(afterCol?.position, beforeCol.position);
|
|
3765
|
-
},
|
|
3766
|
-
after(col) {
|
|
3767
|
-
const index = q.findIndex(ref => ref.column === col);
|
|
3768
|
-
const afterCol = q.value[index];
|
|
3769
|
-
const beforeCol = index + 1 < q.length ? q.value[index + 1] : undefined;
|
|
3770
|
-
return generateKeyBetween(afterCol.position, beforeCol?.position);
|
|
3771
|
-
},
|
|
3772
|
-
first() {
|
|
3773
|
-
return generateKeyBetween(null, q.first()?.position);
|
|
3774
|
-
},
|
|
3775
|
-
last() {
|
|
3776
|
-
// add it to the end of the list
|
|
3777
|
-
return generateKeyBetween(q.last()?.position, null);
|
|
3499
|
+
this.runInTransaction(() => {
|
|
3500
|
+
if (!isNil(index)) {
|
|
3501
|
+
this._allColumns$.insert(index, column);
|
|
3778
3502
|
}
|
|
3503
|
+
else {
|
|
3504
|
+
this._allColumns$.push(column);
|
|
3505
|
+
}
|
|
3506
|
+
this.registerDisposable(this.trackSource(column.visible$));
|
|
3779
3507
|
});
|
|
3508
|
+
return column;
|
|
3780
3509
|
}
|
|
3781
3510
|
doComputeValue() {
|
|
3782
|
-
return this.
|
|
3511
|
+
return this._allColumns$.value.filter(c => c.visible$.value);
|
|
3783
3512
|
}
|
|
3784
3513
|
}
|
|
3785
3514
|
|
|
@@ -3813,8 +3542,8 @@ function EnableCellTextSearch(options) {
|
|
|
3813
3542
|
|
|
3814
3543
|
class CustomValueColumnModel extends ColumnModel {
|
|
3815
3544
|
getValue;
|
|
3816
|
-
constructor(columnId,
|
|
3817
|
-
super(columnId,
|
|
3545
|
+
constructor(columnId, defaults, getValue) {
|
|
3546
|
+
super(columnId, defaults);
|
|
3818
3547
|
this.getValue = getValue;
|
|
3819
3548
|
this.cellRenderer(DefaultCellRendererComponent);
|
|
3820
3549
|
}
|
|
@@ -3822,17 +3551,17 @@ class CustomValueColumnModel extends ColumnModel {
|
|
|
3822
3551
|
this.configureColumnTextSearch(EnableCellTextSearch.getFormatter(componentType, () => new ColumnTextSearchFormatter.Null()), row => this.getValue(row));
|
|
3823
3552
|
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
3824
3553
|
if (firstTime) {
|
|
3825
|
-
if (isFunction(onComponentInitOrOptions)) {
|
|
3554
|
+
if (isFunction$1(onComponentInitOrOptions)) {
|
|
3826
3555
|
onComponentInitOrOptions(component);
|
|
3827
3556
|
}
|
|
3828
3557
|
else {
|
|
3829
|
-
if (isFunction(onComponentInitOrOptions?.onComponentInit)) {
|
|
3558
|
+
if (isFunction$1(onComponentInitOrOptions?.onComponentInit)) {
|
|
3830
3559
|
onComponentInitOrOptions.onComponentInit(component);
|
|
3831
3560
|
}
|
|
3832
3561
|
}
|
|
3833
3562
|
}
|
|
3834
3563
|
component.value = this.getValue(rowData.row);
|
|
3835
|
-
if (!isFunction(onComponentInitOrOptions) && isFunction(onComponentInitOrOptions?.onRowUpdate)) {
|
|
3564
|
+
if (!isFunction$1(onComponentInitOrOptions) && isFunction$1(onComponentInitOrOptions?.onRowUpdate)) {
|
|
3836
3565
|
onComponentInitOrOptions.onRowUpdate(component, rowData.row);
|
|
3837
3566
|
}
|
|
3838
3567
|
}));
|
|
@@ -3844,8 +3573,8 @@ class CustomValueColumnModel extends ColumnModel {
|
|
|
3844
3573
|
}
|
|
3845
3574
|
|
|
3846
3575
|
class EditorControlColumnModel extends ColumnModel {
|
|
3847
|
-
constructor(columnId,
|
|
3848
|
-
super(columnId,
|
|
3576
|
+
constructor(columnId, saveCommandFactory, defaults) {
|
|
3577
|
+
super(columnId, defaults);
|
|
3849
3578
|
this.cellRenderer(EditRowControlsComponent);
|
|
3850
3579
|
}
|
|
3851
3580
|
cellRenderer(componentType) {
|
|
@@ -3870,8 +3599,8 @@ class ListPropertyColumnModel extends ColumnModel {
|
|
|
3870
3599
|
intermediate.map(v => v?.toString()).join(", ") :
|
|
3871
3600
|
intermediate?.toString();
|
|
3872
3601
|
};
|
|
3873
|
-
constructor(id,
|
|
3874
|
-
super(id,
|
|
3602
|
+
constructor(id, property, defaults) {
|
|
3603
|
+
super(id, defaults);
|
|
3875
3604
|
this.property = property;
|
|
3876
3605
|
this.cellRenderer(DefaultCellRendererComponent);
|
|
3877
3606
|
}
|
|
@@ -3887,7 +3616,7 @@ class ListPropertyColumnModel extends ColumnModel {
|
|
|
3887
3616
|
}
|
|
3888
3617
|
cellEditor(editor, validatorsOrInitialiser, initialiseComponent) {
|
|
3889
3618
|
const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
|
|
3890
|
-
const initialiser = isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
|
|
3619
|
+
const initialiser = isFunction$1(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
|
|
3891
3620
|
this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
|
|
3892
3621
|
const formListModel = editSession.form.pluckList(this.property);
|
|
3893
3622
|
if (validators) {
|
|
@@ -3916,8 +3645,8 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
3916
3645
|
_defaultSearchTextFormatter = (value) => {
|
|
3917
3646
|
return (this._userFormat ?? Functions.identity)(value)?.toString();
|
|
3918
3647
|
};
|
|
3919
|
-
constructor(id,
|
|
3920
|
-
super(id,
|
|
3648
|
+
constructor(id, property, defaults) {
|
|
3649
|
+
super(id, defaults);
|
|
3921
3650
|
this.property = property;
|
|
3922
3651
|
this.cellRenderer(DefaultCellRendererComponent);
|
|
3923
3652
|
}
|
|
@@ -3925,11 +3654,11 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
3925
3654
|
this.configureColumnTextSearch(EnableCellTextSearch.getFormatter(componentType, () => ColumnTextSearchFormatter.forFormatter(this._defaultSearchTextFormatter)), row => row[this.property]);
|
|
3926
3655
|
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
3927
3656
|
if (firstTime) {
|
|
3928
|
-
if (isFunction(onComponentInitOrOptions)) {
|
|
3657
|
+
if (isFunction$1(onComponentInitOrOptions)) {
|
|
3929
3658
|
onComponentInitOrOptions(component);
|
|
3930
3659
|
}
|
|
3931
3660
|
else {
|
|
3932
|
-
if (isFunction(onComponentInitOrOptions?.onComponentInit)) {
|
|
3661
|
+
if (isFunction$1(onComponentInitOrOptions?.onComponentInit)) {
|
|
3933
3662
|
onComponentInitOrOptions.onComponentInit(component);
|
|
3934
3663
|
}
|
|
3935
3664
|
}
|
|
@@ -3954,7 +3683,7 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
3954
3683
|
component[ColumnModel.CELL_RENDERER_COMPONENT_ROW_CACHE] = rowData.row;
|
|
3955
3684
|
let disableEditCallback = false;
|
|
3956
3685
|
if (firstTime) {
|
|
3957
|
-
if (isFunction(options?.onComponentInit)) {
|
|
3686
|
+
if (isFunction$1(options?.onComponentInit)) {
|
|
3958
3687
|
options.onComponentInit(component);
|
|
3959
3688
|
}
|
|
3960
3689
|
// install our edit callback
|
|
@@ -3969,7 +3698,7 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
3969
3698
|
disableEditCallback = true;
|
|
3970
3699
|
component.value = rowData.row[this.property];
|
|
3971
3700
|
disableEditCallback = false;
|
|
3972
|
-
if (!isFunction(options) && isFunction(options?.onRowUpdate)) {
|
|
3701
|
+
if (!isFunction$1(options) && isFunction$1(options?.onRowUpdate)) {
|
|
3973
3702
|
options.onRowUpdate(component, rowData.row);
|
|
3974
3703
|
}
|
|
3975
3704
|
}));
|
|
@@ -3977,7 +3706,7 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
3977
3706
|
}
|
|
3978
3707
|
cellEditor(editor, validatorsOrInitialiser, onComponentInit) {
|
|
3979
3708
|
const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
|
|
3980
|
-
const initialiser = isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
|
|
3709
|
+
const initialiser = isFunction$1(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
|
|
3981
3710
|
this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
|
|
3982
3711
|
const formValueModel = editSession.form.pluck(this.property);
|
|
3983
3712
|
if (validators) {
|
|
@@ -4004,8 +3733,8 @@ class SelectionColumnModel extends ColumnModel {
|
|
|
4004
3733
|
selectionModel;
|
|
4005
3734
|
_enableHeaderControls = true;
|
|
4006
3735
|
_color = "accent";
|
|
4007
|
-
constructor(columnId,
|
|
4008
|
-
super(columnId,
|
|
3736
|
+
constructor(columnId, defaults, selectionModel) {
|
|
3737
|
+
super(columnId, defaults);
|
|
4009
3738
|
this.selectionModel = selectionModel;
|
|
4010
3739
|
const { chain } = Dsl.disposeWith(this);
|
|
4011
3740
|
this._selectRowOnClick(false);
|
|
@@ -4055,15 +3784,13 @@ class TableMoreMenuComponent extends DisposableComponent {
|
|
|
4055
3784
|
popupType$ = new MutableValueModel();
|
|
4056
3785
|
popupComponentPortal$;
|
|
4057
3786
|
_visible$ = this.registerDisposable(new DelegatingValueModel());
|
|
4058
|
-
initialiseCallback;
|
|
4059
3787
|
constructor() {
|
|
4060
3788
|
super();
|
|
4061
3789
|
const { chain } = Dsl.disposeWith(this);
|
|
4062
3790
|
this.popupComponentPortal$ = chain(this.popupType$).map(type => new ComponentPortal(type));
|
|
4063
3791
|
}
|
|
4064
|
-
configurePopupComponentType(popupComponentType
|
|
3792
|
+
configurePopupComponentType(popupComponentType) {
|
|
4065
3793
|
this.popupType$.value = popupComponentType;
|
|
4066
|
-
this.initialiseCallback = configureCallback;
|
|
4067
3794
|
}
|
|
4068
3795
|
// Stops tree selection when clicking the menu button
|
|
4069
3796
|
preventDefault($event) {
|
|
@@ -4074,9 +3801,6 @@ class TableMoreMenuComponent extends DisposableComponent {
|
|
|
4074
3801
|
const component = $event.instance;
|
|
4075
3802
|
component.initialise(this.value$, Command.create(() => this.matMenuTrigger.closeMenu()));
|
|
4076
3803
|
this._visible$.setDelegate(component.visible$);
|
|
4077
|
-
if (this.initialiseCallback) {
|
|
4078
|
-
this.initialiseCallback(component);
|
|
4079
|
-
}
|
|
4080
3804
|
}
|
|
4081
3805
|
get visible$() {
|
|
4082
3806
|
return this._visible$.readonly$;
|
|
@@ -4111,25 +3835,16 @@ class RowClass {
|
|
|
4111
3835
|
this.matches = matches;
|
|
4112
3836
|
}
|
|
4113
3837
|
}
|
|
4114
|
-
class RowAttribute {
|
|
4115
|
-
attributeName;
|
|
4116
|
-
getValue;
|
|
4117
|
-
constructor(attributeName, getValue) {
|
|
4118
|
-
this.attributeName = attributeName;
|
|
4119
|
-
this.getValue = getValue;
|
|
4120
|
-
}
|
|
4121
|
-
}
|
|
4122
3838
|
class AbstractTableModel extends GarbageCollector {
|
|
4123
3839
|
_dataSource$ = this.registerDisposable(new DelegatingListModel());
|
|
4124
3840
|
_filteredRows$ = this.registerDisposable(new DelegatingListModel());
|
|
4125
3841
|
_visibleRows$ = this.registerDisposable(new DelegatingListModel());
|
|
4126
|
-
|
|
3842
|
+
_columnList = this.registerDisposable(new ColumnListModel());
|
|
4127
3843
|
_editorSessions = new MutableListModel();
|
|
4128
3844
|
_rowsBeingEdited$;
|
|
4129
3845
|
saveCommandFactory;
|
|
4130
3846
|
_editorSessionByRowId;
|
|
4131
3847
|
rowClassNamePredicates = [];
|
|
4132
|
-
rowAttributeGenerators = [];
|
|
4133
3848
|
_columnTextPropertiesLookup;
|
|
4134
3849
|
editing$;
|
|
4135
3850
|
firstEditableColumn$;
|
|
@@ -4154,15 +3869,15 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4154
3869
|
});
|
|
4155
3870
|
this._editorSessionByRowId = chain(this._editorSessions).indexBy("rowId");
|
|
4156
3871
|
this.editing$ = chain(this._editorSessions).count().isGreaterThan(0);
|
|
4157
|
-
this.textSearchPredicate$ = chain(this.visibleColumns
|
|
3872
|
+
this.textSearchPredicate$ = chain(this.visibleColumns).reduce(columns => {
|
|
4158
3873
|
return (row, regex) => {
|
|
4159
3874
|
return (!regex || !!columns.find(c => regex.test(c.getSearchTextFor(row))));
|
|
4160
3875
|
};
|
|
4161
3876
|
});
|
|
4162
|
-
this.firstEditableColumn$ = chain(this.columns
|
|
4163
|
-
this.firstVisibleColumn$ = chain(this.
|
|
4164
|
-
this.lastVisibleColumn$ = chain(this.
|
|
4165
|
-
this.rowSelectionDisabledOnAllColumns$ = chain(this.
|
|
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);
|
|
4166
3881
|
this.dataSourceEmpty$ = chain(this.dataSource$).isEmpty();
|
|
4167
3882
|
this.selectedItems$ = this.selectionModelProxy.selectedItems$;
|
|
4168
3883
|
this.leadSelection$ = this.selectionModelProxy.leadSelection$;
|
|
@@ -4186,7 +3901,7 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4186
3901
|
],
|
|
4187
3902
|
parent: injector
|
|
4188
3903
|
});
|
|
4189
|
-
this.columns
|
|
3904
|
+
this.columns.value.forEach(c => c.initialise(customInjector));
|
|
4190
3905
|
this.identityOf = identityOf;
|
|
4191
3906
|
}
|
|
4192
3907
|
get dataSource$() {
|
|
@@ -4239,19 +3954,19 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4239
3954
|
});
|
|
4240
3955
|
});
|
|
4241
3956
|
}
|
|
4242
|
-
get columns
|
|
4243
|
-
return this.
|
|
3957
|
+
get columns() {
|
|
3958
|
+
return this._columnList.allColumns$;
|
|
4244
3959
|
}
|
|
4245
|
-
get visibleColumns
|
|
4246
|
-
return this.
|
|
3960
|
+
get visibleColumns() {
|
|
3961
|
+
return this._columnList.readonly$;
|
|
4247
3962
|
}
|
|
4248
3963
|
pluck(property, options) {
|
|
4249
3964
|
const columnId = options?.columnId || property.toString();
|
|
4250
|
-
return this.addColumn(new PropertyColumnModel(columnId,
|
|
3965
|
+
return this.addColumn(new PropertyColumnModel(columnId, property, () => this.getColumnTextProperties(columnId)));
|
|
4251
3966
|
}
|
|
4252
3967
|
pluckList(property, options) {
|
|
4253
3968
|
const columnId = options?.columnId || property.toString();
|
|
4254
|
-
return this.addColumn(new ListPropertyColumnModel(columnId,
|
|
3969
|
+
return this.addColumn(new ListPropertyColumnModel(columnId, property, () => this.getColumnTextProperties(columnId)));
|
|
4255
3970
|
}
|
|
4256
3971
|
// TODO: clean this up and assign the selection model on teh table directly.
|
|
4257
3972
|
// tableModel.useSelectionModel(model) and have the seleciton column automatically
|
|
@@ -4260,32 +3975,32 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4260
3975
|
_addSelectionColumn(selectionModel, visible) {
|
|
4261
3976
|
assert.isNil(this.selectionColumnModel);
|
|
4262
3977
|
const columnId = "selection-column";
|
|
4263
|
-
this.selectionColumnModel = new SelectionColumnModel(columnId,
|
|
3978
|
+
this.selectionColumnModel = new SelectionColumnModel(columnId, () => this.getColumnTextProperties(columnId), this.selectionModelProxy);
|
|
4264
3979
|
this.selectionColumnModel.useSelectionModel(selectionModel);
|
|
4265
3980
|
this.addRowClass("aup-row-selected", row => this.selectionColumnModel.isSelected(row));
|
|
4266
|
-
const selectionColumnModel = this.addColumn(this.selectionColumnModel,
|
|
4267
|
-
if (!isNil(visible)) {
|
|
3981
|
+
const selectionColumnModel = this.addColumn(this.selectionColumnModel, 0);
|
|
3982
|
+
if (!isNil$1(visible)) {
|
|
4268
3983
|
selectionColumnModel.visibleWhile(visible instanceof ValueModel ? visible : ValueModel.constant(visible));
|
|
4269
3984
|
}
|
|
4270
3985
|
return selectionColumnModel;
|
|
4271
3986
|
}
|
|
4272
3987
|
addEditControls(saveCommandFactory, formFactory) {
|
|
4273
3988
|
this.saveCommandFactory = saveCommandFactory;
|
|
4274
|
-
if (isFunction(formFactory)) {
|
|
3989
|
+
if (isFunction$1(formFactory)) {
|
|
4275
3990
|
this._createForm = formFactory;
|
|
4276
3991
|
}
|
|
4277
3992
|
const columnId = "editControls";
|
|
4278
|
-
return this.addColumn(new EditorControlColumnModel(columnId,
|
|
3993
|
+
return this.addColumn(new EditorControlColumnModel(columnId, saveCommandFactory, () => this.getColumnTextProperties(columnId)));
|
|
4279
3994
|
}
|
|
4280
3995
|
addCustomColumn(columnId, dataAccessor) {
|
|
4281
|
-
return this.addColumn(new CustomValueColumnModel(columnId,
|
|
3996
|
+
return this.addColumn(new CustomValueColumnModel(columnId, () => this.getColumnTextProperties(columnId), dataAccessor));
|
|
4282
3997
|
}
|
|
4283
3998
|
addComponentColumn(columnId, component, onComponentInitOrOptions) {
|
|
4284
|
-
return this.addColumn(new CustomValueColumnModel(columnId,
|
|
3999
|
+
return this.addColumn(new CustomValueColumnModel(columnId, () => this.getColumnTextProperties(columnId), row => row)).cellRenderer(component, onComponentInitOrOptions);
|
|
4285
4000
|
}
|
|
4286
|
-
addMoreMenu(componentClass
|
|
4001
|
+
addMoreMenu(componentClass) {
|
|
4287
4002
|
return this.addComponentColumn("more-menu", TableMoreMenuComponent, (component) => {
|
|
4288
|
-
component.configurePopupComponentType(componentClass
|
|
4003
|
+
component.configurePopupComponentType(componentClass);
|
|
4289
4004
|
}).columnTextProperties({
|
|
4290
4005
|
headerText() {
|
|
4291
4006
|
return "";
|
|
@@ -4293,14 +4008,11 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4293
4008
|
});
|
|
4294
4009
|
}
|
|
4295
4010
|
addTemplateColumn(columnId) {
|
|
4296
|
-
return this.addColumn(new CustomTemplateColumnModel(columnId,
|
|
4011
|
+
return this.addColumn(new CustomTemplateColumnModel(columnId, () => this.getColumnTextProperties(columnId)));
|
|
4297
4012
|
}
|
|
4298
4013
|
addRowClass(className, predicate) {
|
|
4299
4014
|
this.rowClassNamePredicates.push(new RowClass(className, predicate));
|
|
4300
4015
|
}
|
|
4301
|
-
addRowAttribute(attributeName, getValue) {
|
|
4302
|
-
this.rowAttributeGenerators.push(new RowAttribute(attributeName, getValue));
|
|
4303
|
-
}
|
|
4304
4016
|
getRowClasses(row) {
|
|
4305
4017
|
const classNames = [];
|
|
4306
4018
|
this.rowClassNamePredicates.forEach(i => {
|
|
@@ -4310,13 +4022,8 @@ class AbstractTableModel extends GarbageCollector {
|
|
|
4310
4022
|
});
|
|
4311
4023
|
return classNames;
|
|
4312
4024
|
}
|
|
4313
|
-
|
|
4314
|
-
return this.
|
|
4315
|
-
return { ...result, [generator.attributeName]: generator.getValue(row) };
|
|
4316
|
-
}, {});
|
|
4317
|
-
}
|
|
4318
|
-
addColumn(column, position) {
|
|
4319
|
-
return this.columnManager.addColumn(column, position);
|
|
4025
|
+
addColumn(column, index) {
|
|
4026
|
+
return this._columnList.addColumn(column, index);
|
|
4320
4027
|
}
|
|
4321
4028
|
columnTextProperties(columnTextProperties) {
|
|
4322
4029
|
this._columnTextPropertiesLookup = columnTextProperties;
|
|
@@ -4484,31 +4191,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
4484
4191
|
args: ['class']
|
|
4485
4192
|
}] } });
|
|
4486
4193
|
|
|
4487
|
-
const AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER = new InjectionToken("AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER");
|
|
4488
|
-
class TableRowAttributesDirective {
|
|
4489
|
-
elementRef;
|
|
4490
|
-
aupTableRowAttributes;
|
|
4491
|
-
constructor(elementRef) {
|
|
4492
|
-
this.elementRef = elementRef;
|
|
4493
|
-
}
|
|
4494
|
-
ngOnInit() {
|
|
4495
|
-
for (const attr in this.aupTableRowAttributes) {
|
|
4496
|
-
this.elementRef.nativeElement.setAttribute(attr, this.aupTableRowAttributes[attr]);
|
|
4497
|
-
}
|
|
4498
|
-
}
|
|
4499
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableRowAttributesDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4500
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: TableRowAttributesDirective, selector: "[aupTableRowAttributes]", inputs: { aupTableRowAttributes: "aupTableRowAttributes" }, ngImport: i0 });
|
|
4501
|
-
}
|
|
4502
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableRowAttributesDirective, decorators: [{
|
|
4503
|
-
type: Directive,
|
|
4504
|
-
args: [{
|
|
4505
|
-
selector: "[aupTableRowAttributes]",
|
|
4506
|
-
}]
|
|
4507
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { aupTableRowAttributes: [{
|
|
4508
|
-
type: Input
|
|
4509
|
-
}] } });
|
|
4510
4194
|
class TableBodyComponent extends ResizeAwareComponent {
|
|
4511
|
-
bufferMultiplier;
|
|
4512
4195
|
#data$_accessor_storage = proxify((ListModel));
|
|
4513
4196
|
get data$() { return this.#data$_accessor_storage; }
|
|
4514
4197
|
set data$(value) { this.#data$_accessor_storage = value; }
|
|
@@ -4521,66 +4204,51 @@ class TableBodyComponent extends ResizeAwareComponent {
|
|
|
4521
4204
|
#showHeader_accessor_storage = true;
|
|
4522
4205
|
get showHeader() { return this.#showHeader_accessor_storage; }
|
|
4523
4206
|
set showHeader(value) { this.#showHeader_accessor_storage = value; }
|
|
4207
|
+
visibleRowCount = new EventEmitter();
|
|
4524
4208
|
trackBy;
|
|
4525
|
-
|
|
4526
|
-
|
|
4527
|
-
|
|
4528
|
-
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
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;
|
|
4532
4215
|
columns$;
|
|
4533
4216
|
columnIds$;
|
|
4534
4217
|
columnsById$;
|
|
4218
|
+
_visibleRowCount$;
|
|
4535
4219
|
// TODO: support user defined header and row heights via css vars.
|
|
4536
|
-
headerHeight$ = new MutableValueModel(
|
|
4537
|
-
rowHeight$ = new MutableValueModel(
|
|
4220
|
+
headerHeight$ = new MutableValueModel(29);
|
|
4221
|
+
rowHeight$ = new MutableValueModel(40);
|
|
4538
4222
|
baseCssClass = "aup-table-component";
|
|
4539
|
-
|
|
4540
|
-
|
|
4541
|
-
|
|
4542
|
-
constructor(bufferMultiplier = 1) {
|
|
4543
|
-
super();
|
|
4544
|
-
this.bufferMultiplier = bufferMultiplier;
|
|
4545
|
-
const { chain, when, observe } = Dsl.disposeWith(this);
|
|
4223
|
+
constructor(elementRef, ngZone) {
|
|
4224
|
+
super(elementRef, ngZone);
|
|
4225
|
+
const { chain, when } = Dsl.disposeWith(this);
|
|
4546
4226
|
const actualHeaderHeight$ = chain(this.showHeader$).map(show => {
|
|
4547
4227
|
return show ? this.headerHeight$.value : 0;
|
|
4548
4228
|
}, { dependsOn: this.headerHeight$ });
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
this.
|
|
4555
|
-
|
|
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" });
|
|
4556
4240
|
this.onInit(() => {
|
|
4557
|
-
this.columns$ = chain(this.tableModel.
|
|
4241
|
+
this.columns$ = chain(this.tableModel.columns);
|
|
4558
4242
|
this.columnIds$ = chain(this.columns$).pluck("columnId");
|
|
4559
4243
|
this.columnsById$ = chain(this.columns$).indexBy('columnId');
|
|
4560
4244
|
});
|
|
4561
|
-
|
|
4562
|
-
|
|
4563
|
-
|
|
4564
|
-
// txo.observe('this.virtualRows$', this.virtualRows$);
|
|
4565
|
-
// txo.observe('this.tableBodyHeight$', this.tableBodyHeight$);
|
|
4566
|
-
// txo.observe('this.virtualScrollActive$', this.virtualScrollActive$);
|
|
4567
|
-
}
|
|
4568
|
-
ngAfterViewInit() {
|
|
4569
|
-
super.ngAfterViewInit();
|
|
4570
|
-
if (this.scrollViewport) {
|
|
4571
|
-
const { observe } = Dsl.disposeWith(this);
|
|
4572
|
-
this.scrollViewport.elementScrolled().subscribe(() => this.notifyScrolled());
|
|
4573
|
-
}
|
|
4245
|
+
const txo = new TransactionObserver().onEvent(e => console.log(e.name, e.payload));
|
|
4246
|
+
txo.observe('this.boundsModel', this.bounds$);
|
|
4247
|
+
txo.observe('this._visibleRowCount$', this._visibleRowCount$);
|
|
4574
4248
|
}
|
|
4575
4249
|
get hideHeader() {
|
|
4576
4250
|
return !this.showHeader;
|
|
4577
4251
|
}
|
|
4578
|
-
get headerHeightCssVar() {
|
|
4579
|
-
return `${this.headerHeight$.value}px`;
|
|
4580
|
-
}
|
|
4581
|
-
get rowHeightCssVar() {
|
|
4582
|
-
return `${this.rowHeight$.value}px`;
|
|
4583
|
-
}
|
|
4584
4252
|
isEditing(row) {
|
|
4585
4253
|
return !!this.tableModel.getEditSessionFor(row);
|
|
4586
4254
|
}
|
|
@@ -4605,34 +4273,8 @@ class TableBodyComponent extends ResizeAwareComponent {
|
|
|
4605
4273
|
}
|
|
4606
4274
|
return classes;
|
|
4607
4275
|
}
|
|
4608
|
-
|
|
4609
|
-
|
|
4610
|
-
const tbody = this.elementRef.nativeElement.querySelector("tbody");
|
|
4611
|
-
const bodyHeight = tbody.offsetHeight;
|
|
4612
|
-
if (this.data$.length > 0 && bodyHeight < this.rowHeight$.value) {
|
|
4613
|
-
// Hacks to get our virtual scroll to repaint
|
|
4614
|
-
// Logger.get(this).log(`rowCount=${this.data$.length}, bodyHeight=${bodyHeight} -> virtual table not rendering, triggering resize to force repaint`)
|
|
4615
|
-
window.dispatchEvent(new Event('resize'));
|
|
4616
|
-
if (waitMillis < 500) {
|
|
4617
|
-
this.scheduleTableHeightCheck(waitMillis + 50);
|
|
4618
|
-
}
|
|
4619
|
-
}
|
|
4620
|
-
}, waitMillis);
|
|
4621
|
-
}
|
|
4622
|
-
notifyScrolled() {
|
|
4623
|
-
this.virtualScrollActive$.value = true;
|
|
4624
|
-
this.clearScrollTimeout();
|
|
4625
|
-
this.scrollTimeout = setTimeout(() => {
|
|
4626
|
-
return this.virtualScrollActive$.value = false;
|
|
4627
|
-
}, 200);
|
|
4628
|
-
}
|
|
4629
|
-
clearScrollTimeout() {
|
|
4630
|
-
if (this.scrollTimeout) {
|
|
4631
|
-
clearTimeout(this.scrollTimeout);
|
|
4632
|
-
}
|
|
4633
|
-
}
|
|
4634
|
-
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 });
|
|
4635
|
-
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", 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]=\"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 </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 </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.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: i1$2.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i4$5.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"] }] });
|
|
4276
|
+
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 });
|
|
4277
|
+
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"] }] });
|
|
4636
4278
|
}
|
|
4637
4279
|
__decorate([
|
|
4638
4280
|
Proxify(),
|
|
@@ -4650,23 +4292,10 @@ __decorate([
|
|
|
4650
4292
|
StoreInValueModel(),
|
|
4651
4293
|
__metadata("design:type", Object)
|
|
4652
4294
|
], TableBodyComponent.prototype, "showHeader", null);
|
|
4653
|
-
__decorate([
|
|
4654
|
-
Proxify(),
|
|
4655
|
-
__metadata("design:type", ValueModel)
|
|
4656
|
-
], TableBodyComponent.prototype, "scrollMode$", null);
|
|
4657
|
-
__decorate([
|
|
4658
|
-
StoreInValueModel(),
|
|
4659
|
-
__metadata("design:type", String)
|
|
4660
|
-
], TableBodyComponent.prototype, "scrollMode", null);
|
|
4661
4295
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableBodyComponent, decorators: [{
|
|
4662
4296
|
type: Component,
|
|
4663
|
-
args: [{ selector: "aup-table-body", template: "
|
|
4664
|
-
}], ctorParameters: function () { return [{ type:
|
|
4665
|
-
type: Inject,
|
|
4666
|
-
args: [AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER]
|
|
4667
|
-
}, {
|
|
4668
|
-
type: Optional
|
|
4669
|
-
}] }]; }, propDecorators: { data$: [{
|
|
4297
|
+
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"] }]
|
|
4298
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { data$: [{
|
|
4670
4299
|
type: Input
|
|
4671
4300
|
}], tableModel: [{
|
|
4672
4301
|
type: Input
|
|
@@ -4674,30 +4303,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
4674
4303
|
type: Input
|
|
4675
4304
|
}], showHeader: [{
|
|
4676
4305
|
type: Input
|
|
4306
|
+
}], visibleRowCount: [{
|
|
4307
|
+
type: Output
|
|
4677
4308
|
}], trackBy: [{
|
|
4678
4309
|
type: Input
|
|
4679
|
-
}],
|
|
4680
|
-
type: Input
|
|
4681
|
-
}], scrollMode: [{
|
|
4310
|
+
}], enableScrolling: [{
|
|
4682
4311
|
type: Input
|
|
4683
4312
|
}, {
|
|
4684
4313
|
type: HostBinding,
|
|
4685
|
-
args: ["
|
|
4686
|
-
}], scrollViewport: [{
|
|
4687
|
-
type: ViewChild,
|
|
4688
|
-
args: [CdkVirtualScrollViewport]
|
|
4314
|
+
args: ["class.enable-scrolling"]
|
|
4689
4315
|
}], baseCssClass: [{
|
|
4690
4316
|
type: HostBinding,
|
|
4691
4317
|
args: ["class"]
|
|
4692
4318
|
}], hideHeader: [{
|
|
4693
4319
|
type: HostBinding,
|
|
4694
4320
|
args: ["class.hide-header"]
|
|
4695
|
-
}], headerHeightCssVar: [{
|
|
4696
|
-
type: HostBinding,
|
|
4697
|
-
args: ["style.--aup-table-header-height"]
|
|
4698
|
-
}], rowHeightCssVar: [{
|
|
4699
|
-
type: HostBinding,
|
|
4700
|
-
args: ["style.--aup-table-row-height"]
|
|
4701
4321
|
}] } });
|
|
4702
4322
|
|
|
4703
4323
|
class TableMoreMenuPopupComponent extends DisposableComponent {
|
|
@@ -4818,10 +4438,8 @@ class TableFilterModel extends GarbageCollector {
|
|
|
4818
4438
|
this.useSearchText(options.searchText$);
|
|
4819
4439
|
this.useRowPredicate(options.predicate$);
|
|
4820
4440
|
const { chain } = Dsl.disposeWith(this);
|
|
4821
|
-
const textSearchRegex$ = chain(this._searchText$)
|
|
4822
|
-
|
|
4823
|
-
.map(text => {
|
|
4824
|
-
return isEmpty(text) ? undefined : new RegExp(escapeStringRegexp(text), "i");
|
|
4441
|
+
const textSearchRegex$ = chain(this._searchText$).map(text => {
|
|
4442
|
+
return isEmpty$1(text) ? undefined : new RegExp(escapeStringRegexp(text), "i");
|
|
4825
4443
|
}, { allowNil: true });
|
|
4826
4444
|
this._rowPredicate = chain(this._rowPredicate$)
|
|
4827
4445
|
.map(predicate => {
|
|
@@ -5029,14 +4647,28 @@ class TableComponent extends AbstractTableComponent {
|
|
|
5029
4647
|
#filterModel_accessor_storage = proxify((TableFilterModel));
|
|
5030
4648
|
get filterModel() { return this.#filterModel_accessor_storage; }
|
|
5031
4649
|
set filterModel(value) { this.#filterModel_accessor_storage = value; }
|
|
5032
|
-
|
|
4650
|
+
#enablePaging$_accessor_storage = proxify((ValueModel));
|
|
4651
|
+
get enablePaging$() { return this.#enablePaging$_accessor_storage; }
|
|
4652
|
+
set enablePaging$(value) { this.#enablePaging$_accessor_storage = value; }
|
|
4653
|
+
#enablePaging_accessor_storage = false;
|
|
4654
|
+
get enablePaging() { return this.#enablePaging_accessor_storage; }
|
|
4655
|
+
set enablePaging(value) { this.#enablePaging_accessor_storage = value; }
|
|
4656
|
+
// enablePaging() {
|
|
4657
|
+
// if (isNil(this.pageController)) {
|
|
4658
|
+
// const pagedListModel = this.registerDisposable(PagedListModel.create(this._visibleRows$.getDelegate(), this._pageSize));
|
|
4659
|
+
// this._visibleRows$.setDelegate(pagedListModel);
|
|
4660
|
+
// this._pageController = pagedListModel.pageController;
|
|
4661
|
+
// }
|
|
4662
|
+
// }
|
|
5033
4663
|
_footerContentAdded = false;
|
|
5034
4664
|
_filteredRows$ = this.registerDisposable(new DelegatingListModel());
|
|
5035
|
-
|
|
4665
|
+
_pageSize = new MutableValueModel();
|
|
4666
|
+
pagedListModel;
|
|
5036
4667
|
constructor(injector) {
|
|
5037
4668
|
super(injector);
|
|
5038
|
-
const {
|
|
5039
|
-
this.
|
|
4669
|
+
const { when } = Dsl.disposeWith(this);
|
|
4670
|
+
this.onDispose(() => this.disposeOfPagedListModel());
|
|
4671
|
+
when(this.enablePaging$).changes(enabled => this.configurePaging(enabled));
|
|
5040
4672
|
}
|
|
5041
4673
|
ngOnInit() {
|
|
5042
4674
|
super.ngOnInit();
|
|
@@ -5048,42 +4680,76 @@ class TableComponent extends AbstractTableComponent {
|
|
|
5048
4680
|
else {
|
|
5049
4681
|
this._filteredRows$.setDelegate(this._dataSource$);
|
|
5050
4682
|
}
|
|
5051
|
-
this.
|
|
5052
|
-
// let users of the model know what the current visible and filtered rows are for selection models and what not
|
|
4683
|
+
this.configurePaging(this.enablePaging$.value);
|
|
5053
4684
|
this.tableModel.bindToTable(this._filteredRows$, this._visibleRows$);
|
|
5054
4685
|
}
|
|
5055
4686
|
getModel() {
|
|
5056
4687
|
return this.tableModel;
|
|
5057
4688
|
}
|
|
4689
|
+
get pageController() {
|
|
4690
|
+
// TODO: need to support external page controllers if the paging occurs to our primary data source.
|
|
4691
|
+
return this.pagedListModel.pageController;
|
|
4692
|
+
}
|
|
4693
|
+
configurePaging(enable) {
|
|
4694
|
+
if (enable) {
|
|
4695
|
+
if (!this.pagedListModel) {
|
|
4696
|
+
this.pagedListModel = PagedListModel.create(this._filteredRows$, this._pageSize);
|
|
4697
|
+
}
|
|
4698
|
+
this._visibleRows$.setDelegate(this.pagedListModel);
|
|
4699
|
+
}
|
|
4700
|
+
else {
|
|
4701
|
+
this.disposeOfPagedListModel();
|
|
4702
|
+
this._visibleRows$.setDelegate(this._filteredRows$);
|
|
4703
|
+
}
|
|
4704
|
+
}
|
|
4705
|
+
disposeOfPagedListModel() {
|
|
4706
|
+
if (this.pagedListModel) {
|
|
4707
|
+
this.pagedListModel.dispose();
|
|
4708
|
+
this.pagedListModel = null;
|
|
4709
|
+
}
|
|
4710
|
+
}
|
|
5058
4711
|
footerContentChanged($event) {
|
|
5059
4712
|
// console.log($event);
|
|
5060
4713
|
this._footerContentAdded = true;
|
|
5061
4714
|
}
|
|
4715
|
+
//@Trace()
|
|
4716
|
+
updatePageSize(count) {
|
|
4717
|
+
this._pageSize.value = count;
|
|
4718
|
+
}
|
|
5062
4719
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
5063
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableComponent, selector: "aup-table", inputs: { tableModel: "tableModel", filterModel: "filterModel" }, providers: [
|
|
4720
|
+
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: [
|
|
5064
4721
|
{ provide: AbstractTableComponent, useExisting: TableComponent }
|
|
5065
|
-
],
|
|
4722
|
+
], 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"] }] });
|
|
5066
4723
|
}
|
|
5067
4724
|
__decorate([
|
|
5068
4725
|
Proxify(),
|
|
5069
|
-
__metadata("design:type",
|
|
4726
|
+
__metadata("design:type", Object)
|
|
5070
4727
|
], TableComponent.prototype, "tableModel", null);
|
|
5071
4728
|
__decorate([
|
|
5072
4729
|
Proxify(),
|
|
5073
4730
|
__metadata("design:type", Object)
|
|
5074
4731
|
], TableComponent.prototype, "filterModel", null);
|
|
4732
|
+
__decorate([
|
|
4733
|
+
Proxify(),
|
|
4734
|
+
__metadata("design:type", Object)
|
|
4735
|
+
], TableComponent.prototype, "enablePaging$", null);
|
|
4736
|
+
__decorate([
|
|
4737
|
+
StoreInValueModel(),
|
|
4738
|
+
__metadata("design:type", Object)
|
|
4739
|
+
], TableComponent.prototype, "enablePaging", null);
|
|
5075
4740
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableComponent, decorators: [{
|
|
5076
4741
|
type: Component,
|
|
5077
4742
|
args: [{ selector: 'aup-table', providers: [
|
|
5078
4743
|
{ provide: AbstractTableComponent, useExisting: TableComponent }
|
|
5079
|
-
], template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"tableModel\"\n [showHeader$]=\"showHeader$\"\n [
|
|
4744
|
+
], 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"] }]
|
|
5080
4745
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { tableModel: [{
|
|
5081
4746
|
type: Input
|
|
5082
4747
|
}], filterModel: [{
|
|
5083
4748
|
type: Input
|
|
5084
|
-
}],
|
|
5085
|
-
type:
|
|
5086
|
-
|
|
4749
|
+
}], enablePaging$: [{
|
|
4750
|
+
type: Input
|
|
4751
|
+
}], enablePaging: [{
|
|
4752
|
+
type: Input
|
|
5087
4753
|
}] } });
|
|
5088
4754
|
|
|
5089
4755
|
const SVG_HEIGHT = 60;
|
|
@@ -5264,7 +4930,7 @@ var DecoratedTreeNode;
|
|
|
5264
4930
|
}
|
|
5265
4931
|
}
|
|
5266
4932
|
__decorate([
|
|
5267
|
-
|
|
4933
|
+
Memoize(),
|
|
5268
4934
|
__metadata("design:type", Array),
|
|
5269
4935
|
__metadata("design:paramtypes", [])
|
|
5270
4936
|
], Decorator.prototype, "children", null);
|
|
@@ -5317,7 +4983,7 @@ var DecoratedTreeNode;
|
|
|
5317
4983
|
__metadata("design:returntype", Array)
|
|
5318
4984
|
], Decorator.prototype, "ancestors", null);
|
|
5319
4985
|
__decorate([
|
|
5320
|
-
|
|
4986
|
+
Memoize(),
|
|
5321
4987
|
__metadata("design:type", Number),
|
|
5322
4988
|
__metadata("design:paramtypes", [])
|
|
5323
4989
|
], Decorator.prototype, "depth", null);
|
|
@@ -5328,8 +4994,8 @@ class TreeLabelColumnModel extends ColumnModel {
|
|
|
5328
4994
|
expansionModel;
|
|
5329
4995
|
labelFactory = () => undefined;
|
|
5330
4996
|
iconFactory;
|
|
5331
|
-
constructor(columnId,
|
|
5332
|
-
super(columnId,
|
|
4997
|
+
constructor(columnId, textPropertiesProvider, expansionModel) {
|
|
4998
|
+
super(columnId, textPropertiesProvider);
|
|
5333
4999
|
this.expansionModel = expansionModel;
|
|
5334
5000
|
this.cellRenderer(TreeLabelCellRendererComponent);
|
|
5335
5001
|
}
|
|
@@ -5397,7 +5063,7 @@ class TreeTableModel extends AbstractTableModel {
|
|
|
5397
5063
|
}
|
|
5398
5064
|
treeControlColumn(builder) {
|
|
5399
5065
|
const columnId = 'tree-label';
|
|
5400
|
-
const column = new TreeLabelColumnModel(columnId,
|
|
5066
|
+
const column = new TreeLabelColumnModel(columnId, () => this.getColumnTextProperties(columnId), this);
|
|
5401
5067
|
builder(column);
|
|
5402
5068
|
this.addColumn(column);
|
|
5403
5069
|
}
|
|
@@ -5723,11 +5389,8 @@ class TreeTableComponent extends AbstractTableComponent {
|
|
|
5723
5389
|
#expansionModel_accessor_storage = proxify((TreeExpansionModel));
|
|
5724
5390
|
get expansionModel() { return this.#expansionModel_accessor_storage; }
|
|
5725
5391
|
set expansionModel(value) { this.#expansionModel_accessor_storage = value; }
|
|
5726
|
-
scrollMode$;
|
|
5727
5392
|
constructor(injector) {
|
|
5728
5393
|
super(injector);
|
|
5729
|
-
const { chain } = Dsl.disposeWith(this);
|
|
5730
|
-
this.scrollMode$ = chain(this.enableScrolling$).map(enabled => enabled ? "virtual" : "none");
|
|
5731
5394
|
}
|
|
5732
5395
|
ngOnInit() {
|
|
5733
5396
|
super.ngOnInit();
|
|
@@ -5747,7 +5410,7 @@ class TreeTableComponent extends AbstractTableComponent {
|
|
|
5747
5410
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TreeTableComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
5748
5411
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TreeTableComponent, selector: "aup-tree-table", inputs: { treeTableModel: "treeTableModel", expansionModel: "expansionModel" }, providers: [
|
|
5749
5412
|
{ provide: AbstractTableComponent, useExisting: TreeTableComponent }
|
|
5750
|
-
], usesInheritance: true, ngImport: i0, template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"treeTableModel\"\n [showHeader$]=\"showHeader$\"\n [
|
|
5413
|
+
], 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"] }] });
|
|
5751
5414
|
}
|
|
5752
5415
|
__decorate([
|
|
5753
5416
|
Proxify(),
|
|
@@ -5761,7 +5424,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
5761
5424
|
type: Component,
|
|
5762
5425
|
args: [{ selector: 'aup-tree-table', providers: [
|
|
5763
5426
|
{ provide: AbstractTableComponent, useExisting: TreeTableComponent }
|
|
5764
|
-
], template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"treeTableModel\"\n [showHeader$]=\"showHeader$\"\n [
|
|
5427
|
+
], 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"] }]
|
|
5765
5428
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { treeTableModel: [{
|
|
5766
5429
|
type: Input
|
|
5767
5430
|
}], expansionModel: [{
|
|
@@ -5943,7 +5606,6 @@ class ComponentsModule {
|
|
|
5943
5606
|
FocusableComponent,
|
|
5944
5607
|
CardContainerComponent,
|
|
5945
5608
|
TableComponent,
|
|
5946
|
-
TableRowAttributesDirective,
|
|
5947
5609
|
EditRowControlsComponent,
|
|
5948
5610
|
ColumnTemplateDirective,
|
|
5949
5611
|
DefaultCellRendererComponent,
|
|
@@ -5977,8 +5639,7 @@ class ComponentsModule {
|
|
|
5977
5639
|
MarkdownComponent,
|
|
5978
5640
|
TableBodyComponent,
|
|
5979
5641
|
TableMoreMenuComponent,
|
|
5980
|
-
TableMoreMenuPopupComponent,
|
|
5981
|
-
SearchInputComponent], imports: [CommonModule,
|
|
5642
|
+
TableMoreMenuPopupComponent], imports: [CommonModule,
|
|
5982
5643
|
BrowserAnimationsModule,
|
|
5983
5644
|
FormsModule,
|
|
5984
5645
|
MatInputModule,
|
|
@@ -5997,9 +5658,7 @@ class ComponentsModule {
|
|
|
5997
5658
|
MatMenuModule,
|
|
5998
5659
|
MatDividerModule,
|
|
5999
5660
|
MatProgressSpinnerModule,
|
|
6000
|
-
MatProgressBarModule,
|
|
6001
|
-
ScrollingModule,
|
|
6002
|
-
TableVirtualScrollModule], exports: [NumberInputComponent,
|
|
5661
|
+
MatProgressBarModule], exports: [NumberInputComponent,
|
|
6003
5662
|
StringInputComponent,
|
|
6004
5663
|
TextInputComponent,
|
|
6005
5664
|
PasswordInputComponent,
|
|
@@ -6037,8 +5696,7 @@ class ComponentsModule {
|
|
|
6037
5696
|
LoadingContainerComponent,
|
|
6038
5697
|
MarkdownComponent,
|
|
6039
5698
|
TableMoreMenuComponent,
|
|
6040
|
-
TableMoreMenuPopupComponent
|
|
6041
|
-
SearchInputComponent] });
|
|
5699
|
+
TableMoreMenuPopupComponent] });
|
|
6042
5700
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ComponentsModule, providers: [
|
|
6043
5701
|
FocusBindingFactory,
|
|
6044
5702
|
MarkdownService
|
|
@@ -6061,9 +5719,7 @@ class ComponentsModule {
|
|
|
6061
5719
|
MatMenuModule,
|
|
6062
5720
|
MatDividerModule,
|
|
6063
5721
|
MatProgressSpinnerModule,
|
|
6064
|
-
MatProgressBarModule
|
|
6065
|
-
ScrollingModule,
|
|
6066
|
-
TableVirtualScrollModule] });
|
|
5722
|
+
MatProgressBarModule] });
|
|
6067
5723
|
}
|
|
6068
5724
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ComponentsModule, decorators: [{
|
|
6069
5725
|
type: NgModule,
|
|
@@ -6088,9 +5744,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6088
5744
|
MatMenuModule,
|
|
6089
5745
|
MatDividerModule,
|
|
6090
5746
|
MatProgressSpinnerModule,
|
|
6091
|
-
MatProgressBarModule
|
|
6092
|
-
ScrollingModule,
|
|
6093
|
-
TableVirtualScrollModule
|
|
5747
|
+
MatProgressBarModule
|
|
6094
5748
|
],
|
|
6095
5749
|
declarations: [
|
|
6096
5750
|
AbstractInputComponent,
|
|
@@ -6114,7 +5768,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6114
5768
|
FocusableComponent,
|
|
6115
5769
|
CardContainerComponent,
|
|
6116
5770
|
TableComponent,
|
|
6117
|
-
TableRowAttributesDirective,
|
|
6118
5771
|
EditRowControlsComponent,
|
|
6119
5772
|
ColumnTemplateDirective,
|
|
6120
5773
|
DefaultCellRendererComponent,
|
|
@@ -6149,7 +5802,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6149
5802
|
TableBodyComponent,
|
|
6150
5803
|
TableMoreMenuComponent,
|
|
6151
5804
|
TableMoreMenuPopupComponent,
|
|
6152
|
-
SearchInputComponent
|
|
6153
5805
|
],
|
|
6154
5806
|
exports: [
|
|
6155
5807
|
NumberInputComponent,
|
|
@@ -6191,76 +5843,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6191
5843
|
MarkdownComponent,
|
|
6192
5844
|
TableMoreMenuComponent,
|
|
6193
5845
|
TableMoreMenuPopupComponent,
|
|
6194
|
-
SearchInputComponent
|
|
6195
5846
|
],
|
|
6196
5847
|
providers: [
|
|
6197
5848
|
FocusBindingFactory,
|
|
6198
|
-
MarkdownService
|
|
6199
|
-
]
|
|
6200
|
-
}]
|
|
6201
|
-
}] });
|
|
6202
|
-
|
|
6203
|
-
class LoadableComponent extends DisposableComponent {
|
|
6204
|
-
#_loaded$ = new MutableValueModel();
|
|
6205
|
-
#asyncLoadables = [];
|
|
6206
|
-
#awaitedLoadables = [];
|
|
6207
|
-
get loaded$() {
|
|
6208
|
-
return this.#_loaded$.readonly$;
|
|
6209
|
-
}
|
|
6210
|
-
ngOnInit() {
|
|
6211
|
-
super.ngOnInit();
|
|
6212
|
-
this.#asyncLoadables.forEach(it => it.ensureLoaded());
|
|
6213
|
-
if (this.#awaitedLoadables.length > 0) {
|
|
6214
|
-
Promise.all(this.#awaitedLoadables.map(it => {
|
|
6215
|
-
return it.ensureLoaded(); //.then(() => console.log(`${it.constructor.name} loaded`));
|
|
6216
|
-
})).then(() => {
|
|
6217
|
-
this.#_loaded$.value = true;
|
|
6218
|
-
});
|
|
6219
|
-
}
|
|
6220
|
-
else {
|
|
6221
|
-
this.#_loaded$.value = true;
|
|
6222
|
-
}
|
|
6223
|
-
}
|
|
6224
|
-
injectLoadable(token, options) {
|
|
6225
|
-
return this.registerLoadable(inject(token), options);
|
|
6226
|
-
}
|
|
6227
|
-
registerLoadable(loadable, options) {
|
|
6228
|
-
if (this.loaded$.value) {
|
|
6229
|
-
loadable.ensureLoaded();
|
|
6230
|
-
}
|
|
6231
|
-
else {
|
|
6232
|
-
if (!options || options.wait === true) {
|
|
6233
|
-
this.#awaitedLoadables.push(loadable);
|
|
6234
|
-
}
|
|
6235
|
-
else {
|
|
6236
|
-
this.#asyncLoadables.push(loadable);
|
|
6237
|
-
}
|
|
6238
|
-
}
|
|
6239
|
-
return loadable;
|
|
6240
|
-
}
|
|
6241
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: LoadableComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
6242
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: LoadableComponent, usesInheritance: true, ngImport: i0 });
|
|
6243
|
-
}
|
|
6244
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: LoadableComponent, decorators: [{
|
|
6245
|
-
type: Directive
|
|
5849
|
+
MarkdownService
|
|
5850
|
+
]
|
|
5851
|
+
}]
|
|
6246
5852
|
}] });
|
|
6247
5853
|
|
|
6248
|
-
class TextSearchContext {
|
|
6249
|
-
row;
|
|
6250
|
-
searchText;
|
|
6251
|
-
searchRegex;
|
|
6252
|
-
constructor(row, searchText, searchRegex) {
|
|
6253
|
-
this.row = row;
|
|
6254
|
-
this.searchText = searchText;
|
|
6255
|
-
this.searchRegex = searchRegex;
|
|
6256
|
-
}
|
|
6257
|
-
getOrCreate(type, create) {
|
|
6258
|
-
}
|
|
6259
|
-
matchesText(text) {
|
|
6260
|
-
return this.searchRegex.test(text);
|
|
6261
|
-
}
|
|
6262
|
-
}
|
|
6263
|
-
|
|
6264
5854
|
/**
|
|
6265
5855
|
* @file Automatically generated by barrelsby.
|
|
6266
5856
|
*/
|
|
@@ -6287,6 +5877,7 @@ class TextSearchContext {
|
|
|
6287
5877
|
* </aup-activity-actions>
|
|
6288
5878
|
*/
|
|
6289
5879
|
class ActivityActionsComponent extends DisposableComponent {
|
|
5880
|
+
cdr;
|
|
6290
5881
|
confirmCommandComponent;
|
|
6291
5882
|
cancelCommandComponent;
|
|
6292
5883
|
#confirmCommand_accessor_storage = proxify((Command));
|
|
@@ -6315,8 +5906,9 @@ class ActivityActionsComponent extends DisposableComponent {
|
|
|
6315
5906
|
}
|
|
6316
5907
|
layout = ActivityActionsComponent.Layout.BLOCK;
|
|
6317
5908
|
align = ActivityActionsComponent.Align.STRETCH;
|
|
6318
|
-
constructor() {
|
|
5909
|
+
constructor(cdr) {
|
|
6319
5910
|
super();
|
|
5911
|
+
this.cdr = cdr;
|
|
6320
5912
|
}
|
|
6321
5913
|
hasConfirmFace() {
|
|
6322
5914
|
return !!this.confirmFace;
|
|
@@ -6335,8 +5927,8 @@ class ActivityActionsComponent extends DisposableComponent {
|
|
|
6335
5927
|
focusCancel() {
|
|
6336
5928
|
this.cancelCommandComponent.requestFocus();
|
|
6337
5929
|
}
|
|
6338
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6339
|
-
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=\"
|
|
5930
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityActionsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5931
|
+
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"] }] });
|
|
6340
5932
|
}
|
|
6341
5933
|
__decorate([
|
|
6342
5934
|
Proxify(),
|
|
@@ -6348,8 +5940,8 @@ __decorate([
|
|
|
6348
5940
|
], ActivityActionsComponent.prototype, "cancelCommand", null);
|
|
6349
5941
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityActionsComponent, decorators: [{
|
|
6350
5942
|
type: Component,
|
|
6351
|
-
args: [{ selector: 'aup-activity-actions', template: "<div class=\"content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"
|
|
6352
|
-
}], ctorParameters: function () { return []; }, propDecorators: { confirmCommandComponent: [{
|
|
5943
|
+
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"] }]
|
|
5944
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { confirmCommandComponent: [{
|
|
6353
5945
|
type: ViewChild,
|
|
6354
5946
|
args: ["confirmCommandComponent"]
|
|
6355
5947
|
}], cancelCommandComponent: [{
|
|
@@ -6392,7 +5984,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6392
5984
|
|
|
6393
5985
|
const ACTIVITY_DATA = new InjectionToken("InteractionActivityData");
|
|
6394
5986
|
// eslint-disable-next-line @angular-eslint/component-class-suffix
|
|
6395
|
-
class Activity extends
|
|
5987
|
+
class Activity extends DisposableComponent {
|
|
6396
5988
|
activityData = inject(ACTIVITY_DATA);
|
|
6397
5989
|
activityReadyListeners = new EventListenerList();
|
|
6398
5990
|
_busy$ = this.registerDisposable(new DelegatingValueModel().withDefault(false));
|
|
@@ -6447,6 +6039,7 @@ class Activity extends LoadableComponent {
|
|
|
6447
6039
|
notifyActivityReady() {
|
|
6448
6040
|
this.activityReadyListeners.fire(l => l(this));
|
|
6449
6041
|
this._ready$.value = true;
|
|
6042
|
+
console.log("ready");
|
|
6450
6043
|
}
|
|
6451
6044
|
onActivityReady(callback) {
|
|
6452
6045
|
return this.activityReadyListeners.add(callback);
|
|
@@ -6566,7 +6159,7 @@ class AbstractDialogComponent extends Activity {
|
|
|
6566
6159
|
}
|
|
6567
6160
|
}
|
|
6568
6161
|
isDestructive() {
|
|
6569
|
-
return isFunction(this.config['destructive']) && this.config["destructive"]();
|
|
6162
|
+
return isFunction$1(this.config['destructive']) && this.config["destructive"]();
|
|
6570
6163
|
}
|
|
6571
6164
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractDialogComponent, deps: [{ token: ALERT_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
6572
6165
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
@@ -6583,7 +6176,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6583
6176
|
|
|
6584
6177
|
class AbstractConfirmDialogComponent extends AbstractDialogComponent {
|
|
6585
6178
|
cancelFace;
|
|
6586
|
-
confirmClass = "aup-confirm-activity";
|
|
6587
6179
|
constructor(config) {
|
|
6588
6180
|
super(config);
|
|
6589
6181
|
this.cancelFace = {
|
|
@@ -6594,7 +6186,7 @@ class AbstractConfirmDialogComponent extends AbstractDialogComponent {
|
|
|
6594
6186
|
});
|
|
6595
6187
|
}
|
|
6596
6188
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractConfirmDialogComponent, deps: [{ token: ALERT_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
6597
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractConfirmDialogComponent, selector: "ng-component",
|
|
6189
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractConfirmDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
6598
6190
|
}
|
|
6599
6191
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractConfirmDialogComponent, decorators: [{
|
|
6600
6192
|
type: Component,
|
|
@@ -6604,10 +6196,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
6604
6196
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
6605
6197
|
type: Inject,
|
|
6606
6198
|
args: [ALERT_CONFIG]
|
|
6607
|
-
}] }]; }
|
|
6608
|
-
type: HostBinding,
|
|
6609
|
-
args: ["class"]
|
|
6610
|
-
}] } });
|
|
6199
|
+
}] }]; } });
|
|
6611
6200
|
|
|
6612
6201
|
class ActivityBodyComponent extends DisposableComponent {
|
|
6613
6202
|
fullWidth = false;
|
|
@@ -7146,7 +6735,7 @@ const ROUTE_PARAMETER_LIST_KEY = Symbol('place:route:parameters');
|
|
|
7146
6735
|
// return true;
|
|
7147
6736
|
// }
|
|
7148
6737
|
// }
|
|
7149
|
-
class PlaceComponent extends
|
|
6738
|
+
class PlaceComponent extends DisposableComponent {
|
|
7150
6739
|
_placeReadyCallbacks = [];
|
|
7151
6740
|
visitModel = new MutableValueModel();
|
|
7152
6741
|
_inVisitUpdate = new Guard();
|
|
@@ -7203,7 +6792,6 @@ class PlaceComponent extends LoadableComponent {
|
|
|
7203
6792
|
*/
|
|
7204
6793
|
installAndInitialiseBinding(initialVisit, parameterDef) {
|
|
7205
6794
|
const model = this[parameterDef.propertyName];
|
|
7206
|
-
assert.notNil(model);
|
|
7207
6795
|
DebugContext.tag(model, `${this.placeDefinition.component.name}.${parameterDef.propertyName}`);
|
|
7208
6796
|
const binding = this.registerDisposable(new Binding(this.visitModel, model, {
|
|
7209
6797
|
toRight(visit) {
|
|
@@ -7288,7 +6876,7 @@ class PlaceComponent extends LoadableComponent {
|
|
|
7288
6876
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: PlaceComponent, usesInheritance: true, ngImport: i0 });
|
|
7289
6877
|
}
|
|
7290
6878
|
__decorate([
|
|
7291
|
-
|
|
6879
|
+
Memoize(),
|
|
7292
6880
|
__metadata("design:type", PlaceDefinition),
|
|
7293
6881
|
__metadata("design:paramtypes", [])
|
|
7294
6882
|
], PlaceComponent.prototype, "placeDefinition", null);
|
|
@@ -7478,7 +7066,7 @@ class Visit {
|
|
|
7478
7066
|
getRouterCommands() {
|
|
7479
7067
|
return this.segments.reduce((result, v) => {
|
|
7480
7068
|
const path = v.placeDefinition.path;
|
|
7481
|
-
return isEmpty(path) ?
|
|
7069
|
+
return isEmpty$1(path) ?
|
|
7482
7070
|
[...result, path] : // Angular doesn't support route params on empty path segments
|
|
7483
7071
|
[...result, path, ...v.createRouterCommands()];
|
|
7484
7072
|
}, []);
|
|
@@ -7494,7 +7082,7 @@ class Visit {
|
|
|
7494
7082
|
}
|
|
7495
7083
|
}
|
|
7496
7084
|
__decorate([
|
|
7497
|
-
Memoize(),
|
|
7085
|
+
Memoize$1(),
|
|
7498
7086
|
__metadata("design:type", Function),
|
|
7499
7087
|
__metadata("design:paramtypes", [PlaceDefinition]),
|
|
7500
7088
|
__metadata("design:returntype", VisitSegment)
|
|
@@ -7875,7 +7463,10 @@ class SynchroniseInteractionContextIdsWithRoute extends NavigationSession {
|
|
|
7875
7463
|
return true;
|
|
7876
7464
|
}
|
|
7877
7465
|
notifyActive() {
|
|
7878
|
-
this
|
|
7466
|
+
// TODO: Do I still need this??
|
|
7467
|
+
setTimeout(() => {
|
|
7468
|
+
this.syncInteractionIdsWithRouter();
|
|
7469
|
+
});
|
|
7879
7470
|
}
|
|
7880
7471
|
// @Trace()
|
|
7881
7472
|
onRouterEnd(event) {
|
|
@@ -8618,7 +8209,7 @@ class ConsolidatedParameterMap {
|
|
|
8618
8209
|
}
|
|
8619
8210
|
}
|
|
8620
8211
|
__decorate([
|
|
8621
|
-
|
|
8212
|
+
Memoize(),
|
|
8622
8213
|
__metadata("design:type", Array),
|
|
8623
8214
|
__metadata("design:paramtypes", [])
|
|
8624
8215
|
], ConsolidatedParameterMap.prototype, "keys", null);
|
|
@@ -8696,7 +8287,7 @@ class UrlSnapshot {
|
|
|
8696
8287
|
return this.getPrimaryUrlSegments().find(s => s.path === placeDef.path);
|
|
8697
8288
|
}
|
|
8698
8289
|
isLastPlaceInUrl(placeDef) {
|
|
8699
|
-
return last(this.getPrimaryUrlSegments()).path === placeDef.path;
|
|
8290
|
+
return last$1(this.getPrimaryUrlSegments()).path === placeDef.path;
|
|
8700
8291
|
}
|
|
8701
8292
|
createVisitSegmentFor(placeDef) {
|
|
8702
8293
|
return new VisitSegment(placeDef, new ConsolidatedParameterMap(this.getPrimaryUrlSegments()));
|
|
@@ -9152,11 +8743,11 @@ class ActivityTitleComponent extends DisposableComponent {
|
|
|
9152
8743
|
return this._color;
|
|
9153
8744
|
}
|
|
9154
8745
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityTitleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
9155
|
-
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
|
|
8746
|
+
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"] });
|
|
9156
8747
|
}
|
|
9157
8748
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityTitleComponent, decorators: [{
|
|
9158
8749
|
type: Component,
|
|
9159
|
-
args: [{ selector: 'aup-activity-title', template: "<ng-content></ng-content>\n
|
|
8750
|
+
args: [{ selector: 'aup-activity-title', template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
|
|
9160
8751
|
}], propDecorators: { hasTransparentBackground: [{
|
|
9161
8752
|
type: Input
|
|
9162
8753
|
}, {
|
|
@@ -9421,7 +9012,6 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9421
9012
|
tabs;
|
|
9422
9013
|
activityOutlets;
|
|
9423
9014
|
activityRefs = [];
|
|
9424
|
-
animationDuration = "500ms";
|
|
9425
9015
|
_identifier;
|
|
9426
9016
|
_deferredCleanUp;
|
|
9427
9017
|
interactionServiceApi;
|
|
@@ -9434,7 +9024,6 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9434
9024
|
busy = this.registerDisposable(new DelegatingValueModel().withDefault(false));
|
|
9435
9025
|
syncTabsJob = undefined;
|
|
9436
9026
|
stable$;
|
|
9437
|
-
wasActive = false;
|
|
9438
9027
|
constructor(placeRouter) {
|
|
9439
9028
|
super();
|
|
9440
9029
|
this.placeRouter = placeRouter;
|
|
@@ -9471,12 +9060,7 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9471
9060
|
* Returns true if an activity is currently running.
|
|
9472
9061
|
*/
|
|
9473
9062
|
isActive() {
|
|
9474
|
-
|
|
9475
|
-
// if (this.wasActive !== isActive) {
|
|
9476
|
-
// console.log({was: this.wasActive, is: isActive});
|
|
9477
|
-
// }
|
|
9478
|
-
// this.wasActive = isActive
|
|
9479
|
-
return isActive;
|
|
9063
|
+
return this.getActiveActivityCount() > 0;
|
|
9480
9064
|
}
|
|
9481
9065
|
registerDisposable(disposable) {
|
|
9482
9066
|
return this.garbage.registerDisposable(disposable);
|
|
@@ -9559,7 +9143,7 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9559
9143
|
// by activity index)
|
|
9560
9144
|
setTimeout(() => {
|
|
9561
9145
|
this.activityRefs = []; // we have to do it after the animation timeout or the activity disappears before the animatin finsihes
|
|
9562
|
-
}, this.
|
|
9146
|
+
}, this.getTabAnimationDuration());
|
|
9563
9147
|
const promise = this.interactionServiceApi.notifyFinished(this);
|
|
9564
9148
|
this._deferredCleanUp = promise
|
|
9565
9149
|
.finally(() => {
|
|
@@ -9585,6 +9169,7 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9585
9169
|
/**
|
|
9586
9170
|
* Synchronises the selected tab index.
|
|
9587
9171
|
*/
|
|
9172
|
+
// @Trace()
|
|
9588
9173
|
synchroniseSelectedTabIndex() {
|
|
9589
9174
|
assert.isTruthy(this.isActive());
|
|
9590
9175
|
const previousIndex = this.tabs.selectedIndex;
|
|
@@ -9596,10 +9181,10 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9596
9181
|
activityRef.setFocused(false);
|
|
9597
9182
|
this.busy.setDelegate(activityRef.activityBusy);
|
|
9598
9183
|
this.tabs.selectedIndex = newIndex;
|
|
9599
|
-
|
|
9600
|
-
|
|
9601
|
-
|
|
9602
|
-
|
|
9184
|
+
if (this.ready$.value) {
|
|
9185
|
+
// Note: We're not using the animation done event as it's firing almost immeadiately.
|
|
9186
|
+
setTimeout(() => this.finaliseActivityStates(), animate ? this.getTabAnimationDuration() : 0);
|
|
9187
|
+
}
|
|
9603
9188
|
}
|
|
9604
9189
|
}
|
|
9605
9190
|
finaliseActivityStates() {
|
|
@@ -9613,12 +9198,7 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9613
9198
|
return this.activityOutlets.toArray()[this.tabs.selectedIndex];
|
|
9614
9199
|
}
|
|
9615
9200
|
getTabAnimationDuration() {
|
|
9616
|
-
|
|
9617
|
-
// return s
|
|
9618
|
-
return this.animationDuration;
|
|
9619
|
-
}
|
|
9620
|
-
getTabAnimationDurationInMillis() {
|
|
9621
|
-
const match = this.animationDuration.match(/(\d+)(.*)/);
|
|
9201
|
+
const match = this.tabs.animationDuration.match(/(\d+)(.*)/);
|
|
9622
9202
|
const numericValue = parseFloat(match[1]);
|
|
9623
9203
|
switch (match[2].trim()) {
|
|
9624
9204
|
case "ms":
|
|
@@ -9644,16 +9224,12 @@ class ActivityContainerComponent extends AbstractInteractionContext {
|
|
|
9644
9224
|
}
|
|
9645
9225
|
}, 75);
|
|
9646
9226
|
}
|
|
9647
|
-
onAnimationDone() {
|
|
9648
|
-
this._started$.value = true;
|
|
9649
|
-
this.finaliseActivityStates();
|
|
9650
|
-
}
|
|
9651
9227
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityContainerComponent, deps: [{ token: PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
9652
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ActivityContainerComponent, selector: "aup-activity-container", inputs: { dynamicHeight: "dynamicHeight"
|
|
9228
|
+
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"] }] });
|
|
9653
9229
|
}
|
|
9654
9230
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityContainerComponent, decorators: [{
|
|
9655
9231
|
type: Component,
|
|
9656
|
-
args: [{ selector: "aup-activity-container", template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\"
|
|
9232
|
+
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"] }]
|
|
9657
9233
|
}], ctorParameters: function () { return [{ type: PlaceRouter }]; }, propDecorators: { dynamicHeight: [{
|
|
9658
9234
|
type: Input
|
|
9659
9235
|
}], tabs: [{
|
|
@@ -9662,8 +9238,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
9662
9238
|
}], activityOutlets: [{
|
|
9663
9239
|
type: ViewChildren,
|
|
9664
9240
|
args: [ActivityOutletComponent]
|
|
9665
|
-
}], animationDuration: [{
|
|
9666
|
-
type: Input
|
|
9667
9241
|
}] } });
|
|
9668
9242
|
|
|
9669
9243
|
class AbstractActivityTriggerComponent extends DisposableComponent {
|
|
@@ -9764,14 +9338,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
9764
9338
|
args: ['class.active']
|
|
9765
9339
|
}] } });
|
|
9766
9340
|
|
|
9767
|
-
const cssDurationRegex
|
|
9341
|
+
const cssDurationRegex = /(\d+)(m?s)/;
|
|
9768
9342
|
/**
|
|
9769
9343
|
* @example
|
|
9770
9344
|
* <aup-in-place-interaction-context #inPlaceInteractionContext>
|
|
9771
9345
|
* </aup-in-place-interaction-context>
|
|
9772
9346
|
*
|
|
9773
9347
|
* in your component
|
|
9774
|
-
* @ViewChild(
|
|
9348
|
+
* @ViewChild('inPlaceInteractionContext', { static: true })
|
|
9775
9349
|
* interactionContext: InteractionContext;
|
|
9776
9350
|
*
|
|
9777
9351
|
*
|
|
@@ -9794,7 +9368,7 @@ class InPlaceInteractionContextComponent extends DisposableComponent {
|
|
|
9794
9368
|
return this.animateFirstActivity ? (this.tabConfig?.animationDuration || "500ms") : "0ms";
|
|
9795
9369
|
}
|
|
9796
9370
|
get animationDurationMillis() {
|
|
9797
|
-
const result = cssDurationRegex
|
|
9371
|
+
const result = cssDurationRegex.exec(this.animationDuration);
|
|
9798
9372
|
if (!result) {
|
|
9799
9373
|
lang.illegalState(`unsupported css duration: ${this.animationDuration}`);
|
|
9800
9374
|
}
|
|
@@ -9867,7 +9441,7 @@ class InPlaceInteractionContextComponent extends DisposableComponent {
|
|
|
9867
9441
|
}
|
|
9868
9442
|
}
|
|
9869
9443
|
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 });
|
|
9870
|
-
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"
|
|
9444
|
+
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"] }] });
|
|
9871
9445
|
}
|
|
9872
9446
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InPlaceInteractionContextComponent, decorators: [{
|
|
9873
9447
|
type: Component,
|
|
@@ -10336,14 +9910,12 @@ class StringInputActivity extends InputActivity {
|
|
|
10336
9910
|
[label]="activityData.label"
|
|
10337
9911
|
[placeholder]="activityData.placeholder"
|
|
10338
9912
|
[command.enter]="confirmCommand"
|
|
10339
|
-
[command.escape]="cancelCommand"
|
|
10340
|
-
[dense]="true"
|
|
10341
|
-
></aup-string-input>
|
|
9913
|
+
[command.escape]="cancelCommand"></aup-string-input>
|
|
10342
9914
|
<aup-activity-actions [layout]="layout" align="end"
|
|
10343
9915
|
[confirmFace]="confirmFace"
|
|
10344
9916
|
[cancelFace]="cancelFace"
|
|
10345
9917
|
></aup-activity-actions>
|
|
10346
|
-
`, isInline: true, dependencies: [{ kind: "component", type: StringInputComponent, selector: "aup-string-input", inputs: ["autocomplete", "enableClear$", "enableClear", "iconPrefix"
|
|
9918
|
+
`, 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"] }] });
|
|
10347
9919
|
}
|
|
10348
9920
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: StringInputActivity, decorators: [{
|
|
10349
9921
|
type: Component,
|
|
@@ -10354,9 +9926,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10354
9926
|
[label]="activityData.label"
|
|
10355
9927
|
[placeholder]="activityData.placeholder"
|
|
10356
9928
|
[command.enter]="confirmCommand"
|
|
10357
|
-
[command.escape]="cancelCommand"
|
|
10358
|
-
[dense]="true"
|
|
10359
|
-
></aup-string-input>
|
|
9929
|
+
[command.escape]="cancelCommand"></aup-string-input>
|
|
10360
9930
|
<aup-activity-actions [layout]="layout" align="end"
|
|
10361
9931
|
[confirmFace]="confirmFace"
|
|
10362
9932
|
[cancelFace]="cancelFace"
|
|
@@ -10622,7 +10192,6 @@ class SelectInputActivity extends InputActivity {
|
|
|
10622
10192
|
[options]="options"
|
|
10623
10193
|
[optionLabelFormat]="optionLabelFormat"
|
|
10624
10194
|
[allowNil]="activityData.allowNil"
|
|
10625
|
-
[dense]="true"
|
|
10626
10195
|
>
|
|
10627
10196
|
<ng-template #nilOptionTemplate>{{activityData.nilLabel}}</ng-template>
|
|
10628
10197
|
</aup-select-input>
|
|
@@ -10645,7 +10214,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10645
10214
|
[options]="options"
|
|
10646
10215
|
[optionLabelFormat]="optionLabelFormat"
|
|
10647
10216
|
[allowNil]="activityData.allowNil"
|
|
10648
|
-
[dense]="true"
|
|
10649
10217
|
>
|
|
10650
10218
|
<ng-template #nilOptionTemplate>{{activityData.nilLabel}}</ng-template>
|
|
10651
10219
|
</aup-select-input>
|
|
@@ -10657,182 +10225,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10657
10225
|
}]
|
|
10658
10226
|
}] });
|
|
10659
10227
|
|
|
10660
|
-
const slideDownOnEnterDef = style({
|
|
10661
|
-
opacity: 0,
|
|
10662
|
-
'height': '0',
|
|
10663
|
-
'max-height': '0',
|
|
10664
|
-
paddingTop: '0',
|
|
10665
|
-
paddingBottom: '0'
|
|
10666
|
-
});
|
|
10667
|
-
// TODO: params aren't getting customised in the view. Need to figure out the correct approach.
|
|
10668
|
-
const slideDownOnEnterAnimation = trigger('slideDownOnEnter', [
|
|
10669
|
-
transition(':enter', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
10670
|
-
transition(':leave', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
|
|
10671
|
-
]);
|
|
10672
|
-
const slideDownWhenOpenAnimation = trigger('slideDownWhenOpen', [
|
|
10673
|
-
transition('closed => open', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
10674
|
-
transition('open => closed', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
|
|
10675
|
-
]);
|
|
10676
|
-
const slideLeftOnEnterDef = style({
|
|
10677
|
-
opacity: 0,
|
|
10678
|
-
'width': '0',
|
|
10679
|
-
paddingLeft: '0',
|
|
10680
|
-
paddingRight: '0'
|
|
10681
|
-
});
|
|
10682
|
-
const slideRightOnEnterAnimation = trigger('slideRightOnEnter', [
|
|
10683
|
-
transition(':enter', [slideLeftOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
10684
|
-
transition(':leave', [animate('{{duration}}', slideLeftOnEnterDef)], { params: { duration: '100ms' } })
|
|
10685
|
-
]);
|
|
10686
|
-
const ZERO_WIDTH = {
|
|
10687
|
-
opacity: 0,
|
|
10688
|
-
width: '0',
|
|
10689
|
-
paddingLeft: '0',
|
|
10690
|
-
paddingRight: '0',
|
|
10691
|
-
};
|
|
10692
|
-
const ZERO_HEIGHT = {
|
|
10693
|
-
opacity: 0,
|
|
10694
|
-
height: '0',
|
|
10695
|
-
paddingTop: '0',
|
|
10696
|
-
paddingBottom: '0',
|
|
10697
|
-
};
|
|
10698
|
-
const slideDownAndRightOnEnterAnimation = trigger('slideDownAndRightOnEnter', [
|
|
10699
|
-
transition(':enter', [
|
|
10700
|
-
style({ overflow: "hidden", whiteSpace: "nowrap", ...ZERO_WIDTH, ...ZERO_HEIGHT }),
|
|
10701
|
-
animate('{{duration}}')
|
|
10702
|
-
], { params: { duration: '100ms' } }),
|
|
10703
|
-
transition(':leave', [
|
|
10704
|
-
style({ overflow: "hidden", whiteSpace: "nowrap" }),
|
|
10705
|
-
group([
|
|
10706
|
-
animate('{{duration}}', style(ZERO_HEIGHT)),
|
|
10707
|
-
// Hack: 100ms is too quick as it animates from * - 0 as we only see it animate the width is greater than the parent.
|
|
10708
|
-
// Not sure how to animate from * to natural new width of parent. This hack won't work for text that's just a little
|
|
10709
|
-
// bit wider than the parent as it'll fall within the parent bounds very early in the animation cycle.
|
|
10710
|
-
animate('300ms', style(ZERO_WIDTH)),
|
|
10711
|
-
])
|
|
10712
|
-
], { params: { duration: '100ms' } })
|
|
10713
|
-
]);
|
|
10714
|
-
|
|
10715
|
-
const cssDurationRegex = /(\d+)(m?s)/;
|
|
10716
|
-
/**
|
|
10717
|
-
* This interaction context remains hidden (height: 0) until it is active.
|
|
10718
|
-
* @example
|
|
10719
|
-
* <aup-slide-down-interaction-context #inPlaceInteractionContext>
|
|
10720
|
-
* </aup-slide-down-interaction-context>
|
|
10721
|
-
*
|
|
10722
|
-
* in your component
|
|
10723
|
-
* @ViewChild(SlideDownInteractionContextComponent)
|
|
10724
|
-
* interactionContext: InteractionContext;
|
|
10725
|
-
*
|
|
10726
|
-
*
|
|
10727
|
-
*/
|
|
10728
|
-
class SlideDownInteractionContextComponent extends DisposableComponent {
|
|
10729
|
-
tabConfig;
|
|
10730
|
-
activityContainerComponent;
|
|
10731
|
-
// NOTE: disabling this as I'm using the initialise callback to release the hacky height clamp.
|
|
10732
|
-
// The whole registration thing is a bit naf so I should really clean that up at some point.
|
|
10733
|
-
// /**
|
|
10734
|
-
// * If true the activity will sync with the router to enable back button support. This is a work around for
|
|
10735
|
-
// * deeply nested activities that can't be linked with the root place interactionContext hook for cancelling
|
|
10736
|
-
// * active interactions.
|
|
10737
|
-
// */
|
|
10738
|
-
// @Input()
|
|
10739
|
-
// syncWithRoutes = true;
|
|
10740
|
-
dynamicHeight = true;
|
|
10741
|
-
get active() {
|
|
10742
|
-
return this.isActive();
|
|
10743
|
-
}
|
|
10744
|
-
// Horrible hack to stop the div and activity container bouncing back for a bit in after closing. No idea why it's doing that.
|
|
10745
|
-
clampShut = true;
|
|
10746
|
-
interactionService = this.inject(InteractionService);
|
|
10747
|
-
constructor(tabConfig) {
|
|
10748
|
-
super();
|
|
10749
|
-
this.tabConfig = tabConfig;
|
|
10750
|
-
}
|
|
10751
|
-
ngAfterViewInit() {
|
|
10752
|
-
// NOTE: this is a temp work around to detach inplace contexts from the router until AUP-88 is implemented.
|
|
10753
|
-
// https://coolon.atlassian.net/browse/AUP-88?atlOrigin=eyJpIjoiOTg5YjEzZGUzZjRmNDg0NmExOWU3ZGJmMzJiNTRmNGYiLCJwIjoiaiJ9
|
|
10754
|
-
const self = this;
|
|
10755
|
-
this.activityContainerComponent.initialise("dont-care", {
|
|
10756
|
-
async notifyActive(interactionContext) {
|
|
10757
|
-
self.clampShut = false;
|
|
10758
|
-
return undefined;
|
|
10759
|
-
},
|
|
10760
|
-
async notifyFinished(interactionContext) {
|
|
10761
|
-
return undefined;
|
|
10762
|
-
}
|
|
10763
|
-
});
|
|
10764
|
-
// if (this.syncWithRoutes) {
|
|
10765
|
-
// this.interactionService.registerInplaceInteractionContext(this);
|
|
10766
|
-
// }
|
|
10767
|
-
}
|
|
10768
|
-
getAnimationState() {
|
|
10769
|
-
return {
|
|
10770
|
-
value: this.isActive() ? "open" : "closed",
|
|
10771
|
-
params: { duration: "200ms" }
|
|
10772
|
-
};
|
|
10773
|
-
}
|
|
10774
|
-
// this is a regsitration callback from the interaction service
|
|
10775
|
-
// @Trace() // webstorm says no usages... but I'm not sure.
|
|
10776
|
-
onInplaceInteractionContextRegistered(id, api) {
|
|
10777
|
-
this.activityContainerComponent.initialise(id, api);
|
|
10778
|
-
}
|
|
10779
|
-
get identifier() {
|
|
10780
|
-
return this.activityContainerComponent.identifier;
|
|
10781
|
-
}
|
|
10782
|
-
alert(alert) {
|
|
10783
|
-
return this.activityContainerComponent.alert(alert);
|
|
10784
|
-
}
|
|
10785
|
-
cancelActiveActivity() {
|
|
10786
|
-
return this.activityContainerComponent.cancelActiveActivity();
|
|
10787
|
-
}
|
|
10788
|
-
confirm(confirm) {
|
|
10789
|
-
return this.activityContainerComponent.confirm(confirm);
|
|
10790
|
-
}
|
|
10791
|
-
confirmOrReject(confirm) {
|
|
10792
|
-
return this.activityContainerComponent.confirmOrReject(confirm);
|
|
10793
|
-
}
|
|
10794
|
-
confirmThen(confirm, activityType, data) {
|
|
10795
|
-
return this.activityContainerComponent.confirmThen(confirm, activityType);
|
|
10796
|
-
}
|
|
10797
|
-
confirmThenExecute(confirm, operation) {
|
|
10798
|
-
return this.activityContainerComponent.confirmThenExecute(confirm, operation);
|
|
10799
|
-
}
|
|
10800
|
-
isActive() {
|
|
10801
|
-
return this.activityContainerComponent.isActive();
|
|
10802
|
-
}
|
|
10803
|
-
startActivity(activityType, data, options) {
|
|
10804
|
-
return this.activityContainerComponent.startActivity(activityType, data, options);
|
|
10805
|
-
}
|
|
10806
|
-
onAnimationDone() {
|
|
10807
|
-
if (!this.isActive()) {
|
|
10808
|
-
this.clampShut = true;
|
|
10809
|
-
}
|
|
10810
|
-
}
|
|
10811
|
-
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 });
|
|
10812
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SlideDownInteractionContextComponent, selector: "aup-slide-down-interaction-context", inputs: { dynamicHeight: "dynamicHeight" }, host: { properties: { "class.active": "this.active" } }, viewQueries: [{ propertyName: "activityContainerComponent", first: true, predicate: ["activityContainer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div [@slideDownWhenOpen]=\"getAnimationState()\" (@slideDownWhenOpen.done)=\"onAnimationDone()\" [style.max-height.px]=\"clampShut ? 0 : undefined\">\n <aup-activity-container #activityContainer [dynamicHeight]=\"dynamicHeight\"></aup-activity-container>\n</div>\n\n", styles: [":host{display:flex;flex-direction:column}:host>div{overflow:hidden}\n"], dependencies: [{ kind: "component", type: ActivityContainerComponent, selector: "aup-activity-container", inputs: ["dynamicHeight", "animationDuration"] }], animations: [
|
|
10813
|
-
slideDownWhenOpenAnimation
|
|
10814
|
-
] });
|
|
10815
|
-
}
|
|
10816
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SlideDownInteractionContextComponent, decorators: [{
|
|
10817
|
-
type: Component,
|
|
10818
|
-
args: [{ selector: "aup-slide-down-interaction-context", animations: [
|
|
10819
|
-
slideDownWhenOpenAnimation
|
|
10820
|
-
], 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"] }]
|
|
10821
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
10822
|
-
type: Inject,
|
|
10823
|
-
args: [MAT_TABS_CONFIG]
|
|
10824
|
-
}, {
|
|
10825
|
-
type: Optional
|
|
10826
|
-
}] }]; }, propDecorators: { activityContainerComponent: [{
|
|
10827
|
-
type: ViewChild,
|
|
10828
|
-
args: ["activityContainer", { static: true }]
|
|
10829
|
-
}], dynamicHeight: [{
|
|
10830
|
-
type: Input
|
|
10831
|
-
}], active: [{
|
|
10832
|
-
type: HostBinding,
|
|
10833
|
-
args: ["class.active"]
|
|
10834
|
-
}] } });
|
|
10835
|
-
|
|
10836
10228
|
class InteractionContextTriggerForDirective extends GarbageCollector {
|
|
10837
10229
|
aupInteractionContextTriggerFor;
|
|
10838
10230
|
activityClass;
|
|
@@ -10915,7 +10307,6 @@ class InteractionModule {
|
|
|
10915
10307
|
AlertDialogComponent,
|
|
10916
10308
|
ActivityOutletComponent,
|
|
10917
10309
|
InPlaceInteractionContextComponent,
|
|
10918
|
-
SlideDownInteractionContextComponent,
|
|
10919
10310
|
AddItemInteractionContextComponent,
|
|
10920
10311
|
ActivityActionsComponent,
|
|
10921
10312
|
PopupInteractionContextComponent,
|
|
@@ -10942,6 +10333,8 @@ class InteractionModule {
|
|
|
10942
10333
|
RouterModule,
|
|
10943
10334
|
MatIconModule,
|
|
10944
10335
|
DirectivesModule,
|
|
10336
|
+
FlexModule,
|
|
10337
|
+
GridModule,
|
|
10945
10338
|
ComponentsModule,
|
|
10946
10339
|
FormsModule,
|
|
10947
10340
|
MatInputModule,
|
|
@@ -10961,8 +10354,7 @@ class InteractionModule {
|
|
|
10961
10354
|
InlineActivityTriggerComponent,
|
|
10962
10355
|
ModalActivityTriggerComponent,
|
|
10963
10356
|
AddCardActivityComponent,
|
|
10964
|
-
InlineStringEditorComponent
|
|
10965
|
-
SlideDownInteractionContextComponent] });
|
|
10357
|
+
InlineStringEditorComponent] });
|
|
10966
10358
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InteractionModule, providers: [
|
|
10967
10359
|
InteractionService
|
|
10968
10360
|
// {
|
|
@@ -10976,6 +10368,8 @@ class InteractionModule {
|
|
|
10976
10368
|
RouterModule,
|
|
10977
10369
|
MatIconModule,
|
|
10978
10370
|
DirectivesModule,
|
|
10371
|
+
FlexModule,
|
|
10372
|
+
GridModule,
|
|
10979
10373
|
ComponentsModule,
|
|
10980
10374
|
FormsModule,
|
|
10981
10375
|
MatInputModule,
|
|
@@ -10994,6 +10388,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
10994
10388
|
RouterModule,
|
|
10995
10389
|
MatIconModule,
|
|
10996
10390
|
DirectivesModule,
|
|
10391
|
+
FlexModule,
|
|
10392
|
+
GridModule,
|
|
10997
10393
|
ComponentsModule,
|
|
10998
10394
|
FormsModule,
|
|
10999
10395
|
MatInputModule,
|
|
@@ -11008,7 +10404,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11008
10404
|
AlertDialogComponent,
|
|
11009
10405
|
ActivityOutletComponent,
|
|
11010
10406
|
InPlaceInteractionContextComponent,
|
|
11011
|
-
SlideDownInteractionContextComponent,
|
|
11012
10407
|
AddItemInteractionContextComponent,
|
|
11013
10408
|
ActivityActionsComponent,
|
|
11014
10409
|
PopupInteractionContextComponent,
|
|
@@ -11046,7 +10441,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11046
10441
|
ModalActivityTriggerComponent,
|
|
11047
10442
|
AddCardActivityComponent,
|
|
11048
10443
|
InlineStringEditorComponent,
|
|
11049
|
-
SlideDownInteractionContextComponent,
|
|
11050
10444
|
],
|
|
11051
10445
|
providers: [
|
|
11052
10446
|
InteractionService
|
|
@@ -11117,6 +10511,7 @@ class PlaceOutletComponent extends DisposableComponent {
|
|
|
11117
10511
|
router;
|
|
11118
10512
|
placeRouter;
|
|
11119
10513
|
placeConfig;
|
|
10514
|
+
cdr;
|
|
11120
10515
|
#animate$_accessor_storage = proxify((ValueModel));
|
|
11121
10516
|
get animate$() { return this.#animate$_accessor_storage; }
|
|
11122
10517
|
set animate$(value) { this.#animate$_accessor_storage = value; }
|
|
@@ -11150,11 +10545,12 @@ class PlaceOutletComponent extends DisposableComponent {
|
|
|
11150
10545
|
animationEnabled;
|
|
11151
10546
|
authorised;
|
|
11152
10547
|
notAuthorisedNoticePortal;
|
|
11153
|
-
constructor(router, placeRouter, placeConfig, unauthorisedPlaceNotice, parentOutlet) {
|
|
10548
|
+
constructor(router, placeRouter, placeConfig, unauthorisedPlaceNotice, parentOutlet, cdr) {
|
|
11154
10549
|
super();
|
|
11155
10550
|
this.router = router;
|
|
11156
10551
|
this.placeRouter = placeRouter;
|
|
11157
10552
|
this.placeConfig = placeConfig;
|
|
10553
|
+
this.cdr = cdr;
|
|
11158
10554
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
11159
10555
|
this.parentOutletModel = new MutableValueModel(parentOutlet);
|
|
11160
10556
|
const defaultPlaceAnimationOrder = chain(this.parentOutletModel)
|
|
@@ -11166,7 +10562,7 @@ class PlaceOutletComponent extends DisposableComponent {
|
|
|
11166
10562
|
this.placesInAnimationOrder = chain(this.customPlaceAnimationOrder$)
|
|
11167
10563
|
.otherwise(defaultPlaceAnimationOrder);
|
|
11168
10564
|
this.activePlaceAnimationPosition = this.placesInAnimationOrder
|
|
11169
|
-
.
|
|
10565
|
+
.reduce((placesInOrder) => {
|
|
11170
10566
|
let placeIndex = 0;
|
|
11171
10567
|
if (activatePlaceType.value) {
|
|
11172
10568
|
placeIndex = placesInOrder.indexOf(activatePlaceType.value);
|
|
@@ -11320,7 +10716,7 @@ class PlaceOutletComponent extends DisposableComponent {
|
|
|
11320
10716
|
this.onAnimationFinishedJob = undefined;
|
|
11321
10717
|
}
|
|
11322
10718
|
}
|
|
11323
|
-
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 }], target: i0.ɵɵFactoryTarget.Component });
|
|
10719
|
+
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 });
|
|
11324
10720
|
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] });
|
|
11325
10721
|
}
|
|
11326
10722
|
__decorate([
|
|
@@ -11356,7 +10752,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11356
10752
|
type: SkipSelf
|
|
11357
10753
|
}, {
|
|
11358
10754
|
type: Optional
|
|
11359
|
-
}] }]; }, propDecorators: { animate$: [{
|
|
10755
|
+
}] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { animate$: [{
|
|
11360
10756
|
type: Input
|
|
11361
10757
|
}], animate: [{
|
|
11362
10758
|
type: Input
|
|
@@ -11489,7 +10885,7 @@ class ListPlaceNavComponent extends AbstractPlaceNavigationComponent {
|
|
|
11489
10885
|
super(router);
|
|
11490
10886
|
}
|
|
11491
10887
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ListPlaceNavComponent, deps: [{ token: PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
11492
|
-
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"] }] });
|
|
10888
|
+
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"] }] });
|
|
11493
10889
|
}
|
|
11494
10890
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ListPlaceNavComponent, decorators: [{
|
|
11495
10891
|
type: Component,
|
|
@@ -11564,7 +10960,7 @@ class SidePlaceNavigationComponent extends AbstractPlaceNavigationComponent {
|
|
|
11564
10960
|
this.expanded = !this.expanded;
|
|
11565
10961
|
}
|
|
11566
10962
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SidePlaceNavigationComponent, deps: [{ token: PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
11567
|
-
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-
|
|
10963
|
+
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"] }] });
|
|
11568
10964
|
}
|
|
11569
10965
|
__decorate([
|
|
11570
10966
|
Proxify(),
|
|
@@ -11576,7 +10972,7 @@ __decorate([
|
|
|
11576
10972
|
], SidePlaceNavigationComponent.prototype, "expanded", null);
|
|
11577
10973
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SidePlaceNavigationComponent, decorators: [{
|
|
11578
10974
|
type: Component,
|
|
11579
|
-
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-
|
|
10975
|
+
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"] }]
|
|
11580
10976
|
}], ctorParameters: function () { return [{ type: PlaceRouter }]; }, propDecorators: { expanded$: [{
|
|
11581
10977
|
type: Input
|
|
11582
10978
|
}], expanded: [{
|
|
@@ -11617,6 +11013,7 @@ class PlaceModule {
|
|
|
11617
11013
|
MatTooltipModule,
|
|
11618
11014
|
MatIconModule,
|
|
11619
11015
|
DirectivesModule,
|
|
11016
|
+
FlexModule,
|
|
11620
11017
|
ComponentsModule,
|
|
11621
11018
|
PortalModule,
|
|
11622
11019
|
MatCardModule], exports: [PlaceOutletComponent,
|
|
@@ -11633,6 +11030,7 @@ class PlaceModule {
|
|
|
11633
11030
|
MatTooltipModule,
|
|
11634
11031
|
MatIconModule,
|
|
11635
11032
|
DirectivesModule,
|
|
11033
|
+
FlexModule,
|
|
11636
11034
|
ComponentsModule,
|
|
11637
11035
|
PortalModule,
|
|
11638
11036
|
MatCardModule] });
|
|
@@ -11650,6 +11048,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11650
11048
|
MatTooltipModule,
|
|
11651
11049
|
MatIconModule,
|
|
11652
11050
|
DirectivesModule,
|
|
11051
|
+
FlexModule,
|
|
11653
11052
|
ComponentsModule,
|
|
11654
11053
|
PortalModule,
|
|
11655
11054
|
MatCardModule
|
|
@@ -11739,44 +11138,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
11739
11138
|
}]
|
|
11740
11139
|
}] });
|
|
11741
11140
|
|
|
11141
|
+
const slideDownOnEnterDef = style({
|
|
11142
|
+
opacity: 0,
|
|
11143
|
+
'height': '0',
|
|
11144
|
+
paddingTop: '0',
|
|
11145
|
+
paddingBottom: '0'
|
|
11146
|
+
});
|
|
11147
|
+
// TODO: params aren't getting customised in the view. Need to figure out the correct approach.
|
|
11148
|
+
const slideDownOnEnterAnimation = trigger('slideDownOnEnter', [
|
|
11149
|
+
transition(':enter', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
11150
|
+
transition(':leave', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
|
|
11151
|
+
]);
|
|
11152
|
+
const slideLeftOnEnterDef = style({
|
|
11153
|
+
opacity: 0,
|
|
11154
|
+
'width': '0',
|
|
11155
|
+
paddingLeft: '0',
|
|
11156
|
+
paddingRight: '0'
|
|
11157
|
+
});
|
|
11158
|
+
const slideRightOnEnterAnimation = trigger('slideRightOnEnter', [
|
|
11159
|
+
transition(':enter', [slideLeftOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
11160
|
+
transition(':leave', [animate('{{duration}}', slideLeftOnEnterDef)], { params: { duration: '100ms' } })
|
|
11161
|
+
]);
|
|
11162
|
+
const ZERO_WIDTH = {
|
|
11163
|
+
opacity: 0,
|
|
11164
|
+
width: '0',
|
|
11165
|
+
paddingLeft: '0',
|
|
11166
|
+
paddingRight: '0',
|
|
11167
|
+
};
|
|
11168
|
+
const ZERO_HEIGHT = {
|
|
11169
|
+
opacity: 0,
|
|
11170
|
+
height: '0',
|
|
11171
|
+
paddingTop: '0',
|
|
11172
|
+
paddingBottom: '0',
|
|
11173
|
+
};
|
|
11174
|
+
const slideDownAndRightOnEnterAnimation = trigger('slideDownAndRightOnEnter', [
|
|
11175
|
+
transition(':enter', [
|
|
11176
|
+
style({ overflow: "hidden", whiteSpace: "nowrap", ...ZERO_WIDTH, ...ZERO_HEIGHT }),
|
|
11177
|
+
animate('{{duration}}')
|
|
11178
|
+
], { params: { duration: '100ms' } }),
|
|
11179
|
+
transition(':leave', [
|
|
11180
|
+
style({ overflow: "hidden", whiteSpace: "nowrap" }),
|
|
11181
|
+
group([
|
|
11182
|
+
animate('{{duration}}', style(ZERO_HEIGHT)),
|
|
11183
|
+
// Hack: 100ms is too quick as it animates from * - 0 as we only see it animate the width is greater than the parent.
|
|
11184
|
+
// Not sure how to animate from * to natural new width of parent. This hack won't work for text that's just a little
|
|
11185
|
+
// bit wider than the parent as it'll fall within the parent bounds very early in the animation cycle.
|
|
11186
|
+
animate('300ms', style(ZERO_WIDTH)),
|
|
11187
|
+
])
|
|
11188
|
+
], { params: { duration: '100ms' } })
|
|
11189
|
+
]);
|
|
11190
|
+
|
|
11742
11191
|
/**
|
|
11743
11192
|
* @file Automatically generated by barrelsby.
|
|
11744
11193
|
*/
|
|
11745
11194
|
|
|
11746
|
-
class ResizeObserverDirective extends DisposableComponent {
|
|
11747
|
-
aupOnResize = new EventEmitter();
|
|
11748
|
-
elementRef = this.inject(ElementRef);
|
|
11749
|
-
ngZone = this.inject(NgZone);
|
|
11750
|
-
_bounds$ = new MutableValueModel();
|
|
11751
|
-
ngAfterViewInit() {
|
|
11752
|
-
const element = this.elementRef.nativeElement;
|
|
11753
|
-
const ro = new ResizeObserver((entries, observer) => {
|
|
11754
|
-
this.ngZone.run(() => this._updateBounds());
|
|
11755
|
-
});
|
|
11756
|
-
ro.observe(element);
|
|
11757
|
-
this.onDispose(() => ro.disconnect());
|
|
11758
|
-
setTimeout(() => this._updateBounds());
|
|
11759
|
-
}
|
|
11760
|
-
get bounds$() {
|
|
11761
|
-
return this._bounds$.readonly$;
|
|
11762
|
-
}
|
|
11763
|
-
_updateBounds() {
|
|
11764
|
-
this._bounds$.value = Bounds.ofElement(this.elementRef.nativeElement);
|
|
11765
|
-
this.aupOnResize.emit(this._bounds$.value);
|
|
11766
|
-
}
|
|
11767
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ResizeObserverDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
11768
|
-
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 });
|
|
11769
|
-
}
|
|
11770
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ResizeObserverDirective, decorators: [{
|
|
11771
|
-
type: Directive,
|
|
11772
|
-
args: [{
|
|
11773
|
-
selector: "[aupOnResize]",
|
|
11774
|
-
standalone: true
|
|
11775
|
-
}]
|
|
11776
|
-
}], propDecorators: { aupOnResize: [{
|
|
11777
|
-
type: Output
|
|
11778
|
-
}] } });
|
|
11779
|
-
|
|
11780
11195
|
/**
|
|
11781
11196
|
* @file Automatically generated by barrelsby.
|
|
11782
11197
|
*/
|
|
@@ -12152,74 +11567,69 @@ var Formatter;
|
|
|
12152
11567
|
Formatter.BOOLEAN = new BooleanType();
|
|
12153
11568
|
})(Formatter || (Formatter = {}));
|
|
12154
11569
|
|
|
12155
|
-
|
|
12156
|
-
|
|
12157
|
-
|
|
12158
|
-
|
|
12159
|
-
|
|
12160
|
-
|
|
12161
|
-
|
|
12162
|
-
|
|
12163
|
-
|
|
12164
|
-
|
|
12165
|
-
|
|
12166
|
-
|
|
12167
|
-
|
|
12168
|
-
|
|
12169
|
-
|
|
12170
|
-
|
|
12171
|
-
|
|
12172
|
-
|
|
12173
|
-
|
|
12174
|
-
|
|
12175
|
-
|
|
12176
|
-
//
|
|
12177
|
-
//
|
|
12178
|
-
|
|
12179
|
-
|
|
12180
|
-
|
|
12181
|
-
|
|
12182
|
-
|
|
12183
|
-
|
|
12184
|
-
|
|
12185
|
-
|
|
12186
|
-
|
|
12187
|
-
//
|
|
12188
|
-
|
|
12189
|
-
|
|
12190
|
-
|
|
12191
|
-
|
|
12192
|
-
|
|
12193
|
-
|
|
12194
|
-
|
|
12195
|
-
|
|
12196
|
-
|
|
12197
|
-
|
|
12198
|
-
|
|
12199
|
-
|
|
12200
|
-
// });
|
|
12201
|
-
// }
|
|
11570
|
+
function installMechanics(parameterDef, prototype, propertyKey, tagPrefix) {
|
|
11571
|
+
Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, parameterDef);
|
|
11572
|
+
function getMechanics(instance, propertyName) {
|
|
11573
|
+
const key = `__mechanics_${propertyName.toString()}`;
|
|
11574
|
+
if (!instance[key]) {
|
|
11575
|
+
const backingModel = parameterDef.createBackingModel();
|
|
11576
|
+
instance[key] = {
|
|
11577
|
+
backingModel: backingModel,
|
|
11578
|
+
binding: null
|
|
11579
|
+
};
|
|
11580
|
+
const tag = `${tagPrefix}(${prototype.constructor.name}.${propertyKey.toString()})`;
|
|
11581
|
+
DebugContext.getOrCreate(instance[key].backingModel).tag(tag);
|
|
11582
|
+
}
|
|
11583
|
+
return instance[key];
|
|
11584
|
+
}
|
|
11585
|
+
Object.defineProperty(prototype, propertyKey, {
|
|
11586
|
+
get: function () {
|
|
11587
|
+
return getMechanics(this, propertyKey).backingModel;
|
|
11588
|
+
},
|
|
11589
|
+
set: function (userModel) {
|
|
11590
|
+
const mechanics = getMechanics(this, propertyKey);
|
|
11591
|
+
// This handles the scenario where we want to push an existing value model (such as a form model)
|
|
11592
|
+
// to and from the route.
|
|
11593
|
+
if (mechanics.binding) {
|
|
11594
|
+
mechanics.binding.dispose();
|
|
11595
|
+
}
|
|
11596
|
+
if (userModel) {
|
|
11597
|
+
mechanics.binding = new Binding(mechanics.backingModel, userModel, {
|
|
11598
|
+
toLeft: Functions.identity,
|
|
11599
|
+
toRight: Functions.identity
|
|
11600
|
+
});
|
|
11601
|
+
if (parameterDef.isEmptyValue(userModel.value)) {
|
|
11602
|
+
// console.log(`Push visit to model for ${tag}`, {value: mechanics.backingModel.value});
|
|
11603
|
+
mechanics.binding.writeRight(); // push the visit into the user model;
|
|
11604
|
+
}
|
|
11605
|
+
else {
|
|
11606
|
+
if (!parameterDef.isEmptyValue(mechanics.backingModel.value)) {
|
|
11607
|
+
console.warn('Assigning a visit model with an existing value to a visit parameter with an existing value. Visit parameter will be overridden');
|
|
11608
|
+
}
|
|
11609
|
+
mechanics.binding.writeLeft(); // push the user model into the visit
|
|
11610
|
+
}
|
|
11611
|
+
}
|
|
11612
|
+
}
|
|
11613
|
+
});
|
|
11614
|
+
}
|
|
12202
11615
|
function RouteId(formatter, options) {
|
|
12203
11616
|
return (prototype, propertyKey) => {
|
|
12204
11617
|
const parameterDef = new ParameterDefinition.RouteId(propertyKey.toString(), options, formatter);
|
|
12205
|
-
|
|
12206
|
-
Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, parameterDef);
|
|
11618
|
+
installMechanics(parameterDef, prototype, propertyKey, '@RouteId');
|
|
12207
11619
|
};
|
|
12208
11620
|
}
|
|
12209
11621
|
function VisitParameter(options) {
|
|
12210
11622
|
const opts = Opts.get(options);
|
|
12211
11623
|
return (prototype, propertyKey) => {
|
|
12212
11624
|
const parameterDef = new ParameterDefinition.ValueParameter(propertyKey.toString(), options, opts.getOptional('storeInUrl', null));
|
|
12213
|
-
|
|
12214
|
-
// installMechanics(parameterDef, prototype, propertyKey, '@VisitParameter');
|
|
11625
|
+
installMechanics(parameterDef, prototype, propertyKey, '@VisitParameter');
|
|
12215
11626
|
};
|
|
12216
11627
|
}
|
|
12217
11628
|
function VisitParameterList(options) {
|
|
12218
11629
|
const opts = Opts.get(options);
|
|
12219
11630
|
return (prototype, propertyKey) => {
|
|
12220
11631
|
const parameterDef = new ParameterDefinition.ArrayParameter(propertyKey.toString(), options, opts.getOptional('storeInUrl', null));
|
|
12221
|
-
|
|
12222
|
-
// installMechanics(parameterDef, prototype, propertyKey, '@VisitParameterList');
|
|
11632
|
+
installMechanics(parameterDef, prototype, propertyKey, '@VisitParameterList');
|
|
12223
11633
|
};
|
|
12224
11634
|
}
|
|
12225
11635
|
|
|
@@ -12313,5 +11723,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
12313
11723
|
* Generated bundle index. Do not edit.
|
|
12314
11724
|
*/
|
|
12315
11725
|
|
|
12316
|
-
export { ACTIVITY_DATA, ALERT_CONFIG, AUP_PLACE_CONFIG,
|
|
11726
|
+
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 };
|
|
12317
11727
|
//# sourceMappingURL=coolon-angular-ui-powerups.mjs.map
|