@coolon/angular-ui-powerups 0.0.109 → 0.0.111
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/coolon-angular-ui-powerups.umd.js +21 -18
- package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
- package/esm2015/coolon-angular-ui-powerups.js +2 -2
- package/esm2015/coolon-angular-ui-powerups.js.map +1 -0
- package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -0
- package/esm2015/index.js +2 -2
- package/esm2015/index.js.map +1 -0
- package/esm2015/index.metadata.json +1 -0
- package/esm2015/lib/angular-ui-powerups.module.js +1 -1
- package/esm2015/lib/angular-ui-powerups.module.js.map +1 -0
- package/esm2015/lib/angular-ui-powerups.module.metadata.json +1 -0
- package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -0
- package/esm2015/lib/animations/index.js +2 -2
- package/esm2015/lib/animations/index.js.map +1 -0
- package/esm2015/lib/animations/index.metadata.json +1 -0
- package/esm2015/lib/animations/slide-animations.js +31 -0
- package/esm2015/lib/animations/slide-animations.js.map +1 -0
- package/esm2015/lib/animations/slide-animations.metadata.json +1 -0
- package/esm2015/lib/components/components.module.js +1 -1
- package/esm2015/lib/components/components.module.js.map +1 -0
- package/esm2015/lib/components/components.module.metadata.json +1 -0
- package/esm2015/lib/components/components.module.ngfactory.js.map +1 -0
- package/esm2015/lib/components/disposable-component.js +1 -1
- package/esm2015/lib/components/disposable-component.js.map +1 -0
- package/esm2015/lib/components/disposable-component.metadata.json +1 -0
- package/esm2015/lib/components/forms/abstract-input.component.js +1 -1
- package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -0
- package/esm2015/lib/components/forms/abstract-input.component.metadata.json +1 -0
- package/esm2015/lib/components/forms/number-input/number-input.component.js +1 -1
- package/esm2015/lib/components/forms/number-input/number-input.component.js.map +1 -0
- package/esm2015/lib/components/forms/number-input/number-input.component.metadata.json +1 -0
- package/esm2015/lib/components/forms/number-input/number-input.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/forms/number-input/number-input.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/components/forms/password-input/password-input.component.js +1 -1
- package/esm2015/lib/components/forms/password-input/password-input.component.js.map +1 -0
- package/esm2015/lib/components/forms/password-input/password-input.component.metadata.json +1 -0
- package/esm2015/lib/components/forms/password-input/password-input.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/forms/password-input/password-input.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/components/forms/select-input/select-input.component.js +1 -1
- package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -0
- package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -0
- package/esm2015/lib/components/forms/select-input/select-input.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/forms/select-input/select-input.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/components/forms/string-input/string-input.component.js +1 -1
- package/esm2015/lib/components/forms/string-input/string-input.component.js.map +1 -0
- package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -0
- package/esm2015/lib/components/forms/string-input/string-input.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/forms/string-input/string-input.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/components/index.js +1 -1
- package/esm2015/lib/components/index.js.map +1 -0
- package/esm2015/lib/components/index.metadata.json +1 -0
- package/esm2015/lib/components/noop/noop.component.js +1 -1
- package/esm2015/lib/components/noop/noop.component.js.map +1 -0
- package/esm2015/lib/components/noop/noop.component.metadata.json +1 -0
- package/esm2015/lib/components/noop/noop.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/noop/noop.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/components/resize-aware.component.js +1 -1
- package/esm2015/lib/components/resize-aware.component.js.map +1 -0
- package/esm2015/lib/components/resize-aware.component.metadata.json +1 -0
- package/esm2015/lib/components/types/bounds.class.js +1 -1
- package/esm2015/lib/components/types/bounds.class.js.map +1 -0
- package/esm2015/lib/components/types/bounds.class.metadata.json +1 -0
- package/esm2015/lib/components/types/dimension.class.js +1 -1
- package/esm2015/lib/components/types/dimension.class.js.map +1 -0
- package/esm2015/lib/components/types/dimension.class.metadata.json +1 -0
- package/esm2015/lib/components/types/point.class.js +1 -1
- package/esm2015/lib/components/types/point.class.js.map +1 -0
- package/esm2015/lib/components/types/point.class.metadata.json +1 -0
- package/esm2015/lib/directives/command.directive.js +1 -1
- package/esm2015/lib/directives/command.directive.js.map +1 -0
- package/esm2015/lib/directives/command.directive.metadata.json +1 -0
- package/esm2015/lib/directives/command.directive.ngfactory.js.map +1 -0
- package/esm2015/lib/directives/directives.module.js +1 -1
- package/esm2015/lib/directives/directives.module.js.map +1 -0
- package/esm2015/lib/directives/directives.module.metadata.json +1 -0
- package/esm2015/lib/directives/directives.module.ngfactory.js.map +1 -0
- package/esm2015/lib/directives/focus-binding.directive.js +1 -1
- package/esm2015/lib/directives/focus-binding.directive.js.map +1 -0
- package/esm2015/lib/directives/focus-binding.directive.metadata.json +1 -0
- package/esm2015/lib/directives/focus-binding.directive.ngfactory.js.map +1 -0
- package/esm2015/lib/directives/index.js +1 -1
- package/esm2015/lib/directives/index.js.map +1 -0
- package/esm2015/lib/directives/index.metadata.json +1 -0
- package/esm2015/lib/interaction/abstract-activity.js +1 -1
- package/esm2015/lib/interaction/abstract-activity.js.map +1 -0
- package/esm2015/lib/interaction/abstract-activity.metadata.json +1 -0
- package/esm2015/lib/interaction/activity.js +1 -1
- package/esm2015/lib/interaction/activity.js.map +1 -0
- package/esm2015/lib/interaction/activity.metadata.json +1 -0
- package/esm2015/lib/interaction/alert.js +1 -1
- package/esm2015/lib/interaction/alert.js.map +1 -0
- package/esm2015/lib/interaction/alert.metadata.json +1 -0
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +1 -1
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -0
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -0
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.ngfactory.js.map +1 -0
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet-context.js +1 -1
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet-context.js.map +1 -0
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet-context.metadata.json +1 -0
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.js +1 -1
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.js.map +1 -0
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.metadata.json +1 -0
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.ngfactory.js.map +1 -0
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +1 -1
- package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js.map +1 -0
- package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.metadata.json +1 -0
- package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.ngfactory.js.map +1 -0
- package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +1 -1
- package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js.map +1 -0
- package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.metadata.json +1 -0
- package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.ngfactory.js.map +1 -0
- package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -1
- package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js.map +1 -0
- package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.metadata.json +1 -0
- package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.ngfactory.js.map +1 -0
- package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +1 -1
- package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js.map +1 -0
- package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.metadata.json +1 -0
- package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.ngfactory.js.map +1 -0
- package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/interaction/confirm.js +1 -1
- package/esm2015/lib/interaction/confirm.js.map +1 -0
- package/esm2015/lib/interaction/confirm.metadata.json +1 -0
- package/esm2015/lib/interaction/index.js +1 -1
- package/esm2015/lib/interaction/index.js.map +1 -0
- package/esm2015/lib/interaction/index.metadata.json +1 -0
- package/esm2015/lib/interaction/interaction-context-base.js +1 -1
- package/esm2015/lib/interaction/interaction-context-base.js.map +1 -0
- package/esm2015/lib/interaction/interaction-context-base.metadata.json +1 -0
- package/esm2015/lib/interaction/interaction-context.js +1 -1
- package/esm2015/lib/interaction/interaction-context.js.map +1 -0
- package/esm2015/lib/interaction/interaction-context.metadata.json +1 -0
- package/esm2015/lib/interaction/interaction.module.js +1 -1
- package/esm2015/lib/interaction/interaction.module.js.map +1 -0
- package/esm2015/lib/interaction/interaction.module.metadata.json +1 -0
- package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -0
- package/esm2015/lib/interaction/result.js +1 -1
- package/esm2015/lib/interaction/result.js.map +1 -0
- package/esm2015/lib/interaction/result.metadata.json +1 -0
- package/esm2015/lib/interaction/services/interaction.service.js +1 -1
- package/esm2015/lib/interaction/services/interaction.service.js.map +1 -0
- package/esm2015/lib/interaction/services/interaction.service.metadata.json +1 -0
- package/esm2015/lib/interaction/services/interaction.service.ngfactory.js.map +1 -0
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +1 -1
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js.map +1 -0
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.metadata.json +1 -0
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.ngfactory.js.map +1 -0
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +1 -1
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js.map +1 -0
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.metadata.json +1 -0
- package/esm2015/lib/interaction/services/modal-interaction-context.factory.js +1 -1
- package/esm2015/lib/interaction/services/modal-interaction-context.factory.js.map +1 -0
- package/esm2015/lib/interaction/services/modal-interaction-context.factory.metadata.json +1 -0
- package/esm2015/lib/place/components/abstract-place-navigation.component.js +1 -1
- package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -0
- package/esm2015/lib/place/components/abstract-place-navigation.component.metadata.json +1 -0
- package/esm2015/lib/place/components/abstract-place-navigation.component.ngfactory.js.map +1 -0
- package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.js +1 -1
- package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.js.map +1 -0
- package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.metadata.json +1 -0
- package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.ngfactory.js.map +1 -0
- package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/place/components/empty-state/empty-state.component.js +1 -1
- package/esm2015/lib/place/components/empty-state/empty-state.component.js.map +1 -0
- package/esm2015/lib/place/components/empty-state/empty-state.component.metadata.json +1 -0
- package/esm2015/lib/place/components/empty-state/empty-state.component.ngfactory.js.map +1 -0
- package/esm2015/lib/place/components/empty-state/empty-state.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +1 -1
- package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -0
- package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.metadata.json +1 -0
- package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.ngfactory.js.map +1 -0
- package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +1 -1
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js.map +1 -0
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.metadata.json +1 -0
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.ngfactory.js.map +1 -0
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/place/components/place-outlet/route-animations.js +1 -1
- package/esm2015/lib/place/components/place-outlet/route-animations.js.map +1 -0
- package/esm2015/lib/place/components/place-outlet/route-animations.metadata.json +1 -0
- package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
- package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -0
- package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.metadata.json +1 -0
- package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.ngfactory.js.map +1 -0
- package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/place/guards/consolidated-param-map.js +1 -1
- package/esm2015/lib/place/guards/consolidated-param-map.js.map +1 -0
- package/esm2015/lib/place/guards/consolidated-param-map.metadata.json +1 -0
- package/esm2015/lib/place/guards/navigation-state.js +1 -1
- package/esm2015/lib/place/guards/navigation-state.js.map +1 -0
- package/esm2015/lib/place/guards/navigation-state.metadata.json +1 -0
- package/esm2015/lib/place/guards/noop-auth-guard.service.js +1 -1
- package/esm2015/lib/place/guards/noop-auth-guard.service.js.map +1 -0
- package/esm2015/lib/place/guards/noop-auth-guard.service.metadata.json +1 -0
- package/esm2015/lib/place/guards/noop-auth-guard.service.ngfactory.js.map +1 -0
- package/esm2015/lib/place/guards/place-component-deactivation-handler.js +1 -1
- package/esm2015/lib/place/guards/place-component-deactivation-handler.js.map +1 -0
- package/esm2015/lib/place/guards/place-component-deactivation-handler.metadata.json +1 -0
- package/esm2015/lib/place/guards/place.guard.js +1 -1
- package/esm2015/lib/place/guards/place.guard.js.map +1 -0
- package/esm2015/lib/place/guards/place.guard.metadata.json +1 -0
- package/esm2015/lib/place/index.js +1 -1
- package/esm2015/lib/place/index.js.map +1 -0
- package/esm2015/lib/place/index.metadata.json +1 -0
- package/esm2015/lib/place/nav-item.js +1 -1
- package/esm2015/lib/place/nav-item.js.map +1 -0
- package/esm2015/lib/place/nav-item.metadata.json +1 -0
- package/esm2015/lib/place/place-component.js +1 -1
- package/esm2015/lib/place/place-component.js.map +1 -0
- package/esm2015/lib/place/place-component.metadata.json +1 -0
- package/esm2015/lib/place/place-config.js +1 -1
- package/esm2015/lib/place/place-config.js.map +1 -0
- package/esm2015/lib/place/place-config.metadata.json +1 -0
- package/esm2015/lib/place/place-definition.js +1 -1
- package/esm2015/lib/place/place-definition.js.map +1 -0
- package/esm2015/lib/place/place-definition.metadata.json +1 -0
- package/esm2015/lib/place/place-history.js +1 -1
- package/esm2015/lib/place/place-history.js.map +1 -0
- package/esm2015/lib/place/place-history.metadata.json +1 -0
- package/esm2015/lib/place/place-history.ngfactory.js.map +1 -0
- package/esm2015/lib/place/place-router.js +1 -1
- package/esm2015/lib/place/place-router.js.map +1 -0
- package/esm2015/lib/place/place-router.metadata.json +1 -0
- package/esm2015/lib/place/place-router.ngfactory.js.map +1 -0
- package/esm2015/lib/place/place.decorator.js +1 -1
- package/esm2015/lib/place/place.decorator.js.map +1 -0
- package/esm2015/lib/place/place.decorator.metadata.json +1 -0
- package/esm2015/lib/place/place.module.js +1 -1
- package/esm2015/lib/place/place.module.js.map +1 -0
- package/esm2015/lib/place/place.module.metadata.json +1 -0
- package/esm2015/lib/place/place.module.ngfactory.js.map +1 -0
- package/esm2015/lib/place/route/formatter.js +1 -1
- package/esm2015/lib/place/route/formatter.js.map +1 -0
- package/esm2015/lib/place/route/formatter.metadata.json +1 -0
- package/esm2015/lib/place/route/json-types.js +1 -1
- package/esm2015/lib/place/route/json-types.js.map +1 -0
- package/esm2015/lib/place/route/json-types.metadata.json +1 -0
- package/esm2015/lib/place/route/parameter-decorators.js +1 -1
- package/esm2015/lib/place/route/parameter-decorators.js.map +1 -0
- package/esm2015/lib/place/route/parameter-decorators.metadata.json +1 -0
- package/esm2015/lib/place/route/parameter-definition.class.js +1 -1
- package/esm2015/lib/place/route/parameter-definition.class.js.map +1 -0
- package/esm2015/lib/place/route/parameter-definition.class.metadata.json +1 -0
- package/esm2015/lib/place/route/parameter-sanitiser.js +1 -1
- package/esm2015/lib/place/route/parameter-sanitiser.js.map +1 -0
- package/esm2015/lib/place/route/parameter-sanitiser.metadata.json +1 -0
- package/esm2015/lib/place/route/parameter-snapshot.js +1 -1
- package/esm2015/lib/place/route/parameter-snapshot.js.map +1 -0
- package/esm2015/lib/place/route/parameter-snapshot.metadata.json +1 -0
- package/esm2015/lib/place/route/visit-sanitiser.js +1 -1
- package/esm2015/lib/place/route/visit-sanitiser.js.map +1 -0
- package/esm2015/lib/place/route/visit-sanitiser.metadata.json +1 -0
- package/esm2015/lib/place/url-snapshot.js +1 -1
- package/esm2015/lib/place/url-snapshot.js.map +1 -0
- package/esm2015/lib/place/url-snapshot.metadata.json +1 -0
- package/esm2015/lib/place/visit.js +1 -1
- package/esm2015/lib/place/visit.js.map +1 -0
- package/esm2015/lib/place/visit.metadata.json +1 -0
- package/esm2015/public_api.js +2 -2
- package/esm2015/public_api.js.map +1 -0
- package/esm2015/public_api.metadata.json +1 -0
- package/esm5/coolon-angular-ui-powerups.js +2 -2
- package/esm5/coolon-angular-ui-powerups.js.map +1 -0
- package/esm5/index.js +2 -2
- package/esm5/index.js.map +1 -0
- package/esm5/lib/angular-ui-powerups.module.js +1 -1
- package/esm5/lib/angular-ui-powerups.module.js.map +1 -0
- package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -0
- package/esm5/lib/animations/index.js +2 -2
- package/esm5/lib/animations/index.js.map +1 -0
- package/esm5/lib/animations/slide-animations.js +31 -0
- package/esm5/lib/animations/slide-animations.js.map +1 -0
- package/esm5/lib/components/components.module.js +1 -1
- package/esm5/lib/components/components.module.js.map +1 -0
- package/esm5/lib/components/components.module.ngfactory.js.map +1 -0
- package/esm5/lib/components/disposable-component.js +1 -1
- package/esm5/lib/components/disposable-component.js.map +1 -0
- package/esm5/lib/components/forms/abstract-input.component.js +1 -1
- package/esm5/lib/components/forms/abstract-input.component.js.map +1 -0
- package/esm5/lib/components/forms/number-input/number-input.component.js +1 -1
- package/esm5/lib/components/forms/number-input/number-input.component.js.map +1 -0
- package/esm5/lib/components/forms/number-input/number-input.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/forms/number-input/number-input.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/components/forms/password-input/password-input.component.js +1 -1
- package/esm5/lib/components/forms/password-input/password-input.component.js.map +1 -0
- package/esm5/lib/components/forms/password-input/password-input.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/forms/password-input/password-input.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/components/forms/select-input/select-input.component.js +1 -1
- package/esm5/lib/components/forms/select-input/select-input.component.js.map +1 -0
- package/esm5/lib/components/forms/select-input/select-input.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/forms/select-input/select-input.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/components/forms/string-input/string-input.component.js +1 -1
- package/esm5/lib/components/forms/string-input/string-input.component.js.map +1 -0
- package/esm5/lib/components/forms/string-input/string-input.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/forms/string-input/string-input.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/components/index.js +1 -1
- package/esm5/lib/components/index.js.map +1 -0
- package/esm5/lib/components/noop/noop.component.js +1 -1
- package/esm5/lib/components/noop/noop.component.js.map +1 -0
- package/esm5/lib/components/noop/noop.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/noop/noop.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/components/resize-aware.component.js +1 -1
- package/esm5/lib/components/resize-aware.component.js.map +1 -0
- package/esm5/lib/components/types/bounds.class.js +1 -1
- package/esm5/lib/components/types/bounds.class.js.map +1 -0
- package/esm5/lib/components/types/dimension.class.js +1 -1
- package/esm5/lib/components/types/dimension.class.js.map +1 -0
- package/esm5/lib/components/types/point.class.js +1 -1
- package/esm5/lib/components/types/point.class.js.map +1 -0
- package/esm5/lib/directives/command.directive.js +1 -1
- package/esm5/lib/directives/command.directive.js.map +1 -0
- package/esm5/lib/directives/command.directive.ngfactory.js.map +1 -0
- package/esm5/lib/directives/directives.module.js +1 -1
- package/esm5/lib/directives/directives.module.js.map +1 -0
- package/esm5/lib/directives/directives.module.ngfactory.js.map +1 -0
- package/esm5/lib/directives/focus-binding.directive.js +1 -1
- package/esm5/lib/directives/focus-binding.directive.js.map +1 -0
- package/esm5/lib/directives/focus-binding.directive.ngfactory.js.map +1 -0
- package/esm5/lib/directives/index.js +1 -1
- package/esm5/lib/directives/index.js.map +1 -0
- package/esm5/lib/interaction/abstract-activity.js +1 -1
- package/esm5/lib/interaction/abstract-activity.js.map +1 -0
- package/esm5/lib/interaction/activity.js +1 -1
- package/esm5/lib/interaction/activity.js.map +1 -0
- package/esm5/lib/interaction/alert.js +1 -1
- package/esm5/lib/interaction/alert.js.map +1 -0
- package/esm5/lib/interaction/components/activity-container/activity-container.component.js +1 -1
- package/esm5/lib/interaction/components/activity-container/activity-container.component.js.map +1 -0
- package/esm5/lib/interaction/components/activity-container/activity-container.component.ngfactory.js.map +1 -0
- package/esm5/lib/interaction/components/activity-container/activity-container.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/interaction/components/activity-outlet/activity-outlet-context.js +1 -1
- package/esm5/lib/interaction/components/activity-outlet/activity-outlet-context.js.map +1 -0
- package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.js +1 -1
- package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.js.map +1 -0
- package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.ngfactory.js.map +1 -0
- package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js +1 -1
- package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js.map +1 -0
- package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.ngfactory.js.map +1 -0
- package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +1 -1
- package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js.map +1 -0
- package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.ngfactory.js.map +1 -0
- package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -1
- package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js.map +1 -0
- package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.ngfactory.js.map +1 -0
- package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +1 -1
- package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js.map +1 -0
- package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.ngfactory.js.map +1 -0
- package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/interaction/confirm.js +1 -1
- package/esm5/lib/interaction/confirm.js.map +1 -0
- package/esm5/lib/interaction/index.js +1 -1
- package/esm5/lib/interaction/index.js.map +1 -0
- package/esm5/lib/interaction/interaction-context-base.js +1 -1
- package/esm5/lib/interaction/interaction-context-base.js.map +1 -0
- package/esm5/lib/interaction/interaction-context.js +1 -1
- package/esm5/lib/interaction/interaction-context.js.map +1 -0
- package/esm5/lib/interaction/interaction.module.js +1 -1
- package/esm5/lib/interaction/interaction.module.js.map +1 -0
- package/esm5/lib/interaction/interaction.module.ngfactory.js.map +1 -0
- package/esm5/lib/interaction/result.js +1 -1
- package/esm5/lib/interaction/result.js.map +1 -0
- package/esm5/lib/interaction/services/interaction.service.js +1 -1
- package/esm5/lib/interaction/services/interaction.service.js.map +1 -0
- package/esm5/lib/interaction/services/interaction.service.ngfactory.js.map +1 -0
- package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +1 -1
- package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js.map +1 -0
- package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.ngfactory.js.map +1 -0
- package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +1 -1
- package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js.map +1 -0
- package/esm5/lib/interaction/services/modal-interaction-context.factory.js +1 -1
- package/esm5/lib/interaction/services/modal-interaction-context.factory.js.map +1 -0
- package/esm5/lib/place/components/abstract-place-navigation.component.js +1 -1
- package/esm5/lib/place/components/abstract-place-navigation.component.js.map +1 -0
- package/esm5/lib/place/components/abstract-place-navigation.component.ngfactory.js.map +1 -0
- package/esm5/lib/place/components/busy-overlay/busy-overlay.component.js +1 -1
- package/esm5/lib/place/components/busy-overlay/busy-overlay.component.js.map +1 -0
- package/esm5/lib/place/components/busy-overlay/busy-overlay.component.ngfactory.js.map +1 -0
- package/esm5/lib/place/components/busy-overlay/busy-overlay.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/place/components/empty-state/empty-state.component.js +1 -1
- package/esm5/lib/place/components/empty-state/empty-state.component.js.map +1 -0
- package/esm5/lib/place/components/empty-state/empty-state.component.ngfactory.js.map +1 -0
- package/esm5/lib/place/components/empty-state/empty-state.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +1 -1
- package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -0
- package/esm5/lib/place/components/list-place-nav/list-place-nav.component.ngfactory.js.map +1 -0
- package/esm5/lib/place/components/list-place-nav/list-place-nav.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/place/components/place-outlet/place-outlet.component.js +1 -1
- package/esm5/lib/place/components/place-outlet/place-outlet.component.js.map +1 -0
- package/esm5/lib/place/components/place-outlet/place-outlet.component.ngfactory.js.map +1 -0
- package/esm5/lib/place/components/place-outlet/place-outlet.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/place/components/place-outlet/route-animations.js +1 -1
- package/esm5/lib/place/components/place-outlet/route-animations.js.map +1 -0
- package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
- package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -0
- package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.ngfactory.js.map +1 -0
- package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/place/guards/consolidated-param-map.js +1 -1
- package/esm5/lib/place/guards/consolidated-param-map.js.map +1 -0
- package/esm5/lib/place/guards/navigation-state.js +1 -1
- package/esm5/lib/place/guards/navigation-state.js.map +1 -0
- package/esm5/lib/place/guards/noop-auth-guard.service.js +1 -1
- package/esm5/lib/place/guards/noop-auth-guard.service.js.map +1 -0
- package/esm5/lib/place/guards/noop-auth-guard.service.ngfactory.js.map +1 -0
- package/esm5/lib/place/guards/place-component-deactivation-handler.js +1 -1
- package/esm5/lib/place/guards/place-component-deactivation-handler.js.map +1 -0
- package/esm5/lib/place/guards/place.guard.js +1 -1
- package/esm5/lib/place/guards/place.guard.js.map +1 -0
- package/esm5/lib/place/index.js +1 -1
- package/esm5/lib/place/index.js.map +1 -0
- package/esm5/lib/place/nav-item.js +1 -1
- package/esm5/lib/place/nav-item.js.map +1 -0
- package/esm5/lib/place/place-component.js +1 -1
- package/esm5/lib/place/place-component.js.map +1 -0
- package/esm5/lib/place/place-config.js +1 -1
- package/esm5/lib/place/place-config.js.map +1 -0
- package/esm5/lib/place/place-definition.js +1 -1
- package/esm5/lib/place/place-definition.js.map +1 -0
- package/esm5/lib/place/place-history.js +1 -1
- package/esm5/lib/place/place-history.js.map +1 -0
- package/esm5/lib/place/place-history.ngfactory.js.map +1 -0
- package/esm5/lib/place/place-router.js +1 -1
- package/esm5/lib/place/place-router.js.map +1 -0
- package/esm5/lib/place/place-router.ngfactory.js.map +1 -0
- package/esm5/lib/place/place.decorator.js +1 -1
- package/esm5/lib/place/place.decorator.js.map +1 -0
- package/esm5/lib/place/place.module.js +1 -1
- package/esm5/lib/place/place.module.js.map +1 -0
- package/esm5/lib/place/place.module.ngfactory.js.map +1 -0
- package/esm5/lib/place/route/formatter.js +1 -1
- package/esm5/lib/place/route/formatter.js.map +1 -0
- package/esm5/lib/place/route/json-types.js +1 -1
- package/esm5/lib/place/route/json-types.js.map +1 -0
- package/esm5/lib/place/route/parameter-decorators.js +1 -1
- package/esm5/lib/place/route/parameter-decorators.js.map +1 -0
- package/esm5/lib/place/route/parameter-definition.class.js +1 -1
- package/esm5/lib/place/route/parameter-definition.class.js.map +1 -0
- package/esm5/lib/place/route/parameter-sanitiser.js +1 -1
- package/esm5/lib/place/route/parameter-sanitiser.js.map +1 -0
- package/esm5/lib/place/route/parameter-snapshot.js +1 -1
- package/esm5/lib/place/route/parameter-snapshot.js.map +1 -0
- package/esm5/lib/place/route/visit-sanitiser.js +1 -1
- package/esm5/lib/place/route/visit-sanitiser.js.map +1 -0
- package/esm5/lib/place/url-snapshot.js +1 -1
- package/esm5/lib/place/url-snapshot.js.map +1 -0
- package/esm5/lib/place/visit.js +1 -1
- package/esm5/lib/place/visit.js.map +1 -0
- package/esm5/public_api.js +2 -2
- package/esm5/public_api.js.map +1 -0
- package/fesm2015/coolon-angular-ui-powerups.js +21 -19
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +21 -19
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/lib/animations/index.d.ts +1 -1
- package/lib/animations/slide-animations.d.ts +2 -0
- package/package.json +6 -6
- package/esm2015/lib/animations/slideDownAndUpAnimation.js +0 -30
- package/esm5/lib/animations/slideDownAndUpAnimation.js +0 -30
- package/lib/animations/slideDownAndUpAnimation.d.ts +0 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place-component-deactivation-handler.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/guards/place-component-deactivation-handler.ts"],"names":[],"mappings":"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","sourcesContent":["import { Trace } from '@coolon/pectin';\nimport * as _ from 'lodash';\nimport { PlaceComponent } from '../place-component';\nimport { UrlSnapshot } from '../url-snapshot';\nimport { NavigationState } from './navigation-state';\n\nexport class PlaceComponentDeactivationHandler {\n\n private canDeactivatePromise: Promise<boolean | UrlSnapshot>;\n\n constructor(readonly component: PlaceComponent, readonly navigationState: NavigationState, readonly isPrimaryComponent: boolean) {\n }\n\n get interactionService() {\n return this.navigationState.interactionService;\n }\n\n get placeRouter() {\n return this.navigationState.placeRouter;\n }\n\n async canDeactivate(currentUrl: UrlSnapshot, nextState: UrlSnapshot): Promise<boolean | UrlSnapshot> {\n // We'll get called multiple times if there's any parameter sanitisation so\n // we always return true if we accepted promise from a previous cycle of the current\n // navigation session.\n if (!this.canDeactivatePromise) {\n // console.log(`creating deactivate promise for -> ${this.component.constructor.name}`);\n this.canDeactivatePromise = this.canDeactivateComponent(currentUrl, nextState);\n }\n return this.canDeactivatePromise;\n }\n\n\n // @Trace()\n protected async canDeactivateComponent(currentUrl: UrlSnapshot, nextState: UrlSnapshot): Promise<UrlSnapshot | boolean> {\n // console.log(this.navigationState.toString());\n // Automatically cancel any active activities if the navigation session was triggered by the back button.\n // If we handled more than just the pop state then it leads to the UI ignoring clicks and just cancelling things which is deeply disconcerting.\n if (this.navigationState.isPopState) {\n if (this.isPrimaryComponent && this.interactionService.isModalActive()) {\n const routeIds = this.placeRouter.getActiveInteractionIdsFromUrl(nextState.url);\n const currentIds = this.interactionService.activeInteractionContextIds.value;\n\n if (!_.isEqual(currentIds, routeIds)) {\n await this.interactionService.getActiveContext().cancelActiveActivity();\n return currentUrl.updateInteractionIds(this.interactionService.activeInteractionContextIds.value);\n }\n } else {\n // check if the component has an in place interaction\n if (this.component.interactionContext && this.component.interactionContext.isActive()) {\n await this.component.interactionContext.cancelActiveActivity();\n return currentUrl\n .updateInteractionIds(this.interactionService.activeInteractionContextIds.value)\n }\n }\n }\n\n\n // Ok, so now we're really leaving, so we ask the component if we should.;\n if (this.isNotJustAChangeInRouteId(nextState)) {\n\n if (this.component.canDeactivate) {\n // No interaction in progress, so ask the component .\n // This may start an interaction, hence checking the interaction context before now. I.e. if the place pops up the dialog, and\n // the user clicks back again, we'll re-enter here and go bang when the component tries to open another dialog.\n return this.component.canDeactivate(this.navigationState.interactionContext);\n }\n\n // The component has an active interaction but no deactivation hook. Rather than guessing what to do\n // we'll just cancel the navigation and print a warning.\n if (this.component.interactionContext && this.component.interactionContext.isActive()) {\n console.warn('Route changed while component has active interaction, cancelling navigation');\n return false;\n }\n\n }\n return true;\n }\n\n protected isNotJustAChangeInRouteId(nextState: UrlSnapshot) {\n // Because places with a route-id cover two route segments we get asked to deactivate\n // if the route id is added or removed. So if our path is still present the url\n // then we shouldn't deactivate the place.\n return !nextState.includesPathOf(this.component.placeDefinition);\n }\n}\n"]}
|
|
@@ -297,4 +297,4 @@ if (false) {
|
|
|
297
297
|
*/
|
|
298
298
|
PlaceGuard.prototype.getAuthGuard = function (injector) { };
|
|
299
299
|
}
|
|
300
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL3BsYWNlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBVUEsT0FBTyxFQUFFLElBQUksRUFBUyxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXBELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNqQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUdwRTs7OztJQUdFLG9CQUE2QixNQUFjLEVBQ3ZCLGFBQTRCLEVBQ25CLFdBQXdCLEVBQ3hCLFlBQTBCLEVBQzFCLGtCQUFzQyxFQUN0QyxRQUFrQjtRQUxsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ3ZCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUMvQyxDQUFDO0lBRUQsV0FBVzs7Ozs7OztJQUNMLGdDQUFXOzs7Ozs7O0lBQWpCLFVBQWtCLGNBQXNDLEVBQUUsS0FBMEI7Ozs7Z0JBRWpGLHlHQUF5RztnQkFDMUcsNkRBQTZEO2dCQUM3RCxzQkFBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLEtBQUs7Ozs7b0JBQUUsVUFBTyxlQUFlOzs7Ozt3Q0FFM0QscUJB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aUJBQ2Y7Ozs7S0FDRjtJQUVILGlCQUFDO0FBQUQsQ0FBQyxBQWhHRCxJQWdHQzs7Ozs7Ozs7OztJQTdGYSw0QkFBK0I7Ozs7O0lBQy9CLG1DQUFvQzs7Ozs7SUFDcEMsaUNBQXlDOzs7OztJQUN6QyxrQ0FBMkM7Ozs7O0lBQzNDLHdDQUF1RDs7Ozs7SUFDdkQsOEJBQW1DOzs7Ozs7SUEwRS9DLDREQUF1RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBDYW5BY3RpdmF0ZSxcbiAgQ2FuRGVhY3RpdmF0ZSxcbiAgUm91dGVyLFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICBVcmxTZXJpYWxpemVyLFxuICBVcmxUcmVlXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBsYW5nLCBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEludGVyYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uL3NlcnZpY2VzL2ludGVyYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VEZWZpbml0aW9uIH0gZnJvbSAnLi4vcGxhY2UtZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBQbGFjZUhpc3RvcnkgfSBmcm9tICcuLi9wbGFjZS1oaXN0b3J5JztcbmltcG9ydCB7IFBsYWNlUm91dGVyIH0gZnJvbSAnLi4vcGxhY2Utcm91dGVyJztcbmltcG9ydCB7IFZpc2l0U2FuaXRpc2VyIH0gZnJvbSAnLi4vcm91dGUvdmlzaXQtc2FuaXRpc2VyJztcbmltcG9ydCB7IFVybFNuYXBzaG90IH0gZnJvbSAnLi4vdXJsLXNuYXBzaG90JztcbmltcG9ydCB7IFZpc2l0IH0gZnJvbSAnLi4vdmlzaXQnO1xuaW1wb3J0IHsgQ29uc29saWRhdGVkUGFyYW1ldGVyTWFwIH0gZnJvbSAnLi9jb25zb2xpZGF0ZWQtcGFyYW0tbWFwJztcblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGxhY2VHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlLCBDYW5EZWFjdGl2YXRlPFBsYWNlQ29tcG9uZW50PiB7XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIHVybFNlcmlhbGl6ZXI6IFVybFNlcmlhbGl6ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhY2VSb3V0ZXI6IFBsYWNlUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlSGlzdG9yeTogUGxhY2VIaXN0b3J5LFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGludGVyYWN0aW9uU2VydmljZTogSW50ZXJhY3Rpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3Rvcikge1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgY2FuQWN0aXZhdGUoYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4ge1xuXG4gICAgIC8vIFRPRE86IHRoaXMgaXMgdWdseSBub3cgdGhhdCBJJ20gcmV0dXJuIFVybFNuYXBzaG90cyBhbmQgbm90IFVybFRyZWVzLiAgSXQnZCBiZSBiZXR0ZXIgaWYgdGhlIGZ1bmN0aW9uc1xuICAgIC8vICAgICAgICB3ZXJlbid0IG5lc3RlZCBvciBpZiBJIGltcGxlbWVudGVkIGEgaGFuZGxlciBjaGFpbi5cbiAgICByZXR1cm4gdGhpcy5hdXRob3Jpc2VQbGFjZVRoZW4oYWN0aXZhdGVkUm91dGUsIHN0YXRlLCBhc3luYyAocGxhY2VEZWZpbml0aW9uKSA9PiB7XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2xlYW5JbnRlcmFjdGlvblN0YXRlKGFjdGl2YXRlZFJvdXRlLCBzdGF0ZSwgYXN5bmMgKCkgPT4ge1xuICAgICAgICAvLyBQYXJzZSBvdXIgcm91dGUgcGFyYW1zLlxuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgQ29uc29saWRhdGVkUGFyYW1ldGVyTWFwKGFjdGl2YXRlZFJvdXRlLnBhcmFtTWFwLCBhY3RpdmF0ZWRSb3V0ZS51cmwpO1xuICAgICAgICBjb25zdCBwYXJzZWRQYXJhbXMgPSBwbGFjZURlZmluaXRpb24ucGFyc2VSb3V0ZVBhcmFtcyhwYXJhbXMpO1xuXG4gICAgICAgIGNvbnN0IGluaXRpYWxWaXNpdCA9IHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGlvblN0YXRlLmdldFZpc2l0Rm9yKHBsYWNlRGVmaW5pdGlvbikgfHwgbmV3IFZpc2l0KHBsYWNlRGVmaW5pdGlvbiwgcGFyc2VkUGFyYW1zKTtcbiAgICAgICAgY29uc3Qgc2FuaXRpc2VyID0gbmV3IFZpc2l0U2FuaXRpc2VyKGFjdGl2YXRlZFJvdXRlLCB0aGlzLnJvdXRlciwgdGhpcy5wbGFjZUhpc3RvcnksIHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICBjb25zdCBzYW5pdGlzZWRWaXNpdCA9IGF3YWl0IHNhbml0aXNlci5zYW5pdGlzZShpbml0aWFsVmlzaXQubWVyZ2VSb3V0ZVBhcmFtZXRlcnMocGFyc2VkUGFyYW1zKSk7XG5cbiAgICAgICAgLy8gU2F2ZSB0aGUgdmlzaXQgd2l0aCBhbnkgdXBkYXRlZCBwYXJhbWV0ZXJzLiAgV2UgbmVlZCB0byBzYXZlIGl0IHNvIHdlIHJlbWVtYmVyIGFueSBub24gcm91dGUgcGFyYW1ldGVyc1xuICAgICAgICB0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRpb25TdGF0ZS5zdG9yZVZpc2l0KHNhbml0aXNlZFZpc2l0KTtcbiAgICAgICAgaWYgKGluaXRpYWxWaXNpdC5oYXNSb3V0aW5nQ2hhbmdlZEZyb20oc2FuaXRpc2VkVmlzaXQpKSB7XG4gICAgICAgICAgLy8gUmVnZW5lcmF0ZSB0aGUgdXJsXG4gICAgICAgICAgY29uc3QgdXJsU25hcHNob3QgPSB0aGlzLnBsYWNlUm91dGVyLnBhcnNlVXJsKHN0YXRlLnVybCkudXBkYXRlVmlzaXRTZWdtZW50cyhzYW5pdGlzZWRWaXNpdCk7XG4gICAgICAgICAgY29uc29sZS5sb2coJyMjIyMjIFBsYWNlIEd1YXJkIFJlZGlyZWN0JywgdXJsU25hcHNob3QpO1xuICAgICAgICAgIHJldHVybiB1cmxTbmFwc2hvdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVHdWFyZFJlc3VsdChyZXN1bHQpO1xuXG4gICAgfSk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBhc3luYyBjYW5EZWFjdGl2YXRlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycmVudFN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBuZXh0U3RhdGU/OiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4ge1xuICAgIGNvbnN0IGN1cnJlbnRVcmwgPSB0aGlzLnBsYWNlUm91dGVyLnBhcnNlVXJsKGN1cnJlbnRTdGF0ZS51cmwpO1xuICAgIGNvbnN0IG5leHRVcmwgPSB0aGlzLnBsYWNlUm91dGVyLnBhcnNlVXJsKG5leHRTdGF0ZS51cmwpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGlvblN0YXRlLmNhbkRlYWN0aXZhdGVQbGFjZShjb21wb25lbnQsIGN1cnJlbnRVcmwsIG5leHRVcmwpO1xuICAgIHJldHVybiB0aGlzLmhhbmRsZUd1YXJkUmVzdWx0KHJlc3VsdCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUd1YXJkUmVzdWx0KHJlc3VsdCkge1xuICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBVcmxTbmFwc2hvdCkge1xuICAgICAgcmV0dXJuIHJlc3VsdC51cmxUcmVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByb3RlY3RlZCBhc3luYyBhdXRob3Jpc2VQbGFjZVRoZW4oYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBydW5QbGFjZUd1YXJkczogKHBsYWNlRGVmaW5pdGlvbjogUGxhY2VEZWZpbml0aW9uKSA9PiBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPikge1xuICAgIGlmIChQbGFjZUNvbXBvbmVudC5pc1BsYWNlQ29tcG9uZW50Q29uc3RydWN0b3IoYWN0aXZhdGVkUm91dGUuY29tcG9uZW50KSkge1xuICAgICAgY29uc3QgcGxhY2VEZWZpbml0aW9uID0gUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbihhY3RpdmF0ZWRSb3V0ZS5jb21wb25lbnQpO1xuICAgICAgY29uc3QgYXV0aG9yaXNlUmVzdWx0ID0gcGxhY2VEZWZpbml0aW9uLmF1dGhlbnRpY2F0ZSA/IGF3YWl0IHRoaXMuaXNBdXRob3Jpc2VkKGFjdGl2YXRlZFJvdXRlLCBzdGF0ZSkgOiB0cnVlO1xuICAgICAgaWYgKGF1dGhvcmlzZVJlc3VsdCA9PT0gdHJ1ZSkge1xuICAgICAgICAvLyB3ZSdyZSBhdXRob3Jpc2VkLCBub3cgcnVuIHRoZSBwbGFjZSBndWFyZHMuXG4gICAgICAgIHJldHVybiBydW5QbGFjZUd1YXJkcyhwbGFjZURlZmluaXRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5sb2coJ25vdCBhdXRob3Jpc2VkIHJlc3VsdCcsIGF1dGhvcmlzZVJlc3VsdCk7XG4gICAgICAgIHJldHVybiBhdXRob3Jpc2VSZXN1bHQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBsYW5nLmlsbGVnYWxTdGF0ZShgZXhwZWN0ZWQgY29tcG9uZW50IHRvIGJlIGFuIGluc3RhbmNlIG9mIFBsYWNlQ29tcG9uZW50LCBnb3QgJHthY3RpdmF0ZWRSb3V0ZS5jb21wb25lbnR9YCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgaXNBdXRob3Jpc2VkKGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHtcbiAgICBjb25zdCBhdXRob3Jpc2VkID0gdGhpcy5nZXRBdXRoR3VhcmQodGhpcy5pbmplY3RvcikuY2FuQWN0aXZhdGUoYWN0aXZhdGVkUm91dGUsIHN0YXRlKTtcbiAgICByZXR1cm4gKGF1dGhvcmlzZWQgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSA/IGF1dGhvcmlzZWQudG9Qcm9taXNlKCkgOiBhdXRob3Jpc2VkO1xuICB9XG5cbiAgYWJzdHJhY3QgZ2V0QXV0aEd1YXJkKGluamVjdG9yOiBJbmplY3Rvcik6IENhbkFjdGl2YXRlO1xuXG4gIC8vIEBUcmFjZSgpXG4gIGFzeW5jIGNsZWFuSW50ZXJhY3Rpb25TdGF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsIHRoZW46ICgpID0+IFByb21pc2U8Ym9vbGVhbiB8IFVybFNuYXBzaG90Pik6IFByb21pc2U8Ym9vbGVhbiB8IFVybFNuYXBzaG90PiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5wbGFjZVJvdXRlci5wYXJzZVVybChzdGF0ZS51cmwpO1xuICAgIGlmICghdGhpcy5pbnRlcmFjdGlvblNlcnZpY2UuaXNBY3RpdmUoKSAmJiB1cmwuaGFzSW50ZXJhY3Rpb25JZHMoKSkge1xuICAgICAgLy8gVGhpcyBoYXBwZW5zIGlmIHdlIHJlbG9hZCB0aGUgcGFnZSBvciB0aGUgdXJsIHdhcyBwYXN0ZWQgYXMgdGhlIHJvdXRlIHNob3VsZCBvbmx5IGJlIGFjdGl2YXRlZFxuICAgICAgLy8gYWZ0ZXIgdGhlIGludGVyYWN0aW9uIGNvbnRleHQgaGFzIGJlY29tZSBhY3RpdmUuXG4gICAgICByZXR1cm4gdXJsLnJlbW92ZUludGVyYWN0aW9uSWRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGVuKCk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
|
|
300
|
+
//# sourceMappingURL=place.guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place.guard.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/guards/place.guard.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injector } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n CanDeactivate,\n Router,\n RouterStateSnapshot,\n UrlSerializer,\n UrlTree\n} from '@angular/router';\nimport { lang, Trace } from '@coolon/pectin';\nimport { Observable } from 'rxjs';\nimport { InteractionService } from '../../interaction/services/interaction.service';\nimport { PlaceComponent } from '../place-component';\nimport { PlaceDefinition } from '../place-definition';\nimport { PlaceHistory } from '../place-history';\nimport { PlaceRouter } from '../place-router';\nimport { VisitSanitiser } from '../route/visit-sanitiser';\nimport { UrlSnapshot } from '../url-snapshot';\nimport { Visit } from '../visit';\nimport { ConsolidatedParameterMap } from './consolidated-param-map';\n\n\nexport abstract class PlaceGuard implements CanActivate, CanDeactivate<PlaceComponent> {\n\n\n constructor(private readonly router: Router,\n private urlSerializer: UrlSerializer,\n private readonly placeRouter: PlaceRouter,\n private readonly placeHistory: PlaceHistory,\n private readonly interactionService: InteractionService,\n private readonly injector: Injector) {\n }\n\n // @Trace()\n async canActivate(activatedRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean | UrlTree> {\n\n // TODO: this is ugly now that I'm return UrlSnapshots and not UrlTrees. It'd be better if the functions\n // weren't nested or if I implemented a handler chain.\n return this.authorisePlaceThen(activatedRoute, state, async (placeDefinition) => {\n\n const result = await this.cleanInteractionState(activatedRoute, state, async () => {\n // Parse our route params.\n const params = new ConsolidatedParameterMap(activatedRoute.paramMap, activatedRoute.url);\n const parsedParams = placeDefinition.parseRouteParams(params);\n\n const initialVisit = this.placeRouter.navigationState.getVisitFor(placeDefinition) || new Visit(placeDefinition, parsedParams);\n const sanitiser = new VisitSanitiser(activatedRoute, this.router, this.placeHistory, this.injector);\n const sanitisedVisit = await sanitiser.sanitise(initialVisit.mergeRouteParameters(parsedParams));\n\n // Save the visit with any updated parameters. We need to save it so we remember any non route parameters\n this.placeRouter.navigationState.storeVisit(sanitisedVisit);\n if (initialVisit.hasRoutingChangedFrom(sanitisedVisit)) {\n // Regenerate the url\n const urlSnapshot = this.placeRouter.parseUrl(state.url).updateVisitSegments(sanitisedVisit);\n console.log('##### Place Guard Redirect', urlSnapshot);\n return urlSnapshot;\n } else {\n return true;\n }\n });\n return this.handleGuardResult(result);\n\n });\n }\n\n // @Trace()\n async canDeactivate(component: PlaceComponent, currentRoute: ActivatedRouteSnapshot, currentState: RouterStateSnapshot, nextState?: RouterStateSnapshot): Promise<boolean | UrlTree> {\n const currentUrl = this.placeRouter.parseUrl(currentState.url);\n const nextUrl = this.placeRouter.parseUrl(nextState.url);\n const result = await this.placeRouter.navigationState.canDeactivatePlace(component, currentUrl, nextUrl);\n return this.handleGuardResult(result);\n }\n\n private handleGuardResult(result) {\n if (result instanceof UrlSnapshot) {\n return result.urlTree;\n } else {\n return result;\n }\n }\n\n // @Trace()\n protected async authorisePlaceThen(activatedRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot, runPlaceGuards: (placeDefinition: PlaceDefinition) => Promise<boolean | UrlTree>) {\n if (PlaceComponent.isPlaceComponentConstructor(activatedRoute.component)) {\n const placeDefinition = PlaceComponent.getDefinition(activatedRoute.component);\n const authoriseResult = placeDefinition.authenticate ? await this.isAuthorised(activatedRoute, state) : true;\n if (authoriseResult === true) {\n // we're authorised, now run the place guards.\n return runPlaceGuards(placeDefinition);\n } else {\n console.log('not authorised result', authoriseResult);\n return authoriseResult;\n }\n } else {\n return lang.illegalState(`expected component to be an instance of PlaceComponent, got ${activatedRoute.component}`);\n }\n }\n\n // @Trace()\n async isAuthorised(activatedRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean | UrlTree> {\n const authorised = this.getAuthGuard(this.injector).canActivate(activatedRoute, state);\n return (authorised instanceof Observable) ? authorised.toPromise() : authorised;\n }\n\n abstract getAuthGuard(injector: Injector): CanActivate;\n\n // @Trace()\n async cleanInteractionState(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, then: () => Promise<boolean | UrlSnapshot>): Promise<boolean | UrlSnapshot> {\n const url = this.placeRouter.parseUrl(state.url);\n if (!this.interactionService.isActive() && url.hasInteractionIds()) {\n // This happens if we reload the page or the url was pasted as the route should only be activated\n // after the interaction context has become active.\n return url.removeInteractionIds();\n } else {\n return then();\n }\n }\n\n}\n"]}
|
package/esm5/lib/place/index.js
CHANGED
|
@@ -34,4 +34,4 @@ export { ParameterDefinition } from "./route/parameter-definition.class";
|
|
|
34
34
|
export {} from "./route/parameter-sanitiser";
|
|
35
35
|
export {} from "./route/parameter-snapshot";
|
|
36
36
|
export { VisitSanitiser } from "./route/visit-sanitiser";
|
|
37
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/index.ts"],"names":[],"mappings":";;;;;;;AAIA,eAAc,YAAY,CAAC;AAC3B,mFAAc,mBAAmB,CAAC;AAClC,iCAAc,gBAAgB,CAAC;AAC/B,gCAAc,oBAAoB,CAAC;AACnC,6BAAc,iBAAiB,CAAC;AAChC,4BAAc,gBAAgB,CAAC;AAC/B,sBAAc,mBAAmB,CAAC;AAClC,4BAAc,gBAAgB,CAAC;AAC/B,4BAAc,gBAAgB,CAAC;AAC/B,sBAAc,SAAS,CAAC;AACxB,iDAAc,kDAAkD,CAAC;AACjE,qCAAc,kDAAkD,CAAC;AACjE,oCAAc,gDAAgD,CAAC;AAC/D,sCAAc,sDAAsD,CAAC;AACrE,qCAAc,kDAAkD,CAAC;AACjE,oEAAc,4CAA4C,CAAC;AAC3D,+CAAc,wEAAwE,CAAC;AACvF,yCAAc,iCAAiC,CAAC;AAChD,gCAAc,2BAA2B,CAAC;AAC1C,8BAAc,kCAAkC,CAAC;AACjD,kDAAc,+CAA+C,CAAC;AAC9D,2BAAc,sBAAsB,CAAC;AACrC,0BAAc,mBAAmB,CAAC;AAClC,eAAc,oBAAoB,CAAC;AACnC,4DAAc,8BAA8B,CAAC;AAC7C,oCAAc,oCAAoC,CAAC;AACnD,eAAc,6BAA6B,CAAC;AAC5C,eAAc,4BAA4B,CAAC;AAC3C,+BAAc,yBAAyB,CAAC","sourcesContent":["/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./nav-item\";\nexport * from \"./place-component\";\nexport * from \"./place-config\";\nexport * from \"./place-definition\";\nexport * from \"./place-history\";\nexport * from \"./place-router\";\nexport * from \"./place.decorator\";\nexport * from \"./place.module\";\nexport * from \"./url-snapshot\";\nexport * from \"./visit\";\nexport * from \"./components/abstract-place-navigation.component\";\nexport * from \"./components/busy-overlay/busy-overlay.component\";\nexport * from \"./components/empty-state/empty-state.component\";\nexport * from \"./components/list-place-nav/list-place-nav.component\";\nexport * from \"./components/place-outlet/place-outlet.component\";\nexport * from \"./components/place-outlet/route-animations\";\nexport * from \"./components/tabbed-place-navigation/tabbed-place-navigation.component\";\nexport * from \"./guards/consolidated-param-map\";\nexport * from \"./guards/navigation-state\";\nexport * from \"./guards/noop-auth-guard.service\";\nexport * from \"./guards/place-component-deactivation-handler\";\nexport * from \"./guards/place.guard\";\nexport * from \"./route/formatter\";\nexport * from \"./route/json-types\";\nexport * from \"./route/parameter-decorators\";\nexport * from \"./route/parameter-definition.class\";\nexport * from \"./route/parameter-sanitiser\";\nexport * from \"./route/parameter-snapshot\";\nexport * from \"./route/visit-sanitiser\";\n"]}
|
|
@@ -20,4 +20,4 @@ if (false) {
|
|
|
20
20
|
*/
|
|
21
21
|
NavItem.prototype.tooltip = function () { };
|
|
22
22
|
}
|
|
23
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=nav-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nav-item.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/nav-item.ts"],"names":[],"mappings":";;;;;;;AAAA,6BAMC;;;;;IALC,0CAAgB;;;;IAEhB,yCAAgB;;;;IAEhB,4CAAmB","sourcesContent":["export interface NavItem {\n title(): string;\n\n icon?(): string;\n\n tooltip?(): string;\n}\n"]}
|
|
@@ -162,4 +162,4 @@ if (false) {
|
|
|
162
162
|
}
|
|
163
163
|
PlaceComponent.injectDefinition = injectDefinition;
|
|
164
164
|
})(PlaceComponent || (PlaceComponent = {}));
|
|
165
|
-
//# sourceMappingURL=
|
|
165
|
+
//# sourceMappingURL=place-component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place-component.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-component.ts"],"names":[],"mappings":"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","sourcesContent":["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 { InteractionContext } from '../interaction/interaction-context';\nimport { PlaceDefinition } from './place-definition';\nimport { ParameterDefinition } from './route/parameter-definition.class';\nimport { Visit } from './visit';\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 visit: ValueModel<Visit>;\n // private _inDeactivationGuard = new MutableValueModel<boolean>(false);\n\n interactionContext?: InteractionContext;\n\n canDeactivate?(interactionContext: InteractionContext): boolean | Promise<boolean>;\n\n constructor() {\n super();\n }\n\n public initialiseBindings(visit: ValueModel<Visit>) {\n assert.isNil(this.visit);\n this.visit = visit;\n this.placeDefinition.getVisitParameterDefs().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.visit, model, {\n toRight(visit: Visit): S {\n const value = visit.getParameter(parameterDef.name);\n // console.log('push to component', {name:parameterDef.name, value, visit});\n return value;\n },\n toLeft(value: S, currentVisit?: Visit): Visit {\n console.log('push to route', { name: parameterDef.name, value, currentVisit });\n return currentVisit.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 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"]}
|
|
@@ -13,4 +13,4 @@ if (false) {
|
|
|
13
13
|
/** @type {?} */
|
|
14
14
|
PlaceConfig.prototype.animationDuration;
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=
|
|
16
|
+
//# sourceMappingURL=place-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place-config.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-config.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;;AAE/C,MAAM,KAAO,gBAAgB,GAAG,IAAI,cAAc,CAAc,kBAAkB,CAAC;;;;AAEnF,iCAEC;;;IADC,wCAA0B","sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const AUP_PLACE_CONFIG = new InjectionToken<PlaceConfig>('AUP_PLACE_CONFIG');\n\nexport interface PlaceConfig {\n animationDuration: string;\n}\n"]}
|
|
@@ -318,4 +318,4 @@ if (false) {
|
|
|
318
318
|
ParameterOptions.prototype.includeNonRouteParameters;
|
|
319
319
|
}
|
|
320
320
|
})(PlaceDefinition || (PlaceDefinition = {}));
|
|
321
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtZGVmaW5pdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9wbGFjZS1kZWZpbml0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzNFLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUV2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUd6RTtJQUVFLHlCQUFxQixTQUF3QyxFQUN4QyxJQUFZLEVBQ1osWUFBcUIsRUFDckIsSUFBNEIsRUFDNUIsZUFBMkMsRUFDM0MsUUFBMkI7UUFMM0IsY0FBUyxHQUFULFNBQVMsQ0FBK0I7UUFDeEMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGlCQUFZLEdBQVosWUFBWSxDQUFTO1FBQ3JCLFNBQUksR0FBSixJQUFJLENBQXdCO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUE0QjtRQUMzQyxhQUFRLEdBQVIsUUFBUSxDQUFtQjtJQUNoRCxDQUFDOzs7O0lBRUQsb0NBQVU7OztJQUFWO1FBQ0UsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDekMsQ0FBQzs7OztJQUdELGdEQUFzQjs7O0lBQXRCO1FBQ0UsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUk7Ozs7UUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxTQUFTLEVBQVgsQ0FBVyxFQUFDLENBQUM7SUFDckQsQ0FBQzs7Ozs7SUFHRCwrQ0FBcUI7Ozs7SUFBckIsVUFBc0IsY0FBc0I7UUFBdEIsK0JBQUEsRUFBQSxzQkFBc0I7UUFDMUMs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QyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7eUJBQy9DO3FCQUNGO3lCQUFNO3dCQUNMLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQy9DO2lCQUNGO2FBQ0Y7UUFDSCxDQUFDLEVBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUE3R0Q7UUFEQyxPQUFPLEVBQUU7OztnREFDZ0IsbUJBQW1CO2lFQUU1QztJQUdEO1FBREMsT0FBTyxFQUFFOzs7O2dFQUdUO0lBR0Q7UUFEQyxPQUFPLEVBQUU7Ozs7Z0VBWVQ7SUEwRkgsc0JBQUM7Q0FBQSxBQTlIRCxJQThIQztTQTlIWSxlQUFlOzs7SUFFZCxvQ0FBaUQ7O0lBQ2pELCtCQUFxQjs7SUFDckIsdUNBQThCOztJQUM5QiwrQkFBcUM7O0lBQ3JDLDBDQUFvRDs7SUFDcEQsbUNBQW9DOztBQXlIbEQsV0FBaUIsZUFBZTs7OztJQUM5QiwrQkFJQzs7OztRQUhDLDBDQUF5Qjs7UUFDekIsa0RBQWlDOztRQUNqQyxxREFBb0M7O0FBRXhDLENBQUMsRUFOZ0IsZUFBZSxLQUFmLGVBQWUsUUFNL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJhbU1hcCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBhc3NlcnQsIENvbnN0cnVjdGFibGUsIFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgT3B0cyB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgTWVtb2l6ZSB9IGZyb20gJ0B0eXBlc2NyaXB0LXBsdXMvZmFzdC1tZW1vaXplLWRlY29yYXRvci9kaXN0L3NyYyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9yb3V0ZS9wYXJhbWV0ZXItZGVmaW5pdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBWaXNpdCB9IGZyb20gJy4vdmlzaXQnO1xuXG5leHBvcnQgY2xhc3MgUGxhY2VEZWZpbml0aW9uIHtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb21wb25lbnQ6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LFxuICAgICAgICAgICAgICByZWFkb25seSBwYXRoOiBzdHJpbmcsXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGF1dGhlbnRpY2F0ZTogYm9vbGVhbixcbiAgICAgICAgICAgICAgcmVhZG9ubHkgZGF0YTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgcm91dGVQYXJhbWV0ZXJzOiBQYXJhbWV0ZXJEZWZpbml0aW9uPGFueT5bXSxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgY2hpbGRyZW46IFBsYWNlRGVmaW5pdGlvbltdKSB7XG4gIH1cblxuICBoYXNSb3V0ZUlkKCkge1xuICAgIHJldHVybiAhIXRoaXMuZ2V0Um91dGVJZFBhcmFtZXRlckRlZigpO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXRSb3V0ZUlkUGFyYW1ldGVyRGVmKCk6IFBhcmFtZXRlckRlZmluaXRpb248YW55PiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVQYXJhbWV0ZXJzLmZpbmQocCA9PiBwLmlzUm91dGVJZCk7XG4gIH1cblxuICBATWVtb2l6ZSgpXG4gIGdldFJvdXRlUGFyYW1ldGVyRGVmcyhpbmNsdWRlUm91dGVJZCA9IGZhbHNlKTogUGFyYW1ldGVyRGVmaW5pdGlvbjxhbnk+W10ge1xuICAgIHJldHVybiB0aGlzLmdldFZpc2l0UGFyYW1ldGVyRGVmcyh7IGluY2x1ZGVSb3V0ZUlkLCBpbmNsdWRlUm91dGVQYXJhbWV0ZXJzOiB0cnVlIH0pO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXRWaXNpdFBhcmFtZXRlckRlZnMoaW5jbHVkZT86IFBsYWNlRGVmaW5pdGlvbi5QYXJhbWV0ZXJPcHRpb25zKTogUGFyYW1ldGVyRGVmaW5pdGlvbjxhbnk+W10ge1xuICAgIGNvbnN0IG9wdHMgPSBPcHRzLmdldChpbmNsdWRlKTtcbiAgICAvLyBpbmNsdWRlc1xuICAgIGNvbnN0IGluY2x1ZGVSb3V0ZUlkID0gIWluY2x1ZGUgfHwgb3B0cy5nZXRPcHRpb25hbCgnaW5jbHVkZVJvdXRlSWQnLCBmYWxzZSk7XG4gICAgY29uc3QgaW5jbHVkZVJvdXRlUGFyYW1ldGVycyA9ICFpbmNsdWRlIHx8IG9wdHMuZ2V0T3B0aW9uYWwoJ2luY2x1ZGVSb3V0ZVBhcmFtZXRlcnMnLCBmYWxzZSk7XG4gICAgY29uc3QgaW5jbHVkZU5vblJvdXRlUGFyYW1ldGVycyA9ICFpbmNsdWRlIHx8IG9wdHMuZ2V0T3B0aW9uYWwoJ2luY2x1ZGVOb25Sb3V0ZVBhcmFtZXRlcnMnLCBmYWxzZSk7XG4gICAgcmV0dXJuIHRoaXMucm91dGVQYXJhbWV0ZXJzLmZpbHRlcihwID0+IHtcbiAgICAgIHJldHVybiAoaW5jbHVkZVJvdXRlSWQgJiYgcC5pc1JvdXRlSWQpXG4gICAgICAgIHx8IChpbmNsdWRlUm91dGVQYXJhbWV0ZXJzICYmIHAuaXNSb3V0ZVBhcmFtZXRlciAmJiAhcC5pc1JvdXRlSWQpIC8vIHJvdXRlIGlkIGlzIGluY2x1ZGVkIGluIHRoZSBsaW5lIGFib3ZlXG4gICAgICAgIHx8IChpbmNsdWRlTm9uUm91dGVQYXJhbWV0ZXJzICYmICFwLmlzUm91dGVQYXJhbWV0ZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0UGxhY2VEYXRhPFQ+KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBUKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YSA/XG4gICAgICBfLmlzTmlsKHRoaXMuZGF0YVtrZXldKSA/IGRlZmF1bHRWYWx1ZSA6IHRoaXMuZGF0YVtrZXldIDpcbiAgICAgIGRlZmF1bHRWYWx1ZTtcbiAgfVxuXG4gIHNlYXJjaFBsYWNlRGF0YTxUPihrZXlzOiBzdHJpbmdbXSwgZGVmYXVsdFZhbHVlPzogVCk6IFQge1xuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIGNvbnN0IGZvdW5kID0ga2V5cy5maW5kKGtleSA9PiAhXy5pc05pbCh0aGlzLmRhdGFba2V5XSkpO1xuICAgICAgcmV0dXJuIGZvdW5kID8gdGhpcy5kYXRhW2ZvdW5kXSA6IGRlZmF1bHRWYWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBnZXRSb3V0ZUlkRnJvbSh2aXNpdDogVmlzaXQpIHtcbiAgICBjb25zdCByb3V0ZUlkUGFyYW1ldGVyRGVmID0gdGhpcy5nZXRSb3V0ZUlkUGFyYW1ldGVyRGVmKCk7XG4gICAgcmV0dXJuIHJvdXRlSWRQYXJhbWV0ZXJEZWYgPyB2aXNpdC5nZXRQYXJhbWV0ZXIocm91dGVJZFBhcmFtZXRlckRlZi5uYW1lKSA6IG51bGw7XG4gIH1cblxuICBnZXRGb3JtYXR0ZWRSb3V0ZUlkKHZpc2l0OiBWaXNpdCk6IGFueSB7XG4gICAgLy8gTm90ZTogUm91dGVJZHMgYXJlIGFsd2F5cyBwcmVzZW50IGluIHRoZSB1cmwgYW5kIGFyZSBqdXN0IGVtcHR5IHN0cmluZ3Mgd2hlbiBub3QgZGVmaW5lZC4gIFRoaXMgaXNcbiAgICAvLyBtYW5kYXRlZCBieSB0aGUgZmFjdCB0aGF0IHJlZGlyZWN0cyBmcm9tIDxwYXRoPiB0byA8cGF0aD4vOmlkIGFsd2F5cyBpbmNsdWRlIHRoZSBpZCBwYXJhbWV0ZXIgYXNcbiAgICAvLyBhbiBlbXB0eSBzdHJpbmcuXG4gICAgcmV0dXJuIHZpc2l0Lmhhc1JvdXRlSWQoKSA/IHRoaXMuZ2V0Um91dGVJZFBhcmFtZXRlckRlZigpLnVybEZvcm1hdC5mb3JtYXQodmlzaXQuZ2V0Um91dGVJZCgpKSA6IFwiXCI7XG4gIH1cblxuICBnZXRGb3JtYXR0ZWRSb3V0ZVBhcmFtZXRlcnModmlzaXQ6IFZpc2l0LCBpbmNsdWRlUm91dGVJZCA9IGZhbHNlKTogeyBbcDogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIGNvbnN0IHJlc3VsdDogeyBbcDogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICB0aGlzLmdldFZpc2l0UGFyYW1ldGVyRGVmcyh7XG4gICAgICBpbmNsdWRlUm91dGVJZCwgaW5jbHVkZVJvdXRlUGFyYW1ldGVyczogdHJ1ZVxuICAgIH0pLmZvckVhY2goZGVmID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmlzaXQuZ2V0UGFyYW1ldGVyKGRlZi5uYW1lKTtcbiAgICAgIGlmICghZGVmLmlzRW1wdHlWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgICAgaWYgKGRlZi5pc0FycmF5KSB7XG4gICAgICAgICAgYXNzZXJ0LmlzQXJyYXkodmFsdWUpO1xuICAgICAgICAgIHJlc3VsdFtkZWYubmFtZV0gPSB2YWx1ZS5tYXAodiA9PiBkZWYudXJsRm9ybWF0LmZvcm1hdCh2KSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXNzZXJ0LmlzRmFsc2V5KEFycmF5LmlzQXJyYXkodmFsdWUpKTtcbiAgICAgICAgICByZXN1bHRbZGVmLm5hbWVdID0gZGVmLnVybEZvcm1hdC5mb3JtYXQodmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldE5vblJvdXRlUGFyYW1ldGVycyh2aXNpdDogVmlzaXQpOiB7IFtwOiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgY29uc3QgcmVzdWx0OiB7IFtwOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICAgIHRoaXMuZ2V0VmlzaXRQYXJhbWV0ZXJEZWZzKHsgaW5jbHVkZU5vblJvdXRlUGFyYW1ldGVyczogdHJ1ZSB9KS5mb3JFYWNoKGRlZiA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZpc2l0LmdldFBhcmFtZXRlcihkZWYubmFtZSk7XG4gICAgICBpZiAoIWRlZi5pc0VtcHR5VmFsdWUodmFsdWUpKSB7XG4gICAgICAgICAgcmVzdWx0W2RlZi5uYW1lXSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwYXJzZVJvdXRlUGFyYW1zKHBhcmFtczogUGFyYW1NYXApOiB7IFtwOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgY29uc3QgcmVzdWx0OiB7IFtwOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgIHRoaXMuZ2V0VmlzaXRQYXJhbWV0ZXJEZWZzKHtcbiAgICAgIGluY2x1ZGVSb3V0ZUlkOiB0cnVlLFxuICAgICAgaW5jbHVkZVJvdXRlUGFyYW1ldGVyczogdHJ1ZSxcbiAgICAgIGluY2x1ZGVOb25Sb3V0ZVBhcmFtZXRlcnM6IGZhbHNlXG4gICAgfSkuZm9yRWFjaChkZWYgPT4ge1xuICAgICAgLy8gcGFyYW1zIHdpbGwgcmV0dXJuIG51bGwgZm9yIG5vbiBleGlzdGVudCBuYW1lc1xuICAgICAgaWYgKHBhcmFtcy5oYXMoZGVmLm5hbWUpKSB7XG4gICAgICAgIGlmIChkZWYuaXNBcnJheSkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlcyA9IHBhcmFtcy5nZXRBbGwoZGVmLm5hbWUpO1xuICAgICAgICAgIHJlc3VsdFtkZWYubmFtZV0gPSB2YWx1ZXMubWFwKHYgPT4gZGVmLnVybEZvcm1hdC5wYXJzZSh2KSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJhbXMuZ2V0KGRlZi5uYW1lKTtcbiAgICAgICAgICBpZiAoZGVmLmlzUm91dGVJZCkgeyAvLyBUT0RPOiBNb3ZlIHRoaXMgdG8gcGFyYW1ldGVyIGRlZiBzbyBpdCdzIGEgc3RyYXRlZ3kgcGF0dGVyblxuICAgICAgICAgICAgLy8gYmVjYXVzZSBvdXIgaWQgcm91dGVzIHJlZGlyZWN0IGlmIHRoZSBpZCBpc24ndCBwcmVzZW50IHdlIGFsd2F5cyBoYXZlIGEgaWRcbiAgICAgICAgICAgIC8vIHBhcmFtZXRlciBpbiBvdXIgcGFyYW1zLiAgVGhpcyB3aWxsIGJ1Z2dlciBvdXIgcmVtZW1iZXIgYW5kIGRlZmF1bHR2YWx1ZSBzYW5pdGlzYXRpb25cbiAgICAgICAgICAgIC8vIGFzIGl0J2xsIHNlZSB0aGF0IHRoZSBpZCBpcyBwcmVzZW50IChldmVudCB0aG91Z2h0IGl0cyBhIGJsYW5rIHN0cmluZykuXG4gICAgICAgICAgICBpZiAoIV8uaXNFbXB0eSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2RlZi5uYW1lXSA9IGRlZi51cmxGb3JtYXQucGFyc2UodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHRbZGVmLm5hbWVdID0gZGVmLnVybEZvcm1hdC5wYXJzZSh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUGxhY2VEZWZpbml0aW9uIHtcbiAgZXhwb3J0IGludGVyZmFjZSBQYXJhbWV0ZXJPcHRpb25zIHtcbiAgICBpbmNsdWRlUm91dGVJZD86IGJvb2xlYW47XG4gICAgaW5jbHVkZVJvdXRlUGFyYW1ldGVycz86IGJvb2xlYW47XG4gICAgaW5jbHVkZU5vblJvdXRlUGFyYW1ldGVycz86IGJvb2xlYW47XG4gIH1cbn1cbiJdfQ==
|
|
321
|
+
//# sourceMappingURL=place-definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place-definition.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-definition.ts"],"names":[],"mappings":"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","sourcesContent":["import { ParamMap } from '@angular/router';\nimport { assert, Constructable, Trace } from '@coolon/pectin';\nimport { Opts } from '@coolon/typescript-utilities';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\nimport _ from 'lodash';\nimport { PlaceComponent } from './place-component';\nimport { ParameterDefinition } from './route/parameter-definition.class';\nimport { Visit } from './visit';\n\nexport class PlaceDefinition {\n\n constructor(readonly component: Constructable<PlaceComponent>,\n readonly path: string,\n readonly authenticate: boolean,\n readonly data: { [key: string]: any },\n readonly routeParameters: ParameterDefinition<any>[],\n readonly children: PlaceDefinition[]) {\n }\n\n hasRouteId() {\n return !!this.getRouteIdParameterDef();\n }\n\n @Memoize()\n getRouteIdParameterDef(): ParameterDefinition<any> {\n return this.routeParameters.find(p => p.isRouteId);\n }\n\n @Memoize()\n getRouteParameterDefs(includeRouteId = false): ParameterDefinition<any>[] {\n return this.getVisitParameterDefs({ includeRouteId, includeRouteParameters: true });\n }\n\n @Memoize()\n getVisitParameterDefs(include?: PlaceDefinition.ParameterOptions): ParameterDefinition<any>[] {\n const opts = Opts.get(include);\n // includes\n const includeRouteId = !include || opts.getOptional('includeRouteId', false);\n const includeRouteParameters = !include || opts.getOptional('includeRouteParameters', false);\n const includeNonRouteParameters = !include || opts.getOptional('includeNonRouteParameters', false);\n return this.routeParameters.filter(p => {\n return (includeRouteId && p.isRouteId)\n || (includeRouteParameters && p.isRouteParameter && !p.isRouteId) // route id is included in the line above\n || (includeNonRouteParameters && !p.isRouteParameter);\n });\n }\n\n getPlaceData<T>(key: string, defaultValue?: T): T {\n return this.data ?\n _.isNil(this.data[key]) ? defaultValue : this.data[key] :\n defaultValue;\n }\n\n searchPlaceData<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 getRouteIdFrom(visit: Visit) {\n const routeIdParameterDef = this.getRouteIdParameterDef();\n return routeIdParameterDef ? visit.getParameter(routeIdParameterDef.name) : null;\n }\n\n getFormattedRouteId(visit: Visit): any {\n // Note: RouteIds are always present in the url and are just empty strings when not defined. This is\n // mandated by the fact that redirects from <path> to <path>/:id always include the id parameter as\n // an empty string.\n return visit.hasRouteId() ? this.getRouteIdParameterDef().urlFormat.format(visit.getRouteId()) : \"\";\n }\n\n getFormattedRouteParameters(visit: Visit, includeRouteId = false): { [p: string]: string } {\n const result: { [p: string]: string } = {};\n this.getVisitParameterDefs({\n includeRouteId, includeRouteParameters: true\n }).forEach(def => {\n const value = visit.getParameter(def.name);\n if (!def.isEmptyValue(value)) {\n if (def.isArray) {\n assert.isArray(value);\n result[def.name] = value.map(v => def.urlFormat.format(v));\n } else {\n assert.isFalsey(Array.isArray(value));\n result[def.name] = def.urlFormat.format(value);\n }\n }\n });\n return result;\n }\n\n getNonRouteParameters(visit: Visit): { [p: string]: string } {\n const result: { [p: string]: string } = {};\n this.getVisitParameterDefs({ includeNonRouteParameters: true }).forEach(def => {\n const value = visit.getParameter(def.name);\n if (!def.isEmptyValue(value)) {\n result[def.name] = value;\n }\n });\n return result;\n }\n\n // @Trace()\n parseRouteParams(params: ParamMap): { [p: string]: any } {\n const result: { [p: string]: any } = {};\n this.getVisitParameterDefs({\n includeRouteId: true,\n includeRouteParameters: true,\n includeNonRouteParameters: false\n }).forEach(def => {\n // params will return null for non existent names\n if (params.has(def.name)) {\n if (def.isArray) {\n const values = params.getAll(def.name);\n result[def.name] = values.map(v => def.urlFormat.parse(v));\n } else {\n const value = params.get(def.name);\n if (def.isRouteId) { // TODO: Move this to parameter def so it's a strategy pattern\n // because our id routes redirect if the id isn't present we always have a id\n // parameter in our params. This will bugger our remember and defaultvalue sanitisation\n // as it'll see that the id is present (event thought its a blank string).\n if (!_.isEmpty(value)) {\n result[def.name] = def.urlFormat.parse(value);\n }\n } else {\n result[def.name] = def.urlFormat.parse(value);\n }\n }\n }\n });\n return result;\n }\n\n}\n\nexport namespace PlaceDefinition {\n export interface ParameterOptions {\n includeRouteId?: boolean;\n includeRouteParameters?: boolean;\n includeNonRouteParameters?: boolean;\n }\n}\n"]}
|
|
@@ -81,4 +81,4 @@ if (false) {
|
|
|
81
81
|
*/
|
|
82
82
|
PlaceHistory.prototype._history;
|
|
83
83
|
}
|
|
84
|
-
//# sourceMappingURL=
|
|
84
|
+
//# sourceMappingURL=place-history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place-history.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-history.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,CAAC,MAAM,QAAQ,CAAC;;AAIvB;IAOE;QAFQ,aAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;IAGvD,CAAC;IAED,WAAW;;;;;;IACX,0BAAG;;;;;;IAAH,UAAI,KAAY;;YACR,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC;;YAChD,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QACtC,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;YACzD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO;YAC/B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAgC;SAC9F;IACH,CAAC;;;;;IAED,iCAAU;;;;IAAV,UAAW,QAAyB;;YAC9B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SACpC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;;;;;;;IAEO,iCAAU;;;;;;IAAlB,UAAmB,QAAyB,EAAE,OAAgB;QAC5D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;;gBA/BF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;;uBATD;CAoDC,AA7CD,IA6CC;SA1CY,YAAY;;;;;;IAEvB,gCAAuD","sourcesContent":["import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Trace } from '@coolon/pectin';\nimport _ from 'lodash';\nimport { PlaceDefinition } from './place-definition';\nimport { Visit } from './visit';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PlaceHistory {\n\n private _history = new Map<PlaceDefinition, Visit[]>();\n\n constructor() {\n }\n\n // @Trace()\n add(state: Visit) {\n const history = this.getHistory(state.placeDefinition);\n const previousState = _.first(history);\n if (!previousState || state.hasChangedFrom(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): Visit[] {\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: Visit[]) {\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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place-history.ngfactory.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-history.ngfactory.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\ni0.ComponentFactory;\n"]}
|
|
@@ -623,4 +623,4 @@ if (false) {
|
|
|
623
623
|
*/
|
|
624
624
|
PlaceRouter.prototype.interactionService;
|
|
625
625
|
}
|
|
626
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utcm91dGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLXJvdXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFHTCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGVBQWUsRUFFZixlQUFlLEVBQ2YsTUFBTSxFQUNOLGFBQWEsRUFDZCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFDTCxNQUFNLEVBRU4sR0FBRyxFQUNILGdCQUFnQixFQUVoQixJQUFJLEVBRUosTUFBTSxFQUNOLGdCQUFnQixFQUNoQixhQUFhLEVBQ2IsaUJBQWlCLEVBSWxCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFJN0M7SUFHaUMsdUNBQWdCO0lBVS9DLHFCQUE2QixNQUFjLEVBQ2QsYUFBNEIsRUFDNUIsZUFBeUIsRUFDekIsWUFBMEIsRUFDMUIsa0JBQXNDO1FBSm5FLFlBS0UsaUJBQU8sU0FnRVI7UUFyRTRCLFlBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixxQkFBZSxHQUFmLGVBQWUsQ0FBVTtRQUN6QixrQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQix3QkFBa0IsR0FBbEIs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QUFDLENBQUM7aUJBQ0o7YUFDRjtTQUNGO0lBQ0gsQ0FBQzs7Z0JBL1BGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBN0JDLE1BQU07Z0JBQ04sYUFBYTtnQkFYTixRQUFRO2dCQWdDUixZQUFZO2dCQUZaLGtCQUFrQjs7O3NCQTlCM0I7Q0FxU0MsQUFoUUQsQ0FHaUMsZ0JBQWdCLEdBNlBoRDtTQTdQWSxXQUFXOzs7Ozs7SUFFdEIsNENBQWtGOzs7OztJQUNsRixvQ0FBK0Q7O0lBRS9ELDJDQUFtRDs7SUFDbkQsdUNBQXNFOzs7OztJQUN0RSxnREFBMkQ7Ozs7O0lBQzNELGdEQUFtRjs7Ozs7SUFFdkUsNkJBQStCOzs7OztJQUMvQixvQ0FBNkM7Ozs7O0lBQzdDLHNDQUEwQzs7Ozs7SUFDMUMsbUNBQTJDOzs7OztJQUMzQyx5Q0FBdUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZSxcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgTmF2aWdhdGlvbkNhbmNlbCxcbiAgTmF2aWdhdGlvbkVuZCxcbiAgTmF2aWdhdGlvbkVycm9yLFxuICBOYXZpZ2F0aW9uRXh0cmFzLFxuICBOYXZpZ2F0aW9uU3RhcnQsXG4gIFJvdXRlcixcbiAgVXJsU2VyaWFsaXplclxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgYXNzZXJ0LFxuICBDb25zdHJ1Y3RhYmxlLFxuICBEc2wsXG4gIEdhcmJhZ2VDb2xsZWN0b3IsXG4gIEhhc09uZUluZGV4Q2hhaW4sXG4gIGxhbmcsXG4gIExpc3RNb2RlbCxcbiAgTG9nZ2VyLFxuICBNdXRhYmxlTGlzdE1vZGVsLFxuICBNdXRhYmxlU3RyZWFtLFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgVHJhY2UsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vaW50ZXJhY3Rpb24vc2VydmljZXMvaW50ZXJhY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhdGUgfSBmcm9tICcuL2d1YXJkcy9uYXZpZ2F0aW9uLXN0YXRlJztcbmltcG9ydCB7IFBsYWNlSGlzdG9yeSB9IGZyb20gJy4vcGxhY2UtaGlzdG9yeSc7XG5pbXBvcnQgeyBVcmxTbmFwc2hvdCB9IGZyb20gJy4vdXJsLXNuYXBzaG90JztcbmltcG9ydCB7IFZpc2l0IH0gZnJvbSAnLi92aXNpdCc7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGxhY2VSb3V0ZXIgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9uYXZpZ2F0aW9uU3RhdGVNb2RlbCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxOYXZpZ2F0aW9uU3RhdGU+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZVZpc2l0cyA9IG5ldyBNdXRhYmxlTGlzdE1vZGVsPFZpc2l0PigpO1xuXG4gIHJlYWRvbmx5IG5hdmlnYXRpb25JblByb2dyZXNzOiBWYWx1ZU1vZGVsPGJvb2xlYW4+O1xuICByZWFkb25seSBhY3RpdmVWaXNpdEluZGV4OiBIYXNPbmVJbmRleENoYWluPCdwbGFjZURlZmluaXRpb24nLCBWaXNpdD47XG4gIHByaXZhdGUgX25hdmlnYXRpb25TZXNzaW9uQ29udGV4dDogTmF2aWdhdGlvblN0YXRlLkNvbnRleHQ7XG4gIHByaXZhdGUgX25hdmlnYXRpb25TdGF0ZVR5cGVNb2RlbDogVmFsdWVNb2RlbENoYWluPENvbnN0cnVjdGFibGU8TmF2aWdhdGlvblN0YXRlPj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1cmxTZXJpYWxpemVyOiBVcmxTZXJpYWxpemVyLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFuZ3VsYXJMb2NhdGlvbjogTG9jYXRpb24sXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhY2VIaXN0b3J5OiBQbGFjZUhpc3RvcnksXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW50ZXJhY3Rpb25TZXJ2aWNlOiBJbnRlcmFjdGlvblNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5hY3RpdmVWaXNpdEluZGV4ID0gY2hhaW4odGhpcy5fYWN0aXZlVmlzaXRzKS5pbmRleEJ5KCdwbGFjZURlZmluaXRpb24nKTtcbiAgICB0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzID0gY2hhaW4odGhpcy5uYXZpZ2F0aW9uU3RhdGVNb2RlbCkucGx1Y2soJ2lzVHJhbnNpdGlvbmFsJyk7XG4gICAgdGhpcy5fbmF2aWdhdGlvblNlc3Npb25Db250ZXh0ID0gbmV3IE5hdmlnYXRpb25TdGF0ZS5Db250ZXh0KHRoaXMsIHRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlLCBzZXNzaW9uID0+IHtcbiAgICAgIHRoaXMucHJvY2Vzc05hdmlnYXRpb25TdWNjZXNzKHNlc3Npb24pO1xuICAgIH0pO1xuICAgIHRoaXMuX25hdmlnYXRpb25TdGF0ZU1vZGVsLnZhbHVlID0gbmV3IE5hdmlnYXRpb25TdGF0ZS5JZGxlKHRoaXMuX25hdmlnYXRpb25TZXNzaW9uQ29udGV4dCk7XG4gICAgdGhpcy5fbmF2aWdhdGlvblN0YXRlVHlwZU1vZGVsID0gY2hhaW4odGhpcy5fbmF2aWdhdGlvblN0YXRlTW9kZWwpLm1hcChzdGF0ZSA9PiBzdGF0ZS5jb25zdHJ1Y3RvciBhcyBDb25zdHJ1Y3RhYmxlPE5hdmlnYXRpb25TdGF0ZT4pO1xuXG4gICAgLy8gVE9ETzogbWFrZSBzZXR1cCB0aGUgY2FsbGJhY2tzIGluIGR1cmluZyBtb2R1bGUgaW5pdGlhdGlvbiB0byBtYWtlIHRoaXMgdGVzdGFibGUuXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAvLyBSb3V0aW5nIGV2ZW50IHNlcXVlbmNlXG4gICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAvLyBOYXZpZ2F0aW9uU3RhcnQgLT4gLi4uLiAtPiBOYXZpZ2F0aW9uQ2FuY2VsIC0tPiByZWRpcmVjdCwgZ28gYXJvdW5kIGFnYWluIGluIHRoZSBzYW1lIHNlc3Npb25cbiAgICAgIC8vIE5hdmlnYXRpb25TdGFydCAtPiAuLi4uIC0+IE5hdmlnYXRpb25FbmQgLS0+IG5hdmlnYXRpb24gY29tcGxldGUsIGVuZCBzZXNzaW9uLlxuICAgICAgLy8gTmF2aWdhdGlvblN0YXJ0IC0+IC4uLi4gLT4gTmF2aWdhdGlvbkVycm9yIC0tPiBuYXZpZ2F0aW9uIGFib3J0ZWQsIGVuZCBzZXNzaW9uLlxuICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICBpZiAoZXZlbnQubmF2aWdhdGlvblRyaWdnZXIgPT09ICdwb3BzdGF0ZScpIHtcbiAgICAgICAgICB0aGlzLnJ1blN0YXRlVHJhbnNpdGlvbihzdGF0ZSA9PiBzdGF0ZS5vblBvcFN0YXRlKGV2ZW50KSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5ydW5TdGF0ZVRyYW5zaXRpb24oc3RhdGUgPT4gc3RhdGUub25Sb3V0ZXJTdGFydGVkKGV2ZW50KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgY29uc29sZS5sb2coZXZlbnQpO1xuICAgICAgICB0aGlzLnJ1blN0YXRlVHJhbnNpdGlvbihzdGF0ZSA9PiBzdGF0ZS5vblJvdXRlckVuZChldmVudCkpO1xuICAgICAgfVxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGV2ZW50KTtcbiAgICAgICAgdGhpcy5ydW5TdGF0ZVRyYW5zaXRpb24oc3RhdGUgPT4gc3RhdGUub25Sb3V0ZXJFcnJvcihldmVudCkpO1xuICAgICAgfVxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkNhbmNlbCkge1xuICAgICAgICBjb25zb2xlLmxvZyhldmVudCk7XG4gICAgICAgIHRoaXMucnVuU3RhdGVUcmFuc2l0aW9uKHN0YXRlID0+IHN0YXRlLm9uUm91dGVyQ2FuY2VsbGVkKGV2ZW50KSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBQdXNoIGRpYWxvZyBzdGF0ZSB0byB0aGUgdXJsIHNvIHdlIGNhbiBjYXB0dXJlIHRoZSBiYWNrIGJ1dHRvbi5cbiAgICB3aGVuLmxpc3RPZih0aGlzLmludGVyYWN0aW9uU2VydmljZS5hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHRJZHMpLmNoYW5nZXMoKGlkcywgcHJldmlvdXMpID0+IHtcbiAgICAgIHRoaXMuc3luY0ludGVyYWN0aW9uSWRzV2l0aFJvdXRlcihpZHMsIHByZXZpb3VzKTtcbiAgICB9LCB7IHVubGVzczogdGhpcy5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyB9KTsgLy8gVE9ETzogSSB0aGluayB0aGUgZXhjbHVzaXZlIGludGVyYWN0aW9uIHByZXZlbnRzIGludGVyYWN0aW9ucyBzdGFydGluZyB3aGlsZSBpdCdzIGFjdGl2ZSBzbyB3ZSBtaWdodCBub3QgbmVlZCB0aGlzLlxuXG4gICAgY29uc3QgdXJsQ2hhbmdlcyA9IG5ldyBNdXRhYmxlU3RyZWFtPHsgdXJsOiBzdHJpbmcsIHN0YXRlOiBOYXZpZ2F0aW9uU3RhdGUgfT4oKTtcblxuICAgIC8vIFRoZSBhbmd1bGFyIHJvdXRlciBkb2Vzbid0IGFsd2F5cyBmaXJlIHJvdXRlciBldmVudHMgd2hlbiB0aGUgYmFjayBidXR0b24gaXMgcHVzaGVkIHdoaWxlIGEgbmF2aWdhdGlvblxuICAgIC8vIHNlc3Npb24gaXMgaW4gcHJvZ3Jlc3MuICBTb21ldGltZXMgd2Ugb25seSBrbm93IGFib3V0IGl0IGZyb20gdGhlIHVybCBjaGFuZ2UuXG4gICAgLy8gSU1QT1JUQU5UIE9SREVSIERFUEVOREVOQ1lcbiAgICAvLyBUaGlzIG9ubHkgd29ya3MgYmVjYXVzZSB3ZSdyZSBub3RpZmllZCBvZiB0aGUgY2hhbmdlIGFmdGVyIHRoZSByb3V0ZXIgaGFzIHN0YXJ0ZWQgcmVhY3RpbmcgdG8gaXQuICBUaGlzXG4gICAgLy8gd2UgY2FuIGNhbiB1c2Ugb3VyIG5hdmlnYXRpb25TdGF0ZSB0byBkZXRlcm1pbmUgdGhpbmdzLlxuICAgIGFuZ3VsYXJMb2NhdGlvbi5vblVybENoYW5nZSh1cmwgPT4ge1xuICAgICAgY29uc3QgbmF2aWdhdGlvblN0YXRlID0gdGhpcy5fbmF2aWdhdGlvblN0YXRlTW9kZWwudmFsdWU7XG4gICAgICBjb25zb2xlLmxvZyhgVVJMQ2hhbmdlIC0+ICR7dXJsfWAsIHsgc3RhdGU6IG5hdmlnYXRpb25TdGF0ZSB9KTtcbiAgICAgIHVybENoYW5nZXMucHVibGlzaCh7IHVybCwgc3RhdGU6IG5hdmlnYXRpb25TdGF0ZSB9KTtcblxuICAgICAgLy8gVGhlIHVybCBoYXMgY2hhbmdlZCB3aGlsZSB3ZSdyZSBpbiBhIHRyYW5zaXRpb25hbCBzdGF0ZVxuICAgICAgaWYgKG5hdmlnYXRpb25TdGF0ZS5pc1RyYW5zaXRpb25hbCkge1xuICAgICAgICBjb25zdCBuYXZpZ2F0aW9uSW50ZXJhY3Rpb24gPSB0aGlzLm5hdmlnYXRpb25TdGF0ZS5pbnRlcmFjdGlvbkNvbnRleHQ7XG4gICAgICAgIGlmIChuYXZpZ2F0aW9uSW50ZXJhY3Rpb24gJiYgbmF2aWdhdGlvbkludGVyYWN0aW9uLmlzQWN0aXZlKCkpIHtcbiAgICAgICAgICB0aGlzLnJ1blN0YXRlVHJhbnNpdGlvbihzdGF0ZSA9PiBzdGF0ZS5vbkJhY2tDbGlja2VkRHVyaW5nTmF2aWdhdGlvbkludGVyYWN0aW9uKHVybCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NOYXZpZ2F0aW9uU3VjY2VzcyhzZXNzaW9uOiBOYXZpZ2F0aW9uU3RhdGUpIHtcbiAgICAvLyBXZSBuZWVkIHRvIHVwZGF0ZSB0aGUgdmlzaXRzIGJlZm9yZSB0aGUgc2Vzc2lvbiBmaW5pc2hlcy4gIFRoaXMgYWxsb3dzIHRoZSBwbGFjZU91dGV0cyB0byBpZ25vcmUgdmlzaXRcbiAgICAvLyBjaGFuZ2VzIHRoYXQgb2NjdXIgd2hpbGUgcm91dGVyTmF2aWdhdGlvbkFjdGl2ZSBpcyB0cnVlLlxuICAgIGFzc2VydC5pc1RydXRoeSh0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzLnZhbHVlKTtcbiAgICBjb25zdCB2aXNpdHMgPSBzZXNzaW9uLmdldFZpc2l0cygpO1xuICAgIHZpc2l0cy5mb3JFYWNoKHYgPT4gdGhpcy5wbGFjZUhpc3RvcnkuYWRkKHYpKTtcbiAgICB0aGlzLl9hY3RpdmVWaXNpdHMudmFsdWUgPSB2aXNpdHM7XG4gIH1cblxuICBnZXQgbmF2aWdhdGlvblN0YXRlKCk6IE5hdmlnYXRpb25TdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25TdGF0ZU1vZGVsLnZhbHVlO1xuICB9XG5cbiAgZ2V0IG5hdmlnYXRpb25TdGF0ZU1vZGVsKCk6IFZhbHVlTW9kZWw8TmF2aWdhdGlvblN0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25TdGF0ZU1vZGVsLnJlYWRvbmx5O1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVZpc2l0cygpOiBMaXN0TW9kZWw8VmlzaXQ+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlVmlzaXRzLnJlYWRvbmx5O1xuICB9XG5cbiAgLyoqXG4gICAqICBwbGFjZVJvdXRlci5uYXZpZ2F0ZShwbGFjZURlc3RpbmF0aW9ucy5zb21lUGxhY2UuY3JlYXRlVmlzaXQocm91dGVJZCwgLi4udmlzaXRQYXJhbXMpKTtcbiAgICogQHBhcmFtIHZpc2l0XG4gICAqL1xuICBhc3luYyBuYXZpZ2F0ZSh2aXNpdDogVmlzaXQsIG9wdGlvbnM/OiB7IHJlbGF0aXZlVG86IEFjdGl2YXRlZFJvdXRlIH0pIHtcbiAgICB0aGlzLmRvTmF2aWdhdGlvbih2aXNpdCwgYXN5bmMgcm91dGVyID0+IHtcbiAgICAgIGNvbnN0IGNvbW1hbmRzID0gW1xuICAgICAgICB2aXNpdC5wbGFjZURlZmluaXRpb24ucGF0aCxcbiAgICAgICAgLi4udGhpcy5jcmVhdGVSb3V0ZVBhcmFtZXRlcnModmlzaXQpXG4gICAgICBdO1xuICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUoY29tbWFuZHMsIHtcbiAgICAgICAgcmVsYXRpdmVUbzogb3B0aW9ucyA/IG9wdGlvbnMucmVsYXRpdmVUbyA6IG51bGxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgcHVzaFZpc2l0Q2hhbmdlc1RvUm91dGUoYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcmV2aW91czogVmlzaXQsIG5leHQ6IFZpc2l0KSB7XG4gICAgLy8gd2UgaGF2ZSB0byBwdXNoIHRvIGhpc3Rvcnkgc28gb3VyIHJlbWVtYmVyIHNhbml0aXNlcnMgZG9uJ3QgcGljayB1cCB0aGUgcHJldmlvdXMgdmFsdWVcbiAgICAvLyB3aGVuIGl0J3MgYmVlbiBjbGVhcmVkIGJ5IHRoZSB1c2VyLlxuICAgIHRoaXMucGxhY2VIaXN0b3J5LmFkZChuZXh0KTtcblxuICAgIC8vIEZJWE1FOiBubyByb3V0ZSBpZCAtPiByb3V0ZSBpZCBkdXBsaWNhdGVzIHJvdXRlIHBhcmFtZXRlcnNcbiAgICBpZiAobmV4dC5oYXNSb3V0aW5nQ2hhbmdlZEZyb20ocHJldmlvdXMpKSB7XG4gICAgICByZXR1cm4gdGhpcy5kb05hdmlnYXRpb24obmV4dCwgcm91dGVyID0+IHtcbiAgICAgICAgY29uc3QgdXJsU25hcHNob3QgPSB0aGlzLnBhcnNlVXJsKHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnVybCkudXBkYXRlVmlzaXRTZWdtZW50cyhuZXh0KTtcbiAgICAgICAgY29uc29sZS5sb2coJyMjIyBQdXNoIENoYW5nZXMgdG8gcm91dGUgUmVkaXJlY3QnLCB7IGNvbW1hbmRzOiB1cmxTbmFwc2hvdC51cmwgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdmlnYXRlQnlVcmwodXJsU25hcHNob3QpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZG9OYXZpZ2F0aW9uKHZpc2l0OiBWaXNpdCwgcnVuTmF2aWdhdGlvbkNvbW1hbmRzOiAocm91dGVyOiBSb3V0ZXIpID0+IGFueSkge1xuICAgIGlmICh0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzLnZhbHVlKSB7XG4gICAgICBsYW5nLmlsbGVnYWxTdGF0ZSgnTmF2aWdhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzJyk7XG4gICAgfVxuICAgIHRoaXMucnVuU3RhdGVUcmFuc2l0aW9uKGN1cnJlbnQgPT4ge1xuICAgICAgY29uc3Qgc2Vzc2lvbiA9IHRoaXMubmF2aWdhdGlvblN0YXRlLm9uUGxhY2VOYXZpZ2F0aW9uU3RhcnQodmlzaXQsIHRoaXMuZ2V0Q3VycmVudFJvdXRlclVybCgpKTtcbiAgICAgIHNlc3Npb24uc3RvcmVWaXNpdCh2aXNpdCk7XG4gICAgICByZXR1cm4gc2Vzc2lvbjtcbiAgICB9KTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgcnVuTmF2aWdhdGlvbkNvbW1hbmRzKHRoaXMucm91dGVyKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgLy8gUm91dGVyIGhhcyBmaW5pc2hlZCAoc2luY2UgdGhlcmUgd2FzIG5vIHJvdXRlciBjaGFuZ2UgcmVxdWlyZWQpIHNvIHdlXG4gICAgICAvLyBuZWVkIHRvIGVuZCB0aGUgbmF2aWdhdGlvbiBzZXNzaW9uLlxuICAgICAgaWYgKHRoaXMubmF2aWdhdGlvblN0YXRlLmlzVHJhbnNpdGlvbmFsICYmICF0aGlzLnJvdXRlci5nZXRDdXJyZW50TmF2aWdhdGlvbigpKSB7XG4gICAgICAgIHRoaXMucnVuU3RhdGVUcmFuc2l0aW9uKHNlc3Npb24gPT4gc2Vzc2lvbi5vblJvdXRlckVuZChuZXcgTmF2aWdhdGlvbkVuZCgtMSwgJycsICcnKSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByb3RlY3RlZCBydW5TdGF0ZVRyYW5zaXRpb24odHJhbnNpdGlvbjogKG5hdmlnYXRpb25TZXNzaW9uOiBOYXZpZ2F0aW9uU3RhdGUpID0+IE5hdmlnYXRpb25TdGF0ZSkge1xuICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy5fbmF2aWdhdGlvblN0YXRlTW9kZWwudmFsdWU7XG4gICAgY29uc3QgbmV4dCA9IHRyYW5zaXRpb24odGhpcy5uYXZpZ2F0aW9uU3RhdGUpO1xuICAgIHRoaXMuX25hdmlnYXRpb25TdGF0ZU1vZGVsLnZhbHVlID0gbmV4dDtcbiAgICBpZiAobmV4dCAhPT0gcHJldmlvdXMpIHtcbiAgICAgIHByZXZpb3VzLmRpc3Bvc2UoKTtcbiAgICAgIExvZ2dlci5nZXQodGhpcykuaW5mbyhgUm91dGVyIFN0YXRlIFRyYW5zaXRpb246ICR7cHJldmlvdXMudG9TdHJpbmcoKX0gLT4gJHtuZXh0LnRvU3RyaW5nKCl9YCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSb3V0ZVBhcmFtZXRlcnModmlzaXQ6IFZpc2l0KSB7XG4gICAgY29uc3QgZGVmID0gdmlzaXQucGxhY2VEZWZpbml0aW9uO1xuICAgIHJldHVybiB2aXNpdC5oYXNSb3V0ZUlkKCkgP1xuICAgICAgW2RlZi5nZXRGb3JtYXR0ZWRSb3V0ZUlkKHZpc2l0KSwgZGVmLmdldEZvcm1hdHRlZFJvdXRlUGFyYW1ldGVycyh2aXNpdCldIDpcbiAgICAgIFtkZWYuZ2V0Rm9ybWF0dGVkUm91dGVQYXJhbWV0ZXJzKHZpc2l0KV07XG4gIH1cblxuICBleHRyYWN0Q2hpbGRQYXRoKGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYW55W10ge1xuICAgIHJldHVybiBfLmZsYXR0ZW4oYWN0aXZhdGVkUm91dGUuY2hpbGRyZW4ubWFwKGNoaWxkID0+IGNoaWxkLnVybCkpO1xuICB9XG5cbiAgcGFyc2VVcmwodXJsOiBzdHJpbmcpOiBVcmxTbmFwc2hvdCB7XG4gICAgcmV0dXJuIG5ldyBVcmxTbmFwc2hvdCh0aGlzLnVybFNlcmlhbGl6ZXIsIHVybCk7XG4gIH1cblxuICByZXNldEJyb3dzZXJMb2NhdGlvbih1cmw6IHN0cmluZykge1xuICAgIHRoaXMuYW5ndWxhckxvY2F0aW9uLmdvKHVybCk7XG4gIH1cblxuICBjcmVhdGVVcmxTbmFwc2hvdCguLi52aXNpdHM6IFZpc2l0W10pOiBVcmxTbmFwc2hvdCB7XG4gICAgY29uc3QgYml0cyA9IFtdO1xuICAgIHZpc2l0cy5mb3JFYWNoKHYgPT4ge1xuICAgICAgYml0cy5wdXNoKHRoaXMucGFyc2VVcmwoYCR7di5wbGFjZURlZmluaXRpb24ucGF0aH1gKS51cGRhdGVWaXNpdFNlZ21lbnRzKHYpLnVybCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VVcmwoYml0cy5qb2luKCcnKSk7XG4gIH1cblxuICBnZXRDdXJyZW50Um91dGVyVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLnJvdXRlclN0YXRlID8gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QudXJsIDogbnVsbDtcbiAgfVxuXG4gIGdldEN1cnJlbnRSb3V0ZVNuYXBzaG90KCk6IFVybFNuYXBzaG90IHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZVVybCh0aGlzLmdldEN1cnJlbnRSb3V0ZXJVcmwoKSk7XG4gIH1cblxuICBnZXRBY3RpdmVJbnRlcmFjdGlvbklkc0Zyb21VcmwodXJsOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VVcmwodXJsKS5nZXRJbnRlcmFjdGlvbklkcygpO1xuICB9XG5cblxuICAvLyBAVHJhY2UoKVxuICBoYXNBY3RpdmVJbnRlcmFjdGlvbklkcyh1cmw6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldEFjdGl2ZUludGVyYWN0aW9uSWRzRnJvbVVybCh1cmwpLmxlbmd0aCA+IDA7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBuYXZpZ2F0ZUJ5VXJsKHVybFNuYXBzaG90OiBVcmxTbmFwc2hvdCwgbmF2aWdhdGlvbkV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh1cmxTbmFwc2hvdC51cmxUcmVlLCBuYXZpZ2F0aW9uRXh0cmFzKTtcbiAgfVxuXG4gIC8vIFRPRE86IFNob3VsZCB0aGlzIGJlIG1vdmVkIHRvIHRoZSBuYXZpZ2F0aW9uIHN0YXRlcz9cbiAgc3luY0ludGVyYWN0aW9uSWRzV2l0aFJvdXRlcihjdXJyZW50SWRzOiBzdHJpbmdbXSwgcHJldmlvdXM6IHN0cmluZ1tdKSB7XG4gICAgYXNzZXJ0LmlzRmFsc2V5KHRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3MudmFsdWUpOyAvLyBVcGRhdGluZyBpbnRlcmFjdGlvbiByb3V0ZXMgZHVyaW5nIGFuIGV4aXN0aW5nIG5hdmlnYXRpb24gYnJlYWtzIGFsbCB0aGUgdGhpbmdzLlxuICAgIGNvbnNvbGUubG9nKHtcbiAgICAgIHN0YXJ0aW5nQWN0aXZpdHk6IGN1cnJlbnRJZHMubGVuZ3RoID4gcHJldmlvdXMubGVuZ3RoLFxuICAgICAgd2FzQmFja0J1dHRvbjogdGhpcy5uYXZpZ2F0aW9uU3RhdGUuaXNQb3BTdGF0ZVxuICAgIH0pO1xuXG4gICAgaWYgKF8uaXNFcXVhbChjdXJyZW50SWRzLCBwcmV2aW91cykpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdhY3Rpdml0eSBpZHMgd2VyZSB0aGUgc2FtZSwgc2tpcHBpbmcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gT01HLCB0aGlzIGlzIG51dHMuXG4gICAgICBjb25zdCBhZGRpbmdBY3Rpdml0eSA9IGN1cnJlbnRJZHMubGVuZ3RoID4gcHJldmlvdXMubGVuZ3RoO1xuICAgICAgY29uc3QgaXNGaXJzdEFjdGl2aXR5ID0gYWRkaW5nQWN0aXZpdHkgJiYgcHJldmlvdXMubGVuZ3RoIDwgMTtcbiAgICAgIGNvbnN0IHJlbW92aW5nTGFzdEFjdGl2aXR5ID0gY3VycmVudElkcy5sZW5ndGggPCAxO1xuICAgICAgaWYgKGFkZGluZ0FjdGl2aXR5KSB7Ly8gd2UncmUgc3RhcnRpbmcgYSBuZXcgYWN0aXZpdHksIHB1c2ggdGhlIGNoYW5nZSB0byB0aGUgaGlzdG9yeSBhbmQgdXBkYXRlIHRoZSB1cmxcbiAgICAgICAgY29uc29sZS5sb2coJ2FkZGluZyBhY3Rpdml0eScpO1xuICAgICAgICB0aGlzLm5hdmlnYXRlQnlVcmwodGhpcy5nZXRDdXJyZW50Um91dGVTbmFwc2hvdCgpLnVwZGF0ZUludGVyYWN0aW9uSWRzKGN1cnJlbnRJZHMpLCB7XG4gICAgICAgICAgcmVwbGFjZVVybDogIWlzRmlyc3RBY3Rpdml0eSAvLyB3ZSBkb24ndCBsZXQgdGhlIGhpc3RvcnkgcGlsZSB1cFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHVybFNuYXBzaG90ID0gdGhpcy5nZXRDdXJyZW50Um91dGVTbmFwc2hvdCgpLnVwZGF0ZUludGVyYWN0aW9uSWRzKGN1cnJlbnRJZHMpO1xuICAgICAgICBpZiAocmVtb3ZpbmdMYXN0QWN0aXZpdHkpIHtcbiAgICAgICAgICB0aGlzLm5hdmlnYXRlQnlVcmwodXJsU25hcHNob3QsIHtcbiAgICAgICAgICAgIHJlcGxhY2VVcmw6IHRydWVcbiAgICAgICAgICB9KS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIC8vIGZvciBzb21lIHJlYXNvbiB3ZSBuZWVkIHRvIHBvcCB0aGUgbGFzdCBoaXN0b3J5IG9mZiB0aGUgc3RhY2sgd2hlbiBsZWF2aW5nIHRoZVxuICAgICAgICAgICAgLy8gYWN0aXZlIGFjdGl2aXR5IHN0YXRlLlxuICAgICAgICAgICAgdGhpcy5hbmd1bGFyTG9jYXRpb24uYmFjaygpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubmF2aWdhdGVCeVVybCh1cmxTbmFwc2hvdCwge1xuICAgICAgICAgICAgcmVwbGFjZVVybDogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
626
|
+
//# sourceMappingURL=place-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place-router.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-router.ts"],"names":[],"mappings":"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","sourcesContent":["import { Location } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport {\n ActivatedRoute,\n ActivatedRouteSnapshot,\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n NavigationExtras,\n NavigationStart,\n Router,\n UrlSerializer\n} from '@angular/router';\nimport {\n assert,\n Constructable,\n Dsl,\n GarbageCollector,\n HasOneIndexChain,\n lang,\n ListModel,\n Logger,\n MutableListModel,\n MutableStream,\n MutableValueModel,\n Trace,\n ValueModel,\n ValueModelChain\n} from '@coolon/pectin';\nimport _ from 'lodash';\nimport { InteractionService } from '../interaction/services/interaction.service';\nimport { NavigationState } from './guards/navigation-state';\nimport { PlaceHistory } from './place-history';\nimport { UrlSnapshot } from './url-snapshot';\nimport { Visit } from './visit';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PlaceRouter extends GarbageCollector {\n\n private readonly _navigationStateModel = new MutableValueModel<NavigationState>();\n private readonly _activeVisits = new MutableListModel<Visit>();\n\n readonly navigationInProgress: ValueModel<boolean>;\n readonly activeVisitIndex: HasOneIndexChain<'placeDefinition', Visit>;\n private _navigationSessionContext: NavigationState.Context;\n private _navigationStateTypeModel: ValueModelChain<Constructable<NavigationState>>;\n\n constructor(private readonly router: Router,\n private readonly urlSerializer: UrlSerializer,\n private readonly angularLocation: Location,\n private readonly placeHistory: PlaceHistory,\n private readonly interactionService: InteractionService) {\n super();\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n this.activeVisitIndex = chain(this._activeVisits).indexBy('placeDefinition');\n this.navigationInProgress = chain(this.navigationStateModel).pluck('isTransitional');\n this._navigationSessionContext = new NavigationState.Context(this, this.interactionService, session => {\n this.processNavigationSuccess(session);\n });\n this._navigationStateModel.value = new NavigationState.Idle(this._navigationSessionContext);\n this._navigationStateTypeModel = chain(this._navigationStateModel).map(state => state.constructor as Constructable<NavigationState>);\n\n // TODO: make setup the callbacks in during module initiation to make this testable.\n this.router.events.subscribe(event => {\n // Routing event sequence\n // ======================\n // NavigationStart -> .... -> NavigationCancel --> redirect, go around again in the same session\n // NavigationStart -> .... -> NavigationEnd --> navigation complete, end session.\n // NavigationStart -> .... -> NavigationError --> navigation aborted, end session.\n // =======================\n if (event instanceof NavigationStart) {\n if (event.navigationTrigger === 'popstate') {\n this.runStateTransition(state => state.onPopState(event));\n } else {\n this.runStateTransition(state => state.onRouterStarted(event));\n }\n }\n if (event instanceof NavigationEnd) {\n console.log(event);\n this.runStateTransition(state => state.onRouterEnd(event));\n }\n if (event instanceof NavigationError) {\n console.log(event);\n this.runStateTransition(state => state.onRouterError(event));\n }\n if (event instanceof NavigationCancel) {\n console.log(event);\n this.runStateTransition(state => state.onRouterCancelled(event));\n }\n });\n\n // Push dialog state to the url so we can capture the back button.\n when.listOf(this.interactionService.activeInteractionContextIds).changes((ids, previous) => {\n this.syncInteractionIdsWithRouter(ids, previous);\n }, { unless: this.navigationInProgress }); // TODO: I think the exclusive interaction prevents interactions starting while it's active so we might not need this.\n\n const urlChanges = new MutableStream<{ url: string, state: NavigationState }>();\n\n // The angular router doesn't always fire router events when the back button is pushed while a navigation\n // session is in progress. Sometimes we only know about it from the url change.\n // IMPORTANT ORDER DEPENDENCY\n // This only works because we're notified of the change after the router has started reacting to it. This\n // we can can use our navigationState to determine things.\n angularLocation.onUrlChange(url => {\n const navigationState = this._navigationStateModel.value;\n console.log(`URLChange -> ${url}`, { state: navigationState });\n urlChanges.publish({ url, state: navigationState });\n\n // The url has changed while we're in a transitional state\n if (navigationState.isTransitional) {\n const navigationInteraction = this.navigationState.interactionContext;\n if (navigationInteraction && navigationInteraction.isActive()) {\n this.runStateTransition(state => state.onBackClickedDuringNavigationInteraction(url));\n }\n }\n });\n }\n\n private processNavigationSuccess(session: NavigationState) {\n // We need to update the visits before the session finishes. This allows the placeOutets to ignore visit\n // changes that occur while routerNavigationActive is true.\n assert.isTruthy(this.navigationInProgress.value);\n const visits = session.getVisits();\n visits.forEach(v => this.placeHistory.add(v));\n this._activeVisits.value = visits;\n }\n\n get navigationState(): NavigationState {\n return this._navigationStateModel.value;\n }\n\n get navigationStateModel(): ValueModel<NavigationState> {\n return this._navigationStateModel.readonly;\n }\n\n get activeVisits(): ListModel<Visit> {\n return this._activeVisits.readonly;\n }\n\n /**\n * placeRouter.navigate(placeDestinations.somePlace.createVisit(routeId, ...visitParams));\n * @param visit\n */\n async navigate(visit: Visit, options?: { relativeTo: ActivatedRoute }) {\n this.doNavigation(visit, async router => {\n const commands = [\n visit.placeDefinition.path,\n ...this.createRouteParameters(visit)\n ];\n await this.router.navigate(commands, {\n relativeTo: options ? options.relativeTo : null\n });\n });\n }\n\n // @Trace()\n async pushVisitChangesToRoute(activatedRoute: ActivatedRoute, previous: Visit, next: Visit) {\n // we have to push to history so our remember sanitisers don't pick up the previous value\n // when it's been cleared by the user.\n this.placeHistory.add(next);\n\n // FIXME: no route id -> route id duplicates route parameters\n if (next.hasRoutingChangedFrom(previous)) {\n return this.doNavigation(next, router => {\n const urlSnapshot = this.parseUrl(this.router.routerState.snapshot.url).updateVisitSegments(next);\n console.log('### Push Changes to route Redirect', { commands: urlSnapshot.url });\n return this.navigateByUrl(urlSnapshot);\n });\n }\n }\n\n async doNavigation(visit: Visit, runNavigationCommands: (router: Router) => any) {\n if (this.navigationInProgress.value) {\n lang.illegalState('Navigation already in progress');\n }\n this.runStateTransition(current => {\n const session = this.navigationState.onPlaceNavigationStart(visit, this.getCurrentRouterUrl());\n session.storeVisit(visit);\n return session;\n });\n try {\n await runNavigationCommands(this.router);\n } finally {\n // Router has finished (since there was no router change required) so we\n // need to end the navigation session.\n if (this.navigationState.isTransitional && !this.router.getCurrentNavigation()) {\n this.runStateTransition(session => session.onRouterEnd(new NavigationEnd(-1, '', '')));\n }\n }\n }\n\n // @Trace()\n protected runStateTransition(transition: (navigationSession: NavigationState) => NavigationState) {\n const previous = this._navigationStateModel.value;\n const next = transition(this.navigationState);\n this._navigationStateModel.value = next;\n if (next !== previous) {\n previous.dispose();\n Logger.get(this).info(`Router State Transition: ${previous.toString()} -> ${next.toString()}`);\n }\n }\n\n private createRouteParameters(visit: Visit) {\n const def = visit.placeDefinition;\n return visit.hasRouteId() ?\n [def.getFormattedRouteId(visit), def.getFormattedRouteParameters(visit)] :\n [def.getFormattedRouteParameters(visit)];\n }\n\n extractChildPath(activatedRoute: ActivatedRouteSnapshot): any[] {\n return _.flatten(activatedRoute.children.map(child => child.url));\n }\n\n parseUrl(url: string): UrlSnapshot {\n return new UrlSnapshot(this.urlSerializer, url);\n }\n\n resetBrowserLocation(url: string) {\n this.angularLocation.go(url);\n }\n\n createUrlSnapshot(...visits: Visit[]): UrlSnapshot {\n const bits = [];\n visits.forEach(v => {\n bits.push(this.parseUrl(`${v.placeDefinition.path}`).updateVisitSegments(v).url);\n });\n return this.parseUrl(bits.join(''));\n }\n\n getCurrentRouterUrl(): string {\n return this.router.routerState ? this.router.routerState.snapshot.url : null;\n }\n\n getCurrentRouteSnapshot(): UrlSnapshot {\n return this.parseUrl(this.getCurrentRouterUrl());\n }\n\n getActiveInteractionIdsFromUrl(url: string): string[] {\n return this.parseUrl(url).getInteractionIds();\n }\n\n\n // @Trace()\n hasActiveInteractionIds(url: string) {\n return this.getActiveInteractionIdsFromUrl(url).length > 0;\n }\n\n // @Trace()\n navigateByUrl(urlSnapshot: UrlSnapshot, navigationExtras?: NavigationExtras): Promise<boolean> {\n return this.router.navigateByUrl(urlSnapshot.urlTree, navigationExtras);\n }\n\n // TODO: Should this be moved to the navigation states?\n syncInteractionIdsWithRouter(currentIds: string[], previous: string[]) {\n assert.isFalsey(this.navigationInProgress.value); // Updating interaction routes during an existing navigation breaks all the things.\n console.log({\n startingActivity: currentIds.length > previous.length,\n wasBackButton: this.navigationState.isPopState\n });\n\n if (_.isEqual(currentIds, previous)) {\n console.log('activity ids were the same, skipping');\n } else {\n // OMG, this is nuts.\n const addingActivity = currentIds.length > previous.length;\n const isFirstActivity = addingActivity && previous.length < 1;\n const removingLastActivity = currentIds.length < 1;\n if (addingActivity) {// we're starting a new activity, push the change to the history and update the url\n console.log('adding activity');\n this.navigateByUrl(this.getCurrentRouteSnapshot().updateInteractionIds(currentIds), {\n replaceUrl: !isFirstActivity // we don't let the history pile up\n });\n } else {\n const urlSnapshot = this.getCurrentRouteSnapshot().updateInteractionIds(currentIds);\n if (removingLastActivity) {\n this.navigateByUrl(urlSnapshot, {\n replaceUrl: true\n }).then(() => {\n // for some reason we need to pop the last history off the stack when leaving the\n // active activity state.\n this.angularLocation.back();\n });\n } else {\n this.navigateByUrl(urlSnapshot, {\n replaceUrl: true\n });\n }\n }\n }\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place-router.ngfactory.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-router.ngfactory.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\ni0.ComponentFactory;\n"]}
|
|
@@ -47,4 +47,4 @@ export function Place(options) {
|
|
|
47
47
|
Options.prototype.defaultChild;
|
|
48
48
|
}
|
|
49
49
|
})(Place || (Place = {}));
|
|
50
|
-
//# sourceMappingURL=
|
|
50
|
+
//# sourceMappingURL=place.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place.decorator.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place.decorator.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAiB,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;;;;;AAErD,MAAM,UAAU,KAAK,CAAC,OAAsB;IAC1C;;;;IAAO,UAAC,MAAgB;QACtB,IAAI,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,EAAE;YACtD,cAAc,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,eAAe,CACzD,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAC3D,OAAO,CAAC,IAAI,EACZ,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,EACzC,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG;;;;YAAC,UAAA,CAAC,IAAI,OAAA,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,EAA/B,CAA+B,EAAC,CACnE,CAAC,CAAC;SAEJ;aAAM;YACL,IAAI,CAAC,YAAY,CAAI,MAAM,4DAAyD,CAAC,CAAC;SACvF;IACH,CAAC,EAAC;AACJ,CAAC;AAED,WAAiB,KAAK;;;;IAEpB,sBAMC;;;;QALC,uBAAa;;QACb,uBAA8B;;QAC9B,+BAAuB;;QACvB,2BAA0C;;QAC1C,+BAA4C;;AAGhD,CAAC,EAVgB,KAAK,KAAL,KAAK,QAUrB","sourcesContent":["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) ? true : options.authenticate,\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 data?: { [key: string]: any }, // defaults to true\n authenticate?: boolean, // defaults to true\n children?: Constructable<PlaceComponent>[]\n defaultChild?: Constructable<PlaceComponent>\n }\n\n}\n\n"]}
|
|
@@ -59,4 +59,4 @@ var PlaceModule = /** @class */ (function () {
|
|
|
59
59
|
return PlaceModule;
|
|
60
60
|
}());
|
|
61
61
|
export { PlaceModule };
|
|
62
|
-
//# sourceMappingURL=
|
|
62
|
+
//# sourceMappingURL=place.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place.module.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place.module.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wEAAwE,CAAC;AAExH;IAAA;IAmCA,CAAC;;gBAnCA,QAAQ,SAAC;oBACR,OAAO,EAAE;wBACP,YAAY;wBACZ,uBAAuB;wBACvB,wBAAwB;wBACxB,YAAY;wBACZ,aAAa;wBACb,aAAa;wBACb,gBAAgB;wBAChB,aAAa;wBACb,gBAAgB;qBACjB;oBACD,YAAY,EAAE;wBACZ,mBAAmB;wBACnB,oBAAoB;wBACpB,oBAAoB;wBACpB,8BAA8B;wBAC9B,qBAAqB;wBACrB,gCAAgC;qBACjC;oBACD,eAAe,EAAE,CAAC,oBAAoB,CAAC;oBACvC,OAAO,EAAE;wBACP,oBAAoB;wBACpB,oBAAoB;wBACpB,mBAAmB;wBACnB,8BAA8B;wBAC9B,qBAAqB;wBACrB,gCAAgC;qBACjC;oBACD,SAAS,EAAE;oBACT,uEAAuE;qBACxE;iBACF;;IAGD,kBAAC;CAAA,AAnCD,IAmCC;SAFY,WAAW","sourcesContent":["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 { DirectivesModule } from '../directives/directives.module';\nimport { AbstractPlaceNavigationComponent } from './components/abstract-place-navigation.component';\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 DirectivesModule\n ],\n declarations: [\n EmptyStateComponent,\n BusyOverlayComponent,\n PlaceOutletComponent,\n TabbedPlaceNavigationComponent,\n ListPlaceNavComponent,\n AbstractPlaceNavigationComponent\n ],\n entryComponents: [BusyOverlayComponent],\n exports: [\n BusyOverlayComponent,\n PlaceOutletComponent,\n EmptyStateComponent,\n TabbedPlaceNavigationComponent,\n ListPlaceNavComponent,\n AbstractPlaceNavigationComponent\n ],\n providers: [\n // {provide: AUP_PLACE_CONFIG, useValue: {animationDuration: \"2000ms\"}}\n ]\n})\nexport class PlaceModule {\n\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place.module.ngfactory.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place.module.ngfactory.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\nimport * as i1 from './place.module';\nimport * as i2 from '@angular/common';\nimport * as i3 from '@angular/cdk/bidi';\nimport * as i4 from '@angular/material/progress-spinner';\nimport * as i5 from '@angular/router';\nimport * as i6 from '@angular/material/tabs';\nimport * as i7 from '@angular/material/core';\nimport * as i8 from '@angular/material/divider';\nimport * as i9 from '@angular/material/list';\nimport * as i10 from '@angular/material/tooltip';\nimport * as i11 from '@angular/material/icon';\nimport * as i12 from '../directives/command.directive';\nimport * as i13 from '../directives/focus-binding.directive';\nimport * as i14 from './components/empty-state/empty-state.component';\nimport * as i15 from './components/busy-overlay/busy-overlay.component';\nimport * as i16 from './components/place-outlet/place-outlet.component';\nimport * as i17 from './components/tabbed-place-navigation/tabbed-place-navigation.component';\nimport * as i18 from './components/list-place-nav/list-place-nav.component';\nimport * as i19 from './components/abstract-place-navigation.component';\nimport * as i20 from '@angular/platform-browser/animations';\nimport * as i21 from '../directives/directives.module';\nexport const PlaceModuleNgFactory:i0.NgModuleFactory<i1.PlaceModule> = (null as any);\nvar _decl0_0:i2.NgClass = (<any>(null as any));\nvar _decl0_1:i2.NgComponentOutlet = (<any>(null as any));\nvar _decl0_2:i2.NgForOf<any> = (<any>(null as any));\nvar _decl0_3:i2.NgIf = (<any>(null as any));\nvar _decl0_4:i2.NgTemplateOutlet = (<any>(null as any));\nvar _decl0_5:i2.NgStyle = (<any>(null as any));\nvar _decl0_6:i2.NgSwitch = (<any>(null as any));\nvar _decl0_7:i2.NgSwitchCase = (<any>(null as any));\nvar _decl0_8:i2.NgSwitchDefault = (<any>(null as any));\nvar _decl0_9:i2.NgPlural = (<any>(null as any));\nvar _decl0_10:i2.NgPluralCase = (<any>(null as any));\nvar _decl0_11:i3.Dir = (<any>(null as any));\nvar _decl0_12:i4.MatProgressSpinner = (<any>(null as any));\nvar _decl0_13:i4.MatSpinner = (<any>(null as any));\nvar _decl0_14:i5.RouterOutlet = (<any>(null as any));\nvar _decl0_15:i5.RouterLink = (<any>(null as any));\nvar _decl0_16:i5.RouterLinkWithHref = (<any>(null as any));\nvar _decl0_17:i5.RouterLinkActive = (<any>(null as any));\nvar _decl0_18:i5.ɵangular_packages_router_router_l = (<any>(null as any));\nvar _decl0_19:i6.MatTabGroup = (<any>(null as any));\nvar _decl0_20:i6.MatTabLabel = (<any>(null as any));\nvar _decl0_21:i6.MatTab = (<any>(null as any));\nvar _decl0_22:i6.MatTabNav = (<any>(null as any));\nvar _decl0_23:i6.MatTabLink = (<any>(null as any));\nvar _decl0_24:i6.MatTabContent = (<any>(null as any));\nvar _decl0_25:i7.MatLine = (<any>(null as any));\nvar _decl0_26:i7.MatPseudoCheckbox = (<any>(null as any));\nvar _decl0_27:i8.MatDivider = (<any>(null as any));\nvar _decl0_28:i9.MatList = (<any>(null as any));\nvar _decl0_29:i9.MatNavList = (<any>(null as any));\nvar _decl0_30:i9.MatListItem = (<any>(null as any));\nvar _decl0_31:i9.MatListAvatarCssMatStyler = (<any>(null as any));\nvar _decl0_32:i9.MatListIconCssMatStyler = (<any>(null as any));\nvar _decl0_33:i9.MatListSubheaderCssMatStyler = (<any>(null as any));\nvar _decl0_34:i9.MatSelectionList = (<any>(null as any));\nvar _decl0_35:i9.MatListOption = (<any>(null as any));\nvar _decl0_36:i10.MatTooltip = (<any>(null as any));\nvar _decl0_37:i10.TooltipComponent = (<any>(null as any));\nvar _decl0_38:i11.MatIcon = (<any>(null as any));\nvar _decl0_39:i12.CommandDirective<any> = (<any>(null as any));\nvar _decl0_40:i13.FocusBindingDirective = (<any>(null as any));\nvar _decl0_41:i14.EmptyStateComponent = (<any>(null as any));\nvar _decl0_42:i15.BusyOverlayComponent = (<any>(null as any));\nvar _decl0_43:i16.PlaceOutletComponent = (<any>(null as any));\nvar _decl0_44:i17.TabbedPlaceNavigationComponent = (<any>(null as any));\nvar _decl0_45:i18.ListPlaceNavComponent = (<any>(null as any));\nvar _decl0_46:i19.AbstractPlaceNavigationComponent = (<any>(null as any));\nvar _decl0_47:i2.AsyncPipe = (<any>(null as any));\nvar _decl0_48:i2.UpperCasePipe = (<any>(null as any));\nvar _decl0_49:i2.LowerCasePipe = (<any>(null as any));\nvar _decl0_50:i2.JsonPipe = (<any>(null as any));\nvar _decl0_51:i2.SlicePipe = (<any>(null as any));\nvar _decl0_52:i2.DecimalPipe = (<any>(null as any));\nvar _decl0_53:i2.PercentPipe = (<any>(null as any));\nvar _decl0_54:i2.TitleCasePipe = (<any>(null as any));\nvar _decl0_55:i2.CurrencyPipe = (<any>(null as any));\nvar _decl0_56:i2.DatePipe = (<any>(null as any));\nvar _decl0_57:i2.I18nPluralPipe = (<any>(null as any));\nvar _decl0_58:i2.I18nSelectPipe = (<any>(null as any));\nvar _decl0_59:i2.KeyValuePipe = (<any>(null as any));\nvar _decl0_60:i2.CommonModule = (<any>(null as any));\nvar _decl0_61:i20.BrowserAnimationsModule = (<any>(null as any));\nvar _decl0_62:i4.MatProgressSpinnerModule = (<any>(null as any));\nvar _decl0_63:i5.RouterModule = (<any>(null as any));\nvar _decl0_64:i6.MatTabsModule = (<any>(null as any));\nvar _decl0_65:i9.MatListModule = (<any>(null as any));\nvar _decl0_66:i10.MatTooltipModule = (<any>(null as any));\nvar _decl0_67:i11.MatIconModule = (<any>(null as any));\nvar _decl0_68:i21.DirectivesModule = (<any>(null as any));\nvar _decl0_69:i0.TemplateRef<any> = (<any>(null as any));\nvar _decl0_70:i0.ElementRef<any> = (<any>(null as any));\nfunction _View_EmptyStateComponent_Host_1_0():void {\n var _any:any = (null as any);\n}\nfunction _View_EmptyStateComponent_1_0():void {\n var _any:any = (null as any);\n}\nfunction _View_BusyOverlayComponent_Host_2_0():void {\n var _any:any = (null as any);\n}\nfunction _View_BusyOverlayComponent_2_1():void {\n if (_decl0_42.busyModel.value) {\n var _any:any = (null as any);\n const currVal_0:any = 52;\n currVal_0;\n const currVal_1:any = 'indeterminate';\n currVal_1;\n const currVal_2:any = _decl0_12._noopAnimations;\n currVal_2;\n const currVal_3:any = _decl0_12.diameter;\n currVal_3;\n const currVal_4:any = _decl0_12.diameter;\n currVal_4;\n const currVal_5:any = ((_decl0_12.mode === 'determinate')? 0: null);\n currVal_5;\n const currVal_6:any = ((_decl0_12.mode === 'determinate')? 100: null);\n currVal_6;\n const currVal_7:any = ((_decl0_12.mode === 'determinate')? _decl0_12.value: null);\n currVal_7;\n const currVal_8:any = _decl0_12.mode;\n currVal_8;\n }\n}\nfunction _View_BusyOverlayComponent_2_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_42.busyModel.value;\n currVal_0;\n}\nfunction _View_PlaceOutletComponent_Host_3_0():void {\n var _any:any = (null as any);\n}\nfunction _View_PlaceOutletComponent_3_0():void {\n var _any:any = (null as any);\n const currVal_0:any = {value:_decl0_43.getAnimationOrder(),params:{duration:_decl0_43.animationDuration}};\n currVal_0;\n const currVal_1:any = !_decl0_43.animateModel.value;\n currVal_1;\n const pd_2:any = ((<any>_decl0_43.animationStarted()) !== false);\n const pd_3:any = ((<any>_decl0_43.animationDone()) !== false);\n const pd_4:any = ((<any>_decl0_43.onOutletActivated(_decl0_14,_any)) !== false);\n const pd_5:any = ((<any>_decl0_43.onOutletDeactivated()) !== false);\n}\nfunction _View_TabbedPlaceNavigationComponent_Host_4_0():void {\n var _any:any = (null as any);\n}\nfunction _View_TabbedPlaceNavigationComponent_4_2():void {\n if (_decl0_44.getNav(_any).icon()) {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_38.inline;\n currVal_0;\n const currVal_1:any = (((_decl0_38.color !== 'primary') && (_decl0_38.color !== 'accent')) && (_decl0_38.color !== 'warn'));\n currVal_1;\n const currVal_2:any = _decl0_44.getNav(_any).icon();\n currVal_2;\n }\n}\nfunction _View_TabbedPlaceNavigationComponent_4_1():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_44.isActive(_any);\n currVal_0;\n const currVal_1:any = (_decl0_23.active? 'page': null);\n currVal_1;\n const currVal_2:any = _decl0_23.disabled;\n currVal_2;\n const currVal_3:any = _decl0_23.tabIndex;\n currVal_3;\n const currVal_4:any = _decl0_23.disabled;\n currVal_4;\n const currVal_5:any = _decl0_23.active;\n currVal_5;\n const currVal_6:any = _decl0_44.getNav(_any).tooltip();\n currVal_6;\n const currVal_7:any = _decl0_44.commandFactory.create(_any);\n currVal_7;\n const currVal_8:any = _decl0_44.getNav(_any).icon();\n currVal_8;\n const currVal_9:any = _decl0_44.getNav(_any).title();\n currVal_9;\n const pd_10:any = ((<any>_decl0_36.show()) !== false);\n const pd_11:any = ((<any>_decl0_36._handleKeydown(_any)) !== false);\n const pd_12:any = ((<any>_decl0_36._handleTouchend()) !== false);\n const pd_13:any = ((<any>_decl0_39.notifyClick(_any)) !== false);\n}\nfunction _View_TabbedPlaceNavigationComponent_4_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_22._showPaginationControls;\n currVal_0;\n const currVal_1:any = (_decl0_22._getLayoutDirection() == 'rtl');\n currVal_1;\n const currVal_2:any = ((_decl0_22.color !== 'warn') && (_decl0_22.color !== 'accent'));\n currVal_2;\n const currVal_3:any = (_decl0_22.color === 'accent');\n currVal_3;\n const currVal_4:any = (_decl0_22.color === 'warn');\n currVal_4;\n const currVal_5:any = _decl0_44.placeDefinitions.value;\n currVal_5;\n}\nfunction _View_ListPlaceNavComponent_Host_5_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_45.expanded;\n currVal_0;\n}\nfunction _View_ListPlaceNavComponent_5_2():void {\n if (_decl0_45.getNav(_any).icon()) {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_38.inline;\n currVal_0;\n const currVal_1:any = (((_decl0_38.color !== 'primary') && (_decl0_38.color !== 'accent')) && (_decl0_38.color !== 'warn'));\n currVal_1;\n const currVal_2:any = _decl0_45.getNav(_any).icon();\n currVal_2;\n }\n}\nfunction _View_ListPlaceNavComponent_5_1():void {\n var _any:any = (null as any);\n const currVal_0:any = (_decl0_30._avatar || _decl0_30._icon);\n currVal_0;\n const currVal_1:any = (_decl0_30._avatar || _decl0_30._icon);\n currVal_1;\n const currVal_2:any = _decl0_45.getNav(_any).tooltip();\n currVal_2;\n const currVal_3:any = _decl0_45.commandFactory.create(_any);\n currVal_3;\n const currVal_4:any = _decl0_45.isActive(_any);\n currVal_4;\n const currVal_5:any = _decl0_45.getNav(_any).icon();\n currVal_5;\n const currVal_6:any = _decl0_45.getNav(_any).title();\n currVal_6;\n const pd_7:any = ((<any>_decl0_36.show()) !== false);\n const pd_8:any = ((<any>_decl0_36._handleKeydown(_any)) !== false);\n const pd_9:any = ((<any>_decl0_36._handleTouchend()) !== false);\n const pd_10:any = ((<any>_decl0_39.notifyClick(_any)) !== false);\n}\nfunction _View_ListPlaceNavComponent_5_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_45.placeDefinitions.value;\n currVal_0;\n}\nfunction _View_AbstractPlaceNavigationComponent_Host_6_0():void {\n var _any:any = (null as any);\n}\nfunction _View_AbstractPlaceNavigationComponent_6_0():void {\n var _any:any = (null as any);\n}\n"]}
|
|
@@ -93,4 +93,4 @@ export var Formatter;
|
|
|
93
93
|
Formatter.NUMBER = new NumberType();
|
|
94
94
|
Formatter.BOOLEAN = new BooleanType();
|
|
95
95
|
})(Formatter || (Formatter = {}));
|
|
96
|
-
//# sourceMappingURL=
|
|
96
|
+
//# sourceMappingURL=formatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatter.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/route/formatter.ts"],"names":[],"mappings":";;;;AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;;AAQvB,MAAM,KAAW,SAAS,CAoCzB;AApCD,WAAiB,SAAS;IAExB;QAAA;QAQA,CAAC;;;;;QAPC,2BAAM;;;;QAAN,UAAO,KAAa;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;;;;;QAED,0BAAK;;;;QAAL,UAAM,KAAa;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;QACH,iBAAC;IAAD,CAAC,AARD,IAQC;IAED;QAAA;QASA,CAAC;;;;;QARC,2BAAM;;;;QAAN,UAAO,KAAa;YAClB,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAG,KAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,CAAC;;;;;QAED,0BAAK;;;;QAAL,UAAM,KAAa;;gBACX,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;YACvC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QACzC,CAAC;QACH,iBAAC;IAAD,CAAC,AATD,IASC;IAED;QAAA;QAQA,CAAC;;;;;QAPC,4BAAM;;;;QAAN,UAAO,KAAc;YACnB,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAClC,CAAC;;;;;QAED,2BAAK;;;;QAAL,UAAM,KAAa;YACjB,OAAO,KAAK,KAAK,MAAM,CAAC;QAC1B,CAAC;QACH,kBAAC;IAAD,CAAC,AARD,IAQC;IAEY,gBAAM,GAAG,IAAI,UAAU,EAAE;IACzB,gBAAM,GAAG,IAAI,UAAU,EAAE;IACzB,iBAAO,GAAG,IAAI,WAAW,EAAE;AAC1C,CAAC,EApCgB,SAAS,KAAT,SAAS,QAoCzB","sourcesContent":["import _ from 'lodash';\n\nexport interface Formatter<T> {\n format(value: T): string;\n\n parse(value: string): T;\n}\n\nexport namespace Formatter {\n\n class StringType implements Formatter<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 Formatter<number> {\n format(value: number): string {\n return _.isNumber(value) && !_.isNaN(value) ? `${value}` : null;\n }\n\n parse(value: string): number {\n const parsed = Number.parseFloat(value);\n return _.isNaN(parsed) ? null : parsed;\n }\n }\n\n class BooleanType implements Formatter<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"]}
|
|
@@ -10,4 +10,4 @@ export function JsonArray() { }
|
|
|
10
10
|
* @record
|
|
11
11
|
*/
|
|
12
12
|
export function JsonMap() { }
|
|
13
|
-
//# sourceMappingURL=
|
|
13
|
+
//# sourceMappingURL=json-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-types.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/route/json-types.ts"],"names":[],"mappings":";;;;;;;AAGA,+BACC;;;;AAED,6BAEC","sourcesContent":["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"]}
|
|
@@ -114,4 +114,4 @@ export function VisitParameterList(options) {
|
|
|
114
114
|
UseDelegate()(prototype, propertyKey);
|
|
115
115
|
});
|
|
116
116
|
}
|
|
117
|
-
//# sourceMappingURL=
|
|
117
|
+
//# sourceMappingURL=parameter-decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameter-decorators.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/route/parameter-decorators.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;;;;;AAInE,oCAMC;;;IALC,4BAAY;;IACZ,kCAAmB;;IACnB,kCAAmB;;IACnB,sCAAiB;;;;;;AAInB,2CAOC;;;IANC,mCAAY;;IACZ,yCAAmB;;IACnB,yCAAmB;;IACnB,6CAAiB;;IACjB,2CAAyB;;;;;;AAI3B,+CAOC;;;IANC,uCAAY;;IACZ,6CAAmB;;IACnB,6CAAmB;;IACnB,iDAAmB;;IACnB,+CAAyB;;;;;;;;AAI3B,MAAM,UAAU,OAAO,CAA4B,IAAkB,EAAE,OAA2B;IAChG;;;;;IAAO,UAAC,SAAiB,EAAE,WAA4B;;YAC/C,KAAK,GAAG,IAAI,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC;QACpF,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC3E,WAAW,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACxC,CAAC,EAAC;AACJ,CAAC;;;;;;AAED,MAAM,UAAU,cAAc,CAAI,OAAkC;;QAC5D,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;IAC9B;;;;;IAAO,UAAC,SAAiB,EAAE,WAA4B;;YAC/C,KAAK,GAAG,IAAI,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC3H,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC3E,WAAW,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACxC,CAAC,EAAC;AACJ,CAAC;;;;;;AAED,MAAM,UAAU,kBAAkB,CAAI,OAAsC;;QACpE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;IAC9B;;;;;IAAO,UAAC,SAAiB,EAAE,WAA4B;;YAC/C,KAAK,GAAG,IAAI,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC3H,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC3E,WAAW,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACxC,CAAC,EAAC;AACJ,CAAC","sourcesContent":["import { 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 { Formatter } from './formatter';\n\n\nexport interface RouteIdOptions<T> {\n as?: string;\n optional?: boolean;\n remember?: boolean;\n defaultValue?: T;\n // sanitiser?: Constructable<ParameterSanitiser<T>> | ParameterSanitiser<T>;\n}\n\nexport interface RouteParameterOptions<T> {\n as?: string;\n optional?: boolean;\n remember?: boolean;\n defaultValue?: T;\n storeInUrl?: Formatter<T>\n // sanitiser?: Constructable<ParameterSanitiser<T>> | ParameterSanitiser<T>;\n}\n\nexport interface RouteListParameterOptions<T> {\n as?: string;\n optional?: boolean;\n remember?: boolean;\n defaultValue?: T[];\n storeInUrl?: Formatter<T>\n // sanitiser?: Constructable<ParameterSanitiser<T[]>> | ParameterSanitiser<T[]>;\n}\n\nexport function RouteId<T extends string | number>(type: Formatter<T>, options?: RouteIdOptions<T>): PropertyDecorator {\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = new ParameterDefinition.RouteId(propertyKey.toString(), options, type);\n Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);\n UseDelegate()(prototype, propertyKey);\n };\n}\n\nexport function VisitParameter<T>(options?: RouteParameterOptions<T>): PropertyDecorator {\n const opts = Opts.get(options);\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = new ParameterDefinition.ValueParameter(propertyKey.toString(), options, opts.getOptional(\"storeInUrl\", null));\n Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);\n UseDelegate()(prototype, propertyKey);\n };\n}\n\nexport function VisitParameterList<E>(options?: RouteListParameterOptions<E>): PropertyDecorator {\n const opts = Opts.get(options);\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = new ParameterDefinition.ArrayParameter(propertyKey.toString(), options, opts.getOptional(\"storeInUrl\", null));\n Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);\n UseDelegate()(prototype, propertyKey);\n };\n}\n\n// export function RouteParameter<T>(type: ParameterType<T>, options?: RouteParameterOptions<T>): PropertyDecorator {\n// return (prototype: Object, propertyKey: string | symbol) => {\n// const param = new ParameterDefinition.ValueParameter(propertyKey.toString(), options, type);\n// Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);\n// UseDelegate()(prototype, propertyKey);\n// };\n// }\n//\n// export function RouteParameterList<E>(elementType: ParameterType<E>, options?: RouteListParameterOptions<E>): PropertyDecorator {\n// return (prototype: Object, propertyKey: string | symbol) => {\n// const param = new ParameterDefinition.ArrayParameter(propertyKey.toString(), options, elementType);\n// Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);\n// UseDelegate()(prototype, propertyKey);\n// };\n// }\n"]}
|