@coolon/angular-ui-powerups 0.0.53 → 0.0.55

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.
@@ -1 +1 @@
1
- {"version":3,"file":"coolon-angular-ui-powerups.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@coolon/angular-ui-powerups/lib/components/disposable-component.ts","ng://@coolon/angular-ui-powerups/lib/components/forms/abstract-input.component.ts","ng://@coolon/angular-ui-powerups/lib/components/forms/number-input/number-input.component.ts","ng://@coolon/angular-ui-powerups/lib/components/forms/password-input/password-input.component.ts","ng://@coolon/angular-ui-powerups/lib/components/forms/select-input/select-input.component.ts","ng://@coolon/angular-ui-powerups/lib/components/forms/string-input/string-input.component.ts","ng://@coolon/angular-ui-powerups/lib/directives/command.directive.ts","ng://@coolon/angular-ui-powerups/lib/directives/focus-binding.directive.ts","ng://@coolon/angular-ui-powerups/lib/interaction/interaction-context.ts","ng://@coolon/angular-ui-powerups/lib/interaction/activity.ts","ng://@coolon/angular-ui-powerups/lib/interaction/components/activity-outlet/activity-outlet.component.ts","ng://@coolon/angular-ui-powerups/lib/interaction/abstract-activity.ts","ng://@coolon/angular-ui-powerups/lib/interaction/components/alert-dialog/alert-dialog.component.ts","ng://@coolon/angular-ui-powerups/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.ts","ng://@coolon/angular-ui-powerups/lib/interaction/components/activity-container/activity-container.component.ts","ng://@coolon/angular-ui-powerups/lib/interaction/services/dialog-interaction.service.ts","ng://@coolon/angular-ui-powerups/lib/interaction/interaction.module.ts","ng://@coolon/angular-ui-powerups/lib/place/components/busy-overlay/busy-overlay.component.ts","ng://@coolon/angular-ui-powerups/lib/place/components/empty-state/empty-state.component.ts","ng://@coolon/angular-ui-powerups/lib/place/place-definition.ts","ng://@coolon/angular-ui-powerups/lib/place/place-component.ts","ng://@coolon/angular-ui-powerups/lib/place/components/abstract-place-navigation.component.ts","ng://@coolon/angular-ui-powerups/lib/place/components/list-place-nav/list-place-nav.component.ts","ng://@coolon/angular-ui-powerups/lib/place/place-history.ts","ng://@coolon/angular-ui-powerups/lib/place/place-router.ts","ng://@coolon/angular-ui-powerups/lib/place/route/route-parameter-value.ts","ng://@coolon/angular-ui-powerups/lib/place/route/parameter-definition.class.ts","ng://@coolon/angular-ui-powerups/lib/place/route/parameter-snapshot.ts","ng://@coolon/angular-ui-powerups/lib/place/components/place-outlet/route-animations.ts","ng://@coolon/angular-ui-powerups/lib/place/components/place-outlet/place-outlet.component.ts","ng://@coolon/angular-ui-powerups/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.ts","ng://@coolon/angular-ui-powerups/lib/place/place.module.ts","ng://@coolon/angular-ui-powerups/lib/angular-ui-powerups.module.ts","ng://@coolon/angular-ui-powerups/lib/animations/slideDownAndUpAnimation.ts","ng://@coolon/angular-ui-powerups/lib/components/types/dimension.class.ts","ng://@coolon/angular-ui-powerups/lib/components/types/point.class.ts","ng://@coolon/angular-ui-powerups/lib/components/types/bounds.class.ts","ng://@coolon/angular-ui-powerups/lib/components/resize-aware.component.ts","ng://@coolon/angular-ui-powerups/lib/interaction/alert.ts","ng://@coolon/angular-ui-powerups/lib/interaction/confirm.ts","ng://@coolon/angular-ui-powerups/lib/interaction/result.ts","ng://@coolon/angular-ui-powerups/lib/interaction/components/activity-outlet/activity-outlet-context.ts","ng://@coolon/angular-ui-powerups/lib/place/nav-item.ts","ng://@coolon/angular-ui-powerups/lib/place/place.decorator.ts","ng://@coolon/angular-ui-powerups/lib/place/visit.ts","ng://@coolon/angular-ui-powerups/lib/place/guards/leave-place.guard.ts","ng://@coolon/angular-ui-powerups/lib/place/guards/place-route.guard.ts","ng://@coolon/angular-ui-powerups/lib/place/route/json-types.ts","ng://@coolon/angular-ui-powerups/lib/place/route/parameter-decorators.ts","ng://@coolon/angular-ui-powerups/lib/place/route/parameter-sanitiser.ts","ng://@coolon/angular-ui-powerups/lib/place/route/parameter-type.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { OnDestroy } from '@angular/core';\nimport { GarbageCollector } from '@coolon/pectin';\n\nexport class DisposableComponent extends GarbageCollector implements OnDestroy {\n\n ngOnDestroy(): void {\n this.dispose();\n }\n}\n","/* tslint:disable:no-input-rename */\nimport { EventEmitter, HostListener, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, FormGroupDirective, NgForm } from '@angular/forms';\nimport { ErrorStateMatcher } from '@angular/material';\nimport { Command, DelegatingFormValueModel, ListModel, UseDelegate, ValueModel } from '@coolon/pectin';\nimport { DisposableComponent } from '../disposable-component';\n\nexport abstract class AbstractInputComponent<T> extends DisposableComponent implements OnInit {\n\n readonly valueModel = new DelegatingFormValueModel<T>();\n\n @Input('valueModel') @UseDelegate()\n set userValueModel(model: ValueModel<T>) {\n this.valueModel.setDelegate(model);\n }\n\n @Input() label: string;\n @Input() floatLabel: 'auto' | 'always' | 'never';\n @Input() hint: string;\n @Input() placeholder: string;\n\n @Input('command.focus') focusCommand: Command<any>;\n @Input('command.blur') blurCommand: Command<any>;\n @Input('command.enter') enterCommand: Command<any>;\n @Input('command.escape') escapeCommand: Command<any>;\n @Input('command.click') clickCommand: Command<any>;\n\n // TODO: fix this.\n // tslint:disable-next-line:no-output-native\n @Output() focus = new EventEmitter();\n // tslint:disable-next-line:no-output-native\n @Output() blur = new EventEmitter();\n // tslint:disable-next-line:no-output-native\n @Output() enterKey = new EventEmitter();\n // tslint:disable-next-line:no-output-native\n @Output() escapeKey = new EventEmitter();\n\n readonly errorStateMatcher: ErrorStateMatcher;\n\n @HostListener('click')\n notifyClick() {\n this.safelyInvoke(this.clickCommand);\n }\n\n @HostListener('focusin')\n notifyFocusIn() {\n this.safelyInvoke(this.focusCommand);\n this.focus.emit();\n }\n\n @HostListener('focusout')\n notifyFocusOut() {\n this.safelyInvoke(this.blurCommand);\n this.blur.emit();\n }\n\n\n notifyEnterKey() {\n this.safelyInvoke(this.enterCommand);\n this.enterKey.emit();\n }\n\n notifyEscapeKey() {\n this.safelyInvoke(this.escapeCommand);\n this.escapeKey.emit();\n }\n\n protected safelyInvoke(command: Command<any>) {\n if (command && command.enabled.value) {\n command.execute();\n }\n }\n\n constructor() {\n super();\n const self = this;\n this.errorStateMatcher = {\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n return self.hasErrors();\n }\n };\n }\n\n ngOnInit(): void {\n }\n\n isEnabled(): boolean {\n return this.enabled.value;\n }\n\n get enabled(): ValueModel<boolean> {\n return this.valueModel.enabled;\n }\n\n hasErrors(): boolean {\n return !this.errorList.query().isEmpty();\n }\n\n get errorList(): ListModel<string> {\n return this.valueModel.errorList;\n }\n\n get firstError() {\n return this.hasErrors() ? this.errorList.value[0] : null;\n }\n\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AbstractInputComponent } from '../abstract-input.component';\n\n\n@Component({\n selector: 'angular-ui-powerups-number-input',\n templateUrl: './number-input.component.html',\n styleUrls: ['./number-input.component.scss']\n})\nexport class NumberInputComponent extends AbstractInputComponent<string> implements OnInit {\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AbstractInputComponent } from '../abstract-input.component';\n\n@Component({\n selector: 'angular-ui-powerups-password-input',\n templateUrl: './password-input.component.html',\n styleUrls: ['./password-input.component.scss']\n})\nexport class PasswordInputComponent extends AbstractInputComponent<string> implements OnInit {\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ListModel, StoreInListModel, UseDelegate } from '@coolon/pectin';\nimport { AbstractInputComponent } from '../abstract-input.component';\n\n@Component({\n selector: 'angular-ui-powerups-select-input',\n templateUrl: './select-input.component.html',\n styleUrls: ['./select-input.component.scss']\n})\nexport class SelectInputComponent<T = any> extends AbstractInputComponent<T> implements OnInit {\n\n @Input() @UseDelegate()\n optionsModel: ListModel<T>;\n\n @Input() @StoreInListModel('optionsModel')\n options: T[];\n\n @Input()\n optionLabel: keyof T;\n\n @Input()\n optionLabelFormat: (option: T) => any = (option) => (option && this.optionLabel) ? option[this.optionLabel] : option;\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AbstractInputComponent } from '../abstract-input.component';\n\n@Component({\n selector: 'angular-ui-powerups-string-input',\n templateUrl: './string-input.component.html',\n styleUrls: ['./string-input.component.scss']\n})\nexport class StringInputComponent extends AbstractInputComponent<string> implements OnInit {\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n","import { AfterViewInit, Directive, ElementRef, HostListener, Inject, Input, OnDestroy, OnInit } from '@angular/core';\nimport { assert, Command, Dsl, GarbageCollector, lang, UnaryCommand } from '@coolon/pectin';\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[pectinCommand]'\n})\nexport class CommandDirective<P = any> extends GarbageCollector implements OnInit, OnDestroy, AfterViewInit {\n\n @Input()\n pectinCommand: Command<any> | UnaryCommand<P>;\n\n private _commandParameter: P;\n private _commandParameterProvided = false;\n\n @Input()\n set commandParameter(value: P) {\n this._commandParameterProvided = true;\n this._commandParameter = value;\n }\n\n get commandParameter(): P {\n return this._commandParameter;\n }\n\n constructor(@Inject(ElementRef) private elementRef: ElementRef) {\n super();\n }\n\n ngOnInit(): void {\n assert.notNil(this.pectinCommand);\n if (this.pectinCommand instanceof UnaryCommand) {\n if (!this._commandParameterProvided) {\n lang.illegalState('UnaryCommands required the command parameter to be specified.');\n }\n } else {\n if (this._commandParameterProvided) {\n lang.illegalState('command parameters are only supported by UnaryCommands');\n }\n }\n }\n\n ngAfterViewInit(): void {\n // for some reason mat-buttons kills the disabled host binding. It works on a regular button but for now\n // we need to do this.\n const { chain } = Dsl.disposeWith(this);\n chain(this.pectinCommand.enabled).subscribe(enabled => {\n if (enabled) {\n this.elementRef.nativeElement.removeAttribute('disabled');\n if (this.elementRef.nativeElement.tagName === 'A') {\n this.elementRef.nativeElement.setAttribute('href', 'javascript:void');\n }\n } else {\n this.elementRef.nativeElement.setAttribute('disabled', 'disabled');\n if (this.elementRef.nativeElement.tagName === 'A') {\n this.elementRef.nativeElement.removeAttribute('href');\n }\n }\n });\n }\n\n ngOnDestroy(): void {\n this.dispose();\n }\n\n\n @HostListener('click', ['$event'])\n notifyClick($event: Event) {\n $event.preventDefault();\n $event.stopPropagation();\n if (this.pectinCommand.enabled.value) {\n if (this.pectinCommand instanceof UnaryCommand) {\n this.pectinCommand.withContext({ event: $event }).execute(this.commandParameter);\n } else {\n this.pectinCommand.withContext({ event: $event }).execute();\n }\n } else {\n console.warn('disabled command clicked, ignoring.');\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { AfterViewInit, Directive, ElementRef, HostListener, Inject, Input, NgZone, OnInit } from '@angular/core';\nimport { Dsl, HasFocusTracking, Logger } from '@coolon/pectin';\nimport { DisposableComponent } from '../components/disposable-component';\n\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[pectinFocusBinding]'\n})\nexport class FocusBindingDirective extends DisposableComponent implements OnInit, AfterViewInit {\n\n private readonly document: Document;\n\n @Input() pectinFocusBinding: HasFocusTracking;\n @Input() focusBindingTarget: HTMLElement;\n\n @HostListener('focusin')\n onFocusIn() {\n if (this.hasBinding()) {\n this.pectinFocusBinding.focusContext.notifyFocusIn();\n }\n }\n\n @HostListener('focusout')\n onFocusOut() {\n if (this.hasBinding()) {\n this.pectinFocusBinding.focusContext.notifyFocusOut();\n }\n }\n\n constructor(@Inject(ElementRef) private readonly el: ElementRef,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(DOCUMENT) document: any) {\n super();\n // @see https://stackoverflow.com/questions/49513359/could-not-resolve-type-document-in-angular5/53715642#53715642\n this.document = document as Document;\n }\n\n ngOnInit(): void {\n }\n\n ngAfterViewInit(): void {\n // TODO: Make this also track the current enabled/disabled state.\n if (this.hasBinding()) {\n const { chain } = Dsl.disposeWith(this);\n chain(this.pectinFocusBinding.focusContext.focused).subscribe((focused) => {\n if (focused && !this.alreadyHasFocus()) {\n this.tryAndFocus();\n }\n });\n } else {\n Logger.get(this).warn('pectinFocusBinding was nil');\n }\n }\n\n private hasBinding() {\n return !!this.pectinFocusBinding && !!this.pectinFocusBinding.focusContext;\n }\n\n// Hook method for debugging via tracing.\n alreadyHasFocus() {\n return this.isFocused(this.focusTarget);\n }\n\n // Hook method for debugging via tracing.\n isFocused(element: Element): boolean {\n return this.document.activeElement === element;\n }\n\n tryAndFocus(retries: number = 5) {\n if (this.modelShouldStillHaveFocus() && this.canFocus()) {\n if (!this.alreadyHasFocus()) {\n this.focusTarget.focus();\n }\n // if we didn't get the focus we try again later.\n if (!this.alreadyHasFocus()) {\n Logger.get(this).log(`focus failed, trying ${retries} more times`);\n if (retries > 0) {\n // try again on the next paint\n // TODO: is there an angular way of doing this without calling a window function.\n requestAnimationFrame(() => {\n this.tryAndFocus(retries - 1);\n });\n } else {\n Logger.get(this).warn(`Tried to focus but gave up as the component wasn't enabled or visible.`);\n }\n }\n }\n }\n\n get focusTarget(): HTMLElement {\n return this.focusBindingTarget || this.el.nativeElement;\n }\n\n // Hook method for debugging via tracing.\n modelShouldStillHaveFocus() {\n return this.hasBinding() && this.pectinFocusBinding.focusContext.focused.value;\n }\n\n // Hook method for debugging via tracing.\n canFocus(): boolean {\n const dimension = this.focusTarget.getBoundingClientRect();\n const hasSize = dimension.height >= 0 && dimension.height >= 0;\n // tslint:disable-next-line:no-string-literal\n return hasSize && !this.focusTarget['disabled'];\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Constructable } from '@coolon/pectin';\nimport { Activity } from './activity';\nimport { Alert } from './alert';\nimport { Confirm } from './confirm';\n\nexport const INTERACTION_CONTEXT = new InjectionToken<any>('InteractionContext');\n\nexport abstract class InteractionContext {\n\n abstract startActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data?: D): Promise<R>;\n\n abstract confirm(confirm: Confirm): Promise<boolean>;\n\n abstract alert(alert: Alert): Promise<void>;\n}\n","import { InjectionToken } from '@angular/core';\nimport { ValueModel } from '@coolon/pectin';\n\nexport const ACTIVITY_DATA = new InjectionToken<any>('InteractionActivityData');\n\nexport interface Activity<D, R, E = any> {\n readonly busy: ValueModel<boolean>;\n\n onDone(callback: Activity.CallBack<R>);\n\n onCancel(callback: Activity.CallBack<E>);\n\n}\n\nexport namespace Activity {\n export type CallBack<T> = (value: T) => void | Promise<any>;\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n Injector,\n Input,\n OnInit,\n ViewContainerRef\n} from '@angular/core';\nimport { Constructable, lang } from '@coolon/pectin';\nimport { Activity, ACTIVITY_DATA } from '../../activity';\nimport { Alert } from '../../alert';\nimport { Confirm } from '../../confirm';\nimport { InteractionContext } from '../../interaction-context';\nimport { ActivityOutletContext } from './activity-outlet-context';\n\n/**\n * ActivityOutletComponent creates and displays an activity and delegates the interaction context functionality to an\n * external service.\n *\n * It might be nice to have wrapper component that allows more declarative use, i.e.\n * <activity-view [activityClass]=\"...\", [activityData]=\"...\" (done)=\"..\" (cancel)=\"...\"></activity-view>\n */\n@Component({\n selector: 'angular-ui-powerups-activity-outlet',\n template: '',\n styleUrls: ['./activity-outlet.component.scss']\n})\nexport class ActivityOutletComponent<D, R, E> implements OnInit, InteractionContext {\n\n @Input()\n interactionContext: InteractionContext;\n\n @Input()\n set activityContext(activityContext: ActivityOutletContext<D, R, E>) {\n this.loadActivity(activityContext);\n };\n\n private activityComponentRef: ComponentRef<Activity<D, R, E>>;\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private viewContainerRef: ViewContainerRef,\n private injector: Injector\n ) {\n }\n\n ngOnInit() {\n }\n\n loadActivity(activityContext: ActivityOutletContext<D, R, E>) {\n const injector = Injector.create({\n providers: [\n {\n provide: InteractionContext,\n useValue: this\n },\n { provide: ACTIVITY_DATA, useValue: activityContext.activityData }\n ],\n parent: this.injector\n });\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(activityContext.activityClass);\n this.viewContainerRef.clear();\n this.activityComponentRef = this.viewContainerRef.createComponent(componentFactory, 0, injector);\n this.activityComponentRef.instance.onDone(activityContext.onDone);\n this.activityComponentRef.instance.onCancel(activityContext.onCancel);\n }\n\n alert(alert: Alert): Promise<void> {\n return this.interactionContext.alert(alert);\n }\n\n confirm(confirm: Confirm): Promise<boolean> {\n return this.interactionContext.confirm(confirm);\n }\n\n startActivity<D1, R1, E1>(activityType: Constructable<Activity<D1, R1, E1>>, data?: D1): Promise<R1> {\n return this.interactionContext.startActivity(activityType, data);\n }\n\n notifyReady() {\n if (this.activityComponentRef.instance['onActivityReady']) {\n this.activityComponentRef.instance['onActivityReady']();\n }\n }\n}\n\nexport namespace ActivityOutletComponent {\n\n export class OutletInteractionContext<D, R, E> implements InteractionContext {\n\n constructor(private readonly context: ActivityOutletContext<D, R, E>) {\n }\n\n alert(alert: Alert): Promise<void> {\n return lang.notImplemented();\n }\n\n confirm(confirm: Confirm): Promise<boolean> {\n return lang.notImplemented();\n }\n\n startActivity<D1, R1, E1>(activityType: Constructable<Activity<D1, R1, E1>>, data?: D1): Promise<R1> {\n return lang.notImplemented();\n }\n }\n\n}\n","import { DelegatingValueModel, EventListenerList, Trace, ValueModel } from '@coolon/pectin';\nimport { DisposableComponent } from '../components/disposable-component';\nimport { Activity } from './activity';\n\nexport class AbstractActivity<D, R, E = any> extends DisposableComponent implements Activity<D, R, E> {\n\n private readonly _doneListeners = new EventListenerList<Activity.CallBack<R>>();\n private readonly _cancelListeners = new EventListenerList<Activity.CallBack<E>>();\n private readonly _finishListeners = new EventListenerList<() => void>();\n\n private readonly _busyModel = new DelegatingValueModel<boolean>().withDefault(false);\n\n onDone(callback: Activity.CallBack<R>) {\n this._doneListeners.add(callback);\n }\n\n onCancel(callback: Activity.CallBack<E>) {\n this._cancelListeners.add(callback);\n }\n\n done(result?: R): Promise<any> {\n return this._doneListeners\n .fireAndWait(l => l(result))\n .finally(() => this.finalizeAndDispose());\n }\n\n cancel(error?: E): Promise<any> {\n return this._cancelListeners\n .fireAndWait(l => l(error))\n .finally(() => this.finalizeAndDispose());\n }\n\n // @Trace()\n onActivityReady() {\n }\n\n private finalizeAndDispose() {\n // this._activeModel.value = false;\n this._finishListeners.fire(l => l());\n // this._interactionContext = null;\n // this._initialized = false;\n [\n this._finishListeners,\n this._doneListeners,\n this._cancelListeners\n ].forEach(l => l.dispose());\n }\n\n\n get busy(): ValueModel<boolean> {\n return this._busyModel.readonly;\n }\n\n busyWhile(busyModel: ValueModel<boolean>) {\n this._busyModel.setDelegate(busyModel);\n }\n\n isBusy() {\n return this._busyModel.value;\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { AbstractActivity } from '../../abstract-activity';\nimport { ACTIVITY_DATA } from '../../activity';\nimport { Alert } from '../../alert';\n\n@Component({\n selector: 'angular-ui-powerups-alert-dialog',\n templateUrl: './alert-dialog.component.html',\n styleUrls: ['./alert-dialog.component.scss']\n})\nexport class AlertDialogComponent extends AbstractActivity<Alert, void> implements OnInit {\n\n constructor(@Inject(ACTIVITY_DATA) readonly alert: Alert) {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { assert } from '@coolon/pectin';\nimport { AbstractActivity } from '../../abstract-activity';\nimport { ACTIVITY_DATA } from '../../activity';\nimport { Confirm } from '../../confirm';\n\n@Component({\n selector: 'angular-ui-powerups-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: ['./confirmation-dialog.component.scss']\n})\nexport class ConfirmationDialogComponent extends AbstractActivity<Confirm, boolean> implements OnInit {\n\n constructor(@Inject(ACTIVITY_DATA) readonly confirm: Confirm) {\n super();\n assert.notNil(confirm);\n }\n\n ngOnInit() {\n }\n\n isDestructive(): boolean {\n return this.confirm.destructive && this.confirm.destructive();\n }\n}\n","import { AfterViewInit, Component, Input, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';\nimport { MatTabGroup } from '@angular/material';\nimport { Constructable, Dsl, MutableListModel, ValueModelChain } from '@coolon/pectin';\nimport { Deferred } from '@coolon/pectin/lib/promise/deferred.class';\nimport { DisposableComponent } from '../../../components/disposable-component';\n\nimport { Activity } from '../../activity';\nimport { Alert } from '../../alert';\nimport { Confirm } from '../../confirm';\nimport { InteractionContext } from '../../interaction-context';\nimport { ActivityOutletContext } from '../activity-outlet/activity-outlet-context';\nimport { ActivityOutletComponent } from '../activity-outlet/activity-outlet.component';\nimport { AlertDialogComponent } from '../alert-dialog/alert-dialog.component';\nimport { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';\n\n@Component({\n selector: 'angular-ui-powerups-activity-container',\n templateUrl: './activity-container.component.html',\n styleUrls: ['./activity-container.component.scss']\n})\nexport class ActivityContainerComponent extends DisposableComponent implements OnInit, AfterViewInit, InteractionContext {\n\n @Input()\n parentInteractionContext: InteractionContext;\n\n @Input()\n initialActivityOutlet: ActivityOutletContext<any, any, any>;\n\n @ViewChild('tabs', { static: true })\n tabs: MatTabGroup;\n\n @ViewChildren(ActivityOutletComponent)\n outlets: QueryList<ActivityOutletComponent<any, any, any>>;\n\n readonly activityOutletTabs = new MutableListModel<ActivityOutletContext<any, any, any>>();\n private obsoleteTabs: ActivityOutletContext<any, any, any>[] = [];\n private lastActivityTab: ValueModelChain<ActivityOutletContext<any, any, any>>;\n\n constructor() {\n super();\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n this.lastActivityTab = chain(this.activityOutletTabs).last().otherwise(this.initialActivityOutlet);\n }\n\n ngOnInit() {\n }\n\n ngAfterViewInit(): void {\n const { observe } = Dsl.disposeWith(this);\n observe.valuesFrom(this.tabs.animationDone).subscribe(() => this.onAnimationFinished());\n }\n\n initialise<D, R, E>(options: ActivityContainerComponent.ActivityContext<D, R, E>) {\n this.initialActivityOutlet = {\n ...options,\n interactionContext: this\n };\n }\n\n startActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data?: D): Promise<R> {\n const deferred = Deferred.defer<R>();\n const context = {\n interactionContext: this,\n activityClass: activityType,\n activityData: data,\n onDone: deferred.resolve,\n onCancel: deferred.reject\n };\n this.activityOutletTabs.push(context);\n this.tabs.selectedIndex = this.activityOutletTabs.length;\n return deferred.promise.finally(() => {\n this.obsoleteTabs.push(context);\n this.tabs.selectedIndex = this.activityOutletTabs.length - 1;\n });\n }\n\n alert(alert: Alert): Promise<void> {\n return this.startActivity(AlertDialogComponent, alert);\n }\n\n confirm(confirm: Confirm): Promise<boolean> {\n return this.startActivity(ConfirmationDialogComponent, confirm);\n }\n\n private onAnimationFinished() {\n this.activityOutletTabs.value = this.activityOutletTabs.value.filter(tab => {\n return !this.obsoleteTabs.includes(tab);\n });\n this.outlets.toArray()[this.tabs.selectedIndex].notifyReady();\n }\n}\n\nexport namespace ActivityContainerComponent {\n\n export interface ActivityContext<D, R, E> {\n activityClass: Constructable<Activity<D, R, E>>,\n activityData: D,\n onDone: (result: R) => void,\n onCancel: (error: E) => void,\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material';\nimport { Constructable } from '@coolon/pectin';\nimport { assert } from '@coolon/typescript-utilities';\nimport { Activity } from '../activity';\nimport { Alert } from '../alert';\nimport { ActivityContainerComponent } from '../components/activity-container/activity-container.component';\nimport { AlertDialogComponent } from '../components/alert-dialog/alert-dialog.component';\nimport { ConfirmationDialogComponent } from '../components/confirmation-dialog/confirmation-dialog.component';\nimport { Confirm } from '../confirm';\nimport { InteractionContext } from '../interaction-context';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DialogInteractionService extends InteractionContext {\n\n constructor(private readonly dialogService: MatDialog) {\n super();\n assert.notNil(dialogService);\n }\n\n startActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data?: D): Promise<R> {\n return this._startActivity(activityType, data);\n }\n\n private _startActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data: D, disableClose: boolean = true) {\n const config = {\n data,\n disableClose,\n panelClass: 'dialog-interaction-service',\n autoFocus: false\n };\n const matDialogRef = this.dialogService.open(ActivityContainerComponent, config) as MatDialogRef<ActivityContainerComponent>;\n return new Promise<R>((resolve, reject) => {\n const activityContainer = matDialogRef.componentInstance;\n activityContainer.parentInteractionContext = this;\n activityContainer.initialise({\n activityClass: activityType,\n activityData: data,\n onDone(result) {\n resolve(result);\n matDialogRef.close(result);\n },\n onCancel(error) {\n reject(error);\n matDialogRef.close(error);\n }\n });\n\n matDialogRef.updateSize();\n });\n }\n\n alert(alert: Alert): Promise<void> {\n return this._startActivity(AlertDialogComponent, alert, false);\n }\n\n confirm(confirm: Confirm): Promise<boolean> {\n return this._startActivity(ConfirmationDialogComponent, confirm, true);\n }\n\n}\n","import { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule, MatDialogModule, MatTabsModule } from '@angular/material';\nimport { ActivityContainerComponent } from './components/activity-container/activity-container.component';\nimport { ActivityOutletComponent } from './components/activity-outlet/activity-outlet.component';\nimport { AlertDialogComponent } from './components/alert-dialog/alert-dialog.component';\nimport { ConfirmationDialogComponent } from './components/confirmation-dialog/confirmation-dialog.component';\nimport { DialogInteractionService } from './services/dialog-interaction.service';\n\n@NgModule({\n imports: [\n CommonModule,\n MatButtonModule,\n MatDialogModule,\n MatTabsModule,\n PortalModule\n ],\n declarations: [\n ActivityContainerComponent,\n ConfirmationDialogComponent,\n AlertDialogComponent,\n ActivityOutletComponent\n ],\n exports: [\n ActivityContainerComponent,\n ActivityOutletComponent\n ],\n entryComponents: [\n ActivityContainerComponent,\n ConfirmationDialogComponent,\n AlertDialogComponent\n ],\n providers: [\n DialogInteractionService\n ]\n})\nexport class InteractionModule {\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { StoreInValueModel, UseDelegate, ValueModel } from '@coolon/pectin';\n\n@Component({\n selector: 'angular-ui-powerups-busy-overlay',\n templateUrl: `./busy-overlay.component.html`,\n styleUrls: ['./busy-overlay.component.scss']\n})\nexport class BusyOverlayComponent implements OnInit {\n\n @Input() @UseDelegate()\n busyModel: ValueModel<boolean>;\n\n @Input() @StoreInValueModel('busyModel')\n busy: boolean;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'angular-ui-powerups-empty-state',\n template: `\n <div class=\"container\">\n <ng-content></ng-content>\n </div>\n `,\n styleUrls: ['./empty-state.component.scss']\n})\nexport class EmptyStateComponent implements OnInit {\n\n constructor() {\n }\n\n ngOnInit() {\n }\n}\n","import { Constructable } from '@coolon/pectin';\nimport _ from 'lodash';\nimport { PlaceComponent } from './place-component';\nimport { ParameterDefinition } from './route/parameter-definition.class';\n\nexport class PlaceDefinition {\n\n constructor(readonly component:Constructable<PlaceComponent>,\n readonly path: string,\n readonly authenticate: boolean,\n readonly order: number,\n readonly data: { [key: string]: any },\n readonly routeParameters: ParameterDefinition<any>[],\n readonly children: PlaceDefinition[]) {\n }\n\n getRouteParameters(): ParameterDefinition<any>[] {\n return this.routeParameters;\n }\n\n getData<T>(key: string, defaultValue?: T): T {\n return this.data ?\n _.isNil(this.data[key]) ? defaultValue : this.data[key] :\n defaultValue;\n }\n\n searchData<T>(keys: string[], defaultValue?: T): T {\n if (this.data) {\n const found = keys.find(key => !_.isNil(this.data[key]));\n return found ? this.data[found] : defaultValue;\n } else {\n return defaultValue;\n }\n }\n}\n","import { assert, Binding, Constructable, IMutableHasValue, lang, ValueModel } from '@coolon/pectin';\nimport { Klass } from '@coolon/typescript-utilities';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator';\nimport 'reflect-metadata';\nimport { DisposableComponent } from '../components/disposable-component';\nimport { PlaceDefinition } from './place-definition';\nimport { ParameterDefinition } from './route/parameter-definition.class';\nimport { ParameterSnapshot } from './route/parameter-snapshot';\n\n// RAKE: making this Symbol(...) broke things.\nexport const DEFINITION_META_DATA_KEY = 'PLACE_DEFINITION_OPTIONS';\n// this one seems ok.\nexport const ROUTE_PARAMETER_LIST_KEY = Symbol('place:route:parameters');\n\nexport class PlaceComponent extends DisposableComponent {\n\n private resolvedParameters: ValueModel<ParameterSnapshot>;\n\n constructor() {\n super();\n }\n\n public initialiseBindings(resolvedParameters: ValueModel<ParameterSnapshot>) {\n assert.isNil(this.resolvedParameters);\n this.resolvedParameters = resolvedParameters;\n this.placeDefinition.getRouteParameters().forEach(parameterDef => {\n this.installBinding(parameterDef);\n });\n }\n\n private installBinding<T, S>(parameterDef: ParameterDefinition<T, S>) {\n const model = this[parameterDef.propertyName] as IMutableHasValue<S>;\n // this.txo.observe(parameterDef.propertyName, model);\n this.registerDisposable(new Binding(this.resolvedParameters, model, {\n toRight(parameters: ParameterSnapshot): S {\n return parameters.getValueOf(parameterDef);\n },\n toLeft(value: S, currentParameters?: ParameterSnapshot): ParameterSnapshot {\n return currentParameters.replace(parameterDef, value);\n }\n }));\n }\n\n @Memoize()\n get placeDefinition(): PlaceDefinition {\n return PlaceComponent.getDefinition(this.constructor as any as Constructable<PlaceComponent>);\n }\n\n get childPlaces(): Constructable<PlaceComponent>[] {\n return this.placeDefinition.children.map(d => d.component);\n }\n\n canDeactivate(): boolean | Promise<boolean> {\n return true;\n }\n\n onPlaceReady() {\n }\n\n}\n\nexport namespace PlaceComponent {\n\n export function isPlaceComponentConstructor(target: any): target is Constructable<PlaceComponent> {\n return lang.constructorChain(target as Constructable<any>).includes(PlaceComponent);\n }\n\n export function getRouteParameters(klass: Constructable<PlaceComponent>): ParameterDefinition<any>[] {\n return Klass.get(klass).getMetadataList(ROUTE_PARAMETER_LIST_KEY);\n }\n\n export function getDefinition(klass: Constructable<PlaceComponent>): PlaceDefinition {\n return Reflect.getMetadata(DEFINITION_META_DATA_KEY, klass);\n }\n\n export function injectDefinition(klass: Constructable<PlaceComponent>, definition: PlaceDefinition) {\n Reflect.defineMetadata(DEFINITION_META_DATA_KEY, definition, klass);\n }\n\n}\n","import { Input, OnInit } from '@angular/core';\nimport { Constructable, Dsl, ListModel, ListModelChain, StoreInListModel, UseDelegate } from '@coolon/pectin';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\nimport { DisposableComponent } from '../../components/disposable-component';\nimport { NavItem } from '../nav-item';\nimport { PlaceComponent } from '../place-component';\nimport { PlaceDefinition } from '../place-definition';\n\nexport class AbstractPlaceNavigationComponent extends DisposableComponent implements OnInit {\n\n @Input() @StoreInListModel('placesModel')\n places: Constructable<PlaceComponent>[];\n\n @Input() @UseDelegate()\n placesModel: ListModel<Constructable<PlaceComponent>>;\n\n readonly placeDefinitions: ListModelChain<PlaceDefinition>;\n\n constructor() {\n super();\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n this.placeDefinitions = chain(this.placesModel).map(c => PlaceComponent.getDefinition(c));\n }\n\n @Memoize()\n getNav(placeDef: PlaceDefinition): NavItem {\n const navItem = placeDef.getData('nav') as NavItem;\n return {\n title: () => navItem ? navItem.title() : placeDef.searchData(['navTitle', 'title']),\n tooltip: () => navItem && navItem.tooltip ? navItem.tooltip() : placeDef.getData('navTooltip', null),\n icon: () => navItem && navItem.icon ? navItem.icon() : placeDef.getData('navIcon', null)\n };\n }\n\n ngOnInit() {\n }\n\n}\n","import { Component, HostBinding } from '@angular/core';\nimport { AbstractPlaceNavigationComponent } from '../abstract-place-navigation.component';\n\n@Component({\n selector: 'angular-ui-powerups-list-place-nav',\n templateUrl: './list-place-nav.component.html',\n styleUrls: ['./list-place-nav.component.scss']\n})\nexport class ListPlaceNavComponent extends AbstractPlaceNavigationComponent {\n\n @HostBinding('class.expanded')\n public expanded = true;\n\n constructor() {\n super();\n }\n\n expandMenu() {\n this.expanded = true;\n }\n\n collapseMenu() {\n this.expanded = false;\n }\n\n toggleMenu() {\n this.expanded = !this.expanded;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport _ from 'lodash';\nimport { PlaceDefinition } from './place-definition';\nimport { ParameterSnapshot } from './route/parameter-snapshot';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PlaceHistory {\n\n private _history = new Map<PlaceDefinition, ParameterSnapshot[]>();\n\n constructor(private readonly router: Router) {\n }\n\n add(state: ParameterSnapshot) {\n const history = this.getHistory(state.placeDefinition);\n const previousState = _.last(history);\n if (!previousState || state.hasChanged(previousState)) {\n history.unshift(state); // LIFO\n this.setHistory(state.placeDefinition, history.slice(0, 3)); // limit our history to 4 visits\n }\n }\n\n getHistory(placeDef: PlaceDefinition): ParameterSnapshot[] {\n let history = this._history.get(placeDef);\n if (!history) {\n history = [];\n this.setHistory(placeDef, history);\n }\n return history;\n }\n\n private setHistory(placeDef: PlaceDefinition, history: ParameterSnapshot[]) {\n this._history.set(placeDef, history);\n }\n\n// previousVisit(): Visit {\n // return _.last(this._history);\n // }\n //\n // withPreviousVisit<R>(callback:(previousVisit:Visit)=>R, defaultValue:R = null):R{\n // const visit = this.previousVisit();\n // return visit ? callback(visit) : defaultValue;\n // }\n //\n // previousVisitTo(place: Place): Visit {\n // return new VisitHistory.Query(this._history).to(place).last();\n // }\n}\n\nexport namespace VisitHistory {\n\n // export class Query {\n // private _history: Visit.State[];\n // private _places: Place[];\n // private _predicate: (visit: any) => boolean;\n // private _limit: number;\n //\n // constructor(history, limit = history.length) {\n // this._history = history;\n // this._places = [];\n // this._predicate = (visit => true);\n // this._limit = limit;\n // }\n //\n // to(...places:Place[]):this {\n // this._places = places;\n // return this;\n // }\n //\n // with(parameters: { [parameter: string]: any }): this {\n // this.matching(state => {\n // return Object.keys(parameters).reduce((acc, key) => {\n // const matchValue = parameters[key];\n // const visitValue = state.get(key);\n // const matched = matchValue === '*' ? !_.isNil(visitValue) : visitValue == matchValue;\n // // Logger.get(this).info(`matched=${matched}`, parameters, visitValue);\n // return acc && matched;\n // }, true);\n // });\n // return this;\n // }\n //\n // last(): Visit.State {\n // return _.findLast(this._history, visit => this._matches(visit))\n // }\n //\n // // @trace\n // allThatMatch(): Visit.State[] {\n // return _.filter(this._history, visit => this._matches(visit)).slice(-this._limit);\n // }\n //\n // // @trace\n // mostRecentValueOf<T=any>(param: string, defaultValue: T = null): T {\n // const lastStateWithParam = _.findLast(this.allThatMatch(), state => !_.isNil(state.get(param)));\n // return _.isNil(lastStateWithParam) ? defaultValue : lastStateWithParam.get(param);\n // }\n //\n // limit(limit: number): this {\n // this._limit = limit;\n // return this;\n // }\n //\n // matching(predicate: (visit: Visit.State) => boolean): this {\n // this._predicate = predicate;\n // return this;\n // }\n //\n // _matches(visit: Visit.State) {\n // return this._isPlaceMatch(visit) && this._predicate(visit);\n // }\n //\n // _isPlaceMatch(visit: Visit.State) {\n // return this._places.length < 1 || this._places.includes(visit.place)\n // }\n //\n // }\n\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute, ActivatedRouteSnapshot, Router, UrlTree } from '@angular/router';\nimport { Trace } from '@coolon/pectin';\nimport _ from 'lodash';\nimport { ParameterSnapshot } from './route/parameter-snapshot';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PlaceRouter {\n constructor(private readonly router: Router) {\n }\n\n pushParameterChangesToRoute(activatedRoute: ActivatedRoute, previous: ParameterSnapshot, next: ParameterSnapshot) {\n const relativePath = !!previous.hasRouteId() ? '..' : '.';\n this.router.navigate([relativePath].concat(this.createRouteParameters(next), this.getChildPath(activatedRoute.snapshot)), {\n relativeTo: activatedRoute\n });\n }\n\n // @Trace()\n getRedirectUrlTree(activatedRoute: ActivatedRouteSnapshot, sanitised: ParameterSnapshot): UrlTree {\n const urlSegments = activatedRoute.url;\n const weHaveARouteId = sanitised.hasRouteId() && sanitised.getFormattedRouteId();\n const commands = (weHaveARouteId) ?\n [urlSegments[0].path, sanitised.getFormattedRouteId(), sanitised.getFormattedParameters()] :\n [urlSegments[0].path, sanitised.getFormattedParameters()];\n console.log(\"redirect path\", commands);\n return this.router.createUrlTree(commands);\n }\n\n protected getChildPath(activatedRoute: ActivatedRouteSnapshot): any[] {\n return _.flatten(activatedRoute.children.map(child => child.url));\n }\n\n protected createRouteParameters(parameters: ParameterSnapshot): any[] {\n const routeId = parameters.getFormattedRouteId();\n return routeId ?\n [routeId, parameters.getFormattedParameters()] :\n [parameters.getFormattedParameters()];\n }\n\n}\n","import { Injector } from '@angular/core';\nimport { ParamMap } from '@angular/router';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\nimport _ from 'lodash';\nimport { Visit } from '../visit';\nimport { ParameterDefinition } from './parameter-definition.class';\n\nexport abstract class RouteParameterValue<S, T, R extends string | string[]> {\n constructor(readonly definition: ParameterDefinition<T, S>, protected readonly rawValue: R) {\n }\n\n abstract readonly value: S;\n\n isRouteId(): boolean {\n return this.definition.isRouteId;\n }\n\n hasChanged(otherValue: S): boolean {\n return this.isEmpty() ?\n !this.isEmptyValue(otherValue) :\n this.isEmptyValue(otherValue) || !this.isSameValue(otherValue);\n }\n\n /**\n * Return's true if the current value is empty.\n */\n isEmpty(): boolean {\n return this.isEmptyValue(this.value);\n }\n\n /**\n * Returns true if the rawValue is undefined. This\n */\n isMissing(): boolean {\n return _.isUndefined(this.rawValue);\n }\n\n abstract isSameValue(otherValue: S): boolean;\n\n abstract formattedValue(): string | string[];\n\n abstract replace(value: S): RouteParameterValue<S, T, any>;\n\n abstract isEmptyValue(value: S): boolean;\n\n async sanitise(visit: Visit, injector: Injector): Promise<S> {\n const sanitiser = this.definition.getSanitiser(injector);\n if (sanitiser) {\n return sanitiser.sanitise(this, visit);\n } else {\n return this.value;\n }\n }\n}\n\n\nexport namespace RouteParameterValue {\n\n export function create<T>(def: ParameterDefinition<T, any>, paramMap: ParamMap): RouteParameterValue<any, any, any> {\n // NOTE: Using undefined is important as it triggers the isMissing flag which is used by defaultValue and remember flags\n return def.isArray ?\n new RouteParameterValue.Array<T>(def, paramMap.has(def.name) ? paramMap.getAll(def.name) : undefined) :\n new RouteParameterValue.Scalar<T>(def, paramMap.has(def.name) ? paramMap.get(def.name) : undefined);\n }\n\n export class Scalar<T> extends RouteParameterValue<T, T, string> {\n\n @Memoize()\n get value(): T {\n return this.definition.type.parse(this.rawValue);\n }\n\n isSameValue(otherValue: T): boolean {\n return this.value === otherValue;\n }\n\n replace(value: T): RouteParameterValue<T, T, string> {\n return new RouteParameterValue.Scalar<T>(this.definition, this.isEmptyValue(value) ? undefined : this.definition.type.format(value));\n }\n\n formattedValue(): string {\n return this.isEmpty() ? undefined : this.definition.type.format(this.value);\n }\n\n isEmptyValue(value: T): boolean {\n return _.isNil(value);\n }\n }\n\n export class Array<T> extends RouteParameterValue<T[], T, string[]> {\n\n @Memoize()\n get value(): T[] {\n return (this.rawValue || [])\n .filter(s => !_.isEmpty(s))\n .map(raw => this.definition.type.parse(raw));\n }\n\n isSameValue(otherValue: T[]): boolean {\n return _.isEqual(this.value, otherValue);\n }\n\n replace(value: T[]): RouteParameterValue<T[], T, string[]> {\n return new RouteParameterValue.Array<T>(this.definition, this.isEmptyValue(value) ? undefined : value.map(v => this.definition.type.format(v)));\n }\n\n formattedValue(): string[] {\n return this.isEmpty() ? [] : this.value.map(v => this.definition.type.format(v));\n }\n\n isEmptyValue(value: T[]): boolean {\n return _.isNil(value) || value.length < 1;\n }\n\n }\n}\n","import { Injector } from '@angular/core';\nimport { Trace } from '@coolon/pectin';\nimport { Opts } from '@coolon/typescript-utilities';\nimport _ from 'lodash';\nimport { PlaceHistory } from '../place-history';\nimport { Visit } from '../visit';\nimport { ParameterSanitiser } from './parameter-sanitiser';\nimport { ParameterType } from './parameter-type';\nimport { RouteParameterValue } from './route-parameter-value';\n\n\nexport abstract class ParameterDefinition<T, S = T> {\n abstract readonly isRouteId: boolean;\n abstract readonly isArray: boolean;\n\n readonly name: string;\n private remember: boolean;\n private defaultValue: S;\n\n constructor(readonly propertyName: string, readonly type: ParameterType<T>, options: ParameterDefinition.Options<S>) {\n const opts = Opts.get(options);\n this.name = opts.getOptional('as', propertyName);\n this.remember = opts.getOptional('remember', false);\n this.defaultValue = opts.getOptional('defaultValue', null);\n }\n\n getSanitiser(injector: Injector): ParameterSanitiser<S> {\n if (this.remember || !_.isNil(this.defaultValue)) {\n return new ParameterDefinition.DefaultParameterSanitiser(this.remember, this.defaultValue, injector.get(PlaceHistory));\n } else {\n return null;\n }\n }\n}\n\nexport namespace ParameterDefinition {\n\n export interface Options<T> {\n as?: string;\n optional?: boolean;\n remember?: boolean;\n defaultValue?: T;\n // sanitiser?: Constructable<ParameterSanitiser<T>> | ParameterSanitiser.Options<T>;\n }\n\n export class RouteId<T> extends ParameterDefinition<T> {\n readonly isRouteId = true;\n readonly isArray = false;\n }\n\n export class ValueParameter<T> extends ParameterDefinition<T> {\n readonly isRouteId = false;\n readonly isArray = false;\n }\n\n export class ArrayParameter<T> extends ParameterDefinition<T, T[]> {\n readonly isRouteId = false;\n readonly isArray = true;\n }\n\n\n export class DefaultParameterSanitiser<T, S> implements ParameterSanitiser<S> {\n\n constructor(readonly remember: boolean, readonly defaultValue: S, readonly placeHistory: PlaceHistory) {\n }\n\n @Trace()\n sanitise(parameter: RouteParameterValue<S, any, any>, visit?: Visit): Promise<S> | S {\n let value = parameter.value;\n if (parameter.isMissing()) {\n const previousVisit = _.first(this.placeHistory.getHistory(visit.placeDefinition));\n if (this.remember && previousVisit) {\n value = previousVisit.getValueOf(parameter.definition);\n }\n const s = parameter.isEmptyValue(value) ? this.defaultValue : value;\n console.log(`missing -> ${parameter.definition.name}, returning ${s}`);\n return s;\n } else {\n console.log(`not missing -> ${parameter.definition.name}`);\n return value;\n }\n }\n }\n\n}\n","import { Injector } from '@angular/core';\nimport { ParamMap, UrlSegment } from '@angular/router';\nimport { Trace } from '@coolon/pectin';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\nimport { PlaceDefinition } from '../place-definition';\nimport { Visit } from '../visit';\nimport { ParameterDefinition } from './parameter-definition.class';\nimport { RouteParameterValue } from './route-parameter-value';\n\nexport class ParameterSnapshot implements Visit {\n\n constructor(readonly placeDefinition: PlaceDefinition, private readonly parameters: RouteParameterValue<any, any, any>[]) {\n }\n\n hasChanged(other: ParameterSnapshot, debug = false): boolean {\n const changed = this.parameters.find((r) => {\n return r.hasChanged(other.getValueOf(r.definition));\n });\n if (changed && debug) {\n console.log({\n name: changed.definition.name,\n mine: changed.value,\n theirs: other.getValueOf(changed.definition)\n });\n }\n return !!changed;\n }\n\n @Memoize()\n getParameter<T, S>(parameterDef: ParameterDefinition<T, S>): RouteParameterValue<S, T, any> {\n return this.parameters.find(r => r.definition === parameterDef);\n }\n\n @Memoize()\n getValueOf<T, S>(parameterDef: ParameterDefinition<T, S>): S {\n const resolvedParameter = this.getParameter(parameterDef);\n return resolvedParameter ? resolvedParameter.value : null;\n }\n\n getRouteIdValue(): any {\n return this.getRouteIdParameter() ? this.getRouteIdParameter().value : null;\n }\n\n @Memoize()\n getParameterValue(name: string): any {\n const resolvedParameter = this.parameters.find(r => r.definition.name === name);\n return resolvedParameter ? resolvedParameter.value : null;\n }\n\n @Memoize()\n private getRouteIdParameter(): RouteParameterValue.Scalar<any> {\n // RouteId's are never arrays: see parameter-decorators.ts createDefinition methods. It would be nice to\n // capture this in the type system though\n return this.parameters.find(p => p.definition.isRouteId) as RouteParameterValue.Scalar<any>;\n }\n\n @Memoize()\n private getRouteParameters(): RouteParameterValue<any, any, any>[] {\n return this.parameters.filter(r => !r.definition.isRouteId);\n }\n\n hasRouteId() {\n return !!this.getRouteIdParameter();\n }\n\n getFormattedRouteId(): string {\n const routeIdParam = this.getRouteIdParameter();\n return routeIdParam ? routeIdParam.formattedValue() : null;\n }\n\n getNonEmptyParameters() {\n return this.parameters.filter(p => !p.isEmpty());\n }\n\n @Trace()\n getFormattedParameters() {\n const params = {};\n const routeIdParam = this.getNonEmptyParameters()\n .filter(p => !p.definition.isRouteId)\n .forEach(p => params[p.definition.name] = p.formattedValue());\n return params;\n }\n\n getAllParameters() {\n const params = {};\n const routeIdParam = this.parameters.forEach(p => {\n params[p.definition.name] = p.value;\n });\n return params;\n }\n\n replace<T, S>(parameter: ParameterDefinition<T, S>, value: S): ParameterSnapshot {\n return new ParameterSnapshot(this.placeDefinition, this.parameters.map(p => {\n return p.definition === parameter ? p.replace(value) : p;\n }));\n }\n\n async sanitise(injector: Injector): Promise<ParameterSnapshot> {\n if (this.hasRouteId()) {\n const routeId = this.getRouteIdParameter();\n const sanitisedValue = await routeId.sanitise(this, injector);\n if (routeId.hasChanged(sanitisedValue)) {\n // if the route id has changed we redirect immediately as other\n // parameter sanitisers might use it.\n return this.replace(routeId.definition, sanitisedValue);\n }\n }\n let result: ParameterSnapshot = this;\n const routeParameters = this.getRouteParameters();\n for (let i = 0; i < routeParameters.length; i++) {\n const routeParameter = routeParameters[i];\n const sanitisedValue = await routeParameter.sanitise(this, injector);\n if (routeParameter.hasChanged(sanitisedValue)) {\n result = result.replace(routeParameter.definition, sanitisedValue);\n }\n }\n return result;\n }\n\n}\n\nexport namespace ParameterSnapshot {\n\n export function create(placeDef: PlaceDefinition, params: ParamMap, urlSegments: UrlSegment[]): ParameterSnapshot {\n const paramMap = new ConsolidatedParameterMap(params, urlSegments);\n const resolvedParameters = placeDef.getRouteParameters().map(def => RouteParameterValue.create(def, paramMap));\n return new ParameterSnapshot(placeDef, resolvedParameters);\n }\n\n /**\n * This a work around for the fact that an activated route with multiple segments doesn't\n * include the segment params in the paramMap as well as each segment returns an empty\n * param map even when `parameter`s has content.\n */\n class ConsolidatedParameterMap implements ParamMap {\n\n private paramMaps: ParamMap[];\n\n constructor(paramMap: ParamMap, urlSegments: UrlSegment[]) {\n this.paramMaps = [paramMap].concat(\n (urlSegments || []).map(s => new ParamMapAdapter(s.parameters))\n ).filter(m => !!m); // the activated route param map can be null\n }\n\n get(name: string): string | null {\n return this.paramMaps.find(m => m.has(name)).get(name);\n }\n\n getAll(name: string): string[] {\n return this.paramMaps.find(m => m.has(name)).getAll(name);\n }\n\n has(name: string): boolean {\n return !!this.paramMaps.find(m => m.has(name));\n }\n\n @Memoize()\n get keys(): string[] {\n return this.paramMaps.reduce((result, params) => result.concat(params.keys), []);\n }\n }\n\n class ParamMapAdapter implements ParamMap {\n constructor(private readonly params: { [p: string]: string }) {\n }\n\n get(name: string): string | null {\n return this.params[name];\n }\n\n getAll(name: string): string[] {\n const value = this.get(name);\n return Array.isArray(value) ? value : [value];\n }\n\n has(name: string): boolean {\n return this.keys.includes(name);\n }\n\n get keys(): string[] {\n return Object.keys(this.params);\n }\n\n }\n\n\n}\n","import { animate, group, query, style, transition, trigger } from '@angular/animations';\n\n// Freezes the state of the components at the start of the animation.\nconst animationStartStyle = style({ position: 'absolute', top: '0', left: '0', bottom: '0', right: '0' });\n\nconst left = [\n query(':enter, :leave', animationStartStyle, { optional: true }),\n group([\n query(':enter', [\n style({ transform: 'translateX(-100%)' }),\n animate('{{duration}} ease-out', style({ transform: 'translateX(0%)' }))\n ], {\n optional: true\n }),\n query(':leave', [\n style({ transform: 'translateX(0%)' }),\n animate('{{duration}} ease-out', style({ transform: 'translateX(100%)' }))\n ], {\n optional: true\n })\n ])\n];\n\nconst right = [\n query(':enter, :leave', animationStartStyle, { optional: true }),\n group([\n query(':enter', [\n style({ transform: 'translateX(100%)' }),\n animate('{{duration}} ease-out', style({ transform: 'translateX(0%)' }))\n ], {\n optional: true\n }),\n query(':leave', [style({ transform: 'translateX(0%)' }), animate('{{duration}} ease-out', style({ transform: 'translateX(-100%)' }))], {\n optional: true\n })\n ])\n];\n\nexport function leftRightPlaceAnimation(duration: string) {\n return trigger('routeAnimations', [\n transition(':increment', right, { params: { duration: duration } }),\n transition(':decrement', left, { params: { duration: duration } })\n ]);\n}\n\nexport const LEFT_RIGHT_PLACE_ANIMATION = leftRightPlaceAnimation('0.3s');\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { ActivatedRoute, RouterOutlet } from '@angular/router';\nimport { BooleanValueModelChain, Dsl, Guard, MutableValueModel, ValueModel } from '@coolon/pectin';\nimport { DisposableComponent } from '../../../components/disposable-component';\nimport { PlaceComponent } from '../../place-component';\nimport { PlaceDefinition } from '../../place-definition';\nimport { PlaceHistory } from '../../place-history';\nimport { PlaceRouter } from '../../place-router';\n\nimport { ParameterSnapshot } from '../../route/parameter-snapshot';\nimport { LEFT_RIGHT_PLACE_ANIMATION } from './route-animations';\n\n// Quick hack to avoid circular references between this and PlaceComponents.\ninterface PlaceRef {\n readonly placeDefinition: PlaceDefinition\n\n initialiseBindings(param: ValueModel<ParameterSnapshot>): void;\n\n onPlaceReady(): void;\n}\n\n@Component({\n selector: 'angular-ui-powerups-place-outlet',\n templateUrl: './place-outlet.component.html',\n styleUrls: ['./place-outlet.component.scss'],\n animations: [LEFT_RIGHT_PLACE_ANIMATION]\n})\nexport class PlaceOutletComponent extends DisposableComponent implements OnInit {\n\n @Input()\n animate = true;\n\n @ViewChild('routeOutlet', { static: true })\n routerOut: RouterOutlet;\n\n private readonly _activePlace = new MutableValueModel<PlaceComponent>();\n\n private readonly _incomingRouteChange = new Guard();\n private readonly _inOutletUpdate = new Guard();\n private readonly _activatedRouteModel = new MutableValueModel<ActivatedRoute>();\n private readonly _placeDefinition = new MutableValueModel<PlaceDefinition>();\n\n readonly _resolvedParameters = new MutableValueModel<ParameterSnapshot>();\n private placeConfigured: BooleanValueModelChain;\n\n constructor(private readonly router: PlaceRouter, private readonly placeHistory: PlaceHistory) {\n super();\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n\n const paramMap = chain(this._activatedRouteModel).pullObservableValue(ar => ar.paramMap);\n const urls = chain(this._activatedRouteModel).pullObservableValue(ar => ar.url);\n\n this.placeConfigured = valueOf.all(\n chain(this._inOutletUpdate).isFalsey(),\n this._placeDefinition,\n paramMap,\n urls\n ).areTruthy();\n\n when.anyOf(paramMap, urls).changes(() => {\n const snapshot = ParameterSnapshot.create(this._placeDefinition.value, paramMap.value, urls.value);\n this._incomingRouteChange.whileTrue(() => {\n this._resolvedParameters.value = snapshot;\n this.placeHistory.add(snapshot);\n });\n }, {\n postponeUntil: this.placeConfigured\n });\n\n when.valueOf(this._resolvedParameters).changes((next, previous) => {\n this.placeHistory.add(next); // the above route change doesn't seem to propagate back in, so I'm add the state to the history manually for now.\n this.pushChangesToRoute(next, previous);\n }, {\n unless: this.incomingRouteChange\n });\n\n // const txo = new TransactionObserver().onEvent(e => console.log(e.toString()));\n // txo.observe('paramMap', paramMap);\n // txo.observe('urls', urls);\n // txo.observe('this._resolvedParameters', this._resolvedParameters);\n }\n\n ngOnInit() {\n }\n\n get incomingRouteChange(): ValueModel<boolean> {\n return this._incomingRouteChange;\n }\n\n get activePlace(): ValueModel<PlaceComponent> {\n return this._activePlace.readonly;\n }\n\n onOutletActivated(routerOutlet: RouterOutlet, place: PlaceComponent) {\n this._inOutletUpdate.whileTrue(() => {\n try {\n this._activePlace.value = place;\n this._activatedRouteModel.value = routerOutlet.activatedRoute;\n this._placeDefinition.value = place.placeDefinition;\n place.initialiseBindings(this._resolvedParameters);\n } catch (error) {\n console.error(error);\n }\n });\n if (!this.animate) {\n // we're not animating so trigger any post animation callbacks now.\n this.animationDone();\n }\n }\n\n onOutletDeactivated(routerOutlet: RouterOutlet, $event: PlaceRef) {\n this._inOutletUpdate.whileTrue(() => {\n this._activePlace.value = null;\n this._activatedRouteModel.value = null;\n this._placeDefinition.value = null;\n });\n }\n\n getPlaceOrder(outlet: RouterOutlet) {\n return this.animate && outlet && outlet.activatedRouteData && outlet.activatedRouteData['placeOrder'];\n }\n\n animationDone() {\n if (this._activePlace.value) {\n this._activePlace.value.onPlaceReady();\n }\n }\n\n pushChangesToRoute(next: ParameterSnapshot, previous: ParameterSnapshot) {\n const activatedRoute = this._activatedRouteModel.value;\n this.router.pushParameterChangesToRoute(activatedRoute, previous, next);\n }\n\n sanitise(snapshot: ParameterSnapshot, callback: (sanitised: ParameterSnapshot) => void) {\n return snapshot;\n }\n\n\n}\n","import { Component } from '@angular/core';\nimport { AbstractPlaceNavigationComponent } from '../abstract-place-navigation.component';\n\n@Component({\n selector: 'angular-ui-powerups-tabbed-place-navigation',\n templateUrl: './tabbed-place-navigation.component.html',\n styleUrls: ['./tabbed-place-navigation.component.scss']\n})\nexport class TabbedPlaceNavigationComponent extends AbstractPlaceNavigationComponent {\n constructor() {\n super();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatProgressSpinnerModule } from '@angular/material';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { RouterModule } from '@angular/router';\nimport { BusyOverlayComponent } from './components/busy-overlay/busy-overlay.component';\nimport { EmptyStateComponent } from './components/empty-state/empty-state.component';\nimport { ListPlaceNavComponent } from './components/list-place-nav/list-place-nav.component';\nimport { PlaceOutletComponent } from './components/place-outlet/place-outlet.component';\nimport { TabbedPlaceNavigationComponent } from './components/tabbed-place-navigation/tabbed-place-navigation.component';\n\n@NgModule({\n imports: [\n CommonModule,\n BrowserAnimationsModule,\n MatProgressSpinnerModule,\n RouterModule,\n MatTabsModule,\n MatListModule,\n MatTooltipModule,\n MatIconModule\n ],\n declarations: [\n EmptyStateComponent,\n BusyOverlayComponent,\n PlaceOutletComponent,\n TabbedPlaceNavigationComponent,\n ListPlaceNavComponent\n ],\n entryComponents: [BusyOverlayComponent],\n exports: [\n BusyOverlayComponent,\n PlaceOutletComponent,\n EmptyStateComponent,\n TabbedPlaceNavigationComponent,\n ListPlaceNavComponent\n ],\n providers: []\n})\nexport class PlaceModule {\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatFormFieldModule, MatInputModule, MatSelectModule } from '@angular/material';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { NumberInputComponent } from './components/forms/number-input/number-input.component';\nimport { PasswordInputComponent } from './components/forms/password-input/password-input.component';\nimport { SelectInputComponent } from './components/forms/select-input/select-input.component';\nimport { StringInputComponent } from './components/forms/string-input/string-input.component';\nimport { CommandDirective } from './directives/command.directive';\nimport { FocusBindingDirective } from './directives/focus-binding.directive';\nimport { InteractionModule } from './interaction/interaction.module';\nimport { PlaceModule } from './place/place.module';\n\n@NgModule({\n declarations: [\n CommandDirective,\n FocusBindingDirective,\n NumberInputComponent,\n StringInputComponent,\n PasswordInputComponent,\n SelectInputComponent\n ],\n imports: [\n CommonModule,\n BrowserAnimationsModule,\n FormsModule,\n MatInputModule,\n MatFormFieldModule,\n MatSelectModule,\n MatTabsModule,\n PlaceModule,\n InteractionModule\n ],\n exports: [\n CommandDirective,\n FocusBindingDirective,\n NumberInputComponent,\n StringInputComponent,\n PasswordInputComponent,\n SelectInputComponent,\n InteractionModule,\n PlaceModule\n ]\n\n})\nexport class AngularUiPowerupsModule {\n}\n","import { animate, AnimationStyleMetadata, style, transition, trigger } from '@angular/animations';\nimport { OptionsHelper } from '@coolon/pectin';\n\nconst defaultHiddenStyleDef = style({\n opacity: 0,\n 'height': '0',\n paddingTop: '0',\n paddingBottom: '0'\n});\n\nexport function slideDownAndUpAnimation(triggerName: string, options?: {\n duration?: string;\n hiddenStyleDef?: AnimationStyleMetadata;\n}) {\n // SEE to fix this: https://github.com/angular/angular/issues/15587#issuecomment-351510501\n const duration = OptionsHelper.get(options).getOptional('duration', '100ms');\n const hiddenStyleDef = OptionsHelper.get(options).getOptional('hiddenStyleDef', defaultHiddenStyleDef);\n return trigger(triggerName, [\n transition(':enter', [hiddenStyleDef, animate('100ms')]),\n transition(':leave', [animate('100ms', hiddenStyleDef)])\n ]);\n}\n\n// export function slideOutLeftAnimation(triggerName: string, duration:string = \"100ms\") {\n// return trigger(triggerName, [\n// state('true', style(\n// {\n// 'width': '*',\n// 'overflow': 'hidden',\n// 'opacity': '1'\n// })),\n// state('false', style({\n// 'width': '0px',\n// 'overflow': 'hidden',\n// 'opacity': '0'\n// })),\n// transition('* => *', [animate(duration)])\n// ]);\n// }\n","export class Dimension {\n constructor(readonly width: number, readonly height: number) {\n }\n}\n","export class Point {\n\n static from(data: { x: number, y: number }) {\n return new Point(data.x, data.y);\n }\n\n constructor(readonly x: number, readonly y: number) {\n }\n\n translate(x: number, y: number): Point {\n return new Point(this.x + x, this.y + y);\n }\n}\n","import { Dimension } from './dimension.class';\nimport { Point } from './point.class';\n\nexport class Bounds extends Dimension {\n\n constructor(readonly top: number, readonly left: number, readonly width: number, readonly height: number) {\n super(width, height);\n }\n\n relativePositionOf(point: { x: number, y: number } | MouseEvent) {\n if (point instanceof MouseEvent) {\n return new Point(point.clientX - this.left, point.clientY - this.top);\n } else {\n return new Point(point.x - this.left, point.y - this.top);\n }\n }\n}\n\nexport namespace Bounds {\n export function ofElement(element: HTMLElement): Bounds {\n const rect = element.getBoundingClientRect();\n return new Bounds(rect.top, rect.left, rect.width, rect.height);\n }\n}\n\n","import { AfterViewInit, ElementRef, NgZone } from '@angular/core';\nimport { ValueHolder, ValueModel } from '@coolon/pectin';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { DisposableComponent } from './disposable-component';\nimport { Bounds } from './types/bounds.class';\nimport { Point } from './types/point.class';\n\nexport class ResizeAwareComponent extends DisposableComponent implements AfterViewInit {\n\n private _boundsModel = new ValueHolder<Bounds>(new Bounds(0, 0, 0, 0));\n\n constructor(protected readonly elementRef: ElementRef, protected readonly ngZone: NgZone) {\n super();\n }\n\n ngAfterViewInit(): void {\n this.updateBounds();\n const element = this.elementRef.nativeElement;\n const ro = new ResizeObserver((entries, observer) => {\n this.ngZone.run(() => this.updateBounds());\n });\n ro.observe(element);\n this.onDispose(() => ro.disconnect());\n }\n\n get boundsModel(): ValueModel<Bounds> {\n return this._boundsModel.readonly;\n }\n\n get nativeElement() {\n return this.elementRef.nativeElement;\n }\n\n // TODO: Make this handle body scroll\n public relativePositionOf(point: { x: number, y: number } | MouseEvent): Point {\n return this.bounds.relativePositionOf(point);\n }\n\n get bounds(): Bounds {\n return this._boundsModel.value;\n }\n\n private updateBounds() {\n this._boundsModel.value = Bounds.ofElement(this.nativeElement);\n }\n\n\n}\n\nexport namespace ResizeAwareComponent {\n\n}\n","export interface Alert {\n title?(): string;\n\n content(): string[];\n\n ok(): string;\n}\n","import { Alert } from './alert';\n\nexport interface Confirm extends Alert {\n destructive?: () => boolean;\n\n cancel(): string;\n}\n","export interface Result<R, E> {\n // catch(callback: (error: E) => void): Result<R,E>;\n}\n\nexport namespace Result {\n export interface Callback<R, E> {\n then: <T>(result: R) => T;\n catch: <T>(result: E) => T;\n }\n\n}\n\n// const r:Result<string, number> = null;\n\n// r.catch(e => {}).then();\n\n","import { Constructable } from '@coolon/pectin';\nimport { Activity } from '../../activity';\nimport { InteractionContext } from '../../interaction-context';\n\n\nexport interface ActivityOutletContext<D, R, E> {\n interactionContext: InteractionContext,\n activityClass: Constructable<Activity<D, R, E>>,\n activityData: D,\n onDone: (result: R) => void,\n onCancel: (error: E) => void,\n}\n","export interface NavItem {\n title(): string;\n\n icon?(): string;\n\n tooltip?(): string;\n}\n","import { Constructable, lang } from '@coolon/pectin';\nimport * as _ from 'lodash';\nimport { PlaceComponent } from './place-component';\nimport { PlaceDefinition } from './place-definition';\n\nexport function Place(options: Place.Options) {\n return (target: Function) => {\n if (PlaceComponent.isPlaceComponentConstructor(target)) {\n PlaceComponent.injectDefinition(target, new PlaceDefinition(\n target,\n options.path,\n _.isNil(options.authenticate) ? false : options.authenticate,\n options.order,\n options.data,\n PlaceComponent.getRouteParameters(target),\n (options.children || []).map(c => PlaceComponent.getDefinition(c))\n ));\n\n } else {\n lang.illegalState(`${target} must extend PlaceComponent to use the @Place decorator`);\n }\n };\n}\n\nexport namespace Place {\n\n export interface Options {\n path: string,\n order: number;\n data?: { [key: string]: any }, // defaults to true\n authenticate?: boolean, // defaults to true\n children?: Constructable<PlaceComponent>[]\n }\n\n}\n","import { PlaceDefinition } from './place-definition';\n\n// TODO: It'd be nice if we generated a type for this...\nexport interface Visit {\n readonly placeDefinition: PlaceDefinition;\n\n getRouteIdValue(): any;\n\n getParameterValue(name: string): any;\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanDeactivate, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { PlaceComponent } from '../place-component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LeavePlaceGuard implements CanDeactivate<PlaceComponent> {\n\n constructor(private router: Router, private injector: Injector) {\n }\n\n canDeactivate(component: PlaceComponent, currentRoute: ActivatedRouteSnapshot, currentState: RouterStateSnapshot, nextState?: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n // HACK: this will break with child routes...\n const path = `/${component.placeDefinition.path}`;\n // let thisTree = this.router.parseUrl(currentState.url);\n // let nextTree = this.router.parseUrl(nextState.url);\n // console.log({\n // placePath: path,\n // currentRoute: currentRoute.toString(),\n // currentStateUrl: currentState.url,\n // nextStateUrl: nextState.url,\n // currentStateUrlTree: thisTree.root.children[PRIMARY_OUTLET].segments,\n // nextStateUrlTree: nextTree.root.children[PRIMARY_OUTLET].segments\n // });\n\n // nextState is the full path...\n if (!nextState.url.startsWith(path)) {\n return component.canDeactivate();\n } else {\n return true;\n }\n }\n\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { lang, Logger } from '@coolon/pectin';\nimport { Observable } from 'rxjs';\nimport { PlaceComponent } from '../place-component';\nimport { PlaceRouter } from '../place-router';\nimport { ParameterSnapshot } from '../route/parameter-snapshot';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PlaceRouteGuard implements CanActivate {\n\n constructor(private readonly placeRouter: PlaceRouter, private readonly injector: Injector) {\n }\n\n canActivate(activatedRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n if (PlaceComponent.isPlaceComponentConstructor(activatedRoute.component)) {\n const placeDefinition = PlaceComponent.getDefinition(activatedRoute.component);\n const snapshot = ParameterSnapshot.create(placeDefinition, activatedRoute.paramMap, activatedRoute.url);\n return snapshot.sanitise(this.injector).then(sanitised => {\n Logger.get(this).info(\"ParameterSnapshot.sanitise ->\", sanitised.getAllParameters());\n if (sanitised.hasChanged(snapshot, true)) {\n return this.placeRouter.getRedirectUrlTree(activatedRoute, sanitised);\n } else {\n return true;\n }\n });\n } else {\n return lang.illegalState(`expected component to be an instance of PlaceComponent, got ${activatedRoute.component}`);\n }\n }\n\n}\n","export type JsonPrimitive = boolean | number | string;\nexport type AnyJson = JsonPrimitive | null | JsonArray | JsonMap;\n\nexport interface JsonArray extends Array<AnyJson> {\n}\n\nexport interface JsonMap {\n [key: string]: AnyJson;\n}\n\n","import { assert, UseDelegate } from '@coolon/pectin';\nimport { Klass, Opts } from '@coolon/typescript-utilities';\nimport { ROUTE_PARAMETER_LIST_KEY } from '../place-component';\nimport { ParameterDefinition } from './parameter-definition.class';\nimport { ParameterType } from './parameter-type';\n\nexport interface ParameterOptions<T> {\n as?: string;\n optional?: boolean;\n remember?: boolean;\n defaultValue?: T;\n // sanitiser?: Constructable<ParameterSanitiser<T>> | ParameterSanitiser.Options<T>;\n}\n\nexport interface ListParameterOptions<T> {\n as?: string;\n optional?: boolean;\n remember?: boolean;\n defaultValue?: T[];\n // sanitiser?: Constructable<ParameterSanitiser<T[]>> | ParameterSanitiser.Options<T[]>;\n}\n\nexport function RouteId<T extends string | number>(type: ParameterType<T>, options?: ParameterOptions<T>): PropertyDecorator {\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = new ParameterDefinition.RouteId(propertyKey.toString(), type, options);\n Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);\n UseDelegate()(prototype, propertyKey);\n };\n}\n\nexport function RouteParameter<T>(type: ParameterType<T>, options?: ParameterOptions<T>): PropertyDecorator {\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = new ParameterDefinition.ValueParameter(propertyKey.toString(), type, options);\n Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);\n UseDelegate()(prototype, propertyKey);\n };\n}\n\nexport function RouteParameterList<E>(elementType: ParameterType<E>, options?: ListParameterOptions<E>): PropertyDecorator {\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = new ParameterDefinition.ArrayParameter(propertyKey.toString(), elementType, options);\n Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);\n UseDelegate()(prototype, propertyKey);\n };\n}\n","import { Visit } from '../visit';\nimport { RouteParameterValue } from './route-parameter-value';\n\nexport interface ParameterSanitiser<S> {\n sanitise(paramter: RouteParameterValue<S, any, any>, visit?: Visit): Promise<S> | S;\n}\n","import _ from 'lodash';\n\nexport interface ParameterType<T> {\n format(value: T): string;\n\n parse(value: string): T;\n}\n\nexport namespace ParameterType {\n\n class StringType implements ParameterType<string> {\n format(value: string): string {\n return value;\n }\n\n parse(value: string): string {\n return value;\n }\n }\n\n class NumberType implements ParameterType<number> {\n format(value: number): string {\n return `${value}`;\n }\n\n parse(value: string): number {\n return _.isNil(value) || _.isEmpty(value) ? null : +value;\n }\n }\n\n class BooleanType implements ParameterType<boolean> {\n format(value: boolean): string {\n return value ? 'true' : 'false';\n }\n\n parse(value: string): boolean {\n return value === 'true';\n }\n }\n\n export const STRING = new StringType();\n export const NUMBER = new NumberType();\n export const BOOLEAN = new BooleanType();\n}\n"],"names":["tslib_1.__extends","GarbageCollector","DelegatingFormValueModel","EventEmitter","Input","Output","HostListener","tslib_1.__decorate","UseDelegate","ValueModel","Component","ListModel","StoreInListModel","assert","UnaryCommand","lang","Directive","ElementRef","Inject","Logger","NgZone","DOCUMENT","InjectionToken","Injector","ComponentFactoryResolver","ViewContainerRef","ActivityOutletComponent","EventListenerList","DelegatingValueModel","MutableListModel","Deferred","ViewChild","ViewChildren","ActivityContainerComponent","Injectable","MatDialog","NgModule","CommonModule","MatButtonModule","MatDialogModule","MatTabsModule","PortalModule","StoreInValueModel","_","Binding","Memoize","PlaceComponent","Klass","HostBinding","Router","RouteParameterValue","Opts","ParameterDefinition","Trace","ParameterSnapshot","style","query","group","animate","trigger","transition","MutableValueModel","Guard","BrowserAnimationsModule","MatProgressSpinnerModule","RouterModule","MatListModule","MatTooltipModule","MatIconModule","FormsModule","MatInputModule","MatFormFieldModule","MatSelectModule","OptionsHelper","Bounds","ValueHolder","_.isNil","ParameterType"],"mappings":"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"}
1
+ {"version":3,"file":"coolon-angular-ui-powerups.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@coolon/angular-ui-powerups/lib/components/disposable-component.ts","ng://@coolon/angular-ui-powerups/lib/components/forms/abstract-input.component.ts","ng://@coolon/angular-ui-powerups/lib/components/forms/number-input/number-input.component.ts","ng://@coolon/angular-ui-powerups/lib/components/forms/password-input/password-input.component.ts","ng://@coolon/angular-ui-powerups/lib/components/forms/select-input/select-input.component.ts","ng://@coolon/angular-ui-powerups/lib/components/forms/string-input/string-input.component.ts","ng://@coolon/angular-ui-powerups/lib/directives/command.directive.ts","ng://@coolon/angular-ui-powerups/lib/directives/focus-binding.directive.ts","ng://@coolon/angular-ui-powerups/lib/interaction/interaction-context.ts","ng://@coolon/angular-ui-powerups/lib/interaction/activity.ts","ng://@coolon/angular-ui-powerups/lib/interaction/components/activity-outlet/activity-outlet.component.ts","ng://@coolon/angular-ui-powerups/lib/interaction/abstract-activity.ts","ng://@coolon/angular-ui-powerups/lib/interaction/components/alert-dialog/alert-dialog.component.ts","ng://@coolon/angular-ui-powerups/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.ts","ng://@coolon/angular-ui-powerups/lib/interaction/components/activity-container/activity-container.component.ts","ng://@coolon/angular-ui-powerups/lib/interaction/services/dialog-interaction.service.ts","ng://@coolon/angular-ui-powerups/lib/interaction/interaction.module.ts","ng://@coolon/angular-ui-powerups/lib/place/components/busy-overlay/busy-overlay.component.ts","ng://@coolon/angular-ui-powerups/lib/place/components/empty-state/empty-state.component.ts","ng://@coolon/angular-ui-powerups/lib/place/place-definition.ts","ng://@coolon/angular-ui-powerups/lib/place/place-component.ts","ng://@coolon/angular-ui-powerups/lib/place/components/abstract-place-navigation.component.ts","ng://@coolon/angular-ui-powerups/lib/place/components/list-place-nav/list-place-nav.component.ts","ng://@coolon/angular-ui-powerups/lib/place/place-history.ts","ng://@coolon/angular-ui-powerups/lib/place/place-router.ts","ng://@coolon/angular-ui-powerups/lib/place/route/parameter-definition.class.ts","ng://@coolon/angular-ui-powerups/lib/place/route/route-parameter-value.ts","ng://@coolon/angular-ui-powerups/lib/place/route/parameter-snapshot.ts","ng://@coolon/angular-ui-powerups/lib/place/components/place-outlet/route-animations.ts","ng://@coolon/angular-ui-powerups/lib/place/components/place-outlet/place-outlet.component.ts","ng://@coolon/angular-ui-powerups/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.ts","ng://@coolon/angular-ui-powerups/lib/place/place.module.ts","ng://@coolon/angular-ui-powerups/lib/angular-ui-powerups.module.ts","ng://@coolon/angular-ui-powerups/lib/animations/slideDownAndUpAnimation.ts","ng://@coolon/angular-ui-powerups/lib/components/types/dimension.class.ts","ng://@coolon/angular-ui-powerups/lib/components/types/point.class.ts","ng://@coolon/angular-ui-powerups/lib/components/types/bounds.class.ts","ng://@coolon/angular-ui-powerups/lib/components/resize-aware.component.ts","ng://@coolon/angular-ui-powerups/lib/interaction/alert.ts","ng://@coolon/angular-ui-powerups/lib/interaction/confirm.ts","ng://@coolon/angular-ui-powerups/lib/interaction/result.ts","ng://@coolon/angular-ui-powerups/lib/interaction/components/activity-outlet/activity-outlet-context.ts","ng://@coolon/angular-ui-powerups/lib/place/nav-item.ts","ng://@coolon/angular-ui-powerups/lib/place/place.decorator.ts","ng://@coolon/angular-ui-powerups/lib/place/visit.ts","ng://@coolon/angular-ui-powerups/lib/place/guards/leave-place.guard.ts","ng://@coolon/angular-ui-powerups/lib/place/guards/place-route.guard.ts","ng://@coolon/angular-ui-powerups/lib/place/route/json-types.ts","ng://@coolon/angular-ui-powerups/lib/place/route/parameter-decorators.ts","ng://@coolon/angular-ui-powerups/lib/place/route/parameter-sanitiser.ts","ng://@coolon/angular-ui-powerups/lib/place/route/parameter-type.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { OnDestroy } from '@angular/core';\nimport { GarbageCollector } from '@coolon/pectin';\n\nexport class DisposableComponent extends GarbageCollector implements OnDestroy {\n\n ngOnDestroy(): void {\n this.dispose();\n }\n}\n","/* tslint:disable:no-input-rename */\nimport { EventEmitter, HostListener, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, FormGroupDirective, NgForm } from '@angular/forms';\nimport { ErrorStateMatcher } from '@angular/material';\nimport { Command, DelegatingFormValueModel, ListModel, UseDelegate, ValueModel } from '@coolon/pectin';\nimport { DisposableComponent } from '../disposable-component';\n\nexport abstract class AbstractInputComponent<T> extends DisposableComponent implements OnInit {\n\n readonly valueModel = new DelegatingFormValueModel<T>();\n\n @Input('valueModel') @UseDelegate()\n set userValueModel(model: ValueModel<T>) {\n this.valueModel.setDelegate(model);\n }\n\n @Input() label: string;\n @Input() floatLabel: 'auto' | 'always' | 'never';\n @Input() hint: string;\n @Input() placeholder: string;\n\n @Input('command.focus') focusCommand: Command<any>;\n @Input('command.blur') blurCommand: Command<any>;\n @Input('command.enter') enterCommand: Command<any>;\n @Input('command.escape') escapeCommand: Command<any>;\n @Input('command.click') clickCommand: Command<any>;\n\n // TODO: fix this.\n // tslint:disable-next-line:no-output-native\n @Output() focus = new EventEmitter();\n // tslint:disable-next-line:no-output-native\n @Output() blur = new EventEmitter();\n // tslint:disable-next-line:no-output-native\n @Output() enterKey = new EventEmitter();\n // tslint:disable-next-line:no-output-native\n @Output() escapeKey = new EventEmitter();\n\n readonly errorStateMatcher: ErrorStateMatcher;\n\n @HostListener('click')\n notifyClick() {\n this.safelyInvoke(this.clickCommand);\n }\n\n @HostListener('focusin')\n notifyFocusIn() {\n this.safelyInvoke(this.focusCommand);\n this.focus.emit();\n }\n\n @HostListener('focusout')\n notifyFocusOut() {\n this.safelyInvoke(this.blurCommand);\n this.blur.emit();\n }\n\n\n notifyEnterKey() {\n this.safelyInvoke(this.enterCommand);\n this.enterKey.emit();\n }\n\n notifyEscapeKey() {\n this.safelyInvoke(this.escapeCommand);\n this.escapeKey.emit();\n }\n\n protected safelyInvoke(command: Command<any>) {\n if (command && command.enabled.value) {\n command.execute();\n }\n }\n\n constructor() {\n super();\n const self = this;\n this.errorStateMatcher = {\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n return self.hasErrors();\n }\n };\n }\n\n ngOnInit(): void {\n }\n\n isEnabled(): boolean {\n return this.enabled.value;\n }\n\n get enabled(): ValueModel<boolean> {\n return this.valueModel.enabled;\n }\n\n hasErrors(): boolean {\n return !this.errorList.query().isEmpty();\n }\n\n get errorList(): ListModel<string> {\n return this.valueModel.errorList;\n }\n\n get firstError() {\n return this.hasErrors() ? this.errorList.value[0] : null;\n }\n\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AbstractInputComponent } from '../abstract-input.component';\n\n\n@Component({\n selector: 'angular-ui-powerups-number-input',\n templateUrl: './number-input.component.html',\n styleUrls: ['./number-input.component.scss']\n})\nexport class NumberInputComponent extends AbstractInputComponent<string> implements OnInit {\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AbstractInputComponent } from '../abstract-input.component';\n\n@Component({\n selector: 'angular-ui-powerups-password-input',\n templateUrl: './password-input.component.html',\n styleUrls: ['./password-input.component.scss']\n})\nexport class PasswordInputComponent extends AbstractInputComponent<string> implements OnInit {\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ListModel, StoreInListModel, UseDelegate } from '@coolon/pectin';\nimport { AbstractInputComponent } from '../abstract-input.component';\n\n@Component({\n selector: 'angular-ui-powerups-select-input',\n templateUrl: './select-input.component.html',\n styleUrls: ['./select-input.component.scss']\n})\nexport class SelectInputComponent<T = any> extends AbstractInputComponent<T> implements OnInit {\n\n @Input() @UseDelegate()\n optionsModel: ListModel<T>;\n\n @Input() @StoreInListModel('optionsModel')\n options: T[];\n\n @Input()\n optionLabel: keyof T;\n\n @Input()\n optionLabelFormat: (option: T) => any = (option) => (option && this.optionLabel) ? option[this.optionLabel] : option;\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AbstractInputComponent } from '../abstract-input.component';\n\n@Component({\n selector: 'angular-ui-powerups-string-input',\n templateUrl: './string-input.component.html',\n styleUrls: ['./string-input.component.scss']\n})\nexport class StringInputComponent extends AbstractInputComponent<string> implements OnInit {\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n","import { AfterViewInit, Directive, ElementRef, HostListener, Inject, Input, OnDestroy, OnInit } from '@angular/core';\nimport { assert, Command, Dsl, GarbageCollector, lang, UnaryCommand } from '@coolon/pectin';\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[pectinCommand]'\n})\nexport class CommandDirective<P = any> extends GarbageCollector implements OnInit, OnDestroy, AfterViewInit {\n\n @Input()\n pectinCommand: Command<any> | UnaryCommand<P>;\n\n private _commandParameter: P;\n private _commandParameterProvided = false;\n\n @Input()\n set commandParameter(value: P) {\n this._commandParameterProvided = true;\n this._commandParameter = value;\n }\n\n get commandParameter(): P {\n return this._commandParameter;\n }\n\n constructor(@Inject(ElementRef) private elementRef: ElementRef) {\n super();\n }\n\n ngOnInit(): void {\n assert.notNil(this.pectinCommand);\n if (this.pectinCommand instanceof UnaryCommand) {\n if (!this._commandParameterProvided) {\n lang.illegalState('UnaryCommands required the command parameter to be specified.');\n }\n } else {\n if (this._commandParameterProvided) {\n lang.illegalState('command parameters are only supported by UnaryCommands');\n }\n }\n }\n\n ngAfterViewInit(): void {\n // for some reason mat-buttons kills the disabled host binding. It works on a regular button but for now\n // we need to do this.\n const { chain } = Dsl.disposeWith(this);\n chain(this.pectinCommand.enabled).subscribe(enabled => {\n if (enabled) {\n this.elementRef.nativeElement.removeAttribute('disabled');\n if (this.elementRef.nativeElement.tagName === 'A') {\n this.elementRef.nativeElement.setAttribute('href', 'javascript:void');\n }\n } else {\n this.elementRef.nativeElement.setAttribute('disabled', 'disabled');\n if (this.elementRef.nativeElement.tagName === 'A') {\n this.elementRef.nativeElement.removeAttribute('href');\n }\n }\n });\n }\n\n ngOnDestroy(): void {\n this.dispose();\n }\n\n\n @HostListener('click', ['$event'])\n notifyClick($event: Event) {\n $event.preventDefault();\n $event.stopPropagation();\n if (this.pectinCommand.enabled.value) {\n if (this.pectinCommand instanceof UnaryCommand) {\n this.pectinCommand.withContext({ event: $event }).execute(this.commandParameter);\n } else {\n this.pectinCommand.withContext({ event: $event }).execute();\n }\n } else {\n console.warn('disabled command clicked, ignoring.');\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { AfterViewInit, Directive, ElementRef, HostListener, Inject, Input, NgZone, OnInit } from '@angular/core';\nimport { Dsl, HasFocusTracking, Logger } from '@coolon/pectin';\nimport { DisposableComponent } from '../components/disposable-component';\n\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[pectinFocusBinding]'\n})\nexport class FocusBindingDirective extends DisposableComponent implements OnInit, AfterViewInit {\n\n private readonly document: Document;\n\n @Input() pectinFocusBinding: HasFocusTracking;\n @Input() focusBindingTarget: HTMLElement;\n\n @HostListener('focusin')\n onFocusIn() {\n if (this.hasBinding()) {\n this.pectinFocusBinding.focusContext.notifyFocusIn();\n }\n }\n\n @HostListener('focusout')\n onFocusOut() {\n if (this.hasBinding()) {\n this.pectinFocusBinding.focusContext.notifyFocusOut();\n }\n }\n\n constructor(@Inject(ElementRef) private readonly el: ElementRef,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(DOCUMENT) document: any) {\n super();\n // @see https://stackoverflow.com/questions/49513359/could-not-resolve-type-document-in-angular5/53715642#53715642\n this.document = document as Document;\n }\n\n ngOnInit(): void {\n }\n\n ngAfterViewInit(): void {\n // TODO: Make this also track the current enabled/disabled state.\n if (this.hasBinding()) {\n const { chain } = Dsl.disposeWith(this);\n chain(this.pectinFocusBinding.focusContext.focused).subscribe((focused) => {\n if (focused && !this.alreadyHasFocus()) {\n this.tryAndFocus();\n }\n });\n } else {\n Logger.get(this).warn('pectinFocusBinding was nil');\n }\n }\n\n private hasBinding() {\n return !!this.pectinFocusBinding && !!this.pectinFocusBinding.focusContext;\n }\n\n// Hook method for debugging via tracing.\n alreadyHasFocus() {\n return this.isFocused(this.focusTarget);\n }\n\n // Hook method for debugging via tracing.\n isFocused(element: Element): boolean {\n return this.document.activeElement === element;\n }\n\n tryAndFocus(retries: number = 5) {\n if (this.modelShouldStillHaveFocus() && this.canFocus()) {\n if (!this.alreadyHasFocus()) {\n this.focusTarget.focus();\n }\n // if we didn't get the focus we try again later.\n if (!this.alreadyHasFocus()) {\n Logger.get(this).log(`focus failed, trying ${retries} more times`);\n if (retries > 0) {\n // try again on the next paint\n // TODO: is there an angular way of doing this without calling a window function.\n requestAnimationFrame(() => {\n this.tryAndFocus(retries - 1);\n });\n } else {\n Logger.get(this).warn(`Tried to focus but gave up as the component wasn't enabled or visible.`);\n }\n }\n }\n }\n\n get focusTarget(): HTMLElement {\n return this.focusBindingTarget || this.el.nativeElement;\n }\n\n // Hook method for debugging via tracing.\n modelShouldStillHaveFocus() {\n return this.hasBinding() && this.pectinFocusBinding.focusContext.focused.value;\n }\n\n // Hook method for debugging via tracing.\n canFocus(): boolean {\n const dimension = this.focusTarget.getBoundingClientRect();\n const hasSize = dimension.height >= 0 && dimension.height >= 0;\n // tslint:disable-next-line:no-string-literal\n return hasSize && !this.focusTarget['disabled'];\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Constructable } from '@coolon/pectin';\nimport { Activity } from './activity';\nimport { Alert } from './alert';\nimport { Confirm } from './confirm';\n\nexport const INTERACTION_CONTEXT = new InjectionToken<any>('InteractionContext');\n\nexport abstract class InteractionContext {\n\n abstract startActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data?: D): Promise<R>;\n\n abstract confirm(confirm: Confirm): Promise<boolean>;\n\n abstract alert(alert: Alert): Promise<void>;\n}\n","import { InjectionToken } from '@angular/core';\nimport { ValueModel } from '@coolon/pectin';\n\nexport const ACTIVITY_DATA = new InjectionToken<any>('InteractionActivityData');\n\nexport interface Activity<D, R, E = any> {\n readonly busy: ValueModel<boolean>;\n\n onDone(callback: Activity.CallBack<R>);\n\n onCancel(callback: Activity.CallBack<E>);\n\n}\n\nexport namespace Activity {\n export type CallBack<T> = (value: T) => void | Promise<any>;\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n Injector,\n Input,\n OnInit,\n ViewContainerRef\n} from '@angular/core';\nimport { Constructable, lang } from '@coolon/pectin';\nimport { Activity, ACTIVITY_DATA } from '../../activity';\nimport { Alert } from '../../alert';\nimport { Confirm } from '../../confirm';\nimport { InteractionContext } from '../../interaction-context';\nimport { ActivityOutletContext } from './activity-outlet-context';\n\n/**\n * ActivityOutletComponent creates and displays an activity and delegates the interaction context functionality to an\n * external service.\n *\n * It might be nice to have wrapper component that allows more declarative use, i.e.\n * <activity-view [activityClass]=\"...\", [activityData]=\"...\" (done)=\"..\" (cancel)=\"...\"></activity-view>\n */\n@Component({\n selector: 'angular-ui-powerups-activity-outlet',\n template: '',\n styleUrls: ['./activity-outlet.component.scss']\n})\nexport class ActivityOutletComponent<D, R, E> implements OnInit, InteractionContext {\n\n @Input()\n interactionContext: InteractionContext;\n\n @Input()\n set activityContext(activityContext: ActivityOutletContext<D, R, E>) {\n this.loadActivity(activityContext);\n };\n\n private activityComponentRef: ComponentRef<Activity<D, R, E>>;\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private viewContainerRef: ViewContainerRef,\n private injector: Injector\n ) {\n }\n\n ngOnInit() {\n }\n\n loadActivity(activityContext: ActivityOutletContext<D, R, E>) {\n const injector = Injector.create({\n providers: [\n {\n provide: InteractionContext,\n useValue: this\n },\n { provide: ACTIVITY_DATA, useValue: activityContext.activityData }\n ],\n parent: this.injector\n });\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(activityContext.activityClass);\n this.viewContainerRef.clear();\n this.activityComponentRef = this.viewContainerRef.createComponent(componentFactory, 0, injector);\n this.activityComponentRef.instance.onDone(activityContext.onDone);\n this.activityComponentRef.instance.onCancel(activityContext.onCancel);\n }\n\n alert(alert: Alert): Promise<void> {\n return this.interactionContext.alert(alert);\n }\n\n confirm(confirm: Confirm): Promise<boolean> {\n return this.interactionContext.confirm(confirm);\n }\n\n startActivity<D1, R1, E1>(activityType: Constructable<Activity<D1, R1, E1>>, data?: D1): Promise<R1> {\n return this.interactionContext.startActivity(activityType, data);\n }\n\n notifyReady() {\n if (this.activityComponentRef.instance['onActivityReady']) {\n this.activityComponentRef.instance['onActivityReady']();\n }\n }\n}\n\nexport namespace ActivityOutletComponent {\n\n export class OutletInteractionContext<D, R, E> implements InteractionContext {\n\n constructor(private readonly context: ActivityOutletContext<D, R, E>) {\n }\n\n alert(alert: Alert): Promise<void> {\n return lang.notImplemented();\n }\n\n confirm(confirm: Confirm): Promise<boolean> {\n return lang.notImplemented();\n }\n\n startActivity<D1, R1, E1>(activityType: Constructable<Activity<D1, R1, E1>>, data?: D1): Promise<R1> {\n return lang.notImplemented();\n }\n }\n\n}\n","import { DelegatingValueModel, EventListenerList, Trace, ValueModel } from '@coolon/pectin';\nimport { DisposableComponent } from '../components/disposable-component';\nimport { Activity } from './activity';\n\nexport class AbstractActivity<D, R, E = any> extends DisposableComponent implements Activity<D, R, E> {\n\n private readonly _doneListeners = new EventListenerList<Activity.CallBack<R>>();\n private readonly _cancelListeners = new EventListenerList<Activity.CallBack<E>>();\n private readonly _finishListeners = new EventListenerList<() => void>();\n\n private readonly _busyModel = new DelegatingValueModel<boolean>().withDefault(false);\n\n onDone(callback: Activity.CallBack<R>) {\n this._doneListeners.add(callback);\n }\n\n onCancel(callback: Activity.CallBack<E>) {\n this._cancelListeners.add(callback);\n }\n\n done(result?: R): Promise<any> {\n return this._doneListeners\n .fireAndWait(l => l(result))\n .finally(() => this.finalizeAndDispose());\n }\n\n cancel(error?: E): Promise<any> {\n return this._cancelListeners\n .fireAndWait(l => l(error))\n .finally(() => this.finalizeAndDispose());\n }\n\n // @Trace()\n onActivityReady() {\n }\n\n private finalizeAndDispose() {\n // this._activeModel.value = false;\n this._finishListeners.fire(l => l());\n // this._interactionContext = null;\n // this._initialized = false;\n [\n this._finishListeners,\n this._doneListeners,\n this._cancelListeners\n ].forEach(l => l.dispose());\n }\n\n\n get busy(): ValueModel<boolean> {\n return this._busyModel.readonly;\n }\n\n busyWhile(busyModel: ValueModel<boolean>) {\n this._busyModel.setDelegate(busyModel);\n }\n\n isBusy() {\n return this._busyModel.value;\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { AbstractActivity } from '../../abstract-activity';\nimport { ACTIVITY_DATA } from '../../activity';\nimport { Alert } from '../../alert';\n\n@Component({\n selector: 'angular-ui-powerups-alert-dialog',\n templateUrl: './alert-dialog.component.html',\n styleUrls: ['./alert-dialog.component.scss']\n})\nexport class AlertDialogComponent extends AbstractActivity<Alert, void> implements OnInit {\n\n constructor(@Inject(ACTIVITY_DATA) readonly alert: Alert) {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { assert } from '@coolon/pectin';\nimport { AbstractActivity } from '../../abstract-activity';\nimport { ACTIVITY_DATA } from '../../activity';\nimport { Confirm } from '../../confirm';\n\n@Component({\n selector: 'angular-ui-powerups-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: ['./confirmation-dialog.component.scss']\n})\nexport class ConfirmationDialogComponent extends AbstractActivity<Confirm, boolean> implements OnInit {\n\n constructor(@Inject(ACTIVITY_DATA) readonly confirm: Confirm) {\n super();\n assert.notNil(confirm);\n }\n\n ngOnInit() {\n }\n\n isDestructive(): boolean {\n return this.confirm.destructive && this.confirm.destructive();\n }\n}\n","import { AfterViewInit, Component, Input, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';\nimport { MatTabGroup } from '@angular/material';\nimport { Constructable, Dsl, MutableListModel, ValueModelChain } from '@coolon/pectin';\nimport { Deferred } from '@coolon/pectin/lib/promise/deferred.class';\nimport { DisposableComponent } from '../../../components/disposable-component';\n\nimport { Activity } from '../../activity';\nimport { Alert } from '../../alert';\nimport { Confirm } from '../../confirm';\nimport { InteractionContext } from '../../interaction-context';\nimport { ActivityOutletContext } from '../activity-outlet/activity-outlet-context';\nimport { ActivityOutletComponent } from '../activity-outlet/activity-outlet.component';\nimport { AlertDialogComponent } from '../alert-dialog/alert-dialog.component';\nimport { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';\n\n@Component({\n selector: 'angular-ui-powerups-activity-container',\n templateUrl: './activity-container.component.html',\n styleUrls: ['./activity-container.component.scss']\n})\nexport class ActivityContainerComponent extends DisposableComponent implements OnInit, AfterViewInit, InteractionContext {\n\n @Input()\n parentInteractionContext: InteractionContext;\n\n @Input()\n initialActivityOutlet: ActivityOutletContext<any, any, any>;\n\n @ViewChild('tabs', { static: true })\n tabs: MatTabGroup;\n\n @ViewChildren(ActivityOutletComponent)\n outlets: QueryList<ActivityOutletComponent<any, any, any>>;\n\n readonly activityOutletTabs = new MutableListModel<ActivityOutletContext<any, any, any>>();\n private obsoleteTabs: ActivityOutletContext<any, any, any>[] = [];\n private lastActivityTab: ValueModelChain<ActivityOutletContext<any, any, any>>;\n\n constructor() {\n super();\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n this.lastActivityTab = chain(this.activityOutletTabs).last().otherwise(this.initialActivityOutlet);\n }\n\n ngOnInit() {\n }\n\n ngAfterViewInit(): void {\n const { observe } = Dsl.disposeWith(this);\n observe.valuesFrom(this.tabs.animationDone).subscribe(() => this.onAnimationFinished());\n }\n\n initialise<D, R, E>(options: ActivityContainerComponent.ActivityContext<D, R, E>) {\n this.initialActivityOutlet = {\n ...options,\n interactionContext: this\n };\n }\n\n startActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data?: D): Promise<R> {\n const deferred = Deferred.defer<R>();\n const context = {\n interactionContext: this,\n activityClass: activityType,\n activityData: data,\n onDone: deferred.resolve,\n onCancel: deferred.reject\n };\n this.activityOutletTabs.push(context);\n this.tabs.selectedIndex = this.activityOutletTabs.length;\n return deferred.promise.finally(() => {\n this.obsoleteTabs.push(context);\n this.tabs.selectedIndex = this.activityOutletTabs.length - 1;\n });\n }\n\n alert(alert: Alert): Promise<void> {\n return this.startActivity(AlertDialogComponent, alert);\n }\n\n confirm(confirm: Confirm): Promise<boolean> {\n return this.startActivity(ConfirmationDialogComponent, confirm);\n }\n\n private onAnimationFinished() {\n this.activityOutletTabs.value = this.activityOutletTabs.value.filter(tab => {\n return !this.obsoleteTabs.includes(tab);\n });\n this.outlets.toArray()[this.tabs.selectedIndex].notifyReady();\n }\n}\n\nexport namespace ActivityContainerComponent {\n\n export interface ActivityContext<D, R, E> {\n activityClass: Constructable<Activity<D, R, E>>,\n activityData: D,\n onDone: (result: R) => void,\n onCancel: (error: E) => void,\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material';\nimport { Constructable } from '@coolon/pectin';\nimport { assert } from '@coolon/typescript-utilities';\nimport { Activity } from '../activity';\nimport { Alert } from '../alert';\nimport { ActivityContainerComponent } from '../components/activity-container/activity-container.component';\nimport { AlertDialogComponent } from '../components/alert-dialog/alert-dialog.component';\nimport { ConfirmationDialogComponent } from '../components/confirmation-dialog/confirmation-dialog.component';\nimport { Confirm } from '../confirm';\nimport { InteractionContext } from '../interaction-context';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DialogInteractionService extends InteractionContext {\n\n constructor(private readonly dialogService: MatDialog) {\n super();\n assert.notNil(dialogService);\n }\n\n startActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data?: D): Promise<R> {\n return this._startActivity(activityType, data);\n }\n\n private _startActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data: D, disableClose: boolean = true) {\n const config = {\n data,\n disableClose,\n panelClass: 'dialog-interaction-service',\n autoFocus: false\n };\n const matDialogRef = this.dialogService.open(ActivityContainerComponent, config) as MatDialogRef<ActivityContainerComponent>;\n return new Promise<R>((resolve, reject) => {\n const activityContainer = matDialogRef.componentInstance;\n activityContainer.parentInteractionContext = this;\n activityContainer.initialise({\n activityClass: activityType,\n activityData: data,\n onDone(result) {\n resolve(result);\n matDialogRef.close(result);\n },\n onCancel(error) {\n reject(error);\n matDialogRef.close(error);\n }\n });\n\n matDialogRef.updateSize();\n });\n }\n\n alert(alert: Alert): Promise<void> {\n return this._startActivity(AlertDialogComponent, alert, false);\n }\n\n confirm(confirm: Confirm): Promise<boolean> {\n return this._startActivity(ConfirmationDialogComponent, confirm, true);\n }\n\n}\n","import { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule, MatDialogModule, MatTabsModule } from '@angular/material';\nimport { ActivityContainerComponent } from './components/activity-container/activity-container.component';\nimport { ActivityOutletComponent } from './components/activity-outlet/activity-outlet.component';\nimport { AlertDialogComponent } from './components/alert-dialog/alert-dialog.component';\nimport { ConfirmationDialogComponent } from './components/confirmation-dialog/confirmation-dialog.component';\nimport { DialogInteractionService } from './services/dialog-interaction.service';\n\n@NgModule({\n imports: [\n CommonModule,\n MatButtonModule,\n MatDialogModule,\n MatTabsModule,\n PortalModule\n ],\n declarations: [\n ActivityContainerComponent,\n ConfirmationDialogComponent,\n AlertDialogComponent,\n ActivityOutletComponent\n ],\n exports: [\n ActivityContainerComponent,\n ActivityOutletComponent\n ],\n entryComponents: [\n ActivityContainerComponent,\n ConfirmationDialogComponent,\n AlertDialogComponent\n ],\n providers: [\n DialogInteractionService\n ]\n})\nexport class InteractionModule {\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { StoreInValueModel, UseDelegate, ValueModel } from '@coolon/pectin';\n\n@Component({\n selector: 'angular-ui-powerups-busy-overlay',\n templateUrl: `./busy-overlay.component.html`,\n styleUrls: ['./busy-overlay.component.scss']\n})\nexport class BusyOverlayComponent implements OnInit {\n\n @Input() @UseDelegate()\n busyModel: ValueModel<boolean>;\n\n @Input() @StoreInValueModel('busyModel')\n busy: boolean;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'angular-ui-powerups-empty-state',\n template: `\n <div class=\"container\">\n <ng-content></ng-content>\n </div>\n `,\n styleUrls: ['./empty-state.component.scss']\n})\nexport class EmptyStateComponent implements OnInit {\n\n constructor() {\n }\n\n ngOnInit() {\n }\n}\n","import { Constructable } from '@coolon/pectin';\nimport _ from 'lodash';\nimport { PlaceComponent } from './place-component';\nimport { ParameterDefinition } from './route/parameter-definition.class';\n\nexport class PlaceDefinition {\n\n constructor(readonly component:Constructable<PlaceComponent>,\n readonly path: string,\n readonly authenticate: boolean,\n readonly order: number,\n readonly data: { [key: string]: any },\n readonly routeParameters: ParameterDefinition<any>[],\n readonly children: PlaceDefinition[]) {\n }\n\n getRouteParameters(): ParameterDefinition<any>[] {\n return this.routeParameters;\n }\n\n getData<T>(key: string, defaultValue?: T): T {\n return this.data ?\n _.isNil(this.data[key]) ? defaultValue : this.data[key] :\n defaultValue;\n }\n\n searchData<T>(keys: string[], defaultValue?: T): T {\n if (this.data) {\n const found = keys.find(key => !_.isNil(this.data[key]));\n return found ? this.data[found] : defaultValue;\n } else {\n return defaultValue;\n }\n }\n}\n","import { assert, Binding, Constructable, IMutableHasValue, lang, ValueModel } from '@coolon/pectin';\nimport { Klass } from '@coolon/typescript-utilities';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator';\nimport 'reflect-metadata';\nimport { DisposableComponent } from '../components/disposable-component';\nimport { PlaceDefinition } from './place-definition';\nimport { ParameterDefinition } from './route/parameter-definition.class';\nimport { ParameterSnapshot } from './route/parameter-snapshot';\n\n// RAKE: making this Symbol(...) broke things.\nexport const DEFINITION_META_DATA_KEY = 'PLACE_DEFINITION_OPTIONS';\n// this one seems ok.\nexport const ROUTE_PARAMETER_LIST_KEY = Symbol('place:route:parameters');\n\nexport class PlaceComponent extends DisposableComponent {\n\n private resolvedParameters: ValueModel<ParameterSnapshot>;\n\n constructor() {\n super();\n }\n\n public initialiseBindings(resolvedParameters: ValueModel<ParameterSnapshot>) {\n assert.isNil(this.resolvedParameters);\n this.resolvedParameters = resolvedParameters;\n this.placeDefinition.getRouteParameters().forEach(parameterDef => {\n this.installBinding(parameterDef);\n });\n }\n\n private installBinding<T, S>(parameterDef: ParameterDefinition<T, S>) {\n const model = this[parameterDef.propertyName] as IMutableHasValue<S>;\n // this.txo.observe(parameterDef.propertyName, model);\n this.registerDisposable(new Binding(this.resolvedParameters, model, {\n toRight(parameters: ParameterSnapshot): S {\n return parameters.getValueOf(parameterDef);\n },\n toLeft(value: S, currentParameters?: ParameterSnapshot): ParameterSnapshot {\n return currentParameters.replace(parameterDef, value);\n }\n }));\n }\n\n @Memoize()\n get placeDefinition(): PlaceDefinition {\n return PlaceComponent.getDefinition(this.constructor as any as Constructable<PlaceComponent>);\n }\n\n get childPlaces(): Constructable<PlaceComponent>[] {\n return this.placeDefinition.children.map(d => d.component);\n }\n\n canDeactivate(): boolean | Promise<boolean> {\n return true;\n }\n\n onPlaceReady() {\n }\n\n}\n\nexport namespace PlaceComponent {\n\n export function isPlaceComponentConstructor(target: any): target is Constructable<PlaceComponent> {\n return lang.constructorChain(target as Constructable<any>).includes(PlaceComponent);\n }\n\n export function getRouteParameters(klass: Constructable<PlaceComponent>): ParameterDefinition<any>[] {\n return Klass.get(klass).getMetadataList(ROUTE_PARAMETER_LIST_KEY);\n }\n\n export function getDefinition(klass: Constructable<PlaceComponent>): PlaceDefinition {\n return Reflect.getMetadata(DEFINITION_META_DATA_KEY, klass);\n }\n\n export function injectDefinition(klass: Constructable<PlaceComponent>, definition: PlaceDefinition) {\n Reflect.defineMetadata(DEFINITION_META_DATA_KEY, definition, klass);\n }\n\n}\n","import { Input, OnInit } from '@angular/core';\nimport { Constructable, Dsl, ListModel, ListModelChain, StoreInListModel, UseDelegate } from '@coolon/pectin';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\nimport { DisposableComponent } from '../../components/disposable-component';\nimport { NavItem } from '../nav-item';\nimport { PlaceComponent } from '../place-component';\nimport { PlaceDefinition } from '../place-definition';\n\nexport class AbstractPlaceNavigationComponent extends DisposableComponent implements OnInit {\n\n @Input() @StoreInListModel('placesModel')\n places: Constructable<PlaceComponent>[];\n\n @Input() @UseDelegate()\n placesModel: ListModel<Constructable<PlaceComponent>>;\n\n readonly placeDefinitions: ListModelChain<PlaceDefinition>;\n\n constructor() {\n super();\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n this.placeDefinitions = chain(this.placesModel).map(c => PlaceComponent.getDefinition(c));\n }\n\n @Memoize()\n getNav(placeDef: PlaceDefinition): NavItem {\n const navItem = placeDef.getData('nav') as NavItem;\n return {\n title: () => navItem ? navItem.title() : placeDef.searchData(['navTitle', 'title']),\n tooltip: () => navItem && navItem.tooltip ? navItem.tooltip() : placeDef.getData('navTooltip', null),\n icon: () => navItem && navItem.icon ? navItem.icon() : placeDef.getData('navIcon', null)\n };\n }\n\n ngOnInit() {\n }\n\n}\n","import { Component, HostBinding } from '@angular/core';\nimport { AbstractPlaceNavigationComponent } from '../abstract-place-navigation.component';\n\n@Component({\n selector: 'angular-ui-powerups-list-place-nav',\n templateUrl: './list-place-nav.component.html',\n styleUrls: ['./list-place-nav.component.scss']\n})\nexport class ListPlaceNavComponent extends AbstractPlaceNavigationComponent {\n\n @HostBinding('class.expanded')\n public expanded = true;\n\n constructor() {\n super();\n }\n\n expandMenu() {\n this.expanded = true;\n }\n\n collapseMenu() {\n this.expanded = false;\n }\n\n toggleMenu() {\n this.expanded = !this.expanded;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport _ from 'lodash';\nimport { PlaceDefinition } from './place-definition';\nimport { ParameterSnapshot } from './route/parameter-snapshot';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PlaceHistory {\n\n private _history = new Map<PlaceDefinition, ParameterSnapshot[]>();\n\n constructor(private readonly router: Router) {\n }\n\n add(state: ParameterSnapshot) {\n const history = this.getHistory(state.placeDefinition);\n const previousState = _.last(history);\n if (!previousState || state.hasChanged(previousState)) {\n history.unshift(state); // LIFO\n this.setHistory(state.placeDefinition, history.slice(0, 3)); // limit our history to 4 visits\n }\n }\n\n getHistory(placeDef: PlaceDefinition): ParameterSnapshot[] {\n let history = this._history.get(placeDef);\n if (!history) {\n history = [];\n this.setHistory(placeDef, history);\n }\n return history;\n }\n\n private setHistory(placeDef: PlaceDefinition, history: ParameterSnapshot[]) {\n this._history.set(placeDef, history);\n }\n\n// previousVisit(): Visit {\n // return _.last(this._history);\n // }\n //\n // withPreviousVisit<R>(callback:(previousVisit:Visit)=>R, defaultValue:R = null):R{\n // const visit = this.previousVisit();\n // return visit ? callback(visit) : defaultValue;\n // }\n //\n // previousVisitTo(place: Place): Visit {\n // return new VisitHistory.Query(this._history).to(place).last();\n // }\n}\n\nexport namespace VisitHistory {\n\n // export class Query {\n // private _history: Visit.State[];\n // private _places: Place[];\n // private _predicate: (visit: any) => boolean;\n // private _limit: number;\n //\n // constructor(history, limit = history.length) {\n // this._history = history;\n // this._places = [];\n // this._predicate = (visit => true);\n // this._limit = limit;\n // }\n //\n // to(...places:Place[]):this {\n // this._places = places;\n // return this;\n // }\n //\n // with(parameters: { [parameter: string]: any }): this {\n // this.matching(state => {\n // return Object.keys(parameters).reduce((acc, key) => {\n // const matchValue = parameters[key];\n // const visitValue = state.get(key);\n // const matched = matchValue === '*' ? !_.isNil(visitValue) : visitValue == matchValue;\n // // Logger.get(this).info(`matched=${matched}`, parameters, visitValue);\n // return acc && matched;\n // }, true);\n // });\n // return this;\n // }\n //\n // last(): Visit.State {\n // return _.findLast(this._history, visit => this._matches(visit))\n // }\n //\n // // @trace\n // allThatMatch(): Visit.State[] {\n // return _.filter(this._history, visit => this._matches(visit)).slice(-this._limit);\n // }\n //\n // // @trace\n // mostRecentValueOf<T=any>(param: string, defaultValue: T = null): T {\n // const lastStateWithParam = _.findLast(this.allThatMatch(), state => !_.isNil(state.get(param)));\n // return _.isNil(lastStateWithParam) ? defaultValue : lastStateWithParam.get(param);\n // }\n //\n // limit(limit: number): this {\n // this._limit = limit;\n // return this;\n // }\n //\n // matching(predicate: (visit: Visit.State) => boolean): this {\n // this._predicate = predicate;\n // return this;\n // }\n //\n // _matches(visit: Visit.State) {\n // return this._isPlaceMatch(visit) && this._predicate(visit);\n // }\n //\n // _isPlaceMatch(visit: Visit.State) {\n // return this._places.length < 1 || this._places.includes(visit.place)\n // }\n //\n // }\n\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute, ActivatedRouteSnapshot, Router, UrlTree } from '@angular/router';\nimport { Trace } from '@coolon/pectin';\nimport _ from 'lodash';\nimport { ParameterSnapshot } from './route/parameter-snapshot';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PlaceRouter {\n constructor(private readonly router: Router) {\n }\n\n pushParameterChangesToRoute(activatedRoute: ActivatedRoute, previous: ParameterSnapshot, next: ParameterSnapshot) {\n const relativePath = !!previous.hasRouteId() ? '..' : '.';\n this.router.navigate([relativePath].concat(this.createRouteParameters(next), this.getChildPath(activatedRoute.snapshot)), {\n relativeTo: activatedRoute\n });\n }\n\n // @Trace()\n getRedirectUrlTree(activatedRoute: ActivatedRouteSnapshot, sanitised: ParameterSnapshot): UrlTree {\n const urlSegments = activatedRoute.url;\n const weHaveARouteId = sanitised.hasRouteId() && sanitised.getFormattedRouteId();\n const commands = (weHaveARouteId) ?\n [urlSegments[0].path, sanitised.getFormattedRouteId(), sanitised.getFormattedParameters()] :\n [urlSegments[0].path, sanitised.getFormattedParameters()];\n console.log(\"redirect path\", commands);\n return this.router.createUrlTree(commands);\n }\n\n protected getChildPath(activatedRoute: ActivatedRouteSnapshot): any[] {\n return _.flatten(activatedRoute.children.map(child => child.url));\n }\n\n protected createRouteParameters(parameters: ParameterSnapshot): any[] {\n const routeId = parameters.getFormattedRouteId();\n return routeId ?\n [routeId, parameters.getFormattedParameters()] :\n [parameters.getFormattedParameters()];\n }\n\n}\n","import { Injector } from '@angular/core';\nimport { Trace } from '@coolon/pectin';\nimport { Opts } from '@coolon/typescript-utilities';\nimport _ from 'lodash';\nimport { PlaceHistory } from '../place-history';\nimport { Visit } from '../visit';\nimport { ParameterSanitiser } from './parameter-sanitiser';\nimport { ParameterType } from './parameter-type';\nimport { RouteParameterValue } from './route-parameter-value';\n\n\nexport abstract class ParameterDefinition<T, S = T> {\n abstract readonly isRouteId: boolean;\n abstract readonly isArray: boolean;\n\n readonly name: string;\n private remember: boolean;\n private defaultValue: S;\n\n constructor(readonly propertyName: string, readonly type: ParameterType<T>, options: ParameterDefinition.Options<S>) {\n const opts = Opts.get(options);\n this.name = opts.getOptional('as', propertyName);\n this.remember = opts.getOptional('remember', false);\n this.defaultValue = opts.getOptional('defaultValue', null);\n }\n\n getSanitiser(injector: Injector): ParameterSanitiser<S> {\n if (this.remember || !_.isNil(this.defaultValue)) {\n return new ParameterDefinition.DefaultParameterSanitiser(this.remember, this.defaultValue, injector.get(PlaceHistory));\n } else {\n return null;\n }\n }\n}\n\nexport namespace ParameterDefinition {\n\n export interface Options<T> {\n as?: string;\n optional?: boolean;\n remember?: boolean;\n defaultValue?: T;\n // sanitiser?: Constructable<ParameterSanitiser<T>> | ParameterSanitiser.Options<T>;\n }\n\n export class RouteId<T> extends ParameterDefinition<T> {\n readonly isRouteId = true;\n readonly isArray = false;\n }\n\n export class ValueParameter<T> extends ParameterDefinition<T> {\n readonly isRouteId = false;\n readonly isArray = false;\n }\n\n export class ArrayParameter<T> extends ParameterDefinition<T, T[]> {\n readonly isRouteId = false;\n readonly isArray = true;\n }\n\n\n export class DefaultParameterSanitiser<T, S> implements ParameterSanitiser<S> {\n\n constructor(readonly remember: boolean, readonly defaultValue: S, readonly placeHistory: PlaceHistory) {\n }\n\n sanitise(parameter: RouteParameterValue<S, any, any>, visit?: Visit): Promise<S> | S {\n let value = parameter.value;\n if (parameter.isMissing()) {\n const previousVisit = _.first(this.placeHistory.getHistory(visit.placeDefinition));\n if (this.remember && previousVisit) {\n value = previousVisit.getValueOf(parameter.definition);\n }\n return parameter.isEmptyValue(value) ? this.defaultValue : value;\n } else {\n return value;\n }\n }\n }\n\n}\n","import { Injector } from '@angular/core';\nimport { ParamMap } from '@angular/router';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\nimport _ from 'lodash';\nimport { Visit } from '../visit';\nimport { ParameterDefinition } from './parameter-definition.class';\n\nexport abstract class RouteParameterValue<S, T, R extends string | string[]> {\n constructor(readonly definition: ParameterDefinition<T, S>, protected readonly rawValue: R) {\n }\n\n abstract readonly value: S;\n\n isRouteId(): boolean {\n return this.definition.isRouteId;\n }\n\n hasChanged(otherValue: S): boolean {\n return this.isEmpty() ?\n !this.isEmptyValue(otherValue) :\n this.isEmptyValue(otherValue) || !this.isSameValue(otherValue);\n }\n\n /**\n * Return's true if the current value is empty.\n */\n isEmpty(): boolean {\n return this.isEmptyValue(this.value);\n }\n\n /**\n * Returns true if the rawValue is undefined. This\n */\n isMissing(): boolean {\n return _.isUndefined(this.rawValue);\n }\n\n abstract isSameValue(otherValue: S): boolean;\n\n abstract formattedValue(): string | string[];\n\n abstract replace(value: S): RouteParameterValue<S, T, any>;\n\n abstract isEmptyValue(value: S): boolean;\n\n async sanitise(visit: Visit, injector: Injector): Promise<S> {\n const sanitiser = this.definition.getSanitiser(injector);\n if (sanitiser) {\n return sanitiser.sanitise(this, visit);\n } else {\n return this.value;\n }\n }\n}\n\n\nexport namespace RouteParameterValue {\n\n export function create<T>(def: ParameterDefinition<T, any>, paramMap: ParamMap): RouteParameterValue<any, any, any> {\n // NOTE: Using undefined is important as it triggers the isMissing flag which is used by defaultValue and remember flags\n return def.isArray ?\n new RouteParameterValue.Array<T>(def, paramMap.has(def.name) ? paramMap.getAll(def.name) : undefined) :\n new RouteParameterValue.Scalar<T>(def, paramMap.has(def.name) ? paramMap.get(def.name) : undefined);\n }\n\n export class Scalar<T> extends RouteParameterValue<T, T, string> {\n\n @Memoize()\n get value(): T {\n return this.definition.type.parse(this.rawValue);\n }\n\n isSameValue(otherValue: T): boolean {\n return this.value === otherValue;\n }\n\n replace(value: T): RouteParameterValue<T, T, string> {\n return new RouteParameterValue.Scalar<T>(this.definition, this.isEmptyValue(value) ? undefined : this.definition.type.format(value));\n }\n\n formattedValue(): string {\n return this.isEmpty() ? undefined : this.definition.type.format(this.value);\n }\n\n isEmptyValue(value: T): boolean {\n return _.isNil(value);\n }\n }\n\n export class Array<T> extends RouteParameterValue<T[], T, string[]> {\n\n @Memoize()\n get value(): T[] {\n return (this.rawValue || [])\n .filter(s => !_.isEmpty(s))\n .map(raw => this.definition.type.parse(raw));\n }\n\n isSameValue(otherValue: T[]): boolean {\n return _.isEqual(this.value, otherValue);\n }\n\n replace(value: T[]): RouteParameterValue<T[], T, string[]> {\n return new RouteParameterValue.Array<T>(this.definition, this.isEmptyValue(value) ? undefined : value.map(v => this.definition.type.format(v)));\n }\n\n formattedValue(): string[] {\n return this.isEmpty() ? [] : this.value.map(v => this.definition.type.format(v));\n }\n\n isEmptyValue(value: T[]): boolean {\n return _.isNil(value) || value.length < 1;\n }\n\n }\n}\n","import { Injector } from '@angular/core';\nimport { ParamMap, UrlSegment } from '@angular/router';\nimport { Trace } from '@coolon/pectin';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\nimport { PlaceDefinition } from '../place-definition';\nimport { Visit } from '../visit';\nimport { ParameterDefinition } from './parameter-definition.class';\nimport { RouteParameterValue } from './route-parameter-value';\n\nexport class ParameterSnapshot implements Visit {\n\n constructor(readonly placeDefinition: PlaceDefinition, private readonly parameters: RouteParameterValue<any, any, any>[]) {\n }\n\n hasChanged(other: ParameterSnapshot, debug = false): boolean {\n const changed = this.parameters.find((r) => {\n return r.hasChanged(other.getValueOf(r.definition));\n });\n if (changed && debug) {\n console.log({\n name: changed.definition.name,\n mine: changed.value,\n theirs: other.getValueOf(changed.definition)\n });\n }\n return !!changed;\n }\n\n @Memoize()\n getParameter<T, S>(parameterDef: ParameterDefinition<T, S>): RouteParameterValue<S, T, any> {\n return this.parameters.find(r => r.definition === parameterDef);\n }\n\n @Memoize()\n getValueOf<T, S>(parameterDef: ParameterDefinition<T, S>): S {\n const resolvedParameter = this.getParameter(parameterDef);\n return resolvedParameter ? resolvedParameter.value : null;\n }\n\n getRouteIdValue(): any {\n return this.getRouteIdParameter() ? this.getRouteIdParameter().value : null;\n }\n\n @Memoize()\n getParameterValue(name: string): any {\n const resolvedParameter = this.parameters.find(r => r.definition.name === name);\n return resolvedParameter ? resolvedParameter.value : null;\n }\n\n @Memoize()\n private getRouteIdParameter(): RouteParameterValue.Scalar<any> {\n // RouteId's are never arrays: see parameter-decorators.ts createDefinition methods. It would be nice to\n // capture this in the type system though\n return this.parameters.find(p => p.definition.isRouteId) as RouteParameterValue.Scalar<any>;\n }\n\n @Memoize()\n private getRouteParameters(): RouteParameterValue<any, any, any>[] {\n return this.parameters.filter(r => !r.definition.isRouteId);\n }\n\n hasRouteId() {\n return !!this.getRouteIdParameter();\n }\n\n getFormattedRouteId(): string {\n const routeIdParam = this.getRouteIdParameter();\n return routeIdParam ? routeIdParam.formattedValue() : null;\n }\n\n getNonEmptyParameters() {\n return this.parameters.filter(p => !p.isEmpty());\n }\n\n getFormattedParameters() {\n const params = {};\n const routeIdParam = this.getNonEmptyParameters()\n .filter(p => !p.definition.isRouteId)\n .forEach(p => params[p.definition.name] = p.formattedValue());\n return params;\n }\n\n getAllParameters() {\n const params = {};\n const routeIdParam = this.parameters.forEach(p => {\n params[p.definition.name] = p.value;\n });\n return params;\n }\n\n replace<T, S>(parameter: ParameterDefinition<T, S>, value: S): ParameterSnapshot {\n return new ParameterSnapshot(this.placeDefinition, this.parameters.map(p => {\n return p.definition === parameter ? p.replace(value) : p;\n }));\n }\n\n async sanitise(injector: Injector): Promise<ParameterSnapshot> {\n if (this.hasRouteId()) {\n const routeId = this.getRouteIdParameter();\n const sanitisedValue = await routeId.sanitise(this, injector);\n if (routeId.hasChanged(sanitisedValue)) {\n // if the route id has changed we redirect immediately as other\n // parameter sanitisers might use it.\n return this.replace(routeId.definition, sanitisedValue);\n }\n }\n let result: ParameterSnapshot = this;\n const routeParameters = this.getRouteParameters();\n for (let i = 0; i < routeParameters.length; i++) {\n const routeParameter = routeParameters[i];\n const sanitisedValue = await routeParameter.sanitise(this, injector);\n if (routeParameter.hasChanged(sanitisedValue)) {\n result = result.replace(routeParameter.definition, sanitisedValue);\n }\n }\n return result;\n }\n\n}\n\nexport namespace ParameterSnapshot {\n\n export function create(placeDef: PlaceDefinition, params: ParamMap, urlSegments: UrlSegment[]): ParameterSnapshot {\n const paramMap = new ConsolidatedParameterMap(params, urlSegments);\n const resolvedParameters = placeDef.getRouteParameters().map(def => RouteParameterValue.create(def, paramMap));\n return new ParameterSnapshot(placeDef, resolvedParameters);\n }\n\n /**\n * This a work around for the fact that an activated route with multiple segments doesn't\n * include the segment params in the paramMap as well as each segment returns an empty\n * param map even when `parameter`s has content.\n */\n class ConsolidatedParameterMap implements ParamMap {\n\n private paramMaps: ParamMap[];\n\n constructor(paramMap: ParamMap, urlSegments: UrlSegment[]) {\n this.paramMaps = [paramMap].concat(\n (urlSegments || []).map(s => new ParamMapAdapter(s.parameters))\n ).filter(m => !!m); // the activated route param map can be null\n }\n\n get(name: string): string | null {\n return this.paramMaps.find(m => m.has(name)).get(name);\n }\n\n getAll(name: string): string[] {\n return this.paramMaps.find(m => m.has(name)).getAll(name);\n }\n\n has(name: string): boolean {\n return !!this.paramMaps.find(m => m.has(name));\n }\n\n @Memoize()\n get keys(): string[] {\n return this.paramMaps.reduce((result, params) => result.concat(params.keys), []);\n }\n }\n\n class ParamMapAdapter implements ParamMap {\n constructor(private readonly params: { [p: string]: string }) {\n }\n\n get(name: string): string | null {\n return this.params[name];\n }\n\n getAll(name: string): string[] {\n const value = this.get(name);\n return Array.isArray(value) ? value : [value];\n }\n\n has(name: string): boolean {\n return this.keys.includes(name);\n }\n\n get keys(): string[] {\n return Object.keys(this.params);\n }\n\n }\n\n\n}\n","import { animate, group, query, style, transition, trigger } from '@angular/animations';\n\n// Freezes the state of the components at the start of the animation.\nconst animationStartStyle = style({ position: 'absolute', top: '0', left: '0', bottom: '0', right: '0' });\n\nconst left = [\n query(':enter, :leave', animationStartStyle, { optional: true }),\n group([\n query(':enter', [\n style({ transform: 'translateX(-100%)' }),\n animate('{{duration}} ease-out', style({ transform: 'translateX(0%)' }))\n ], {\n optional: true\n }),\n query(':leave', [\n style({ transform: 'translateX(0%)' }),\n animate('{{duration}} ease-out', style({ transform: 'translateX(100%)' }))\n ], {\n optional: true\n })\n ])\n];\n\nconst right = [\n query(':enter, :leave', animationStartStyle, { optional: true }),\n group([\n query(':enter', [\n style({ transform: 'translateX(100%)' }),\n animate('{{duration}} ease-out', style({ transform: 'translateX(0%)' }))\n ], {\n optional: true\n }),\n query(':leave', [style({ transform: 'translateX(0%)' }), animate('{{duration}} ease-out', style({ transform: 'translateX(-100%)' }))], {\n optional: true\n })\n ])\n];\n\nexport function leftRightPlaceAnimation(duration: string) {\n return trigger('routeAnimations', [\n transition(':increment', right, { params: { duration: duration } }),\n transition(':decrement', left, { params: { duration: duration } })\n ]);\n}\n\nexport const LEFT_RIGHT_PLACE_ANIMATION = leftRightPlaceAnimation('0.3s');\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { ActivatedRoute, RouterOutlet } from '@angular/router';\nimport { BooleanValueModelChain, Dsl, Guard, MutableValueModel, ValueModel } from '@coolon/pectin';\nimport { DisposableComponent } from '../../../components/disposable-component';\nimport { PlaceComponent } from '../../place-component';\nimport { PlaceDefinition } from '../../place-definition';\nimport { PlaceHistory } from '../../place-history';\nimport { PlaceRouter } from '../../place-router';\n\nimport { ParameterSnapshot } from '../../route/parameter-snapshot';\nimport { LEFT_RIGHT_PLACE_ANIMATION } from './route-animations';\n\n// Quick hack to avoid circular references between this and PlaceComponents.\ninterface PlaceRef {\n readonly placeDefinition: PlaceDefinition\n\n initialiseBindings(param: ValueModel<ParameterSnapshot>): void;\n\n onPlaceReady(): void;\n}\n\n@Component({\n selector: 'angular-ui-powerups-place-outlet',\n templateUrl: './place-outlet.component.html',\n styleUrls: ['./place-outlet.component.scss'],\n animations: [LEFT_RIGHT_PLACE_ANIMATION]\n})\nexport class PlaceOutletComponent extends DisposableComponent implements OnInit {\n\n @Input()\n animate = true;\n\n @ViewChild('routeOutlet', { static: true })\n routerOut: RouterOutlet;\n\n private readonly _activePlace = new MutableValueModel<PlaceComponent>();\n\n private readonly _incomingRouteChange = new Guard();\n private readonly _inOutletUpdate = new Guard();\n private readonly _activatedRouteModel = new MutableValueModel<ActivatedRoute>();\n private readonly _placeDefinition = new MutableValueModel<PlaceDefinition>();\n\n readonly _resolvedParameters = new MutableValueModel<ParameterSnapshot>();\n private placeConfigured: BooleanValueModelChain;\n\n constructor(private readonly router: PlaceRouter, private readonly placeHistory: PlaceHistory) {\n super();\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n\n const paramMap = chain(this._activatedRouteModel).pullObservableValue(ar => ar.paramMap);\n const urls = chain(this._activatedRouteModel).pullObservableValue(ar => ar.url);\n\n this.placeConfigured = valueOf.all(\n chain(this._inOutletUpdate).isFalsey(),\n this._placeDefinition,\n paramMap,\n urls\n ).areTruthy();\n\n when.anyOf(paramMap, urls).changes(() => {\n const snapshot = ParameterSnapshot.create(this._placeDefinition.value, paramMap.value, urls.value);\n this._incomingRouteChange.whileTrue(() => {\n this._resolvedParameters.value = snapshot;\n this.placeHistory.add(snapshot);\n });\n }, {\n postponeUntil: this.placeConfigured\n });\n\n when.valueOf(this._resolvedParameters).changes((next, previous) => {\n this.placeHistory.add(next); // the above route change doesn't seem to propagate back in, so I'm add the state to the history manually for now.\n this.pushChangesToRoute(next, previous);\n }, {\n unless: this.incomingRouteChange\n });\n\n // const txo = new TransactionObserver().onEvent(e => console.log(e.toString()));\n // txo.observe('paramMap', paramMap);\n // txo.observe('urls', urls);\n // txo.observe('this._resolvedParameters', this._resolvedParameters);\n }\n\n ngOnInit() {\n }\n\n get incomingRouteChange(): ValueModel<boolean> {\n return this._incomingRouteChange;\n }\n\n get activePlace(): ValueModel<PlaceComponent> {\n return this._activePlace.readonly;\n }\n\n onOutletActivated(routerOutlet: RouterOutlet, place: PlaceComponent) {\n this._inOutletUpdate.whileTrue(() => {\n try {\n this._activePlace.value = place;\n this._activatedRouteModel.value = routerOutlet.activatedRoute;\n this._placeDefinition.value = place.placeDefinition;\n place.initialiseBindings(this._resolvedParameters);\n } catch (error) {\n console.error(error);\n }\n });\n if (!this.animate) {\n // we're not animating so trigger any post animation callbacks now.\n this.animationDone();\n }\n }\n\n onOutletDeactivated(routerOutlet: RouterOutlet, $event: PlaceRef) {\n this._inOutletUpdate.whileTrue(() => {\n this._activePlace.value = null;\n this._activatedRouteModel.value = null;\n this._placeDefinition.value = null;\n });\n }\n\n getPlaceOrder(outlet: RouterOutlet) {\n return this.animate && outlet && outlet.activatedRouteData && outlet.activatedRouteData['placeOrder'];\n }\n\n animationDone() {\n if (this._activePlace.value) {\n this._activePlace.value.onPlaceReady();\n }\n }\n\n pushChangesToRoute(next: ParameterSnapshot, previous: ParameterSnapshot) {\n const activatedRoute = this._activatedRouteModel.value;\n this.router.pushParameterChangesToRoute(activatedRoute, previous, next);\n }\n\n sanitise(snapshot: ParameterSnapshot, callback: (sanitised: ParameterSnapshot) => void) {\n return snapshot;\n }\n\n\n}\n","import { Component } from '@angular/core';\nimport { AbstractPlaceNavigationComponent } from '../abstract-place-navigation.component';\n\n@Component({\n selector: 'angular-ui-powerups-tabbed-place-navigation',\n templateUrl: './tabbed-place-navigation.component.html',\n styleUrls: ['./tabbed-place-navigation.component.scss']\n})\nexport class TabbedPlaceNavigationComponent extends AbstractPlaceNavigationComponent {\n constructor() {\n super();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatProgressSpinnerModule } from '@angular/material';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { RouterModule } from '@angular/router';\nimport { BusyOverlayComponent } from './components/busy-overlay/busy-overlay.component';\nimport { EmptyStateComponent } from './components/empty-state/empty-state.component';\nimport { ListPlaceNavComponent } from './components/list-place-nav/list-place-nav.component';\nimport { PlaceOutletComponent } from './components/place-outlet/place-outlet.component';\nimport { TabbedPlaceNavigationComponent } from './components/tabbed-place-navigation/tabbed-place-navigation.component';\n\n@NgModule({\n imports: [\n CommonModule,\n BrowserAnimationsModule,\n MatProgressSpinnerModule,\n RouterModule,\n MatTabsModule,\n MatListModule,\n MatTooltipModule,\n MatIconModule\n ],\n declarations: [\n EmptyStateComponent,\n BusyOverlayComponent,\n PlaceOutletComponent,\n TabbedPlaceNavigationComponent,\n ListPlaceNavComponent\n ],\n entryComponents: [BusyOverlayComponent],\n exports: [\n BusyOverlayComponent,\n PlaceOutletComponent,\n EmptyStateComponent,\n TabbedPlaceNavigationComponent,\n ListPlaceNavComponent\n ],\n providers: []\n})\nexport class PlaceModule {\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatFormFieldModule, MatInputModule, MatSelectModule } from '@angular/material';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { NumberInputComponent } from './components/forms/number-input/number-input.component';\nimport { PasswordInputComponent } from './components/forms/password-input/password-input.component';\nimport { SelectInputComponent } from './components/forms/select-input/select-input.component';\nimport { StringInputComponent } from './components/forms/string-input/string-input.component';\nimport { CommandDirective } from './directives/command.directive';\nimport { FocusBindingDirective } from './directives/focus-binding.directive';\nimport { InteractionModule } from './interaction/interaction.module';\nimport { PlaceModule } from './place/place.module';\n\n@NgModule({\n declarations: [\n CommandDirective,\n FocusBindingDirective,\n NumberInputComponent,\n StringInputComponent,\n PasswordInputComponent,\n SelectInputComponent\n ],\n imports: [\n CommonModule,\n BrowserAnimationsModule,\n FormsModule,\n MatInputModule,\n MatFormFieldModule,\n MatSelectModule,\n MatTabsModule,\n PlaceModule,\n InteractionModule\n ],\n exports: [\n CommandDirective,\n FocusBindingDirective,\n NumberInputComponent,\n StringInputComponent,\n PasswordInputComponent,\n SelectInputComponent,\n InteractionModule,\n PlaceModule\n ]\n\n})\nexport class AngularUiPowerupsModule {\n}\n","import { animate, AnimationStyleMetadata, style, transition, trigger } from '@angular/animations';\nimport { OptionsHelper } from '@coolon/pectin';\n\nconst defaultHiddenStyleDef = style({\n opacity: 0,\n 'height': '0',\n paddingTop: '0',\n paddingBottom: '0'\n});\n\nexport function slideDownAndUpAnimation(triggerName: string, options?: {\n duration?: string;\n hiddenStyleDef?: AnimationStyleMetadata;\n}) {\n // SEE to fix this: https://github.com/angular/angular/issues/15587#issuecomment-351510501\n const duration = OptionsHelper.get(options).getOptional('duration', '100ms');\n const hiddenStyleDef = OptionsHelper.get(options).getOptional('hiddenStyleDef', defaultHiddenStyleDef);\n return trigger(triggerName, [\n transition(':enter', [hiddenStyleDef, animate('100ms')]),\n transition(':leave', [animate('100ms', hiddenStyleDef)])\n ]);\n}\n\n// export function slideOutLeftAnimation(triggerName: string, duration:string = \"100ms\") {\n// return trigger(triggerName, [\n// state('true', style(\n// {\n// 'width': '*',\n// 'overflow': 'hidden',\n// 'opacity': '1'\n// })),\n// state('false', style({\n// 'width': '0px',\n// 'overflow': 'hidden',\n// 'opacity': '0'\n// })),\n// transition('* => *', [animate(duration)])\n// ]);\n// }\n","export class Dimension {\n constructor(readonly width: number, readonly height: number) {\n }\n}\n","export class Point {\n\n static from(data: { x: number, y: number }) {\n return new Point(data.x, data.y);\n }\n\n constructor(readonly x: number, readonly y: number) {\n }\n\n translate(x: number, y: number): Point {\n return new Point(this.x + x, this.y + y);\n }\n}\n","import { Dimension } from './dimension.class';\nimport { Point } from './point.class';\n\nexport class Bounds extends Dimension {\n\n constructor(readonly top: number, readonly left: number, readonly width: number, readonly height: number) {\n super(width, height);\n }\n\n relativePositionOf(point: { x: number, y: number } | MouseEvent) {\n if (point instanceof MouseEvent) {\n return new Point(point.clientX - this.left, point.clientY - this.top);\n } else {\n return new Point(point.x - this.left, point.y - this.top);\n }\n }\n}\n\nexport namespace Bounds {\n export function ofElement(element: HTMLElement): Bounds {\n const rect = element.getBoundingClientRect();\n return new Bounds(rect.top, rect.left, rect.width, rect.height);\n }\n}\n\n","import { AfterViewInit, ElementRef, NgZone } from '@angular/core';\nimport { ValueHolder, ValueModel } from '@coolon/pectin';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { DisposableComponent } from './disposable-component';\nimport { Bounds } from './types/bounds.class';\nimport { Point } from './types/point.class';\n\nexport class ResizeAwareComponent extends DisposableComponent implements AfterViewInit {\n\n private _boundsModel = new ValueHolder<Bounds>(new Bounds(0, 0, 0, 0));\n\n constructor(protected readonly elementRef: ElementRef, protected readonly ngZone: NgZone) {\n super();\n }\n\n ngAfterViewInit(): void {\n this.updateBounds();\n const element = this.elementRef.nativeElement;\n const ro = new ResizeObserver((entries, observer) => {\n this.ngZone.run(() => this.updateBounds());\n });\n ro.observe(element);\n this.onDispose(() => ro.disconnect());\n }\n\n get boundsModel(): ValueModel<Bounds> {\n return this._boundsModel.readonly;\n }\n\n get nativeElement() {\n return this.elementRef.nativeElement;\n }\n\n // TODO: Make this handle body scroll\n public relativePositionOf(point: { x: number, y: number } | MouseEvent): Point {\n return this.bounds.relativePositionOf(point);\n }\n\n get bounds(): Bounds {\n return this._boundsModel.value;\n }\n\n private updateBounds() {\n this._boundsModel.value = Bounds.ofElement(this.nativeElement);\n }\n\n\n}\n\nexport namespace ResizeAwareComponent {\n\n}\n","export interface Alert {\n title?(): string;\n\n content(): string[];\n\n ok(): string;\n}\n","import { Alert } from './alert';\n\nexport interface Confirm extends Alert {\n destructive?: () => boolean;\n\n cancel(): string;\n}\n","export interface Result<R, E> {\n // catch(callback: (error: E) => void): Result<R,E>;\n}\n\nexport namespace Result {\n export interface Callback<R, E> {\n then: <T>(result: R) => T;\n catch: <T>(result: E) => T;\n }\n\n}\n\n// const r:Result<string, number> = null;\n\n// r.catch(e => {}).then();\n\n","import { Constructable } from '@coolon/pectin';\nimport { Activity } from '../../activity';\nimport { InteractionContext } from '../../interaction-context';\n\n\nexport interface ActivityOutletContext<D, R, E> {\n interactionContext: InteractionContext,\n activityClass: Constructable<Activity<D, R, E>>,\n activityData: D,\n onDone: (result: R) => void,\n onCancel: (error: E) => void,\n}\n","export interface NavItem {\n title(): string;\n\n icon?(): string;\n\n tooltip?(): string;\n}\n","import { Constructable, lang } from '@coolon/pectin';\nimport * as _ from 'lodash';\nimport { PlaceComponent } from './place-component';\nimport { PlaceDefinition } from './place-definition';\n\nexport function Place(options: Place.Options) {\n return (target: Function) => {\n if (PlaceComponent.isPlaceComponentConstructor(target)) {\n PlaceComponent.injectDefinition(target, new PlaceDefinition(\n target,\n options.path,\n _.isNil(options.authenticate) ? false : options.authenticate,\n options.order,\n options.data,\n PlaceComponent.getRouteParameters(target),\n (options.children || []).map(c => PlaceComponent.getDefinition(c))\n ));\n\n } else {\n lang.illegalState(`${target} must extend PlaceComponent to use the @Place decorator`);\n }\n };\n}\n\nexport namespace Place {\n\n export interface Options {\n path: string,\n order: number;\n data?: { [key: string]: any }, // defaults to true\n authenticate?: boolean, // defaults to true\n children?: Constructable<PlaceComponent>[]\n }\n\n}\n","import { PlaceDefinition } from './place-definition';\n\n// TODO: It'd be nice if we generated a type for this...\nexport interface Visit {\n readonly placeDefinition: PlaceDefinition;\n\n getRouteIdValue(): any;\n\n getParameterValue(name: string): any;\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanDeactivate, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { PlaceComponent } from '../place-component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LeavePlaceGuard implements CanDeactivate<PlaceComponent> {\n\n constructor(private router: Router, private injector: Injector) {\n }\n\n canDeactivate(component: PlaceComponent, currentRoute: ActivatedRouteSnapshot, currentState: RouterStateSnapshot, nextState?: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n // HACK: this will break with child routes...\n const path = `/${component.placeDefinition.path}`;\n // let thisTree = this.router.parseUrl(currentState.url);\n // let nextTree = this.router.parseUrl(nextState.url);\n // console.log({\n // placePath: path,\n // currentRoute: currentRoute.toString(),\n // currentStateUrl: currentState.url,\n // nextStateUrl: nextState.url,\n // currentStateUrlTree: thisTree.root.children[PRIMARY_OUTLET].segments,\n // nextStateUrlTree: nextTree.root.children[PRIMARY_OUTLET].segments\n // });\n\n // nextState is the full path...\n if (!nextState.url.startsWith(path)) {\n return component.canDeactivate();\n } else {\n return true;\n }\n }\n\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { lang, Logger } from '@coolon/pectin';\nimport { Observable } from 'rxjs';\nimport { PlaceComponent } from '../place-component';\nimport { PlaceRouter } from '../place-router';\nimport { ParameterSnapshot } from '../route/parameter-snapshot';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PlaceRouteGuard implements CanActivate {\n\n constructor(private readonly placeRouter: PlaceRouter, private readonly injector: Injector) {\n }\n\n canActivate(activatedRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n if (PlaceComponent.isPlaceComponentConstructor(activatedRoute.component)) {\n const placeDefinition = PlaceComponent.getDefinition(activatedRoute.component);\n const snapshot = ParameterSnapshot.create(placeDefinition, activatedRoute.paramMap, activatedRoute.url);\n return snapshot.sanitise(this.injector).then(sanitised => {\n Logger.get(this).info(\"ParameterSnapshot.sanitise ->\", sanitised.getAllParameters());\n if (sanitised.hasChanged(snapshot, true)) {\n return this.placeRouter.getRedirectUrlTree(activatedRoute, sanitised);\n } else {\n return true;\n }\n });\n } else {\n return lang.illegalState(`expected component to be an instance of PlaceComponent, got ${activatedRoute.component}`);\n }\n }\n\n}\n","export type JsonPrimitive = boolean | number | string;\nexport type AnyJson = JsonPrimitive | null | JsonArray | JsonMap;\n\nexport interface JsonArray extends Array<AnyJson> {\n}\n\nexport interface JsonMap {\n [key: string]: AnyJson;\n}\n\n","import { assert, UseDelegate } from '@coolon/pectin';\nimport { Klass, Opts } from '@coolon/typescript-utilities';\nimport { ROUTE_PARAMETER_LIST_KEY } from '../place-component';\nimport { ParameterDefinition } from './parameter-definition.class';\nimport { ParameterType } from './parameter-type';\n\nexport interface ParameterOptions<T> {\n as?: string;\n optional?: boolean;\n remember?: boolean;\n defaultValue?: T;\n // sanitiser?: Constructable<ParameterSanitiser<T>> | ParameterSanitiser.Options<T>;\n}\n\nexport interface ListParameterOptions<T> {\n as?: string;\n optional?: boolean;\n remember?: boolean;\n defaultValue?: T[];\n // sanitiser?: Constructable<ParameterSanitiser<T[]>> | ParameterSanitiser.Options<T[]>;\n}\n\nexport function RouteId<T extends string | number>(type: ParameterType<T>, options?: ParameterOptions<T>): PropertyDecorator {\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = new ParameterDefinition.RouteId(propertyKey.toString(), type, options);\n Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);\n UseDelegate()(prototype, propertyKey);\n };\n}\n\nexport function RouteParameter<T>(type: ParameterType<T>, options?: ParameterOptions<T>): PropertyDecorator {\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = new ParameterDefinition.ValueParameter(propertyKey.toString(), type, options);\n Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);\n UseDelegate()(prototype, propertyKey);\n };\n}\n\nexport function RouteParameterList<E>(elementType: ParameterType<E>, options?: ListParameterOptions<E>): PropertyDecorator {\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = new ParameterDefinition.ArrayParameter(propertyKey.toString(), elementType, options);\n Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);\n UseDelegate()(prototype, propertyKey);\n };\n}\n","import { Visit } from '../visit';\nimport { RouteParameterValue } from './route-parameter-value';\n\nexport interface ParameterSanitiser<S> {\n sanitise(paramter: RouteParameterValue<S, any, any>, visit?: Visit): Promise<S> | S;\n}\n","import _ from 'lodash';\n\nexport interface ParameterType<T> {\n format(value: T): string;\n\n parse(value: string): T;\n}\n\nexport namespace ParameterType {\n\n class StringType implements ParameterType<string> {\n format(value: string): string {\n return value;\n }\n\n parse(value: string): string {\n return value;\n }\n }\n\n class NumberType implements ParameterType<number> {\n format(value: number): string {\n return `${value}`;\n }\n\n parse(value: string): number {\n return _.isNil(value) || _.isEmpty(value) ? null : +value;\n }\n }\n\n class BooleanType implements ParameterType<boolean> {\n format(value: boolean): string {\n return value ? 'true' : 'false';\n }\n\n parse(value: string): boolean {\n return value === 'true';\n }\n }\n\n export const STRING = new StringType();\n export const NUMBER = new NumberType();\n export const BOOLEAN = new BooleanType();\n}\n"],"names":["tslib_1.__extends","GarbageCollector","DelegatingFormValueModel","EventEmitter","Input","Output","HostListener","tslib_1.__decorate","UseDelegate","ValueModel","Component","ListModel","StoreInListModel","assert","UnaryCommand","lang","Directive","ElementRef","Inject","Logger","NgZone","DOCUMENT","InjectionToken","Injector","ComponentFactoryResolver","ViewContainerRef","ActivityOutletComponent","EventListenerList","DelegatingValueModel","MutableListModel","Deferred","ViewChild","ViewChildren","ActivityContainerComponent","Injectable","MatDialog","NgModule","CommonModule","MatButtonModule","MatDialogModule","MatTabsModule","PortalModule","StoreInValueModel","_","Binding","Memoize","PlaceComponent","Klass","HostBinding","Router","Opts","ParameterDefinition","RouteParameterValue","ParameterSnapshot","style","query","group","animate","trigger","transition","MutableValueModel","Guard","BrowserAnimationsModule","MatProgressSpinnerModule","RouterModule","MatListModule","MatTooltipModule","MatIconModule","FormsModule","MatInputModule","MatFormFieldModule","MatSelectModule","OptionsHelper","Bounds","ValueHolder","_.isNil","ParameterType"],"mappings":"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"}