@coolon/angular-ui-powerups 2.0.0-alpha.8 → 2.0.0
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/CHANGELOG.md +212 -0
- package/assets/commands.scss +3 -0
- package/assets/icons.scss +30 -0
- package/assets/interaction.scss +5 -0
- package/assets/styles.scss +2 -0
- package/assets/tabs.scss +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.js +1729 -377
- package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js +2 -2
- package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
- package/coolon-angular-ui-powerups.d.ts +67 -54
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/coolon-angular-ui-powerups.js +65 -52
- package/esm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
- package/esm2015/lib/components/card-container/card-container.component.js +1 -1
- package/esm2015/lib/components/card-container/card-container.component.metadata.json +1 -1
- package/esm2015/lib/components/commands/command/command.component.js +61 -0
- package/esm2015/lib/components/commands/command/command.component.js.map +1 -0
- package/esm2015/lib/components/commands/command/command.component.metadata.json +1 -0
- package/esm2015/lib/components/commands/command/command.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/commands/command-face/command-face.component.js +92 -0
- package/esm2015/lib/components/commands/command-face/command-face.component.js.map +1 -0
- package/esm2015/lib/components/commands/command-face/command-face.component.metadata.json +1 -0
- package/esm2015/lib/components/commands/command-face/command-face.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/commands/command-face/command-face.component.scss.ngstyle.js.map +1 -0
- package/esm2015/lib/components/commands/command-face.js +112 -0
- package/esm2015/lib/components/commands/command-face.js.map +1 -0
- package/esm2015/lib/components/commands/command-face.metadata.json +1 -0
- package/esm2015/lib/components/commands/flex.component.js +30 -0
- package/esm2015/lib/components/commands/flex.component.js.map +1 -0
- package/esm2015/lib/components/commands/flex.component.metadata.json +1 -0
- package/esm2015/lib/components/commands/flex.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/commands/group/command-group/command-group.component.js +47 -0
- package/esm2015/lib/components/commands/group/command-group/command-group.component.js.map +1 -0
- package/esm2015/lib/components/commands/group/command-group/command-group.component.metadata.json +1 -0
- package/esm2015/lib/components/commands/group/command-group/command-group.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.js +55 -0
- package/esm2015/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.js.map +1 -0
- package/esm2015/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.metadata.json +1 -0
- package/esm2015/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.js +39 -0
- package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.js.map +1 -0
- package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.metadata.json +1 -0
- package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/components/commands/group/command-group.js +100 -0
- package/esm2015/lib/components/commands/group/command-group.js.map +1 -0
- package/esm2015/lib/components/commands/group/command-group.metadata.json +1 -0
- package/esm2015/lib/components/commands/group/more-menu.component.js +55 -0
- package/esm2015/lib/components/commands/group/more-menu.component.js.map +1 -0
- package/esm2015/lib/components/commands/group/more-menu.component.metadata.json +1 -0
- package/esm2015/lib/components/commands/group/more-menu.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/commands/group/popup-menu.component.js +65 -0
- package/esm2015/lib/components/commands/group/popup-menu.component.js.map +1 -0
- package/esm2015/lib/components/commands/group/popup-menu.component.metadata.json +1 -0
- package/esm2015/lib/components/commands/group/popup-menu.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/commands/group/registration.js +58 -0
- package/esm2015/lib/components/commands/group/registration.js.map +1 -0
- package/esm2015/lib/components/commands/group/registration.metadata.json +1 -0
- package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.js +55 -0
- package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.js.map +1 -0
- package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.metadata.json +1 -0
- package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/components/commands/group/view-data.js +104 -0
- package/esm2015/lib/components/commands/group/view-data.js.map +1 -0
- package/esm2015/lib/components/commands/group/view-data.metadata.json +1 -0
- package/esm2015/lib/components/commands/separator.component.js +35 -0
- package/esm2015/lib/components/commands/separator.component.js.map +1 -0
- package/esm2015/lib/components/commands/separator.component.metadata.json +1 -0
- package/esm2015/lib/components/commands/separator.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/components.module.js +54 -14
- package/esm2015/lib/components/components.module.js.map +1 -1
- package/esm2015/lib/components/components.module.metadata.json +1 -1
- package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
- package/esm2015/lib/components/forms/abstract-input.component.js +12 -4
- package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/abstract-input.component.metadata.json +1 -1
- package/esm2015/lib/components/forms/abstract-list-input.component.js +27 -14
- package/esm2015/lib/components/forms/abstract-list-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/abstract-list-input.component.metadata.json +1 -1
- package/esm2015/lib/components/forms/abstract-value-input.component.js +31 -15
- package/esm2015/lib/components/forms/abstract-value-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/abstract-value-input.component.metadata.json +1 -1
- package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +70 -0
- package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +1 -0
- package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.metadata.json +1 -0
- package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +1 -1
- package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.metadata.json +1 -1
- package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +8 -9
- package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.metadata.json +1 -1
- 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 -1
- package/esm2015/lib/components/forms/number-input/number-input.component.metadata.json +1 -1
- 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 -1
- package/esm2015/lib/components/forms/password-input/password-input.component.metadata.json +1 -1
- package/esm2015/lib/components/forms/select-input/select-input.component.js +2 -1
- package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
- package/esm2015/lib/components/forms/string-input/string-input.component.js +3 -3
- package/esm2015/lib/components/forms/string-input/string-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
- package/esm2015/lib/components/forms/text-input/text-input.component.js +1 -1
- package/esm2015/lib/components/forms/text-input/text-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/text-input/text-input.component.metadata.json +1 -1
- package/esm2015/lib/components/icon/icon.component.js +17 -4
- package/esm2015/lib/components/icon/icon.component.js.map +1 -1
- package/esm2015/lib/components/icon/icon.component.metadata.json +1 -1
- package/esm2015/lib/components/index.js +17 -0
- package/esm2015/lib/components/index.js.map +1 -1
- package/esm2015/lib/components/index.metadata.json +1 -1
- package/esm2015/lib/components/table/column-model.js +44 -2
- package/esm2015/lib/components/table/column-model.js.map +1 -1
- package/esm2015/lib/components/table/column-model.metadata.json +1 -1
- package/esm2015/lib/components/table/mutable-cell-renderer.js +1 -0
- package/esm2015/lib/components/table/mutable-cell-renderer.js.map +1 -0
- package/esm2015/lib/components/table/mutable-cell-renderer.metadata.json +1 -0
- package/esm2015/lib/components/table/table-model.js +10 -7
- package/esm2015/lib/components/table/table-model.js.map +1 -1
- package/esm2015/lib/components/table/table-model.metadata.json +1 -1
- package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.js +73 -0
- package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.js.map +1 -0
- package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.metadata.json +1 -0
- package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/table/table.component.js +1 -1
- package/esm2015/lib/components/table/table.component.js.map +1 -1
- package/esm2015/lib/components/table/table.component.metadata.json +1 -1
- package/esm2015/lib/components/track-by.js +5 -0
- package/esm2015/lib/components/track-by.js.map +1 -0
- package/esm2015/lib/interaction/activity-ref.js +10 -2
- package/esm2015/lib/interaction/activity-ref.js.map +1 -1
- package/esm2015/lib/interaction/activity-ref.metadata.json +1 -1
- package/esm2015/lib/interaction/activity.js +18 -1
- package/esm2015/lib/interaction/activity.js.map +1 -1
- package/esm2015/lib/interaction/activity.metadata.json +1 -1
- package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js +1 -1
- package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.metadata.json +1 -1
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +24 -17
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
- package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js +1 -1
- package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js.map +1 -1
- package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.metadata.json +1 -1
- package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
- package/esm2015/lib/place/components/abstract-place-navigation.component.js +4 -3
- package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -1
- package/esm2015/lib/place/components/abstract-place-navigation.component.metadata.json +1 -1
- 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 -1
- package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.metadata.json +1 -1
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +56 -16
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.metadata.json +1 -1
- package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js +2 -2
- package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js.map +1 -1
- package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.metadata.json +1 -1
- 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 -1
- package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.metadata.json +1 -1
- package/esm2015/lib/place/place-component.js +13 -1
- package/esm2015/lib/place/place-component.js.map +1 -1
- package/esm2015/lib/place/place-component.metadata.json +1 -1
- package/esm2015/lib/place/place-router.js +2 -8
- package/esm2015/lib/place/place-router.js.map +1 -1
- package/esm2015/lib/place/place-router.metadata.json +1 -1
- package/esm2015/lib/place/place.module.js +3 -3
- package/esm2015/lib/place/place.module.js.map +1 -1
- package/esm2015/lib/place/place.module.metadata.json +1 -1
- package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
- package/esm2015/lib/place/route/parameter-decorators.js +2 -3
- package/esm2015/lib/place/route/parameter-decorators.js.map +1 -1
- package/esm2015/lib/place/route/parameter-decorators.metadata.json +1 -1
- package/esm5/coolon-angular-ui-powerups.js +65 -52
- package/esm5/coolon-angular-ui-powerups.js.map +1 -1
- package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
- package/esm5/lib/components/card-container/card-container.component.js +1 -1
- package/esm5/lib/components/commands/command/command.component.js +64 -0
- package/esm5/lib/components/commands/command/command.component.js.map +1 -0
- package/esm5/lib/components/commands/command/command.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/commands/command-face/command-face.component.js +123 -0
- package/esm5/lib/components/commands/command-face/command-face.component.js.map +1 -0
- package/esm5/lib/components/commands/command-face/command-face.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/commands/command-face/command-face.component.scss.ngstyle.js.map +1 -0
- package/esm5/lib/components/commands/command-face.js +145 -0
- package/esm5/lib/components/commands/command-face.js.map +1 -0
- package/esm5/lib/components/commands/flex.component.js +33 -0
- package/esm5/lib/components/commands/flex.component.js.map +1 -0
- package/esm5/lib/components/commands/flex.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/commands/group/command-group/command-group.component.js +51 -0
- package/esm5/lib/components/commands/group/command-group/command-group.component.js.map +1 -0
- package/esm5/lib/components/commands/group/command-group/command-group.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.js +59 -0
- package/esm5/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.js.map +1 -0
- package/esm5/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/commands/group/command-group-renderer/command-group-renderer.component.js +42 -0
- package/esm5/lib/components/commands/group/command-group-renderer/command-group-renderer.component.js.map +1 -0
- package/esm5/lib/components/commands/group/command-group-renderer/command-group-renderer.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/commands/group/command-group-renderer/command-group-renderer.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/components/commands/group/command-group.js +122 -0
- package/esm5/lib/components/commands/group/command-group.js.map +1 -0
- package/esm5/lib/components/commands/group/more-menu.component.js +58 -0
- package/esm5/lib/components/commands/group/more-menu.component.js.map +1 -0
- package/esm5/lib/components/commands/group/more-menu.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/commands/group/popup-menu.component.js +68 -0
- package/esm5/lib/components/commands/group/popup-menu.component.js.map +1 -0
- package/esm5/lib/components/commands/group/popup-menu.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/commands/group/registration.js +80 -0
- package/esm5/lib/components/commands/group/registration.js.map +1 -0
- package/esm5/lib/components/commands/group/tool-bar/tool-bar.component.js +58 -0
- package/esm5/lib/components/commands/group/tool-bar/tool-bar.component.js.map +1 -0
- package/esm5/lib/components/commands/group/tool-bar/tool-bar.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/commands/group/tool-bar/tool-bar.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/components/commands/group/view-data.js +131 -0
- package/esm5/lib/components/commands/group/view-data.js.map +1 -0
- package/esm5/lib/components/commands/separator.component.js +37 -0
- package/esm5/lib/components/commands/separator.component.js.map +1 -0
- package/esm5/lib/components/commands/separator.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/components.module.js +54 -14
- package/esm5/lib/components/components.module.js.map +1 -1
- package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
- package/esm5/lib/components/forms/abstract-input.component.js +12 -4
- package/esm5/lib/components/forms/abstract-input.component.js.map +1 -1
- package/esm5/lib/components/forms/abstract-list-input.component.js +27 -14
- package/esm5/lib/components/forms/abstract-list-input.component.js.map +1 -1
- package/esm5/lib/components/forms/abstract-value-input.component.js +31 -15
- package/esm5/lib/components/forms/abstract-value-input.component.js.map +1 -1
- package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.js +73 -0
- package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +1 -0
- package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js +1 -1
- package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
- package/esm5/lib/components/forms/multiple-select-input/multiple-select-input.component.js +8 -9
- package/esm5/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
- 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 -1
- 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 -1
- package/esm5/lib/components/forms/select-input/select-input.component.js +2 -1
- package/esm5/lib/components/forms/select-input/select-input.component.js.map +1 -1
- package/esm5/lib/components/forms/string-input/string-input.component.js +3 -3
- package/esm5/lib/components/forms/string-input/string-input.component.js.map +1 -1
- package/esm5/lib/components/forms/text-input/text-input.component.js +1 -1
- package/esm5/lib/components/forms/text-input/text-input.component.js.map +1 -1
- package/esm5/lib/components/icon/icon.component.js +15 -3
- package/esm5/lib/components/icon/icon.component.js.map +1 -1
- package/esm5/lib/components/index.js +17 -0
- package/esm5/lib/components/index.js.map +1 -1
- package/esm5/lib/components/table/column-model.js +45 -2
- package/esm5/lib/components/table/column-model.js.map +1 -1
- package/esm5/lib/components/table/mutable-cell-renderer.js +1 -0
- package/esm5/lib/components/table/mutable-cell-renderer.js.map +1 -0
- package/esm5/lib/components/table/table-model.js +10 -8
- package/esm5/lib/components/table/table-model.js.map +1 -1
- package/esm5/lib/components/table/table-row-menu/table-row-menu.component.js +63 -0
- package/esm5/lib/components/table/table-row-menu/table-row-menu.component.js.map +1 -0
- package/esm5/lib/components/table/table-row-menu/table-row-menu.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/table/table.component.js +1 -1
- package/esm5/lib/components/table/table.component.js.map +1 -1
- package/esm5/lib/components/track-by.js +5 -0
- package/esm5/lib/components/track-by.js.map +1 -0
- package/esm5/lib/interaction/activity-ref.js +14 -2
- package/esm5/lib/interaction/activity-ref.js.map +1 -1
- package/esm5/lib/interaction/activity.js +27 -1
- package/esm5/lib/interaction/activity.js.map +1 -1
- package/esm5/lib/interaction/components/activity-actions/activity-actions.component.js +1 -1
- package/esm5/lib/interaction/components/activity-container/activity-container.component.js +24 -17
- package/esm5/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
- package/esm5/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js +1 -1
- package/esm5/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js.map +1 -1
- package/esm5/lib/interaction/interaction.module.ngfactory.js.map +1 -1
- package/esm5/lib/place/components/abstract-place-navigation.component.js +4 -3
- package/esm5/lib/place/components/abstract-place-navigation.component.js.map +1 -1
- 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 -1
- package/esm5/lib/place/components/place-outlet/place-outlet.component.js +56 -16
- package/esm5/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
- package/esm5/lib/place/components/side-place-navigation/side-place-navigation.component.js +2 -2
- package/esm5/lib/place/components/side-place-navigation/side-place-navigation.component.js.map +1 -1
- 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 -1
- package/esm5/lib/place/place-component.js +17 -1
- package/esm5/lib/place/place-component.js.map +1 -1
- package/esm5/lib/place/place-router.js +2 -8
- package/esm5/lib/place/place-router.js.map +1 -1
- package/esm5/lib/place/place.module.js +3 -3
- package/esm5/lib/place/place.module.js.map +1 -1
- package/esm5/lib/place/place.module.ngfactory.js.map +1 -1
- package/esm5/lib/place/route/parameter-decorators.js +2 -3
- package/esm5/lib/place/route/parameter-decorators.js.map +1 -1
- package/fesm2015/coolon-angular-ui-powerups.js +1475 -311
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +1641 -309
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/lib/components/commands/command/command.component.d.ts +22 -0
- package/lib/components/commands/command-face/command-face.component.d.ts +34 -0
- package/lib/components/commands/command-face.d.ts +40 -0
- package/lib/components/commands/flex.component.d.ts +11 -0
- package/lib/components/commands/group/command-group/command-group.component.d.ts +11 -0
- package/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.d.ts +21 -0
- package/lib/components/commands/group/command-group-renderer/command-group-renderer.component.d.ts +13 -0
- package/lib/components/commands/group/command-group.d.ts +41 -0
- package/lib/components/commands/group/more-menu.component.d.ts +14 -0
- package/lib/components/commands/group/popup-menu.component.d.ts +17 -0
- package/lib/components/commands/group/registration.d.ts +32 -0
- package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +13 -0
- package/lib/components/commands/group/view-data.d.ts +40 -0
- package/lib/components/commands/separator.component.d.ts +12 -0
- package/lib/components/forms/abstract-input.component.d.ts +8 -2
- package/lib/components/forms/abstract-list-input.component.d.ts +4 -3
- package/lib/components/forms/abstract-value-input.component.d.ts +5 -4
- package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +25 -0
- package/lib/components/forms/multiple-select-input/multiple-select-input.component.d.ts +7 -2
- package/lib/components/forms/select-input/select-input.component.d.ts +1 -0
- package/lib/components/icon/icon.component.d.ts +15 -0
- package/lib/components/index.d.ts +18 -0
- package/lib/components/table/column-model.d.ts +15 -17
- package/lib/components/table/mutable-cell-renderer.d.ts +6 -0
- package/lib/components/table/table-model.d.ts +7 -3
- package/lib/components/table/table-row-menu/table-row-menu.component.d.ts +26 -0
- package/lib/components/track-by.d.ts +3 -0
- package/lib/interaction/activity-ref.d.ts +3 -0
- package/lib/interaction/activity.d.ts +6 -2
- package/lib/interaction/components/activity-container/activity-container.component.d.ts +4 -2
- package/lib/place/components/abstract-place-navigation.component.d.ts +2 -2
- package/lib/place/components/place-outlet/place-outlet.component.d.ts +8 -2
- package/lib/place/components/side-place-navigation/side-place-navigation.component.d.ts +1 -1
- package/lib/place/place-component.d.ts +6 -0
- package/package.json +7 -5
- package/schematics/bootstrap-app/index.d.ts +3 -0
- package/schematics/bootstrap-app/index.js +81 -0
- package/schematics/bootstrap-app/index.js.map +1 -0
- package/schematics/bootstrap-app/schema.d.ts +3 -0
- package/schematics/bootstrap-app/schema.js +3 -0
- package/schematics/bootstrap-app/schema.js.map +1 -0
- package/schematics/bootstrap-app/schema.json +19 -0
- package/schematics/bootstrap-app/templates/app/app-routing.module.ts +19 -0
- package/schematics/bootstrap-app/templates/app/auth/auth.guard.spec.ts +15 -0
- package/schematics/bootstrap-app/templates/app/auth/auth.guard.ts +23 -0
- package/schematics/bootstrap-app/templates/app/auth/auth.module.ts +13 -0
- package/schematics/bootstrap-app/templates/app/auth/auth.service.ts +13 -0
- package/schematics/bootstrap-app/templates/app/i18n.ts +9 -0
- package/schematics/bootstrap-app/templates/app/places/home/home.component.html +1 -0
- package/schematics/bootstrap-app/templates/app/places/home/home.component.scss +4 -0
- package/schematics/bootstrap-app/templates/app/places/home/home.component.spec.ts +25 -0
- package/schematics/bootstrap-app/templates/app/places/home/home.component.ts +25 -0
- package/schematics/bootstrap-app/templates/app/places/place-routes.ts +3 -0
- package/schematics/bootstrap-app/templates/app/places/places.json5 +3 -0
- package/schematics/bootstrap-app/templates/i18n/config.json +9 -0
- package/schematics/bootstrap-app/templates/i18n/notifications.yml +19 -0
- package/schematics/bootstrap-app/templates/i18n/places/home.yml +6 -0
- package/schematics/collection.json +10 -1
- package/schematics/ng-add/index.d.ts +1 -0
- package/schematics/ng-add/index.js +27 -4
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/package-util.d.ts +13 -0
- package/schematics/package-util.js +60 -0
- package/schematics/package-util.js.map +1 -0
- package/schematics/place-add/index.d.ts +3 -0
- package/schematics/place-add/index.js +26 -0
- package/schematics/place-add/index.js.map +1 -0
- package/schematics/place-add/schema.d.ts +2 -0
- package/schematics/place-add/schema.js +3 -0
- package/schematics/place-add/schema.js.map +1 -0
- package/schematics/place-add/schema.json +8 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate, __metadata, __param, __awaiter } from 'tslib';
|
|
2
2
|
import { DOCUMENT, CommonModule, Location } from '@angular/common';
|
|
3
|
-
import { ElementRef, Inject, Input, HostListener, Directive, NgZone, ɵɵdefineInjectable, ɵɵinject, Injectable, NgModule, ContentChild, TemplateRef, Component,
|
|
3
|
+
import { ElementRef, Inject, Input, HostListener, Directive, NgZone, ɵɵdefineInjectable, ɵɵinject, Injectable, NgModule, ContentChild, TemplateRef, Component, EventEmitter, Optional, SkipSelf, ViewChild, Output, ViewChildren, QueryList, HostBinding, ViewEncapsulation, Self, ChangeDetectorRef, ContentChildren, ViewContainerRef, InjectionToken, Injector, ComponentFactoryResolver } from '@angular/core';
|
|
4
4
|
import { FormsModule } from '@angular/forms';
|
|
5
5
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
6
|
import { MatInputModule } from '@angular/material/input';
|
|
@@ -9,25 +9,29 @@ import { MatTabsModule, MatTabGroup, MAT_TABS_CONFIG } from '@angular/material/t
|
|
|
9
9
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
10
10
|
import { ComponentPortal, TemplatePortal, PortalModule } from '@angular/cdk/portal';
|
|
11
11
|
import { CdkScrollableModule } from '@angular/cdk/scrolling';
|
|
12
|
+
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
12
13
|
import { MatButtonModule } from '@angular/material/button';
|
|
13
14
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
15
|
+
import { MatDividerModule } from '@angular/material/divider';
|
|
14
16
|
import { MatIconModule } from '@angular/material/icon';
|
|
17
|
+
import { MatMenu, MatMenuTrigger, MatMenuModule } from '@angular/material/menu';
|
|
15
18
|
import { MatTableModule } from '@angular/material/table';
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
19
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
20
|
+
import { FaIconLibrary, FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
21
|
+
import { fas } from '@fortawesome/free-solid-svg-icons';
|
|
22
|
+
import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, Logger, TrackExternal, Command, MutableValueModel, StoreInValueModel, ValueModel, MutableListModel, Trace, FocusManager, EventListenerList, Form, Guard, Binding, DebugContext, ListModel, StoreInListModel, MultipleSelectionModel, DirtyTrackingForm, DelegatingCommand, Deferred, Functions } from '@coolon/pectin';
|
|
18
23
|
import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
|
|
19
24
|
import ___default, { isEqual, isNil } from 'lodash';
|
|
25
|
+
import { Enum } from 'typescript-string-enums';
|
|
26
|
+
import { assert as assert$1, Opts, lang as lang$1, Klass } from '@coolon/typescript-utilities';
|
|
20
27
|
import produce from 'immer';
|
|
21
|
-
import { FaIconLibrary, FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
22
|
-
import { fas } from '@fortawesome/free-solid-svg-icons';
|
|
23
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
24
28
|
import { FlexModule, GridModule } from '@angular/flex-layout';
|
|
25
29
|
import { MatDialogModule, MatDialog, MatDialogConfig, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
|
|
26
30
|
import { RouterModule, UrlSegment, Router, UrlSerializer, NavigationStart, NavigationEnd, NavigationError, NavigationCancel, RouterOutlet } from '@angular/router';
|
|
27
31
|
import { Overlay, CdkScrollable } from '@angular/cdk/overlay';
|
|
28
32
|
import ResizeObserver from 'resize-observer-polyfill';
|
|
29
|
-
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
30
33
|
import { MatListModule } from '@angular/material/list';
|
|
34
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
31
35
|
import { Memoize as Memoize$1 } from '@typescript-plus/fast-memoize-decorator';
|
|
32
36
|
import 'reflect-metadata';
|
|
33
37
|
import { style, query, group, animate, trigger, transition } from '@angular/animations';
|
|
@@ -369,11 +373,844 @@ CardContainerComponent = __decorate([
|
|
|
369
373
|
Component({
|
|
370
374
|
selector: 'aup-card-container',
|
|
371
375
|
template: "<div class=\"card-container\">\n <ng-content></ng-content>\n\n <div class=\"add-card-container\" *ngIf=\"addCardCommand.enabled.value\" [pectinCommand]=\"addCardCommand\">\n <aup-icon icon=\"mat:add\"></aup-icon>\n </div>\n\n <div class=\"add-card-template\" *ngIf=\"addCardTemplate\">\n <ng-container [ngTemplateOutlet]=\"addCardTemplate\"></ng-container>\n </div>\n\n</div>\n",
|
|
372
|
-
styles: [":root{--aup-default-padding:var(--default-padding, 18px);--aup-default-background:white}.router-outlet-container>*{position:absolute;top:0;left:0;bottom:0;right:0}[no-tab-header]>mat-tab-header{display:none}[full-height-tabs] .mat-tab-body-wrapper,mat-tab-group.full-height-tabs .mat-tab-body-wrapper{flex:1}[full-height-tabs] .mat-tab-body-wrapper .mat-tab-body-content,[full-height-tabs] .mat-tab-body-wrapper mat-tab-body,mat-tab-group.full-height-tabs .mat-tab-body-wrapper .mat-tab-body-content,mat-tab-group.full-height-tabs .mat-tab-body-wrapper mat-tab-body{display:flex;flex-direction:column;justify-content:stretch}.dialog-interaction-context{max-width:95vw!important;max-height:95vh!important}.dialog-interaction-context mat-dialog-container{max-width:95vw!important;max-height:95vh!important;padding:0}.aup-popup-interaction-panel{background:var(--aup-default-background,#fff);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);transition:box-shadow 280ms cubic-bezier(.4,0,.2,1)}.aup-input-activity{padding:calc(var(--aup-default-padding)/2)}.aup-input-component{display:block}.aup-input-component input,.aup-input-component mat-form-field{width:100%}.aup-input-component input mat-hint.faux-error,.aup-input-component mat-form-field mat-hint.faux-error{color:#f44336}.aup-input-component.dense mat-form-field .mat-form-field-infix{border-top:none}.aup-input-component.dense mat-form-field .mat-form-field-flex{padding-top:0}.aup-input-component.dense mat-form-field .mat-form-field-wrapper{padding-bottom:0;border-bottom:0}.aup-input-component.dense mat-form-field .mat-form-field-underline{bottom:0}.aup-input-component.dense mat-form-field.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label-wrapper{display:none}.aup-input-component.dense mat-form-field.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(0)}aup-table-cell-renderer>.aup-input-component .mat-form-field-flex{padding-top:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-infix{width:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-label-wrapper{display:none}aup-table{--default-column-gap:var(--column-gap, 24px);--resolved-row-hover-background-color:var(--row-hover-background-color, rgba(0, 0, 0, 0.05))}aup-table .mat-table td.mat-cell:first-of-type,aup-table .mat-table td.mat-footer-cell:first-of-type,aup-table .mat-table th.mat-header-cell:first-of-type{padding-left:0}aup-table .mat-table tr.enable-hover:hover{background-color:var(--resolved-row-hover-background-color)}aup-table .mat-table td.enable-cursor{cursor:pointer}aup-table aup-table-cell-renderer,aup-table aup-table-header-cell-renderer{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%;min-height:47px}aup-table aup-table-cell-renderer.first-column,aup-table aup-table-cell-renderer:not(.first-column),aup-table aup-table-header-cell-renderer.first-column,aup-table aup-table-header-cell-renderer:not(.first-column){padding-left:var(--default-column-gap)}aup-table aup-table-cell-renderer.fillCell{justify-content:stretch;padding-left:0!important}aup-table aup-table-cell-renderer.padChild>:first-child{padding-left:var(--default-column-gap);flex:1}:host{--resolved-card-gap:var(--card-gap, 16px);--resolved-card-width:var(--card-width, 300px);--resolved-card-height:var(--card-height, auto);--resolved-card-min-height:var(--card-min-height, auto);--resolved-card-background:var(--card-background, #fcfcfb);flex:1;display:block;background:var(--resolved-card-background)}.card-container{display:-ms-grid;display:grid;grid-template-columns:repeat(auto-fill,var(--resolved-card-width));grid-template-rows:repeat(auto-fit,minmax(0,var(--resolved-card-height)));grid-gap:var(--resolved-card-gap);box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));min-width:calc(var(--resolved-card-width) + 2 * var(--resolved-card-gap));width:calc((var(--resolved-card-width) + var(--resolved-card-gap)) * 2 + var(--grid-gap));max-width:100%}.add-card-container{width:var(--resolved-card-width);height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:rgba(0,0,0,.54);background-color:rgba(255,255,255,.8);transition:280ms cubic-bezier(.4,0,.2,1)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{transition:280ms cubic-bezier(.4,0,.2,1);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}.add-card-container:hover:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.add-card-template-container{width:var(--resolved-card-width);height:var(--resolved-card-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}"]
|
|
376
|
+
styles: [":root{--aup-default-padding:var(--default-padding, 18px);--aup-default-background:white;--aup-command-face-icon-gap:8px;--aup-icon-width:24px;--aup-fa-icon-width:18px}.router-outlet-container>*{position:absolute;top:0;left:0;bottom:0;right:0}[no-tab-header]>mat-tab-header{display:none}[full-height-tabs] .mat-tab-body-wrapper,mat-tab-group.full-height-tabs .mat-tab-body-wrapper{flex:1}[full-height-tabs] .mat-tab-body-wrapper .mat-tab-body-content,[full-height-tabs] .mat-tab-body-wrapper mat-tab-body,mat-tab-group.full-height-tabs .mat-tab-body-wrapper .mat-tab-body-content,mat-tab-group.full-height-tabs .mat-tab-body-wrapper mat-tab-body{display:flex;flex-direction:column;justify-content:stretch}.dialog-interaction-context{max-width:95vw!important;max-height:95vh!important}.dialog-interaction-context mat-dialog-container{max-width:95vw!important;max-height:95vh!important;padding:0}.activity-outlet-wrapper{display:flex;flex-direction:column;align-items:stretch}.aup-popup-interaction-panel{background:var(--aup-default-background,#fff);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);transition:box-shadow 280ms cubic-bezier(.4,0,.2,1)}.aup-input-activity{padding:calc(var(--aup-default-padding)/2)}.aup-input-component{display:block}.aup-input-component input,.aup-input-component mat-form-field{width:100%}.aup-input-component input mat-hint.faux-error,.aup-input-component mat-form-field mat-hint.faux-error{color:#f44336}.aup-input-component.dense mat-form-field .mat-form-field-infix{border-top:none}.aup-input-component.dense mat-form-field .mat-form-field-flex{padding-top:0}.aup-input-component.dense mat-form-field .mat-form-field-wrapper{padding-bottom:0;border-bottom:0}.aup-input-component.dense mat-form-field .mat-form-field-underline{bottom:0}.aup-input-component.dense mat-form-field.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label-wrapper{display:none}.aup-input-component.dense mat-form-field.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(0)}aup-table-cell-renderer>.aup-input-component .mat-form-field-flex{padding-top:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-infix{width:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-label-wrapper{display:none}aup-table{--default-column-gap:var(--column-gap, 24px);--resolved-row-hover-background-color:var(--row-hover-background-color, rgba(0, 0, 0, 0.05))}aup-table .mat-table td.mat-cell:first-of-type,aup-table .mat-table td.mat-footer-cell:first-of-type,aup-table .mat-table th.mat-header-cell:first-of-type{padding-left:0}aup-table .mat-table tr.enable-hover:hover{background-color:var(--resolved-row-hover-background-color)}aup-table .mat-table td.enable-cursor{cursor:pointer}aup-table aup-table-cell-renderer,aup-table aup-table-header-cell-renderer{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%;min-height:47px}aup-table aup-table-cell-renderer.first-column,aup-table aup-table-cell-renderer:not(.first-column),aup-table aup-table-header-cell-renderer.first-column,aup-table aup-table-header-cell-renderer:not(.first-column){padding-left:var(--default-column-gap)}aup-table aup-table-cell-renderer.fillCell{justify-content:stretch;padding-left:0!important}aup-table aup-table-cell-renderer.padChild>:first-child{padding-left:var(--default-column-gap);flex:1}aup-icon{--fa-icon-offset:calc((var(--aup-icon-width) - var(--aup-fa-icon-width)) / 2);position:relative}aup-icon fa-icon .svg-inline--fa{position:absolute;top:var(--fa-icon-offset);left:var(--fa-icon-offset);width:var(--aup-fa-icon-width)!important;height:var(--aup-fa-icon-width)!important}.mat-menu-panel aup-icon .svg-inline--fa{opacity:.54}:host{--resolved-card-gap:var(--card-gap, 16px);--resolved-card-width:var(--card-width, 300px);--resolved-card-height:var(--card-height, auto);--resolved-card-min-height:var(--card-min-height, auto);--resolved-card-background:var(--card-background, #fcfcfb);flex:1;display:block;background:var(--resolved-card-background)}.card-container{display:-ms-grid;display:grid;grid-template-columns:repeat(auto-fill,var(--resolved-card-width));grid-template-rows:repeat(auto-fit,minmax(0,var(--resolved-card-height)));grid-gap:var(--resolved-card-gap);box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));min-width:calc(var(--resolved-card-width) + 2 * var(--resolved-card-gap));width:calc((var(--resolved-card-width) + var(--resolved-card-gap)) * 2 + var(--grid-gap));max-width:100%}.add-card-container{width:var(--resolved-card-width);height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:rgba(0,0,0,.54);background-color:rgba(255,255,255,.8);transition:280ms cubic-bezier(.4,0,.2,1)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{transition:280ms cubic-bezier(.4,0,.2,1);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}.add-card-container:hover:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.add-card-template-container{width:var(--resolved-card-width);height:var(--resolved-card-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}"]
|
|
373
377
|
}),
|
|
374
378
|
__metadata("design:paramtypes", [])
|
|
375
379
|
], CardContainerComponent);
|
|
376
380
|
|
|
381
|
+
var TrackBy;
|
|
382
|
+
(function (TrackBy) {
|
|
383
|
+
TrackBy.byIndex = (data, index) => index;
|
|
384
|
+
})(TrackBy || (TrackBy = {}));
|
|
385
|
+
|
|
386
|
+
var CommandFace;
|
|
387
|
+
(function (CommandFace) {
|
|
388
|
+
let Position;
|
|
389
|
+
(function (Position) {
|
|
390
|
+
Position["START"] = "start";
|
|
391
|
+
Position["END"] = "end";
|
|
392
|
+
})(Position = CommandFace.Position || (CommandFace.Position = {}));
|
|
393
|
+
CommandFace.Style = Enum({
|
|
394
|
+
FLAT: 'flat',
|
|
395
|
+
STROKED: 'stroked',
|
|
396
|
+
RAISED: 'raised'
|
|
397
|
+
});
|
|
398
|
+
function getColorOf(face) {
|
|
399
|
+
return ___default.isFunction(face === null || face === void 0 ? void 0 : face.color) ? face.color() : undefined;
|
|
400
|
+
}
|
|
401
|
+
CommandFace.getColorOf = getColorOf;
|
|
402
|
+
function getStyleOf(face) {
|
|
403
|
+
return ___default.isFunction(face === null || face === void 0 ? void 0 : face.style) ? face.style() : undefined;
|
|
404
|
+
}
|
|
405
|
+
CommandFace.getStyleOf = getStyleOf;
|
|
406
|
+
function getIconOf(face) {
|
|
407
|
+
return ___default.isFunction(face === null || face === void 0 ? void 0 : face.icon) ? face.icon() : undefined;
|
|
408
|
+
}
|
|
409
|
+
CommandFace.getIconOf = getIconOf;
|
|
410
|
+
function getIconPositionOf(face) {
|
|
411
|
+
return ___default.isFunction(face === null || face === void 0 ? void 0 : face.iconPosition) ? face.iconPosition() : undefined;
|
|
412
|
+
}
|
|
413
|
+
CommandFace.getIconPositionOf = getIconPositionOf;
|
|
414
|
+
function getTooltipOf(face) {
|
|
415
|
+
return ___default.isFunction(face === null || face === void 0 ? void 0 : face.tooltip) ? face.tooltip() : undefined;
|
|
416
|
+
}
|
|
417
|
+
CommandFace.getTooltipOf = getTooltipOf;
|
|
418
|
+
function getTextOf(face) {
|
|
419
|
+
return ___default.isFunction(face === null || face === void 0 ? void 0 : face.text) ? face.text() : undefined;
|
|
420
|
+
}
|
|
421
|
+
CommandFace.getTextOf = getTextOf;
|
|
422
|
+
class Adapter {
|
|
423
|
+
constructor(face) {
|
|
424
|
+
this.face = face;
|
|
425
|
+
}
|
|
426
|
+
get text() {
|
|
427
|
+
return CommandFace.getTextOf(this.face);
|
|
428
|
+
}
|
|
429
|
+
get icon() {
|
|
430
|
+
return CommandFace.getIconOf(this.face);
|
|
431
|
+
}
|
|
432
|
+
get iconPosition() {
|
|
433
|
+
return CommandFace.getIconPositionOf(this.face);
|
|
434
|
+
}
|
|
435
|
+
get tooltip() {
|
|
436
|
+
return CommandFace.getTooltipOf(this.face);
|
|
437
|
+
}
|
|
438
|
+
get iconPositionStart() {
|
|
439
|
+
return this.iconPosition === CommandFace.Position.START;
|
|
440
|
+
}
|
|
441
|
+
get iconPositionEnd() {
|
|
442
|
+
return this.iconPosition === CommandFace.Position.END;
|
|
443
|
+
}
|
|
444
|
+
get color() {
|
|
445
|
+
return CommandFace.getColorOf(this.face);
|
|
446
|
+
}
|
|
447
|
+
get style() {
|
|
448
|
+
return CommandFace.getStyleOf(this.face);
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
__decorate([
|
|
452
|
+
Memoize(),
|
|
453
|
+
__metadata("design:type", Object),
|
|
454
|
+
__metadata("design:paramtypes", [])
|
|
455
|
+
], Adapter.prototype, "text", null);
|
|
456
|
+
__decorate([
|
|
457
|
+
Memoize(),
|
|
458
|
+
__metadata("design:type", Object),
|
|
459
|
+
__metadata("design:paramtypes", [])
|
|
460
|
+
], Adapter.prototype, "icon", null);
|
|
461
|
+
__decorate([
|
|
462
|
+
Memoize(),
|
|
463
|
+
__metadata("design:type", Object),
|
|
464
|
+
__metadata("design:paramtypes", [])
|
|
465
|
+
], Adapter.prototype, "iconPosition", null);
|
|
466
|
+
__decorate([
|
|
467
|
+
Memoize(),
|
|
468
|
+
__metadata("design:type", Object),
|
|
469
|
+
__metadata("design:paramtypes", [])
|
|
470
|
+
], Adapter.prototype, "tooltip", null);
|
|
471
|
+
__decorate([
|
|
472
|
+
Memoize(),
|
|
473
|
+
__metadata("design:type", Boolean),
|
|
474
|
+
__metadata("design:paramtypes", [])
|
|
475
|
+
], Adapter.prototype, "iconPositionStart", null);
|
|
476
|
+
__decorate([
|
|
477
|
+
Memoize(),
|
|
478
|
+
__metadata("design:type", Boolean),
|
|
479
|
+
__metadata("design:paramtypes", [])
|
|
480
|
+
], Adapter.prototype, "iconPositionEnd", null);
|
|
481
|
+
__decorate([
|
|
482
|
+
Memoize(),
|
|
483
|
+
__metadata("design:type", String),
|
|
484
|
+
__metadata("design:paramtypes", [])
|
|
485
|
+
], Adapter.prototype, "color", null);
|
|
486
|
+
__decorate([
|
|
487
|
+
Memoize(),
|
|
488
|
+
__metadata("design:type", String),
|
|
489
|
+
__metadata("design:paramtypes", [])
|
|
490
|
+
], Adapter.prototype, "style", null);
|
|
491
|
+
CommandFace.Adapter = Adapter;
|
|
492
|
+
})(CommandFace || (CommandFace = {}));
|
|
493
|
+
|
|
494
|
+
class ViewData {
|
|
495
|
+
}
|
|
496
|
+
(function (ViewData) {
|
|
497
|
+
class FaceData extends ViewData {
|
|
498
|
+
constructor(face) {
|
|
499
|
+
super();
|
|
500
|
+
this.faceAdapter = new CommandFace.Adapter(face);
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
ViewData.FaceData = FaceData;
|
|
504
|
+
class GroupData extends FaceData {
|
|
505
|
+
constructor(face, xPosition, yPosition, children) {
|
|
506
|
+
super(face);
|
|
507
|
+
this.xPosition = xPosition;
|
|
508
|
+
this.yPosition = yPosition;
|
|
509
|
+
this.children = children;
|
|
510
|
+
}
|
|
511
|
+
get hasMixedIcons() {
|
|
512
|
+
const hasFaces = this.children.filter(c => ViewData.hasFace(c));
|
|
513
|
+
const iconCount = hasFaces.filter(c => !!c.faceAdapter.icon).length;
|
|
514
|
+
return iconCount > 0 && hasFaces.length !== iconCount;
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
__decorate([
|
|
518
|
+
Memoize(),
|
|
519
|
+
__metadata("design:type", Boolean),
|
|
520
|
+
__metadata("design:paramtypes", [])
|
|
521
|
+
], GroupData.prototype, "hasMixedIcons", null);
|
|
522
|
+
ViewData.GroupData = GroupData;
|
|
523
|
+
class CommandData extends FaceData {
|
|
524
|
+
constructor(face, command) {
|
|
525
|
+
super(face);
|
|
526
|
+
this.command = command;
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
ViewData.CommandData = CommandData;
|
|
530
|
+
class SeparatorData extends ViewData {
|
|
531
|
+
}
|
|
532
|
+
ViewData.SeparatorData = SeparatorData;
|
|
533
|
+
class FlexData extends ViewData {
|
|
534
|
+
}
|
|
535
|
+
ViewData.FlexData = FlexData;
|
|
536
|
+
function as(type, viewData) {
|
|
537
|
+
return viewData instanceof type ? viewData : lang.illegalState(`expected instance of ${type.name}, got ${viewData.constructor.name}`);
|
|
538
|
+
}
|
|
539
|
+
ViewData.as = as;
|
|
540
|
+
function getCommand(data) {
|
|
541
|
+
return as(CommandData, data).command;
|
|
542
|
+
}
|
|
543
|
+
ViewData.getCommand = getCommand;
|
|
544
|
+
function getTooltip(data) {
|
|
545
|
+
return as(FaceData, data).faceAdapter.tooltip;
|
|
546
|
+
}
|
|
547
|
+
ViewData.getTooltip = getTooltip;
|
|
548
|
+
function getStyle(data) {
|
|
549
|
+
return as(FaceData, data).faceAdapter.style;
|
|
550
|
+
}
|
|
551
|
+
ViewData.getStyle = getStyle;
|
|
552
|
+
function getColor(data) {
|
|
553
|
+
return as(FaceData, data).faceAdapter.color;
|
|
554
|
+
}
|
|
555
|
+
ViewData.getColor = getColor;
|
|
556
|
+
function hasText(data) {
|
|
557
|
+
return !!as(FaceData, data).faceAdapter.text;
|
|
558
|
+
}
|
|
559
|
+
ViewData.hasText = hasText;
|
|
560
|
+
function getFace(data) {
|
|
561
|
+
return as(FaceData, data).faceAdapter.face;
|
|
562
|
+
}
|
|
563
|
+
ViewData.getFace = getFace;
|
|
564
|
+
function asGroup(viewData) {
|
|
565
|
+
return as(GroupData, viewData);
|
|
566
|
+
}
|
|
567
|
+
ViewData.asGroup = asGroup;
|
|
568
|
+
function hasMixedIcons(data) {
|
|
569
|
+
return as(GroupData, data).hasMixedIcons;
|
|
570
|
+
}
|
|
571
|
+
ViewData.hasMixedIcons = hasMixedIcons;
|
|
572
|
+
function isGroup(data) {
|
|
573
|
+
return data instanceof GroupData;
|
|
574
|
+
}
|
|
575
|
+
ViewData.isGroup = isGroup;
|
|
576
|
+
function hasFace(data) {
|
|
577
|
+
return data instanceof FaceData;
|
|
578
|
+
}
|
|
579
|
+
ViewData.hasFace = hasFace;
|
|
580
|
+
function isCommand(data) {
|
|
581
|
+
return data instanceof CommandData;
|
|
582
|
+
}
|
|
583
|
+
ViewData.isCommand = isCommand;
|
|
584
|
+
function isSeparator(data) {
|
|
585
|
+
return data instanceof SeparatorData;
|
|
586
|
+
}
|
|
587
|
+
ViewData.isSeparator = isSeparator;
|
|
588
|
+
function isFlex(data) {
|
|
589
|
+
return data instanceof FlexData;
|
|
590
|
+
}
|
|
591
|
+
ViewData.isFlex = isFlex;
|
|
592
|
+
})(ViewData || (ViewData = {}));
|
|
593
|
+
|
|
594
|
+
let CommandGroupMenuRendererComponent = class CommandGroupMenuRendererComponent extends DisposableComponent {
|
|
595
|
+
constructor(parent) {
|
|
596
|
+
super();
|
|
597
|
+
this.parent = parent;
|
|
598
|
+
this.groupViewDataModel = new MutableValueModel();
|
|
599
|
+
this.commandFired = new EventEmitter();
|
|
600
|
+
this.ViewData = ViewData;
|
|
601
|
+
this.TrackBy = TrackBy;
|
|
602
|
+
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
603
|
+
this.children = chain(this.groupViewDataModel).pluckList('children');
|
|
604
|
+
this.hasMixedIcons = chain(this.groupViewDataModel).pluck('hasMixedIcons');
|
|
605
|
+
}
|
|
606
|
+
getCommand(data) {
|
|
607
|
+
const command = ViewData.getCommand(data);
|
|
608
|
+
const { when } = Dsl.disposeWith(this);
|
|
609
|
+
when(command.busy).becomesFalsey(() => this.commandFired.emit());
|
|
610
|
+
return command;
|
|
611
|
+
}
|
|
612
|
+
};
|
|
613
|
+
CommandGroupMenuRendererComponent.ctorParameters = () => [
|
|
614
|
+
{ type: CommandGroupMenuRendererComponent, decorators: [{ type: Optional }, { type: SkipSelf }] }
|
|
615
|
+
];
|
|
616
|
+
__decorate([
|
|
617
|
+
ViewChild('menu', { static: true }),
|
|
618
|
+
__metadata("design:type", MatMenu)
|
|
619
|
+
], CommandGroupMenuRendererComponent.prototype, "menuComponent", void 0);
|
|
620
|
+
__decorate([
|
|
621
|
+
Input(), StoreInValueModel('groupViewDataModel'),
|
|
622
|
+
__metadata("design:type", ViewData.GroupData)
|
|
623
|
+
], CommandGroupMenuRendererComponent.prototype, "groupViewData", void 0);
|
|
624
|
+
__decorate([
|
|
625
|
+
Output(),
|
|
626
|
+
__metadata("design:type", Object)
|
|
627
|
+
], CommandGroupMenuRendererComponent.prototype, "commandFired", void 0);
|
|
628
|
+
__decorate([
|
|
629
|
+
ViewChildren(MatMenuTrigger),
|
|
630
|
+
__metadata("design:type", QueryList)
|
|
631
|
+
], CommandGroupMenuRendererComponent.prototype, "triggers", void 0);
|
|
632
|
+
CommandGroupMenuRendererComponent = __decorate([
|
|
633
|
+
Component({
|
|
634
|
+
selector: 'aup-command-group-menu',
|
|
635
|
+
template: "<mat-menu #menu [xPosition]=\"groupViewData.xPosition\" [yPosition]=\"groupViewData.yPosition\">\n <ng-container *ngFor=\"let data of children.value; trackBy: TrackBy.byIndex\" >\n <button *ngIf=\"ViewData.isCommand(data)\"\n [pectinCommand]=\"getCommand(data)\"\n [matTooltip]=\"ViewData.getTooltip(data)\"\n mat-menu-item>\n <aup-command-face [face]=\"ViewData.getFace(data)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n\n <ng-container *ngIf=\"ViewData.isGroup(data)\">\n <button mat-menu-item\n #trigger=\"matMenuTrigger\"\n [matMenuTriggerFor]=\"innerPanel.menuComponent\"\n >\n <aup-command-face [face]=\"ViewData.getFace(data)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n <aup-command-group-menu #innerPanel\n [groupViewData]=\"ViewData.asGroup(data)\"\n (commandFired)=\"trigger.closeMenu()\"></aup-command-group-menu>\n </ng-container>\n\n <mat-divider *ngIf=\"ViewData.isSeparator(data)\"></mat-divider>\n\n </ng-container>\n</mat-menu>\n"
|
|
636
|
+
}),
|
|
637
|
+
__param(0, Optional()), __param(0, SkipSelf()),
|
|
638
|
+
__metadata("design:paramtypes", [CommandGroupMenuRendererComponent])
|
|
639
|
+
], CommandGroupMenuRendererComponent);
|
|
640
|
+
|
|
641
|
+
let CommandGroupRendererComponent = class CommandGroupRendererComponent extends DisposableComponent {
|
|
642
|
+
constructor() {
|
|
643
|
+
super();
|
|
644
|
+
this.renderRootNode = true;
|
|
645
|
+
this.ViewData = ViewData;
|
|
646
|
+
this.TrackBy = TrackBy;
|
|
647
|
+
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
648
|
+
this.childViewDataModels = chain(this.groupViewDataModel).pluckList('children');
|
|
649
|
+
}
|
|
650
|
+
};
|
|
651
|
+
__decorate([
|
|
652
|
+
Input(), TrackExternal(),
|
|
653
|
+
__metadata("design:type", ValueModel)
|
|
654
|
+
], CommandGroupRendererComponent.prototype, "groupViewDataModel", void 0);
|
|
655
|
+
__decorate([
|
|
656
|
+
Input(), StoreInValueModel('groupViewDataModel'),
|
|
657
|
+
__metadata("design:type", ViewData.GroupData)
|
|
658
|
+
], CommandGroupRendererComponent.prototype, "groupViewData", void 0);
|
|
659
|
+
__decorate([
|
|
660
|
+
Input(),
|
|
661
|
+
HostBinding('class.render-root'),
|
|
662
|
+
__metadata("design:type", Object)
|
|
663
|
+
], CommandGroupRendererComponent.prototype, "renderRootNode", void 0);
|
|
664
|
+
CommandGroupRendererComponent = __decorate([
|
|
665
|
+
Component({
|
|
666
|
+
selector: 'aup-command-group-renderer',
|
|
667
|
+
template: "<ng-template #groupTemplate let-group>\n\n <ng-container *ngIf=\"ViewData.hasText(group)\" [ngSwitch]=\"ViewData.getStyle(group)\">\n <ng-container *ngSwitchCase=\"'stroked'\">\n <button #trigger=\"matMenuTrigger\"\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"ViewData.getTooltip(group)\"\n [color]=\"ViewData.getColor(group)\"\n mat-stroked-button>\n <aup-command-face [face]=\"ViewData.getFace(group)\"></aup-command-face>\n </button>\n <aup-command-group-menu #subMenu [groupViewData]=\"group\" (commandFired)=\"trigger.closeMenu()\"></aup-command-group-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'raised'\">\n <button #trigger=\"matMenuTrigger\"\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n\n [matTooltip]=\"ViewData.getTooltip(group)\"\n [color]=\"ViewData.getColor(group)\"\n mat-raised-button>\n <aup-command-face [face]=\"ViewData.getFace(group)\"></aup-command-face>\n </button>\n <aup-command-group-menu #subMenu [groupViewData]=\"group\" (commandFired)=\"trigger.closeMenu()\"></aup-command-group-menu>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button #trigger=\"matMenuTrigger\"\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"ViewData.getTooltip(group)\"\n [color]=\"ViewData.getColor(group)\"\n mat-button>\n <aup-command-face [face]=\"ViewData.getFace(group)\"></aup-command-face>\n </button>\n <aup-command-group-menu #subMenu [groupViewData]=\"group\" (commandFired)=\"trigger.closeMenu()\"></aup-command-group-menu>\n </ng-container>\n\n </ng-container>\n\n <ng-container *ngIf=\"!ViewData.hasText(group)\">\n <button #trigger=\"matMenuTrigger\"\n mat-icon-button\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n\n [matTooltip]=\"ViewData.getTooltip(group)\"\n [color]=\"ViewData.getColor(group)\"\n >\n <aup-command-face [face]=\"ViewData.getFace(group)\"></aup-command-face>\n </button>\n <aup-command-group-menu #subMenu [groupViewData]=\"group\" (commandFired)=\"trigger.closeMenu()\"></aup-command-group-menu>\n </ng-container>\n\n</ng-template>\n\n\n<ng-template #commandTemplate let-data>\n\n <ng-container *ngIf=\"ViewData.hasText(data)\" [ngSwitch]=\"ViewData.getStyle(data)\">\n <button *ngSwitchCase=\"'raised'\"\n [pectinCommand]=\"ViewData.getCommand(data)\"\n [matTooltip]=\"ViewData.getTooltip(data)\"\n [color]=\"ViewData.getColor(data)\"\n mat-raised-button>\n <aup-command-face [face]=\"ViewData.getFace(data)\"></aup-command-face>\n </button>\n <button *ngSwitchCase=\"'stroked'\"\n [pectinCommand]=\"ViewData.getCommand(data)\"\n [matTooltip]=\"ViewData.getTooltip(data)\"\n [color]=\"ViewData.getColor(data)\"\n mat-stroked-button>\n <aup-command-face [face]=\"ViewData.getFace(data)\"></aup-command-face>\n </button>\n <button *ngSwitchDefault\n [pectinCommand]=\"ViewData.getCommand(data)\"\n [matTooltip]=\"ViewData.getTooltip(data)\"\n [color]=\"ViewData.getColor(data)\"\n mat-button>\n <aup-command-face [face]=\"ViewData.getFace(data)\"></aup-command-face>\n </button>\n </ng-container>\n\n <button *ngIf=\"!ViewData.hasText(data)\"\n [pectinCommand]=\"ViewData.getCommand(data)\"\n [matTooltip]=\"ViewData.getTooltip(data)\"\n [color]=\"ViewData.getColor(data)\"\n mat-icon-button>\n <aup-command-face [face]=\"ViewData.getFace(data)\"></aup-command-face>\n </button>\n\n</ng-template>\n\n\n<ng-template *ngIf=\"renderRootNode\"\n [ngTemplateOutlet]=\"groupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: groupViewDataModel.value }\">\n</ng-template>\n\n<ng-container *ngIf=\"!renderRootNode\">\n <ng-container *ngFor=\"let data of this.childViewDataModels.value; trackBy: TrackBy.byIndex\">\n <ng-template *ngIf=\"ViewData.isGroup(data)\"\n [ngTemplateOutlet]=\"groupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: data }\">\n </ng-template>\n <ng-template *ngIf=\"ViewData.isCommand(data)\"\n [ngTemplateOutlet]=\"commandTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: data }\">\n </ng-template>\n\n <mat-divider *ngIf=\"ViewData.isSeparator(data)\" [vertical]=\"true\"></mat-divider>\n </ng-container>\n\n</ng-container>\n",
|
|
668
|
+
styles: [":host{display:inline-flex;flex-direction:row;align-items:center}:host:not(.render-root) mat-divider{-ms-grid-row-align:stretch;align-self:stretch;margin:4px 0}:host:not(.render-root)>*+*{margin-left:8px}:host span.flex{flex:1}"]
|
|
669
|
+
}),
|
|
670
|
+
__metadata("design:paramtypes", [])
|
|
671
|
+
], CommandGroupRendererComponent);
|
|
672
|
+
|
|
673
|
+
class Registration extends GarbageCollector {
|
|
674
|
+
}
|
|
675
|
+
(function (Registration) {
|
|
676
|
+
class FaceRegistration extends Registration {
|
|
677
|
+
constructor(faceModel) {
|
|
678
|
+
super();
|
|
679
|
+
this.faceModel = faceModel;
|
|
680
|
+
}
|
|
681
|
+
}
|
|
682
|
+
Registration.FaceRegistration = FaceRegistration;
|
|
683
|
+
class CommandRegistration extends FaceRegistration {
|
|
684
|
+
constructor(faceModel, command) {
|
|
685
|
+
super(faceModel);
|
|
686
|
+
this.command = command;
|
|
687
|
+
}
|
|
688
|
+
toTemplate() {
|
|
689
|
+
return new ViewData.CommandData(this.faceModel.value, this.command);
|
|
690
|
+
}
|
|
691
|
+
}
|
|
692
|
+
Registration.CommandRegistration = CommandRegistration;
|
|
693
|
+
class GroupRegistration extends FaceRegistration {
|
|
694
|
+
constructor(faceModel, group) {
|
|
695
|
+
super(faceModel);
|
|
696
|
+
this.group = group;
|
|
697
|
+
}
|
|
698
|
+
toTemplate() {
|
|
699
|
+
return new ViewData.GroupData(this.faceModel.value, this.group.xPosition, this.group.yPosition, this.group.registrations.value.map(r => r.toTemplate()));
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
Registration.GroupRegistration = GroupRegistration;
|
|
703
|
+
class SeparatorRegistration extends Registration {
|
|
704
|
+
constructor() {
|
|
705
|
+
super(...arguments);
|
|
706
|
+
this.template = new ViewData.SeparatorData();
|
|
707
|
+
}
|
|
708
|
+
toTemplate() {
|
|
709
|
+
return this.template;
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
Registration.SeparatorRegistration = SeparatorRegistration;
|
|
713
|
+
class FlexRegistration extends Registration {
|
|
714
|
+
constructor() {
|
|
715
|
+
super(...arguments);
|
|
716
|
+
this.template = new ViewData.FlexData();
|
|
717
|
+
}
|
|
718
|
+
toTemplate() {
|
|
719
|
+
return this.template;
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
Registration.FlexRegistration = FlexRegistration;
|
|
723
|
+
function hasFace(entry) {
|
|
724
|
+
return entry instanceof CommandRegistration || entry instanceof GroupRegistration;
|
|
725
|
+
}
|
|
726
|
+
Registration.hasFace = hasFace;
|
|
727
|
+
})(Registration || (Registration = {}));
|
|
728
|
+
|
|
729
|
+
class CommandGroup extends GarbageCollector {
|
|
730
|
+
constructor(parent) {
|
|
731
|
+
super();
|
|
732
|
+
this.parent = parent;
|
|
733
|
+
this._rootTemplate = new MutableValueModel();
|
|
734
|
+
this._registrations = new MutableListModel();
|
|
735
|
+
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
736
|
+
this.childTemplates = chain(this._rootTemplate).pluckList('children');
|
|
737
|
+
this.initialised = chain(this._rootTemplate).isNotNil();
|
|
738
|
+
}
|
|
739
|
+
initialise() {
|
|
740
|
+
this.rebuildTemplates();
|
|
741
|
+
}
|
|
742
|
+
get rootTemplate() {
|
|
743
|
+
return this._rootTemplate.readonly;
|
|
744
|
+
}
|
|
745
|
+
get registrations() {
|
|
746
|
+
return this._registrations.readonly;
|
|
747
|
+
}
|
|
748
|
+
notifyChanged() {
|
|
749
|
+
if (this.parent) {
|
|
750
|
+
this.parent.notifyChanged();
|
|
751
|
+
}
|
|
752
|
+
else {
|
|
753
|
+
this.rebuildTemplates();
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
notifyChildFaceChanged(is, was) {
|
|
757
|
+
this.notifyChanged();
|
|
758
|
+
}
|
|
759
|
+
rebuildTemplates() {
|
|
760
|
+
this._rootTemplate.value = new ViewData.GroupData(this.faceModel.value, this.xPosition, this.yPosition, this.registrations.value.map(r => r.toTemplate()));
|
|
761
|
+
}
|
|
762
|
+
get depth() {
|
|
763
|
+
return this.isRoot() ? 0 : this.parent.depth + 1;
|
|
764
|
+
}
|
|
765
|
+
isRoot() {
|
|
766
|
+
return false;
|
|
767
|
+
}
|
|
768
|
+
registerCommand(command, faceModel) {
|
|
769
|
+
return this.register(new Registration.CommandRegistration(faceModel, command));
|
|
770
|
+
}
|
|
771
|
+
registerGroup(group, faceModel) {
|
|
772
|
+
return this.register(new Registration.GroupRegistration(faceModel, group));
|
|
773
|
+
}
|
|
774
|
+
registerFlex(component) {
|
|
775
|
+
return this.register(new Registration.FlexRegistration());
|
|
776
|
+
}
|
|
777
|
+
registerSeparator(component) {
|
|
778
|
+
return this.register(new Registration.SeparatorRegistration());
|
|
779
|
+
}
|
|
780
|
+
register(registration) {
|
|
781
|
+
this._registrations.push(registration);
|
|
782
|
+
if (registration instanceof Registration.FaceRegistration) {
|
|
783
|
+
const { when } = Dsl.disposeWith(registration);
|
|
784
|
+
when(registration.faceModel).changes((is, was) => {
|
|
785
|
+
this.notifyChildFaceChanged(is, was);
|
|
786
|
+
}, { asLongAs: this.initialised });
|
|
787
|
+
}
|
|
788
|
+
registration.onDispose(() => this._registrations.remove(registration));
|
|
789
|
+
return registration;
|
|
790
|
+
}
|
|
791
|
+
}
|
|
792
|
+
(function (CommandGroup) {
|
|
793
|
+
class Root extends CommandGroup {
|
|
794
|
+
isRoot() {
|
|
795
|
+
return true;
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
__decorate([
|
|
799
|
+
TrackExternal(),
|
|
800
|
+
__metadata("design:type", ValueModel)
|
|
801
|
+
], Root.prototype, "faceModel", void 0);
|
|
802
|
+
__decorate([
|
|
803
|
+
TrackExternal({ defaultValue: 'after' }),
|
|
804
|
+
__metadata("design:type", ValueModel)
|
|
805
|
+
], Root.prototype, "xPositionModel", void 0);
|
|
806
|
+
__decorate([
|
|
807
|
+
StoreInValueModel('xPositionModel'),
|
|
808
|
+
__metadata("design:type", String)
|
|
809
|
+
], Root.prototype, "xPosition", void 0);
|
|
810
|
+
__decorate([
|
|
811
|
+
TrackExternal({ defaultValue: 'below' }),
|
|
812
|
+
__metadata("design:type", ValueModel)
|
|
813
|
+
], Root.prototype, "yPositionModel", void 0);
|
|
814
|
+
__decorate([
|
|
815
|
+
StoreInValueModel('yPositionModel'),
|
|
816
|
+
__metadata("design:type", String)
|
|
817
|
+
], Root.prototype, "yPosition", void 0);
|
|
818
|
+
CommandGroup.Root = Root;
|
|
819
|
+
function factory() {
|
|
820
|
+
return new Root();
|
|
821
|
+
}
|
|
822
|
+
CommandGroup.factory = factory;
|
|
823
|
+
})(CommandGroup || (CommandGroup = {}));
|
|
824
|
+
|
|
825
|
+
var CommandGroupComponent_1;
|
|
826
|
+
let CommandGroupComponent = CommandGroupComponent_1 = class CommandGroupComponent extends CommandGroup {
|
|
827
|
+
constructor(parent) {
|
|
828
|
+
super(parent);
|
|
829
|
+
this.parent = parent;
|
|
830
|
+
this.xPosition = 'after';
|
|
831
|
+
this.yPosition = 'below';
|
|
832
|
+
this.parent.registerGroup(this, this.faceModel);
|
|
833
|
+
}
|
|
834
|
+
};
|
|
835
|
+
CommandGroupComponent.ctorParameters = () => [
|
|
836
|
+
{ type: CommandGroup, decorators: [{ type: SkipSelf }] }
|
|
837
|
+
];
|
|
838
|
+
__decorate([
|
|
839
|
+
Input(), TrackExternal(),
|
|
840
|
+
__metadata("design:type", ValueModel)
|
|
841
|
+
], CommandGroupComponent.prototype, "faceModel", void 0);
|
|
842
|
+
__decorate([
|
|
843
|
+
Input(), StoreInValueModel('faceModel'),
|
|
844
|
+
__metadata("design:type", Object)
|
|
845
|
+
], CommandGroupComponent.prototype, "face", void 0);
|
|
846
|
+
__decorate([
|
|
847
|
+
Input(),
|
|
848
|
+
__metadata("design:type", String)
|
|
849
|
+
], CommandGroupComponent.prototype, "xPosition", void 0);
|
|
850
|
+
__decorate([
|
|
851
|
+
Input(),
|
|
852
|
+
__metadata("design:type", String)
|
|
853
|
+
], CommandGroupComponent.prototype, "yPosition", void 0);
|
|
854
|
+
CommandGroupComponent = CommandGroupComponent_1 = __decorate([
|
|
855
|
+
Component({
|
|
856
|
+
selector: 'aup-command-group',
|
|
857
|
+
template: '',
|
|
858
|
+
providers: [
|
|
859
|
+
{ provide: CommandGroup, useExisting: CommandGroupComponent_1 }
|
|
860
|
+
]
|
|
861
|
+
}),
|
|
862
|
+
__param(0, SkipSelf()),
|
|
863
|
+
__metadata("design:paramtypes", [CommandGroup])
|
|
864
|
+
], CommandGroupComponent);
|
|
865
|
+
|
|
866
|
+
/**
|
|
867
|
+
* Custom CSS:
|
|
868
|
+
* @example
|
|
869
|
+
* root: { // globally
|
|
870
|
+
* --aup-command-face-icon-gap: 8px;
|
|
871
|
+
* }
|
|
872
|
+
* aup-command-face { // per instance
|
|
873
|
+
* --icon-gap: 4px;
|
|
874
|
+
* }
|
|
875
|
+
*/
|
|
876
|
+
let CommandFaceComponent = class CommandFaceComponent extends DisposableComponent {
|
|
877
|
+
constructor() {
|
|
878
|
+
super();
|
|
879
|
+
this.faceModel = new MutableValueModel();
|
|
880
|
+
this.ignoreIcon = false;
|
|
881
|
+
this.ignoreText = false;
|
|
882
|
+
this.includeMissingIconInLayout = false;
|
|
883
|
+
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
884
|
+
// overkill /c: when all you have is a hammer...
|
|
885
|
+
const faceAdapter = chain(this.faceModel).map(face => new CommandFace.Adapter(face));
|
|
886
|
+
this.iconModel = faceAdapter.pluck('icon');
|
|
887
|
+
this.textModel = faceAdapter.pluck('text');
|
|
888
|
+
this.positionModel = faceAdapter.pluck('iconPosition');
|
|
889
|
+
this.colorModel = faceAdapter.pluck('color');
|
|
890
|
+
}
|
|
891
|
+
get requiresMissingIconInLayout() {
|
|
892
|
+
return this.includeMissingIconInLayout && !this.iconModel.value;
|
|
893
|
+
}
|
|
894
|
+
ngOnInit() {
|
|
895
|
+
}
|
|
896
|
+
get iconPosition() {
|
|
897
|
+
var _a;
|
|
898
|
+
return (_a = this.positionModel.value) !== null && _a !== void 0 ? _a : CommandFace.Position.START;
|
|
899
|
+
}
|
|
900
|
+
get shouldIncludeIcon() {
|
|
901
|
+
return (!this.ignoreIcon && this.iconModel.value) || this.includeMissingIconInLayout;
|
|
902
|
+
}
|
|
903
|
+
get iconStart() {
|
|
904
|
+
return this.shouldIncludeIcon && this.iconPosition === CommandFace.Position.START;
|
|
905
|
+
}
|
|
906
|
+
get iconEnd() {
|
|
907
|
+
return this.shouldIncludeIcon && this.iconPosition === CommandFace.Position.END;
|
|
908
|
+
}
|
|
909
|
+
get text() {
|
|
910
|
+
return this.ignoreText ? undefined : this.textModel.value;
|
|
911
|
+
}
|
|
912
|
+
get color() {
|
|
913
|
+
return this.colorModel.value;
|
|
914
|
+
}
|
|
915
|
+
};
|
|
916
|
+
__decorate([
|
|
917
|
+
Input('face'), StoreInValueModel('faceModel'),
|
|
918
|
+
__metadata("design:type", Object)
|
|
919
|
+
], CommandFaceComponent.prototype, "_rawFace", void 0);
|
|
920
|
+
__decorate([
|
|
921
|
+
Input(),
|
|
922
|
+
__metadata("design:type", Object)
|
|
923
|
+
], CommandFaceComponent.prototype, "ignoreIcon", void 0);
|
|
924
|
+
__decorate([
|
|
925
|
+
Input(),
|
|
926
|
+
__metadata("design:type", Object)
|
|
927
|
+
], CommandFaceComponent.prototype, "ignoreText", void 0);
|
|
928
|
+
__decorate([
|
|
929
|
+
Input(),
|
|
930
|
+
__metadata("design:type", Object)
|
|
931
|
+
], CommandFaceComponent.prototype, "includeMissingIconInLayout", void 0);
|
|
932
|
+
__decorate([
|
|
933
|
+
HostBinding('class.hide-icon'),
|
|
934
|
+
__metadata("design:type", Object),
|
|
935
|
+
__metadata("design:paramtypes", [])
|
|
936
|
+
], CommandFaceComponent.prototype, "requiresMissingIconInLayout", null);
|
|
937
|
+
__decorate([
|
|
938
|
+
HostBinding('attr.color'),
|
|
939
|
+
__metadata("design:type", String),
|
|
940
|
+
__metadata("design:paramtypes", [])
|
|
941
|
+
], CommandFaceComponent.prototype, "color", null);
|
|
942
|
+
CommandFaceComponent = __decorate([
|
|
943
|
+
Component({
|
|
944
|
+
selector: 'aup-command-face',
|
|
945
|
+
template: "<aup-icon *ngIf=\"iconStart\" [icon]=\"iconModel.value\"></aup-icon>\n<span *ngIf=\"this.text\">{{this.text}}</span>\n<aup-icon *ngIf=\"iconEnd\" [icon]=\"iconModel.value\"></aup-icon>\n",
|
|
946
|
+
encapsulation: ViewEncapsulation.None,
|
|
947
|
+
styles: ["aup-command-face{--icon-gap:var(--aup-command-face-icon-gap);display:inline-flex;flex-direction:row;align-items:center}aup-command-face *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}"]
|
|
948
|
+
}),
|
|
949
|
+
__metadata("design:paramtypes", [])
|
|
950
|
+
], CommandFaceComponent);
|
|
951
|
+
|
|
952
|
+
/**
|
|
953
|
+
*
|
|
954
|
+
*/
|
|
955
|
+
let CommandComponent = class CommandComponent extends DisposableComponent {
|
|
956
|
+
constructor(parent) {
|
|
957
|
+
super();
|
|
958
|
+
this.parent = parent;
|
|
959
|
+
this.CommandFace = CommandFace;
|
|
960
|
+
const { chain, switchOn } = Dsl.disposeWith(this);
|
|
961
|
+
this.activeFaceModel = switchOn(this.command.busy).toValue(when => {
|
|
962
|
+
when.equalTo(true, this.busyFaceModel);
|
|
963
|
+
when.otherwise(this.faceModel);
|
|
964
|
+
}).otherwise(this.faceModel);
|
|
965
|
+
this.buttonStyle = chain(this.activeFaceModel).map(f => CommandFace.getStyleOf(f));
|
|
966
|
+
this.colorModel = chain(this.activeFaceModel).map(f => CommandFace.getColorOf(f));
|
|
967
|
+
if (parent) {
|
|
968
|
+
this.registerDisposable(this.parent.registerCommand(this.command, this.activeFaceModel));
|
|
969
|
+
}
|
|
970
|
+
}
|
|
971
|
+
ngOnInit() {
|
|
972
|
+
}
|
|
973
|
+
};
|
|
974
|
+
CommandComponent.ctorParameters = () => [
|
|
975
|
+
{ type: CommandGroup, decorators: [{ type: Optional }] }
|
|
976
|
+
];
|
|
977
|
+
__decorate([
|
|
978
|
+
Input(), TrackExternal(),
|
|
979
|
+
__metadata("design:type", Command)
|
|
980
|
+
], CommandComponent.prototype, "command", void 0);
|
|
981
|
+
__decorate([
|
|
982
|
+
Input(), TrackExternal(),
|
|
983
|
+
__metadata("design:type", ValueModel)
|
|
984
|
+
], CommandComponent.prototype, "faceModel", void 0);
|
|
985
|
+
__decorate([
|
|
986
|
+
Input(), StoreInValueModel('faceModel'),
|
|
987
|
+
__metadata("design:type", Object)
|
|
988
|
+
], CommandComponent.prototype, "face", void 0);
|
|
989
|
+
__decorate([
|
|
990
|
+
Input(), TrackExternal(),
|
|
991
|
+
__metadata("design:type", ValueModel)
|
|
992
|
+
], CommandComponent.prototype, "busyFaceModel", void 0);
|
|
993
|
+
__decorate([
|
|
994
|
+
Input(), StoreInValueModel('busyFaceModel'),
|
|
995
|
+
__metadata("design:type", Object)
|
|
996
|
+
], CommandComponent.prototype, "busyFace", void 0);
|
|
997
|
+
CommandComponent = __decorate([
|
|
998
|
+
Component({
|
|
999
|
+
selector: 'aup-command',
|
|
1000
|
+
template: "<ng-container *ngIf=\"!parent\">\n <ng-container [ngSwitch]=\"buttonStyle.value\">\n <button *ngSwitchCase=\"CommandFace.Style.STROKED\" mat-stroked-button [pectinCommand]=\"command\" [color]=\"colorModel.value\">\n <aup-command-face [face]=\"activeFaceModel.value\"></aup-command-face>\n </button>\n <button *ngSwitchCase=\"CommandFace.Style.RAISED\" mat-raised-button [pectinCommand]=\"command\" [color]=\"colorModel.value\">\n <aup-command-face [face]=\"activeFaceModel.value\"></aup-command-face>\n </button>\n <button *ngSwitchDefault mat-button [pectinCommand]=\"command\" [color]=\"colorModel.value\">\n <aup-command-face [face]=\"activeFaceModel.value\"></aup-command-face>\n </button>\n </ng-container>\n</ng-container>\n"
|
|
1001
|
+
}),
|
|
1002
|
+
__param(0, Optional()),
|
|
1003
|
+
__metadata("design:paramtypes", [CommandGroup])
|
|
1004
|
+
], CommandComponent);
|
|
1005
|
+
|
|
1006
|
+
/**
|
|
1007
|
+
*
|
|
1008
|
+
*/
|
|
1009
|
+
let FlexComponent = class FlexComponent extends DisposableComponent {
|
|
1010
|
+
constructor(parent) {
|
|
1011
|
+
super();
|
|
1012
|
+
this.parent = parent;
|
|
1013
|
+
if (parent) {
|
|
1014
|
+
parent.registerFlex(this);
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
ngOnInit() {
|
|
1018
|
+
}
|
|
1019
|
+
};
|
|
1020
|
+
FlexComponent.ctorParameters = () => [
|
|
1021
|
+
{ type: CommandGroup }
|
|
1022
|
+
];
|
|
1023
|
+
FlexComponent = __decorate([
|
|
1024
|
+
Component({
|
|
1025
|
+
selector: 'aup-flex',
|
|
1026
|
+
template: ``
|
|
1027
|
+
}),
|
|
1028
|
+
__metadata("design:paramtypes", [CommandGroup])
|
|
1029
|
+
], FlexComponent);
|
|
1030
|
+
|
|
1031
|
+
const ɵ0 = CommandGroup.factory;
|
|
1032
|
+
/**
|
|
1033
|
+
*
|
|
1034
|
+
*/
|
|
1035
|
+
let MoreMenuComponent = class MoreMenuComponent extends DisposableComponent {
|
|
1036
|
+
constructor(group) {
|
|
1037
|
+
super();
|
|
1038
|
+
this.group = group;
|
|
1039
|
+
this.tooltipModel = new MutableValueModel();
|
|
1040
|
+
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
1041
|
+
group.xPosition = 'before'; // this should be the default unless overridden by the user.
|
|
1042
|
+
group.faceModel = chain(this.tooltipModel).map(tooltip => {
|
|
1043
|
+
return {
|
|
1044
|
+
icon: () => 'mat:more_vert',
|
|
1045
|
+
tooltip() {
|
|
1046
|
+
return tooltip;
|
|
1047
|
+
}
|
|
1048
|
+
};
|
|
1049
|
+
}, { allowNil: true });
|
|
1050
|
+
}
|
|
1051
|
+
ngOnInit() {
|
|
1052
|
+
}
|
|
1053
|
+
ngAfterContentInit() {
|
|
1054
|
+
this.group.initialise();
|
|
1055
|
+
}
|
|
1056
|
+
};
|
|
1057
|
+
MoreMenuComponent.ctorParameters = () => [
|
|
1058
|
+
{ type: CommandGroup }
|
|
1059
|
+
];
|
|
1060
|
+
__decorate([
|
|
1061
|
+
Input(), StoreInValueModel('tooltipModel'),
|
|
1062
|
+
__metadata("design:type", String)
|
|
1063
|
+
], MoreMenuComponent.prototype, "tooltip", void 0);
|
|
1064
|
+
__decorate([
|
|
1065
|
+
Trace(),
|
|
1066
|
+
__metadata("design:type", Function),
|
|
1067
|
+
__metadata("design:paramtypes", []),
|
|
1068
|
+
__metadata("design:returntype", void 0)
|
|
1069
|
+
], MoreMenuComponent.prototype, "ngAfterContentInit", null);
|
|
1070
|
+
MoreMenuComponent = __decorate([
|
|
1071
|
+
Component({
|
|
1072
|
+
selector: 'aup-more-menu',
|
|
1073
|
+
template: '<aup-command-group-renderer [renderRootNode]="true" [groupViewDataModel]="group.rootTemplate"></aup-command-group-renderer>',
|
|
1074
|
+
providers: [{ provide: CommandGroup, useFactory: ɵ0 }]
|
|
1075
|
+
}),
|
|
1076
|
+
__metadata("design:paramtypes", [CommandGroup])
|
|
1077
|
+
], MoreMenuComponent);
|
|
1078
|
+
|
|
1079
|
+
const ɵ0$1 = CommandGroup.factory;
|
|
1080
|
+
/**
|
|
1081
|
+
*
|
|
1082
|
+
*/
|
|
1083
|
+
let PopupMenuComponent = class PopupMenuComponent extends DisposableComponent {
|
|
1084
|
+
constructor(group) {
|
|
1085
|
+
super();
|
|
1086
|
+
this.group = group;
|
|
1087
|
+
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
1088
|
+
group.faceModel = this.faceModel;
|
|
1089
|
+
}
|
|
1090
|
+
ngOnInit() {
|
|
1091
|
+
}
|
|
1092
|
+
ngAfterContentInit() {
|
|
1093
|
+
this.group.initialise();
|
|
1094
|
+
}
|
|
1095
|
+
ngAfterViewInit() {
|
|
1096
|
+
}
|
|
1097
|
+
};
|
|
1098
|
+
PopupMenuComponent.ctorParameters = () => [
|
|
1099
|
+
{ type: CommandGroup }
|
|
1100
|
+
];
|
|
1101
|
+
__decorate([
|
|
1102
|
+
Input(), TrackExternal(),
|
|
1103
|
+
__metadata("design:type", ValueModel)
|
|
1104
|
+
], PopupMenuComponent.prototype, "faceModel", void 0);
|
|
1105
|
+
__decorate([
|
|
1106
|
+
Input(), StoreInValueModel('faceModel'),
|
|
1107
|
+
__metadata("design:type", Object)
|
|
1108
|
+
], PopupMenuComponent.prototype, "face", void 0);
|
|
1109
|
+
__decorate([
|
|
1110
|
+
Trace(),
|
|
1111
|
+
__metadata("design:type", Function),
|
|
1112
|
+
__metadata("design:paramtypes", []),
|
|
1113
|
+
__metadata("design:returntype", void 0)
|
|
1114
|
+
], PopupMenuComponent.prototype, "ngOnInit", null);
|
|
1115
|
+
__decorate([
|
|
1116
|
+
Trace(),
|
|
1117
|
+
__metadata("design:type", Function),
|
|
1118
|
+
__metadata("design:paramtypes", []),
|
|
1119
|
+
__metadata("design:returntype", void 0)
|
|
1120
|
+
], PopupMenuComponent.prototype, "ngAfterContentInit", null);
|
|
1121
|
+
__decorate([
|
|
1122
|
+
Trace(),
|
|
1123
|
+
__metadata("design:type", Function),
|
|
1124
|
+
__metadata("design:paramtypes", []),
|
|
1125
|
+
__metadata("design:returntype", void 0)
|
|
1126
|
+
], PopupMenuComponent.prototype, "ngAfterViewInit", null);
|
|
1127
|
+
PopupMenuComponent = __decorate([
|
|
1128
|
+
Component({
|
|
1129
|
+
selector: 'aup-popup-menu',
|
|
1130
|
+
template: '<aup-command-group-renderer [renderRootNode]="true" [groupViewDataModel]="group.rootTemplate"></aup-command-group-renderer>',
|
|
1131
|
+
providers: [{ provide: CommandGroup, useFactory: ɵ0$1 }]
|
|
1132
|
+
}),
|
|
1133
|
+
__metadata("design:paramtypes", [CommandGroup])
|
|
1134
|
+
], PopupMenuComponent);
|
|
1135
|
+
|
|
1136
|
+
/**
|
|
1137
|
+
*
|
|
1138
|
+
*/
|
|
1139
|
+
let SeparatorComponent = class SeparatorComponent extends DisposableComponent {
|
|
1140
|
+
constructor(parent) {
|
|
1141
|
+
super();
|
|
1142
|
+
this.parent = parent;
|
|
1143
|
+
if (parent) {
|
|
1144
|
+
parent.registerSeparator(this);
|
|
1145
|
+
}
|
|
1146
|
+
}
|
|
1147
|
+
isVertical() {
|
|
1148
|
+
return this === null || this === void 0 ? void 0 : this.parent.isRoot();
|
|
1149
|
+
}
|
|
1150
|
+
ngOnInit() {
|
|
1151
|
+
}
|
|
1152
|
+
};
|
|
1153
|
+
SeparatorComponent.ctorParameters = () => [
|
|
1154
|
+
{ type: CommandGroup, decorators: [{ type: Optional }] }
|
|
1155
|
+
];
|
|
1156
|
+
SeparatorComponent = __decorate([
|
|
1157
|
+
Component({
|
|
1158
|
+
selector: 'aup-separator',
|
|
1159
|
+
template: `
|
|
1160
|
+
<mat-divider [vertical]="isVertical()"></mat-divider>`
|
|
1161
|
+
}),
|
|
1162
|
+
__param(0, Optional()),
|
|
1163
|
+
__metadata("design:paramtypes", [CommandGroup])
|
|
1164
|
+
], SeparatorComponent);
|
|
1165
|
+
|
|
1166
|
+
const ɵ0$2 = CommandGroup.factory;
|
|
1167
|
+
/**
|
|
1168
|
+
*
|
|
1169
|
+
*/
|
|
1170
|
+
let ToolBarComponent = class ToolBarComponent extends DisposableComponent {
|
|
1171
|
+
constructor(group) {
|
|
1172
|
+
super();
|
|
1173
|
+
this.group = group;
|
|
1174
|
+
}
|
|
1175
|
+
ngOnInit() {
|
|
1176
|
+
}
|
|
1177
|
+
ngAfterContentInit() {
|
|
1178
|
+
this.group.initialise();
|
|
1179
|
+
}
|
|
1180
|
+
ngAfterViewInit() {
|
|
1181
|
+
}
|
|
1182
|
+
};
|
|
1183
|
+
ToolBarComponent.ctorParameters = () => [
|
|
1184
|
+
{ type: CommandGroup }
|
|
1185
|
+
];
|
|
1186
|
+
__decorate([
|
|
1187
|
+
Trace(),
|
|
1188
|
+
__metadata("design:type", Function),
|
|
1189
|
+
__metadata("design:paramtypes", []),
|
|
1190
|
+
__metadata("design:returntype", void 0)
|
|
1191
|
+
], ToolBarComponent.prototype, "ngOnInit", null);
|
|
1192
|
+
__decorate([
|
|
1193
|
+
Trace(),
|
|
1194
|
+
__metadata("design:type", Function),
|
|
1195
|
+
__metadata("design:paramtypes", []),
|
|
1196
|
+
__metadata("design:returntype", void 0)
|
|
1197
|
+
], ToolBarComponent.prototype, "ngAfterContentInit", null);
|
|
1198
|
+
__decorate([
|
|
1199
|
+
Trace(),
|
|
1200
|
+
__metadata("design:type", Function),
|
|
1201
|
+
__metadata("design:paramtypes", []),
|
|
1202
|
+
__metadata("design:returntype", void 0)
|
|
1203
|
+
], ToolBarComponent.prototype, "ngAfterViewInit", null);
|
|
1204
|
+
ToolBarComponent = __decorate([
|
|
1205
|
+
Component({
|
|
1206
|
+
selector: 'aup-tool-bar',
|
|
1207
|
+
template: '<aup-command-group-renderer [renderRootNode]="false" [groupViewDataModel]="group.rootTemplate"></aup-command-group-renderer>',
|
|
1208
|
+
providers: [{ provide: CommandGroup, useFactory: ɵ0$2 }],
|
|
1209
|
+
styles: [":host{display:inline-flex;flex-direction:row;align-items:center}:host mat-divider{-ms-grid-row-align:stretch;align-self:stretch;margin:4px 0}:host span.flex{flex:1}:host>*+*{margin-left:8px}"]
|
|
1210
|
+
}),
|
|
1211
|
+
__metadata("design:paramtypes", [CommandGroup])
|
|
1212
|
+
], ToolBarComponent);
|
|
1213
|
+
|
|
377
1214
|
let FocusContainerComponent = class FocusContainerComponent extends DisposableComponent {
|
|
378
1215
|
constructor(focusManager) {
|
|
379
1216
|
super();
|
|
@@ -467,6 +1304,7 @@ FocusableComponent = __decorate([
|
|
|
467
1304
|
let AbstractInputComponent = class AbstractInputComponent extends DisposableComponent {
|
|
468
1305
|
constructor() {
|
|
469
1306
|
super();
|
|
1307
|
+
this.onValueEditedListeners = new EventListenerList();
|
|
470
1308
|
this.dense = false;
|
|
471
1309
|
// TODO: fix this.
|
|
472
1310
|
// tslint:disable-next-line:no-output-native
|
|
@@ -515,19 +1353,19 @@ let AbstractInputComponent = class AbstractInputComponent extends DisposableComp
|
|
|
515
1353
|
return this.enabled.value;
|
|
516
1354
|
}
|
|
517
1355
|
get enabled() {
|
|
518
|
-
return this.
|
|
1356
|
+
return this.formValueModel.enabled;
|
|
519
1357
|
}
|
|
520
1358
|
hasErrors() {
|
|
521
1359
|
return !this.errorList.query().isEmpty();
|
|
522
1360
|
}
|
|
523
1361
|
get errorList() {
|
|
524
|
-
return this.
|
|
1362
|
+
return this.formValueModel.errorList;
|
|
525
1363
|
}
|
|
526
1364
|
get firstError() {
|
|
527
1365
|
return this.hasErrors() ? this.errorList.value[0] : null;
|
|
528
1366
|
}
|
|
529
1367
|
get focusContext() {
|
|
530
|
-
return this.
|
|
1368
|
+
return this.formValueModel.focusContext;
|
|
531
1369
|
}
|
|
532
1370
|
get floatLabel() {
|
|
533
1371
|
return this.dense ? 'never' : this.userFloatLabel;
|
|
@@ -535,6 +1373,13 @@ let AbstractInputComponent = class AbstractInputComponent extends DisposableComp
|
|
|
535
1373
|
get showHint() {
|
|
536
1374
|
return this.dense ? false : !!this.hint;
|
|
537
1375
|
}
|
|
1376
|
+
/**
|
|
1377
|
+
* Invokes the callback when this components value is changed by a user edit.
|
|
1378
|
+
* @param callback
|
|
1379
|
+
*/
|
|
1380
|
+
onValueEdited(callback) {
|
|
1381
|
+
return this.onValueEditedListeners.add(callback);
|
|
1382
|
+
}
|
|
538
1383
|
};
|
|
539
1384
|
__decorate([
|
|
540
1385
|
Input(),
|
|
@@ -634,29 +1479,42 @@ let AbstractListInputComponent = class AbstractListInputComponent extends Abstra
|
|
|
634
1479
|
* gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
|
|
635
1480
|
*/
|
|
636
1481
|
// We have to register it as a disposable so it ditches any listeners when we're disposed.
|
|
637
|
-
this.
|
|
638
|
-
this.
|
|
1482
|
+
this.formValueModel = this.registerDisposable(new Form.DelegatingListModel());
|
|
1483
|
+
this.componentListModel = new MutableListModel();
|
|
1484
|
+
this.setValueIsInProgress = new Guard();
|
|
639
1485
|
this.valueChange = new EventEmitter();
|
|
640
|
-
const { when } = Dsl.disposeWith(this);
|
|
641
|
-
|
|
1486
|
+
const { when, valueOf, chain } = Dsl.disposeWith(this);
|
|
1487
|
+
const binding = new Binding.Identity(this.formValueModel, this.componentListModel).writeRight();
|
|
1488
|
+
const inExternalChange = valueOf.any(this.setValueIsInProgress, chain(binding.direction).equals(Binding.Direction.RIGHT)).areTruthy();
|
|
1489
|
+
when(this.componentListModel).changes((is, was) => {
|
|
1490
|
+
this.valueChange.emit(is);
|
|
1491
|
+
this.onValueEditedListeners.fire(l => l(is, was));
|
|
1492
|
+
}, {
|
|
642
1493
|
initialValue: 'ignore',
|
|
643
|
-
|
|
1494
|
+
// we never fire events during an external changes to the value. This allows
|
|
1495
|
+
// the component to behave when used in the conventional angular
|
|
1496
|
+
// fashion, i.e. [(value)]="..."
|
|
1497
|
+
unless: inExternalChange
|
|
644
1498
|
});
|
|
1499
|
+
DebugContext.tag(this.formValueModel, `${this.constructor.name}.formValueModel`);
|
|
645
1500
|
}
|
|
1501
|
+
// We add support for simple direct display of values by allowing components to be used
|
|
1502
|
+
// by `component.value = ...` This use of the component without a value model in tables
|
|
1503
|
+
// and the like.
|
|
646
1504
|
set value(value) {
|
|
647
|
-
|
|
648
|
-
this.
|
|
1505
|
+
this.setValueIsInProgress.whileTrue(() => {
|
|
1506
|
+
if (!this.listHolder) {
|
|
649
1507
|
this.listHolder = new MutableListModel(value);
|
|
650
1508
|
this.listModel = this.listHolder;
|
|
651
|
-
}
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
}
|
|
1509
|
+
}
|
|
1510
|
+
else {
|
|
1511
|
+
this.listHolder.value = value;
|
|
1512
|
+
}
|
|
1513
|
+
});
|
|
656
1514
|
}
|
|
657
1515
|
};
|
|
658
1516
|
__decorate([
|
|
659
|
-
Input(), TrackExternal({ delegateTo: '
|
|
1517
|
+
Input(), TrackExternal({ delegateTo: 'formValueModel' }),
|
|
660
1518
|
__metadata("design:type", Object)
|
|
661
1519
|
], AbstractListInputComponent.prototype, "listModel", void 0);
|
|
662
1520
|
__decorate([
|
|
@@ -687,41 +1545,121 @@ let AbstractValueInputComponent = class AbstractValueInputComponent extends Abst
|
|
|
687
1545
|
* gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
|
|
688
1546
|
*/
|
|
689
1547
|
// We have to register it as a disposable so it ditches any listeners when we're disposed.
|
|
690
|
-
this.
|
|
691
|
-
this.
|
|
1548
|
+
this.formValueModel = this.registerDisposable(new Form.DelegatingValueModel());
|
|
1549
|
+
this.setValueInProgress = new Guard();
|
|
1550
|
+
this.componentValueModel = new MutableValueModel();
|
|
692
1551
|
this.valueChange = new EventEmitter();
|
|
693
|
-
const { when } = Dsl.disposeWith(this);
|
|
694
|
-
|
|
1552
|
+
const { when, chain, valueOf } = Dsl.disposeWith(this);
|
|
1553
|
+
const binding = new Binding.Identity(this.formValueModel, this.componentValueModel).writeRight();
|
|
1554
|
+
const inExternalChange = valueOf.any(this.setValueInProgress, chain(binding.direction).equals(Binding.Direction.RIGHT)).areTruthy();
|
|
1555
|
+
when(this.componentValueModel).changes((is, was) => {
|
|
1556
|
+
this.valueChange.emit(is);
|
|
1557
|
+
this.onValueEditedListeners.fire(l => l(is, was));
|
|
1558
|
+
}, {
|
|
1559
|
+
initialValue: 'ignore',
|
|
1560
|
+
// we never fire events during an external set value operation. This allows
|
|
1561
|
+
// the component to behave when used in the conventional angular
|
|
1562
|
+
// fashion, i.e. [(value)]="..."
|
|
1563
|
+
unless: inExternalChange
|
|
1564
|
+
});
|
|
1565
|
+
DebugContext.tag(this.formValueModel, `${this.constructor.name}.formValueModel`);
|
|
695
1566
|
}
|
|
1567
|
+
// We add support for simple direct display of values by allowing components to be used
|
|
1568
|
+
// by `component.value = ...` This use of the component without a value model in tables
|
|
1569
|
+
// and the like.
|
|
696
1570
|
set value(value) {
|
|
697
|
-
|
|
698
|
-
this.
|
|
699
|
-
this.
|
|
700
|
-
this.valueModel = this.
|
|
701
|
-
}
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
}
|
|
1571
|
+
this.setValueInProgress.whileTrue(() => {
|
|
1572
|
+
if (!this.plainValueHolder) {
|
|
1573
|
+
this.plainValueHolder = new MutableValueModel(value);
|
|
1574
|
+
this.valueModel = this.plainValueHolder;
|
|
1575
|
+
}
|
|
1576
|
+
else {
|
|
1577
|
+
this.plainValueHolder.value = value;
|
|
1578
|
+
}
|
|
1579
|
+
});
|
|
1580
|
+
}
|
|
1581
|
+
};
|
|
1582
|
+
__decorate([
|
|
1583
|
+
Input(), TrackExternal({ delegateTo: 'formValueModel' }),
|
|
1584
|
+
__metadata("design:type", Object)
|
|
1585
|
+
], AbstractValueInputComponent.prototype, "valueModel", void 0);
|
|
1586
|
+
__decorate([
|
|
1587
|
+
Input(),
|
|
1588
|
+
__metadata("design:type", Object),
|
|
1589
|
+
__metadata("design:paramtypes", [Object])
|
|
1590
|
+
], AbstractValueInputComponent.prototype, "value", null);
|
|
1591
|
+
__decorate([
|
|
1592
|
+
Output(),
|
|
1593
|
+
__metadata("design:type", Object)
|
|
1594
|
+
], AbstractValueInputComponent.prototype, "valueChange", void 0);
|
|
1595
|
+
AbstractValueInputComponent = __decorate([
|
|
1596
|
+
Component({ template: '' }),
|
|
1597
|
+
__metadata("design:paramtypes", [])
|
|
1598
|
+
], AbstractValueInputComponent);
|
|
1599
|
+
|
|
1600
|
+
/**
|
|
1601
|
+
* Using templates (not only supported for nil values:
|
|
1602
|
+
* <aup-autocomplete-input [valueModel]="myModel" [options]="myOptions">
|
|
1603
|
+
* <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
|
|
1604
|
+
* </aup-autocomplete-input>
|
|
1605
|
+
*/
|
|
1606
|
+
let AutocompleteInputComponent = class AutocompleteInputComponent extends AbstractValueInputComponent {
|
|
1607
|
+
constructor() {
|
|
1608
|
+
super();
|
|
1609
|
+
this.filterValue = new MutableValueModel();
|
|
1610
|
+
this.optionLabelFormat = (option) => (option && this.optionLabel) ? option[this.optionLabel] : option;
|
|
1611
|
+
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
1612
|
+
const lowerCaseFilterValue = chain(this.filterValue)
|
|
1613
|
+
.map(v => ___default.isString(v) ? v.toLowerCase() : '');
|
|
1614
|
+
this.filteredOptions = chain(this.optionsModel)
|
|
1615
|
+
.select(option => {
|
|
1616
|
+
return ___default.isEmpty(this.filterValue.value) || this.optionLabelFormat(option).toString().toLowerCase().includes(lowerCaseFilterValue.value);
|
|
1617
|
+
}, { dependsOn: lowerCaseFilterValue });
|
|
1618
|
+
}
|
|
1619
|
+
ngOnInit() {
|
|
1620
|
+
}
|
|
1621
|
+
formatOption(option) {
|
|
1622
|
+
return this.optionLabelFormat(option);
|
|
1623
|
+
}
|
|
1624
|
+
updateFilter($event) {
|
|
1625
|
+
this.filterValue.value = $event;
|
|
1626
|
+
}
|
|
1627
|
+
onSelect($event) {
|
|
1628
|
+
this.valueModel.value = $event.option.value;
|
|
706
1629
|
}
|
|
707
1630
|
};
|
|
708
1631
|
__decorate([
|
|
709
|
-
Input(), TrackExternal(
|
|
1632
|
+
Input(), TrackExternal(),
|
|
1633
|
+
__metadata("design:type", ListModel)
|
|
1634
|
+
], AutocompleteInputComponent.prototype, "optionsModel", void 0);
|
|
1635
|
+
__decorate([
|
|
1636
|
+
Input(), StoreInListModel('optionsModel'),
|
|
1637
|
+
__metadata("design:type", Array)
|
|
1638
|
+
], AutocompleteInputComponent.prototype, "options", void 0);
|
|
1639
|
+
__decorate([
|
|
1640
|
+
Input(),
|
|
710
1641
|
__metadata("design:type", Object)
|
|
711
|
-
],
|
|
1642
|
+
], AutocompleteInputComponent.prototype, "optionLabel", void 0);
|
|
712
1643
|
__decorate([
|
|
713
1644
|
Input(),
|
|
714
|
-
__metadata("design:type",
|
|
715
|
-
|
|
716
|
-
], AbstractValueInputComponent.prototype, "value", null);
|
|
1645
|
+
__metadata("design:type", Boolean)
|
|
1646
|
+
], AutocompleteInputComponent.prototype, "allowNil", void 0);
|
|
717
1647
|
__decorate([
|
|
718
|
-
|
|
719
|
-
__metadata("design:type",
|
|
720
|
-
],
|
|
721
|
-
|
|
722
|
-
|
|
1648
|
+
ContentChild('nilOptionTemplate'),
|
|
1649
|
+
__metadata("design:type", TemplateRef)
|
|
1650
|
+
], AutocompleteInputComponent.prototype, "nilOptionTemplateRef", void 0);
|
|
1651
|
+
__decorate([
|
|
1652
|
+
Input(),
|
|
1653
|
+
__metadata("design:type", Function)
|
|
1654
|
+
], AutocompleteInputComponent.prototype, "optionLabelFormat", void 0);
|
|
1655
|
+
AutocompleteInputComponent = __decorate([
|
|
1656
|
+
Component({
|
|
1657
|
+
selector: 'aup-autocomplete-input',
|
|
1658
|
+
template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"string\"\n matInput\n [matAutocomplete]=\"autocomplete\"\n placeholder=\"{{placeholder}}\"\n [ngModel]=\"componentValueModel.value\"\n (ngModelChange)=\"updateFilter($event)\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-autocomplete #autocomplete [displayWith]=\"optionLabelFormat\" [autoActiveFirstOption]=\"true\" (optionSelected)=\"onSelect($event)\">\n <mat-option *ngFor=\"let option of filteredOptions.value; let i = index\"\n [value]=\"option\"\n >{{formatOption(option)}}</mat-option>\n <mat-option *ngIf=\"allowNil\">{{placeholder}}</mat-option>\n </mat-autocomplete>\n\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
|
|
1659
|
+
styles: [":host{display:inline-block}mat-form-field{width:100%}"]
|
|
1660
|
+
}),
|
|
723
1661
|
__metadata("design:paramtypes", [])
|
|
724
|
-
],
|
|
1662
|
+
], AutocompleteInputComponent);
|
|
725
1663
|
|
|
726
1664
|
let CheckboxInputComponent = class CheckboxInputComponent extends AbstractValueInputComponent {
|
|
727
1665
|
constructor() {
|
|
@@ -745,12 +1683,56 @@ __decorate([
|
|
|
745
1683
|
CheckboxInputComponent = __decorate([
|
|
746
1684
|
Component({
|
|
747
1685
|
selector: 'aup-checkbox-input',
|
|
748
|
-
template: "<!-- TODO: add focus binding -->\n<mat-checkbox\n [(ngModel)]=\"
|
|
1686
|
+
template: "<!-- TODO: add focus binding -->\n<mat-checkbox\n [(ngModel)]=\"componentValueModel.value\"\n [color]=\"color\"\n [labelPosition]=\"labelPosition\"\n [disabled]=\"!isEnabled()\"\n>{{label}}</mat-checkbox>\n<mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n<mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n",
|
|
749
1687
|
styles: [":host{display:inline-flex;flex-direction:column;padding:24px 0 16px}:host.dense{padding:6px 0 2px}mat-error,mat-hint{margin-top:4px;margin-left:24px;font-size:12px;font-weight:400;line-height:13.5px}"]
|
|
750
1688
|
}),
|
|
751
1689
|
__metadata("design:paramtypes", [])
|
|
752
1690
|
], CheckboxInputComponent);
|
|
753
1691
|
|
|
1692
|
+
/**
|
|
1693
|
+
* Using templates:
|
|
1694
|
+
* <aup-multiple-select-input [valueModel]="myModel" [options]="myOptions">
|
|
1695
|
+
* <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
|
|
1696
|
+
* <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
|
|
1697
|
+
* </aup-multiple-select_input>
|
|
1698
|
+
*/
|
|
1699
|
+
let MultipleSelectInputComponent = class MultipleSelectInputComponent extends AbstractListInputComponent {
|
|
1700
|
+
constructor() {
|
|
1701
|
+
super();
|
|
1702
|
+
this.optionLabelFormat = (option) => (option && this.optionLabel) ? option[this.optionLabel] : option;
|
|
1703
|
+
}
|
|
1704
|
+
ngOnInit() {
|
|
1705
|
+
}
|
|
1706
|
+
};
|
|
1707
|
+
__decorate([
|
|
1708
|
+
Input(), TrackExternal(),
|
|
1709
|
+
__metadata("design:type", ListModel)
|
|
1710
|
+
], MultipleSelectInputComponent.prototype, "optionsModel", void 0);
|
|
1711
|
+
__decorate([
|
|
1712
|
+
Input(), StoreInListModel('optionsModel'),
|
|
1713
|
+
__metadata("design:type", Array)
|
|
1714
|
+
], MultipleSelectInputComponent.prototype, "options", void 0);
|
|
1715
|
+
__decorate([
|
|
1716
|
+
Input(),
|
|
1717
|
+
__metadata("design:type", Object)
|
|
1718
|
+
], MultipleSelectInputComponent.prototype, "optionLabel", void 0);
|
|
1719
|
+
__decorate([
|
|
1720
|
+
ContentChild('optionTemplate'),
|
|
1721
|
+
__metadata("design:type", TemplateRef)
|
|
1722
|
+
], MultipleSelectInputComponent.prototype, "optionTemplateRef", void 0);
|
|
1723
|
+
__decorate([
|
|
1724
|
+
Input(),
|
|
1725
|
+
__metadata("design:type", Function)
|
|
1726
|
+
], MultipleSelectInputComponent.prototype, "optionLabelFormat", void 0);
|
|
1727
|
+
MultipleSelectInputComponent = __decorate([
|
|
1728
|
+
Component({
|
|
1729
|
+
selector: 'aup-multiple-select-input',
|
|
1730
|
+
template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n multiple\n [(ngModel)]=\"componentListModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
|
|
1731
|
+
styles: [":host{display:inline-block}mat-form-field{width:100%}"]
|
|
1732
|
+
}),
|
|
1733
|
+
__metadata("design:paramtypes", [])
|
|
1734
|
+
], MultipleSelectInputComponent);
|
|
1735
|
+
|
|
754
1736
|
let NumberInputComponent = class NumberInputComponent extends AbstractValueInputComponent {
|
|
755
1737
|
constructor() {
|
|
756
1738
|
super();
|
|
@@ -773,7 +1755,7 @@ __decorate([
|
|
|
773
1755
|
NumberInputComponent = __decorate([
|
|
774
1756
|
Component({
|
|
775
1757
|
selector: 'aup-number-input',
|
|
776
|
-
template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"number\"\n matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"
|
|
1758
|
+
template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"number\"\n matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [min]=\"min\"\n [max]=\"max\"\n >\n <mat-hint *ngIf=\"hint && !dense\" >{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
|
|
777
1759
|
styles: [""]
|
|
778
1760
|
}),
|
|
779
1761
|
__metadata("design:paramtypes", [])
|
|
@@ -791,7 +1773,7 @@ let PasswordInputComponent = class PasswordInputComponent extends AbstractValueI
|
|
|
791
1773
|
PasswordInputComponent = __decorate([
|
|
792
1774
|
Component({
|
|
793
1775
|
selector: 'aup-password-input',
|
|
794
|
-
template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"password\"\n matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"
|
|
1776
|
+
template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"password\"\n matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n",
|
|
795
1777
|
styles: [""]
|
|
796
1778
|
}),
|
|
797
1779
|
__metadata("design:paramtypes", [])
|
|
@@ -801,6 +1783,7 @@ PasswordInputComponent = __decorate([
|
|
|
801
1783
|
* Using templates:
|
|
802
1784
|
* <aup-select-input [valueModel]="myModel" [options]="myOptions">
|
|
803
1785
|
* <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
|
|
1786
|
+
* <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
|
|
804
1787
|
* </aup-select_input>
|
|
805
1788
|
*/
|
|
806
1789
|
let SelectInputComponent = class SelectInputComponent extends AbstractValueInputComponent {
|
|
@@ -842,7 +1825,7 @@ __decorate([
|
|
|
842
1825
|
SelectInputComponent = __decorate([
|
|
843
1826
|
Component({
|
|
844
1827
|
selector: 'aup-select-input',
|
|
845
|
-
template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"
|
|
1828
|
+
template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
|
|
846
1829
|
styles: [":host{display:inline-block}mat-form-field{width:100%}"]
|
|
847
1830
|
}),
|
|
848
1831
|
__metadata("design:paramtypes", [])
|
|
@@ -853,9 +1836,9 @@ let StringInputComponent = class StringInputComponent extends AbstractValueInput
|
|
|
853
1836
|
super();
|
|
854
1837
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
855
1838
|
this.clearCommand = Command.create(() => {
|
|
856
|
-
this.
|
|
1839
|
+
this.componentValueModel.value = null;
|
|
857
1840
|
});
|
|
858
|
-
this.clearCommand.disableWhile(chain.stringValue(this.
|
|
1841
|
+
this.clearCommand.disableWhile(chain.stringValue(this.componentValueModel).isBlank());
|
|
859
1842
|
}
|
|
860
1843
|
ngOnInit() {
|
|
861
1844
|
}
|
|
@@ -871,7 +1854,7 @@ __decorate([
|
|
|
871
1854
|
StringInputComponent = __decorate([
|
|
872
1855
|
Component({
|
|
873
1856
|
selector: 'aup-string-input',
|
|
874
|
-
template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"
|
|
1857
|
+
template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <button mat-button mat-icon-button matSuffix *ngIf=\"enableClear\" [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n",
|
|
875
1858
|
styles: ["button[disabled]{visibility:hidden}"]
|
|
876
1859
|
}),
|
|
877
1860
|
__metadata("design:paramtypes", [])
|
|
@@ -899,12 +1882,59 @@ __decorate([
|
|
|
899
1882
|
TextInputComponent = __decorate([
|
|
900
1883
|
Component({
|
|
901
1884
|
selector: 'aup-text-input',
|
|
902
|
-
template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <textarea matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"
|
|
1885
|
+
template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <textarea matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [rows]=\"rows\"\n [cols]=\"cols\"\n >\n </textarea>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n",
|
|
903
1886
|
styles: ["button[disabled]{visibility:hidden}textarea{overflow:auto}"]
|
|
904
1887
|
}),
|
|
905
1888
|
__metadata("design:paramtypes", [])
|
|
906
1889
|
], TextInputComponent);
|
|
907
1890
|
|
|
1891
|
+
var IconComponent_1;
|
|
1892
|
+
let IconComponent = IconComponent_1 = class IconComponent {
|
|
1893
|
+
constructor() {
|
|
1894
|
+
this.allowedPrefixes = Enum.values(IconComponent_1.IconPrefix).map(p => `${p}:`);
|
|
1895
|
+
this.iconPrefix = IconComponent_1.IconPrefix;
|
|
1896
|
+
}
|
|
1897
|
+
set icon(iconName) {
|
|
1898
|
+
this._icon = iconName;
|
|
1899
|
+
if (!iconName) {
|
|
1900
|
+
this.errorMessage = 'icon is nil';
|
|
1901
|
+
this.prefix = undefined;
|
|
1902
|
+
return;
|
|
1903
|
+
}
|
|
1904
|
+
const colonIndex = iconName.indexOf(':');
|
|
1905
|
+
if (colonIndex > 0) {
|
|
1906
|
+
this.prefix = this.icon.slice(0, colonIndex);
|
|
1907
|
+
this.suffix = this.icon.slice(colonIndex + 1);
|
|
1908
|
+
}
|
|
1909
|
+
if (this.prefix) {
|
|
1910
|
+
this.errorMessage = `Unknown icon "${iconName}"`;
|
|
1911
|
+
}
|
|
1912
|
+
this.errorMessage = `Unknown icon prefix, expected one of [${this.allowedPrefixes.join(',')}] got "${this.prefix}:"`;
|
|
1913
|
+
}
|
|
1914
|
+
get icon() {
|
|
1915
|
+
return this._icon;
|
|
1916
|
+
}
|
|
1917
|
+
};
|
|
1918
|
+
__decorate([
|
|
1919
|
+
Input(),
|
|
1920
|
+
__metadata("design:type", String),
|
|
1921
|
+
__metadata("design:paramtypes", [String])
|
|
1922
|
+
], IconComponent.prototype, "icon", null);
|
|
1923
|
+
IconComponent = IconComponent_1 = __decorate([
|
|
1924
|
+
Component({
|
|
1925
|
+
selector: 'aup-icon',
|
|
1926
|
+
template: "<ng-container [ngSwitch]=\"prefix\">\n\n <mat-icon *ngSwitchCase=\"iconPrefix.SVG\"\n [svgIcon]=\"suffix\"\n class=\"svgIcon\">\n </mat-icon>\n\n <mat-icon *ngSwitchCase=\"iconPrefix.MATERIAL\">\n {{suffix}}\n </mat-icon>\n\n <div *ngSwitchCase=\"iconPrefix.FONT_AWESOME\"\n class=\"faIconWrapper\">\n <fa-icon [icon]=\"suffix\">\n </fa-icon>\n </div>\n\n <mat-icon *ngSwitchDefault\n [matTooltip]=\"errorMessage\">\n bug_report\n </mat-icon>\n\n</ng-container>\n\n",
|
|
1927
|
+
styles: [":host{display:inline-flex;width:24px}fa-icon{vertical-align:middle}.faIconWrapper{text-align:center;width:24px;height:24px}.svgIcon{width:24px;height:24px}:host(.mat-chip-remove) mat-icon{font-size:18px}mat-icon{width:inherit;height:inherit}"]
|
|
1928
|
+
})
|
|
1929
|
+
], IconComponent);
|
|
1930
|
+
(function (IconComponent) {
|
|
1931
|
+
IconComponent.IconPrefix = Enum({
|
|
1932
|
+
SVG: 'svg',
|
|
1933
|
+
FONT_AWESOME: 'fa',
|
|
1934
|
+
MATERIAL: 'mat'
|
|
1935
|
+
});
|
|
1936
|
+
})(IconComponent || (IconComponent = {}));
|
|
1937
|
+
|
|
908
1938
|
let NoopComponent = class NoopComponent {
|
|
909
1939
|
constructor() {
|
|
910
1940
|
}
|
|
@@ -1318,7 +2348,8 @@ SelectHeaderCellRendererComponent = __decorate([
|
|
|
1318
2348
|
|
|
1319
2349
|
const noop = () => {
|
|
1320
2350
|
};
|
|
1321
|
-
const ɵ0 = noop;
|
|
2351
|
+
const ɵ0$3 = noop;
|
|
2352
|
+
const CELL_RENDERER_COMPONENT_ROW_CACHE = Symbol("aup-cell-renderer:row-data-cache");
|
|
1322
2353
|
class ColumnModel {
|
|
1323
2354
|
constructor(columnId, defaults) {
|
|
1324
2355
|
this.columnId = columnId;
|
|
@@ -1432,6 +2463,34 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
1432
2463
|
}));
|
|
1433
2464
|
return this;
|
|
1434
2465
|
}
|
|
2466
|
+
mutableCellRenderer(componentType, options) {
|
|
2467
|
+
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
2468
|
+
// keep a local copy most recent row value so it's available to teh
|
|
2469
|
+
// edit callback without having to add/remove subscribers all the time.
|
|
2470
|
+
component[CELL_RENDERER_COMPONENT_ROW_CACHE] = rowData.row;
|
|
2471
|
+
let disableEditCallback = false;
|
|
2472
|
+
if (firstTime) {
|
|
2473
|
+
if (___default.isFunction(options === null || options === void 0 ? void 0 : options.onComponentInit)) {
|
|
2474
|
+
options.onComponentInit(component);
|
|
2475
|
+
}
|
|
2476
|
+
// install our edit callback
|
|
2477
|
+
component.onValueEdited((is, was) => {
|
|
2478
|
+
if (!disableEditCallback) {
|
|
2479
|
+
options.onValueEdit(component[CELL_RENDERER_COMPONENT_ROW_CACHE], is, was);
|
|
2480
|
+
}
|
|
2481
|
+
});
|
|
2482
|
+
}
|
|
2483
|
+
// now push the value the component and disable the callback just incase the component misbehaves
|
|
2484
|
+
// and fires a value change during the operation.
|
|
2485
|
+
disableEditCallback = true;
|
|
2486
|
+
component.value = rowData.row[this.property];
|
|
2487
|
+
disableEditCallback = false;
|
|
2488
|
+
if (!___default.isFunction(options) && ___default.isFunction(options === null || options === void 0 ? void 0 : options.onRowUpdate)) {
|
|
2489
|
+
options.onRowUpdate(component, rowData.row);
|
|
2490
|
+
}
|
|
2491
|
+
}));
|
|
2492
|
+
return this;
|
|
2493
|
+
}
|
|
1435
2494
|
cellEditor(editor, validatorsOrInitialiser, onComponentInit) {
|
|
1436
2495
|
const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
|
|
1437
2496
|
const initialiser = ___default.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
|
|
@@ -1499,9 +2558,22 @@ class CustomValueColumnModel extends ColumnModel {
|
|
|
1499
2558
|
this.getValue = getValue;
|
|
1500
2559
|
this.cellRenderer(DefaultCellRendererComponent);
|
|
1501
2560
|
}
|
|
1502
|
-
cellRenderer(componentType) {
|
|
1503
|
-
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {
|
|
2561
|
+
cellRenderer(componentType, onComponentInitOrOptions) {
|
|
2562
|
+
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
2563
|
+
if (firstTime) {
|
|
2564
|
+
if (___default.isFunction(onComponentInitOrOptions)) {
|
|
2565
|
+
onComponentInitOrOptions(component);
|
|
2566
|
+
}
|
|
2567
|
+
else {
|
|
2568
|
+
if (___default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
|
|
2569
|
+
onComponentInitOrOptions.onComponentInit(component);
|
|
2570
|
+
}
|
|
2571
|
+
}
|
|
2572
|
+
}
|
|
1504
2573
|
component.value = this.getValue(rowData.row);
|
|
2574
|
+
if (!___default.isFunction(onComponentInitOrOptions) && ___default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
|
|
2575
|
+
onComponentInitOrOptions.onRowUpdate(component, rowData.row);
|
|
2576
|
+
}
|
|
1505
2577
|
}));
|
|
1506
2578
|
return this;
|
|
1507
2579
|
}
|
|
@@ -1663,6 +2735,9 @@ let TableModel = TableModel_1 = class TableModel {
|
|
|
1663
2735
|
this._editorSessions = new MutableListModel();
|
|
1664
2736
|
this.rowClassNamePredicates = [];
|
|
1665
2737
|
this._createForm = (row) => new DirtyTrackingForm();
|
|
2738
|
+
this.trackBy = (index, item) => {
|
|
2739
|
+
return this.identityOf ? this.identityOf(item) : index;
|
|
2740
|
+
};
|
|
1666
2741
|
this.identityOf = sourceOfTruth.identityOf;
|
|
1667
2742
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this._garbage);
|
|
1668
2743
|
this._columnsById = chain(this._columns).indexBy('columnId');
|
|
@@ -1684,11 +2759,6 @@ let TableModel = TableModel_1 = class TableModel {
|
|
|
1684
2759
|
get rowsBeingEdited() {
|
|
1685
2760
|
return this._rowsBeingEdited.readonly;
|
|
1686
2761
|
}
|
|
1687
|
-
getTrackByFunction() {
|
|
1688
|
-
return (index, item) => {
|
|
1689
|
-
return this.identityOf ? this.identityOf(item) : index;
|
|
1690
|
-
};
|
|
1691
|
-
}
|
|
1692
2762
|
get columns() {
|
|
1693
2763
|
return this._columns.readonly;
|
|
1694
2764
|
}
|
|
@@ -1710,6 +2780,9 @@ let TableModel = TableModel_1 = class TableModel {
|
|
|
1710
2780
|
addCustomColumn(columnId, dataAccessor) {
|
|
1711
2781
|
return this.addColumn(new CustomValueColumnModel(columnId, this, dataAccessor));
|
|
1712
2782
|
}
|
|
2783
|
+
addComponentColumn(columnId, component, onComponentInitOrOptions) {
|
|
2784
|
+
return this.addColumn(new CustomValueColumnModel(columnId, this, row => row)).cellRenderer(component, onComponentInitOrOptions);
|
|
2785
|
+
}
|
|
1713
2786
|
addTemplateColumn(columnId) {
|
|
1714
2787
|
return this.addColumn(new CustomTemplateColumnModel(columnId, this));
|
|
1715
2788
|
}
|
|
@@ -1738,12 +2811,14 @@ let TableModel = TableModel_1 = class TableModel {
|
|
|
1738
2811
|
}
|
|
1739
2812
|
return column;
|
|
1740
2813
|
}
|
|
2814
|
+
// removeColumn(column: ColumnModel<Row>) {
|
|
2815
|
+
//
|
|
2816
|
+
// }
|
|
1741
2817
|
columnTextProperties(columnTextProperties) {
|
|
1742
2818
|
this._columnTextPropertiesLookup = columnTextProperties;
|
|
1743
2819
|
}
|
|
1744
2820
|
getColumnTextProperties(column) {
|
|
1745
|
-
|
|
1746
|
-
return factory ? factory() : undefined;
|
|
2821
|
+
return this._columnTextPropertiesLookup ? this._columnTextPropertiesLookup[column.columnId] : undefined;
|
|
1747
2822
|
}
|
|
1748
2823
|
startEditSession(row) {
|
|
1749
2824
|
const rowId = this.identityOf(row);
|
|
@@ -1857,7 +2932,7 @@ __decorate([
|
|
|
1857
2932
|
TableComponent = __decorate([
|
|
1858
2933
|
Component({
|
|
1859
2934
|
selector: 'aup-table',
|
|
1860
|
-
template: "<table mat-table [dataSource]=\"tableModel.dataSource.value\" [trackBy]=\"tableModel.
|
|
2935
|
+
template: "<table mat-table [dataSource]=\"tableModel.dataSource.value\" [trackBy]=\"tableModel.trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\" matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef>\n <aup-table-header-cell-renderer [column]=\"column\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-header-cell-renderer>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"onCellClicked(column, row)\" [class.enable-cursor]=\"tableModel.isRowSelectionEnabledFor(column)\">\n <aup-table-cell-renderer [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"tableModel\"\n [editSession]=\"tableModel.getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-cell-renderer>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value; let i = index\"\n [ngClass]=\"tableModel.getRowClasses(row)\" [attr.trackBy]=\"tableModel.trackBy(i, row)\"\n ></tr>\n\n</table>\n",
|
|
1861
2936
|
styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{flex:1}"]
|
|
1862
2937
|
}),
|
|
1863
2938
|
__metadata("design:paramtypes", [])
|
|
@@ -2032,6 +3107,73 @@ TableHeaderCellRendererComponent = __decorate([
|
|
|
2032
3107
|
__metadata("design:paramtypes", [])
|
|
2033
3108
|
], TableHeaderCellRendererComponent);
|
|
2034
3109
|
|
|
3110
|
+
class MenuItemData {
|
|
3111
|
+
constructor(factory, face) {
|
|
3112
|
+
this.factory = factory;
|
|
3113
|
+
this.face = face;
|
|
3114
|
+
}
|
|
3115
|
+
}
|
|
3116
|
+
/**
|
|
3117
|
+
*
|
|
3118
|
+
*/
|
|
3119
|
+
let TableRowMenuComponent = class TableRowMenuComponent extends DisposableComponent {
|
|
3120
|
+
constructor() {
|
|
3121
|
+
super();
|
|
3122
|
+
this.actions = [];
|
|
3123
|
+
this.moreActions = [];
|
|
3124
|
+
}
|
|
3125
|
+
registerAction(commandFactory, properties) {
|
|
3126
|
+
this.actions.push(new MenuItemData(commandFactory, properties));
|
|
3127
|
+
}
|
|
3128
|
+
registerMoreAction(commandFactory, properties) {
|
|
3129
|
+
this.moreActions.push(new MenuItemData(commandFactory, properties));
|
|
3130
|
+
}
|
|
3131
|
+
ngOnInit() {
|
|
3132
|
+
}
|
|
3133
|
+
createMoreMenuCommand(item, value) {
|
|
3134
|
+
const { when } = Dsl.disposeWith(this);
|
|
3135
|
+
const command = item.factory.create(value);
|
|
3136
|
+
when(command.busy).becomesFalsey(() => {
|
|
3137
|
+
this.closeMoreMenu();
|
|
3138
|
+
});
|
|
3139
|
+
return command;
|
|
3140
|
+
}
|
|
3141
|
+
closeMoreMenu() {
|
|
3142
|
+
this.menu.closeMenu();
|
|
3143
|
+
}
|
|
3144
|
+
};
|
|
3145
|
+
__decorate([
|
|
3146
|
+
Input(),
|
|
3147
|
+
__metadata("design:type", Object)
|
|
3148
|
+
], TableRowMenuComponent.prototype, "value", void 0);
|
|
3149
|
+
__decorate([
|
|
3150
|
+
ViewChild(MatMenuTrigger),
|
|
3151
|
+
__metadata("design:type", MatMenuTrigger)
|
|
3152
|
+
], TableRowMenuComponent.prototype, "menu", void 0);
|
|
3153
|
+
TableRowMenuComponent = __decorate([
|
|
3154
|
+
Component({
|
|
3155
|
+
selector: 'aup-table-row-menu',
|
|
3156
|
+
template: `
|
|
3157
|
+
<aup-tool-bar>
|
|
3158
|
+
<aup-command *ngFor="let action of actions" [command]="action.factory.create(value)"
|
|
3159
|
+
[face]="action.faceModel"></aup-command>
|
|
3160
|
+
</aup-tool-bar>
|
|
3161
|
+
<ng-container *ngIf="moreActions.length > 0">
|
|
3162
|
+
<aup-more-menu>
|
|
3163
|
+
<aup-command *ngFor="let action of moreActions" [command]="action.factory.create(value)"
|
|
3164
|
+
[face]="action.faceModel"></aup-command>
|
|
3165
|
+
</aup-more-menu>
|
|
3166
|
+
</ng-container>
|
|
3167
|
+
`,
|
|
3168
|
+
styles: [`:host {
|
|
3169
|
+
display: inline-flex;
|
|
3170
|
+
flex-direction: row;
|
|
3171
|
+
align-items: center;
|
|
3172
|
+
}`]
|
|
3173
|
+
}),
|
|
3174
|
+
__metadata("design:paramtypes", [])
|
|
3175
|
+
], TableRowMenuComponent);
|
|
3176
|
+
|
|
2035
3177
|
let VerticalFocusContainerComponent = class VerticalFocusContainerComponent extends FocusContainerComponent {
|
|
2036
3178
|
constructor(focusManager) {
|
|
2037
3179
|
super(focusManager);
|
|
@@ -2084,115 +3226,35 @@ __decorate([
|
|
|
2084
3226
|
__metadata("design:returntype", void 0)
|
|
2085
3227
|
], VerticalFocusContainerComponent.prototype, "arrowLeft", null);
|
|
2086
3228
|
__decorate([
|
|
2087
|
-
HostListener('keyup.arrowRight', ['$event']),
|
|
2088
|
-
__metadata("design:type", Function),
|
|
2089
|
-
__metadata("design:paramtypes", [KeyboardEvent]),
|
|
2090
|
-
__metadata("design:returntype", void 0)
|
|
2091
|
-
], VerticalFocusContainerComponent.prototype, "arrowRight", null);
|
|
2092
|
-
__decorate([
|
|
2093
|
-
HostListener('keyup.arrowDown', ['$event']),
|
|
2094
|
-
__metadata("design:type", Function),
|
|
2095
|
-
__metadata("design:paramtypes", [KeyboardEvent]),
|
|
2096
|
-
__metadata("design:returntype", void 0)
|
|
2097
|
-
], VerticalFocusContainerComponent.prototype, "arrowDown", null);
|
|
2098
|
-
__decorate([
|
|
2099
|
-
HostListener('keyup.arrowUp', ['$event']),
|
|
2100
|
-
__metadata("design:type", Function),
|
|
2101
|
-
__metadata("design:paramtypes", [KeyboardEvent]),
|
|
2102
|
-
__metadata("design:returntype", void 0)
|
|
2103
|
-
], VerticalFocusContainerComponent.prototype, "arrowUp", null);
|
|
2104
|
-
VerticalFocusContainerComponent = __decorate([
|
|
2105
|
-
Component({
|
|
2106
|
-
selector: 'aup-vertical-focus-container',
|
|
2107
|
-
template: "<ng-content></ng-content>\n",
|
|
2108
|
-
providers: [
|
|
2109
|
-
{ provide: FocusManager }
|
|
2110
|
-
],
|
|
2111
|
-
styles: [":host{display:block}"]
|
|
2112
|
-
}),
|
|
2113
|
-
__param(0, Self()),
|
|
2114
|
-
__metadata("design:paramtypes", [FocusManager])
|
|
2115
|
-
], VerticalFocusContainerComponent);
|
|
2116
|
-
|
|
2117
|
-
let MultipleSelectInputComponent = class MultipleSelectInputComponent extends AbstractListInputComponent {
|
|
2118
|
-
constructor() {
|
|
2119
|
-
super();
|
|
2120
|
-
this.optionLabelFormat = (option) => (option && this.optionLabel) ? option[this.optionLabel] : option;
|
|
2121
|
-
}
|
|
2122
|
-
ngOnInit() {
|
|
2123
|
-
}
|
|
2124
|
-
};
|
|
2125
|
-
__decorate([
|
|
2126
|
-
Input(), TrackExternal(),
|
|
2127
|
-
__metadata("design:type", ListModel)
|
|
2128
|
-
], MultipleSelectInputComponent.prototype, "optionsModel", void 0);
|
|
2129
|
-
__decorate([
|
|
2130
|
-
Input(), StoreInListModel('optionsModel'),
|
|
2131
|
-
__metadata("design:type", Array)
|
|
2132
|
-
], MultipleSelectInputComponent.prototype, "options", void 0);
|
|
2133
|
-
__decorate([
|
|
2134
|
-
Input(),
|
|
2135
|
-
__metadata("design:type", Object)
|
|
2136
|
-
], MultipleSelectInputComponent.prototype, "optionLabel", void 0);
|
|
2137
|
-
__decorate([
|
|
2138
|
-
Input(),
|
|
2139
|
-
__metadata("design:type", Boolean)
|
|
2140
|
-
], MultipleSelectInputComponent.prototype, "allowNil", void 0);
|
|
2141
|
-
__decorate([
|
|
2142
|
-
ContentChild('optionTemplate'),
|
|
2143
|
-
__metadata("design:type", TemplateRef)
|
|
2144
|
-
], MultipleSelectInputComponent.prototype, "optionTemplateRef", void 0);
|
|
2145
|
-
__decorate([
|
|
2146
|
-
ContentChild('nilOptionTemplate'),
|
|
2147
|
-
__metadata("design:type", TemplateRef)
|
|
2148
|
-
], MultipleSelectInputComponent.prototype, "nilOptionTemplateRef", void 0);
|
|
2149
|
-
__decorate([
|
|
2150
|
-
Input(),
|
|
2151
|
-
__metadata("design:type", Function)
|
|
2152
|
-
], MultipleSelectInputComponent.prototype, "optionLabelFormat", void 0);
|
|
2153
|
-
MultipleSelectInputComponent = __decorate([
|
|
2154
|
-
Component({
|
|
2155
|
-
selector: 'aup-multiple-select-input',
|
|
2156
|
-
template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n multiple\n [(ngModel)]=\"listModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngIf=\"allowNil\">{{placeholder}}</mat-option>\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
|
|
2157
|
-
styles: [":host{display:inline-block}mat-form-field{width:100%}"]
|
|
2158
|
-
}),
|
|
2159
|
-
__metadata("design:paramtypes", [])
|
|
2160
|
-
], MultipleSelectInputComponent);
|
|
2161
|
-
|
|
2162
|
-
let IconComponent = class IconComponent {
|
|
2163
|
-
set icon(iconName) {
|
|
2164
|
-
this._icon = iconName;
|
|
2165
|
-
if (!iconName) {
|
|
2166
|
-
this.errorMessage = 'icon is nil';
|
|
2167
|
-
this.prefix = undefined;
|
|
2168
|
-
return;
|
|
2169
|
-
}
|
|
2170
|
-
const colonIndex = iconName.indexOf(':');
|
|
2171
|
-
if (colonIndex > 0) {
|
|
2172
|
-
this.prefix = this.icon.slice(0, colonIndex);
|
|
2173
|
-
this.suffix = this.icon.slice(colonIndex + 1);
|
|
2174
|
-
}
|
|
2175
|
-
if (this.prefix) {
|
|
2176
|
-
this.errorMessage = `Unknown icon "${iconName}"`;
|
|
2177
|
-
}
|
|
2178
|
-
this.errorMessage = `Unknown icon prefix "${this.prefix}"`;
|
|
2179
|
-
}
|
|
2180
|
-
get icon() {
|
|
2181
|
-
return this._icon;
|
|
2182
|
-
}
|
|
2183
|
-
};
|
|
3229
|
+
HostListener('keyup.arrowRight', ['$event']),
|
|
3230
|
+
__metadata("design:type", Function),
|
|
3231
|
+
__metadata("design:paramtypes", [KeyboardEvent]),
|
|
3232
|
+
__metadata("design:returntype", void 0)
|
|
3233
|
+
], VerticalFocusContainerComponent.prototype, "arrowRight", null);
|
|
2184
3234
|
__decorate([
|
|
2185
|
-
|
|
2186
|
-
__metadata("design:type",
|
|
2187
|
-
__metadata("design:paramtypes", [
|
|
2188
|
-
|
|
2189
|
-
|
|
3235
|
+
HostListener('keyup.arrowDown', ['$event']),
|
|
3236
|
+
__metadata("design:type", Function),
|
|
3237
|
+
__metadata("design:paramtypes", [KeyboardEvent]),
|
|
3238
|
+
__metadata("design:returntype", void 0)
|
|
3239
|
+
], VerticalFocusContainerComponent.prototype, "arrowDown", null);
|
|
3240
|
+
__decorate([
|
|
3241
|
+
HostListener('keyup.arrowUp', ['$event']),
|
|
3242
|
+
__metadata("design:type", Function),
|
|
3243
|
+
__metadata("design:paramtypes", [KeyboardEvent]),
|
|
3244
|
+
__metadata("design:returntype", void 0)
|
|
3245
|
+
], VerticalFocusContainerComponent.prototype, "arrowUp", null);
|
|
3246
|
+
VerticalFocusContainerComponent = __decorate([
|
|
2190
3247
|
Component({
|
|
2191
|
-
selector: 'aup-
|
|
2192
|
-
template: "<ng-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
],
|
|
3248
|
+
selector: 'aup-vertical-focus-container',
|
|
3249
|
+
template: "<ng-content></ng-content>\n",
|
|
3250
|
+
providers: [
|
|
3251
|
+
{ provide: FocusManager }
|
|
3252
|
+
],
|
|
3253
|
+
styles: [":host{display:block}"]
|
|
3254
|
+
}),
|
|
3255
|
+
__param(0, Self()),
|
|
3256
|
+
__metadata("design:paramtypes", [FocusManager])
|
|
3257
|
+
], VerticalFocusContainerComponent);
|
|
2196
3258
|
|
|
2197
3259
|
let ComponentsModule = class ComponentsModule {
|
|
2198
3260
|
constructor(faIconLibrary) {
|
|
@@ -2213,6 +3275,8 @@ ComponentsModule = __decorate([
|
|
|
2213
3275
|
TextInputComponent,
|
|
2214
3276
|
PasswordInputComponent,
|
|
2215
3277
|
SelectInputComponent,
|
|
3278
|
+
MultipleSelectInputComponent,
|
|
3279
|
+
AutocompleteInputComponent,
|
|
2216
3280
|
CheckboxInputComponent,
|
|
2217
3281
|
ScrollContainerComponent,
|
|
2218
3282
|
NoopComponent,
|
|
@@ -2232,9 +3296,19 @@ ComponentsModule = __decorate([
|
|
|
2232
3296
|
SelectHeaderCellRendererComponent,
|
|
2233
3297
|
DefaultHeaderCellRendererComponent,
|
|
2234
3298
|
TableHeaderCellRendererComponent,
|
|
2235
|
-
MultipleSelectInputComponent,
|
|
2236
3299
|
IconComponent,
|
|
2237
|
-
SectionHeaderComponent
|
|
3300
|
+
SectionHeaderComponent,
|
|
3301
|
+
TableRowMenuComponent,
|
|
3302
|
+
ToolBarComponent,
|
|
3303
|
+
CommandComponent,
|
|
3304
|
+
PopupMenuComponent,
|
|
3305
|
+
CommandGroupComponent,
|
|
3306
|
+
CommandFaceComponent,
|
|
3307
|
+
MoreMenuComponent,
|
|
3308
|
+
SeparatorComponent,
|
|
3309
|
+
FlexComponent,
|
|
3310
|
+
CommandGroupMenuRendererComponent,
|
|
3311
|
+
CommandGroupRendererComponent
|
|
2238
3312
|
],
|
|
2239
3313
|
imports: [
|
|
2240
3314
|
CommonModule,
|
|
@@ -2252,7 +3326,10 @@ ComponentsModule = __decorate([
|
|
|
2252
3326
|
PortalModule,
|
|
2253
3327
|
CdkScrollableModule,
|
|
2254
3328
|
FontAwesomeModule,
|
|
2255
|
-
MatTooltipModule
|
|
3329
|
+
MatTooltipModule,
|
|
3330
|
+
MatAutocompleteModule,
|
|
3331
|
+
MatMenuModule,
|
|
3332
|
+
MatDividerModule
|
|
2256
3333
|
],
|
|
2257
3334
|
exports: [
|
|
2258
3335
|
NumberInputComponent,
|
|
@@ -2261,6 +3338,8 @@ ComponentsModule = __decorate([
|
|
|
2261
3338
|
PasswordInputComponent,
|
|
2262
3339
|
CheckboxInputComponent,
|
|
2263
3340
|
SelectInputComponent,
|
|
3341
|
+
MultipleSelectInputComponent,
|
|
3342
|
+
AutocompleteInputComponent,
|
|
2264
3343
|
ScrollContainerComponent,
|
|
2265
3344
|
NoopComponent,
|
|
2266
3345
|
SwitchCaseComponent,
|
|
@@ -2273,12 +3352,20 @@ ComponentsModule = __decorate([
|
|
|
2273
3352
|
TableComponent,
|
|
2274
3353
|
EditRowControls,
|
|
2275
3354
|
ColumnTemplateDirective,
|
|
2276
|
-
MultipleSelectInputComponent,
|
|
2277
3355
|
IconComponent,
|
|
2278
|
-
SectionHeaderComponent
|
|
3356
|
+
SectionHeaderComponent,
|
|
3357
|
+
TableRowMenuComponent,
|
|
3358
|
+
CommandGroupComponent,
|
|
3359
|
+
ToolBarComponent,
|
|
3360
|
+
CommandComponent,
|
|
3361
|
+
PopupMenuComponent,
|
|
3362
|
+
CommandFaceComponent,
|
|
3363
|
+
MoreMenuComponent,
|
|
3364
|
+
SeparatorComponent,
|
|
3365
|
+
FlexComponent
|
|
2279
3366
|
],
|
|
2280
3367
|
providers: [
|
|
2281
|
-
FocusBindingFactory
|
|
3368
|
+
FocusBindingFactory
|
|
2282
3369
|
]
|
|
2283
3370
|
}),
|
|
2284
3371
|
__metadata("design:paramtypes", [FaIconLibrary])
|
|
@@ -2346,7 +3433,7 @@ ActivityActionsComponent = __decorate([
|
|
|
2346
3433
|
Component({
|
|
2347
3434
|
selector: 'aup-activity-actions',
|
|
2348
3435
|
template: "<ng-container *ngIf=\"hasCancelCommand()\">\n <button class=\"cancel\" *ngIf=\"!hasCancelText()\" mat-icon-button [pectinCommand]=\"cancelCommand\">\n <aup-icon icon=\"mat:clear\"></aup-icon>\n </button>\n <button class=\"cancel\" *ngIf=\"hasCancelText()\" mat-button [pectinCommand]=\"cancelCommand\">{{cancelText}}</button>\n</ng-container>\n<ng-container *ngIf=\"hasConfirmCommand()\">\n <button class=\"confirm\" *ngIf=\"!hasConfirmText()\" mat-icon-button [pectinCommand]=\"confirmCommand\">\n <aup-icon icon=\"mat:done\"></aup-icon>\n </button>\n <button class=\"confirm\" *ngIf=\"hasConfirmText()\" mat-button [pectinCommand]=\"confirmCommand\">{{confirmText}}</button>\n</ng-container>\n<div class=\"content\">\n <ng-content></ng-content>\n</div>\n",
|
|
2349
|
-
styles: [":host{display:-ms-grid;display:grid;grid-template-areas:\"cancel confirm content\";-ms-grid-columns:auto auto 1fr;grid-template-columns:auto auto 1fr;-ms-grid-rows:auto;grid-template-rows:auto;align-items:center;justify-content:end}:host.align-end{grid-template-areas:\"content cancel confirm\";-ms-grid-columns:1fr auto auto;grid-template-columns:1fr auto auto}:host.align-stretch{grid-template-areas:\"cancel content confirm\";-ms-grid-columns:auto 1fr auto;grid-template-columns:auto 1fr auto}.cancel{-ms-grid-row:1;-ms-grid-column:1;grid-area:cancel}:host.align-end>.cancel{-ms-grid-row:1;-ms-grid-column:2}:host.align-stretch>.cancel{-ms-grid-row:1;-ms-grid-column:1}.confirm{-ms-grid-row:1;-ms-grid-column:2;grid-area:confirm}:host.align-end>.confirm{-ms-grid-row:1;-ms-grid-column:3}:host.align-stretch>.confirm{-ms-grid-row:1;-ms-grid-column:3}.
|
|
3436
|
+
styles: [":host{display:-ms-grid;display:grid;grid-template-areas:\"cancel confirm content\";-ms-grid-columns:auto auto 1fr;grid-template-columns:auto auto 1fr;-ms-grid-rows:auto;grid-template-rows:auto;align-items:center;justify-content:end}:host.align-end{grid-template-areas:\"content cancel confirm\";-ms-grid-columns:1fr auto auto;grid-template-columns:1fr auto auto}:host.align-stretch{grid-template-areas:\"cancel content confirm\";-ms-grid-columns:auto 1fr auto;grid-template-columns:auto 1fr auto}.cancel{-ms-grid-row:1;-ms-grid-column:1;grid-area:cancel}:host.align-end>.cancel{-ms-grid-row:1;-ms-grid-column:2}:host.align-stretch>.cancel{-ms-grid-row:1;-ms-grid-column:1}.confirm{-ms-grid-row:1;-ms-grid-column:2;grid-area:confirm}:host.align-end>.confirm{-ms-grid-row:1;-ms-grid-column:3}:host.align-stretch>.confirm{-ms-grid-row:1;-ms-grid-column:3}.column{-ms-grid-row:1;-ms-grid-column:3;grid-area:content;text-align:left}:host.align-end>.column{-ms-grid-row:1;-ms-grid-column:1}:host.align-stretch>.column{-ms-grid-row:1;-ms-grid-column:2}"]
|
|
2350
3437
|
})
|
|
2351
3438
|
], ActivityActionsComponent);
|
|
2352
3439
|
|
|
@@ -2355,12 +3442,21 @@ class Activity extends DisposableComponent {
|
|
|
2355
3442
|
constructor() {
|
|
2356
3443
|
super(...arguments);
|
|
2357
3444
|
this._busyModel = new DelegatingValueModel().withDefault(false);
|
|
3445
|
+
this._focusedModel = this.registerDisposable(new DelegatingValueModel());
|
|
2358
3446
|
this.class = 'aup-activity';
|
|
2359
3447
|
}
|
|
3448
|
+
get isFocused() {
|
|
3449
|
+
return this._focusedModel.value;
|
|
3450
|
+
}
|
|
2360
3451
|
initialise(nestedInteractionContext, activityContext) {
|
|
3452
|
+
const { chain, when } = Dsl.disposeWith(this);
|
|
2361
3453
|
assert$1.isNil(this._activityContext);
|
|
2362
3454
|
this._activityContext = activityContext;
|
|
2363
3455
|
this._interactionContext = nestedInteractionContext;
|
|
3456
|
+
this._focusedModel.setDelegate(activityContext.focused);
|
|
3457
|
+
when(this._focusedModel).becomesTruthy(() => {
|
|
3458
|
+
this.onActivityReady();
|
|
3459
|
+
});
|
|
2364
3460
|
}
|
|
2365
3461
|
get interactionContext() {
|
|
2366
3462
|
assert$1.isTruthy(this.isInitialised());
|
|
@@ -2378,6 +3474,9 @@ class Activity extends DisposableComponent {
|
|
|
2378
3474
|
get busy() {
|
|
2379
3475
|
return this._busyModel.readonly;
|
|
2380
3476
|
}
|
|
3477
|
+
get focused() {
|
|
3478
|
+
return this._focusedModel.readonly;
|
|
3479
|
+
}
|
|
2381
3480
|
busyWhile(busyModel) {
|
|
2382
3481
|
this._busyModel.setDelegate(busyModel);
|
|
2383
3482
|
}
|
|
@@ -2392,6 +3491,11 @@ __decorate([
|
|
|
2392
3491
|
HostBinding('class'),
|
|
2393
3492
|
__metadata("design:type", Object)
|
|
2394
3493
|
], Activity.prototype, "class", void 0);
|
|
3494
|
+
__decorate([
|
|
3495
|
+
HostBinding('attr.focused'),
|
|
3496
|
+
__metadata("design:type", Object),
|
|
3497
|
+
__metadata("design:paramtypes", [])
|
|
3498
|
+
], Activity.prototype, "isFocused", null);
|
|
2395
3499
|
|
|
2396
3500
|
let AlertDialogComponent = class AlertDialogComponent extends Activity {
|
|
2397
3501
|
constructor(alert) {
|
|
@@ -2511,6 +3615,7 @@ class ActivityRef {
|
|
|
2511
3615
|
this.onComplete = onComplete;
|
|
2512
3616
|
this._complete = false;
|
|
2513
3617
|
this.deferredResult = Deferred.defer();
|
|
3618
|
+
this.focusedModel = new MutableValueModel();
|
|
2514
3619
|
}
|
|
2515
3620
|
isActivityRealised() {
|
|
2516
3621
|
return !!this._activity;
|
|
@@ -2522,6 +3627,12 @@ class ActivityRef {
|
|
|
2522
3627
|
assert.isTruthy(this.isActivityRealised());
|
|
2523
3628
|
return this._activity;
|
|
2524
3629
|
}
|
|
3630
|
+
setFocused(focused) {
|
|
3631
|
+
this.focusedModel.value = focused;
|
|
3632
|
+
}
|
|
3633
|
+
get focused() {
|
|
3634
|
+
return this.focusedModel.value;
|
|
3635
|
+
}
|
|
2525
3636
|
notifyActivityCreated(activity, nestedInteractionContext) {
|
|
2526
3637
|
assert.isNil(this._activity);
|
|
2527
3638
|
this._activity = activity;
|
|
@@ -2532,7 +3643,8 @@ class ActivityRef {
|
|
|
2532
3643
|
},
|
|
2533
3644
|
onCancel(error) {
|
|
2534
3645
|
self.finishActivity(deferred => deferred.reject(error));
|
|
2535
|
-
}
|
|
3646
|
+
},
|
|
3647
|
+
focused: this.focusedModel.readonly
|
|
2536
3648
|
});
|
|
2537
3649
|
}
|
|
2538
3650
|
finishActivity(resolveOrReject) {
|
|
@@ -2561,7 +3673,7 @@ let ActivityOutletComponent = class ActivityOutletComponent {
|
|
|
2561
3673
|
}
|
|
2562
3674
|
set activityRef(activityRef) {
|
|
2563
3675
|
if (this.activityRef && !this.activityRef.isComplete()) {
|
|
2564
|
-
lang$1.illegalState(
|
|
3676
|
+
lang$1.illegalState('changing activity before previous one has completed');
|
|
2565
3677
|
}
|
|
2566
3678
|
this._activityRef = activityRef;
|
|
2567
3679
|
this.loadActivity(activityRef);
|
|
@@ -2618,8 +3730,9 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
|
|
|
2618
3730
|
constructor() {
|
|
2619
3731
|
super();
|
|
2620
3732
|
this.dynamicHeight = false;
|
|
2621
|
-
this.
|
|
3733
|
+
this.activityRefs = [];
|
|
2622
3734
|
this.garbage = new GarbageCollector();
|
|
3735
|
+
this.inAnimation = new MutableValueModel(false);
|
|
2623
3736
|
}
|
|
2624
3737
|
ngOnInit() {
|
|
2625
3738
|
}
|
|
@@ -2651,6 +3764,7 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
|
|
|
2651
3764
|
registerDisposable(disposable) {
|
|
2652
3765
|
return this.garbage.registerDisposable(disposable);
|
|
2653
3766
|
}
|
|
3767
|
+
// @Trace()
|
|
2654
3768
|
dispose() {
|
|
2655
3769
|
// TODO: think about auto cancelling any outstanding activity on dispose.
|
|
2656
3770
|
// See NavigationState.Navigating for a use-case.
|
|
@@ -2661,7 +3775,7 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
|
|
|
2661
3775
|
if (!this.isActive()) {
|
|
2662
3776
|
lang$1.illegalState('no activity in progress');
|
|
2663
3777
|
}
|
|
2664
|
-
return ___default.findLast(this.
|
|
3778
|
+
return ___default.findLast(this.activityRefs, tab => !tab.isComplete());
|
|
2665
3779
|
}
|
|
2666
3780
|
/**
|
|
2667
3781
|
* Cancels the current activity and returns true the context is no longer active, false if
|
|
@@ -2695,14 +3809,14 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
|
|
|
2695
3809
|
});
|
|
2696
3810
|
this.launchActivity(activityRef);
|
|
2697
3811
|
// if this is the first activity let the interaction service know.
|
|
2698
|
-
if (this.
|
|
3812
|
+
if (this.activityRefs.length === 1) {
|
|
2699
3813
|
// console.log('Now active!!!');
|
|
2700
3814
|
this.interactionServiceApi.notifyActive(this);
|
|
2701
3815
|
}
|
|
2702
3816
|
return activityRef.activityResult;
|
|
2703
3817
|
}
|
|
2704
3818
|
getActiveActivityCount() {
|
|
2705
|
-
return this.
|
|
3819
|
+
return this.activityRefs.filter(ref => !ref.isComplete()).length;
|
|
2706
3820
|
}
|
|
2707
3821
|
/**
|
|
2708
3822
|
* Checks if this interaction context has finished an is in the process of waiting
|
|
@@ -2726,7 +3840,7 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
|
|
|
2726
3840
|
// Without this our animation done wasn't called when a single
|
|
2727
3841
|
// new activity followed a single tab activity (since we're tracking
|
|
2728
3842
|
// by activity index)
|
|
2729
|
-
this.
|
|
3843
|
+
this.activityRefs = [];
|
|
2730
3844
|
const promise = this.interactionServiceApi.notifyFinished(this);
|
|
2731
3845
|
this._deferredCleanUp = promise
|
|
2732
3846
|
.finally(() => {
|
|
@@ -2736,14 +3850,15 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
|
|
|
2736
3850
|
}
|
|
2737
3851
|
// @Trace()
|
|
2738
3852
|
launchActivity(activityRef) {
|
|
2739
|
-
const cleanedTabs = this.
|
|
2740
|
-
this.
|
|
3853
|
+
const cleanedTabs = this.activityRefs.filter(tab => !tab.isComplete());
|
|
3854
|
+
this.activityRefs = cleanedTabs.concat(activityRef);
|
|
2741
3855
|
this.synchroniseSelectedTabIndex();
|
|
2742
3856
|
}
|
|
2743
3857
|
activityIndex(index, activityRef) {
|
|
2744
3858
|
return index;
|
|
2745
3859
|
}
|
|
2746
3860
|
;
|
|
3861
|
+
// @Trace()
|
|
2747
3862
|
onAnimationFinished() {
|
|
2748
3863
|
if (this.onAnimationFinishedJob) {
|
|
2749
3864
|
this.onAnimationFinishedJob();
|
|
@@ -2753,14 +3868,20 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
|
|
|
2753
3868
|
/**
|
|
2754
3869
|
* Synchronises the selected tab index.
|
|
2755
3870
|
*/
|
|
3871
|
+
// @Trace()
|
|
2756
3872
|
synchroniseSelectedTabIndex() {
|
|
2757
3873
|
const previousIndex = this.tabs.selectedIndex;
|
|
2758
3874
|
const newIndex = this.getActiveActivityCount() - 1;
|
|
2759
3875
|
if (previousIndex !== newIndex) {
|
|
3876
|
+
this.inAnimation.value = true;
|
|
3877
|
+
this.activityRefs[newIndex].setFocused(false);
|
|
2760
3878
|
this.tabs.selectedIndex = newIndex;
|
|
2761
3879
|
this.onAnimationFinishedJob = () => {
|
|
2762
|
-
this.
|
|
2763
|
-
this.
|
|
3880
|
+
this.activityRefs = this.activityRefs.filter(tab => !tab.isComplete());
|
|
3881
|
+
this.inAnimation.value = false;
|
|
3882
|
+
this.activityRefs.forEach((ref, index) => {
|
|
3883
|
+
ref.setFocused(index === newIndex);
|
|
3884
|
+
});
|
|
2764
3885
|
};
|
|
2765
3886
|
}
|
|
2766
3887
|
}
|
|
@@ -2768,6 +3889,10 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
|
|
|
2768
3889
|
return this.activityOutlets.toArray()[this.tabs.selectedIndex];
|
|
2769
3890
|
}
|
|
2770
3891
|
// @Trace()
|
|
3892
|
+
getSelectedTabIndex() {
|
|
3893
|
+
return this.tabs.selectedIndex;
|
|
3894
|
+
}
|
|
3895
|
+
// @Trace()
|
|
2771
3896
|
triggerTabSynchronisation() {
|
|
2772
3897
|
if (this.syncSelectedTabTimeout) {
|
|
2773
3898
|
clearTimeout(this.syncSelectedTabTimeout);
|
|
@@ -2790,16 +3915,10 @@ __decorate([
|
|
|
2790
3915
|
ViewChildren(ActivityOutletComponent),
|
|
2791
3916
|
__metadata("design:type", QueryList)
|
|
2792
3917
|
], ActivityContainerComponent.prototype, "activityOutlets", void 0);
|
|
2793
|
-
__decorate([
|
|
2794
|
-
Trace(),
|
|
2795
|
-
__metadata("design:type", Function),
|
|
2796
|
-
__metadata("design:paramtypes", []),
|
|
2797
|
-
__metadata("design:returntype", void 0)
|
|
2798
|
-
], ActivityContainerComponent.prototype, "dispose", null);
|
|
2799
3918
|
ActivityContainerComponent = __decorate([
|
|
2800
3919
|
Component({
|
|
2801
3920
|
selector: 'aup-activity-container',
|
|
2802
|
-
template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\">\n <mat-tab *ngFor=\"let
|
|
3921
|
+
template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\">\n <mat-tab *ngFor=\"let activityRef of activityRefs; let i = index; trackBy: activityIndex\">\n <!--\n We have issues where angular is triggering a leave animation when an\n new activity is started, but is not running the enter animation\n when it is scrolled back into view. So we track the tab changes and\n disable all animations inside the tab while we're animating.\n -->\n <div class=\"activity-outlet-wrapper\" [@.disabled]=\"!activityRef.focused\">\n <aup-activity-outlet [nestedInteractionContext]=\"this\" [activityRef]=\"activityRef\"></aup-activity-outlet>\n </div>\n </mat-tab>\n</mat-tab-group>\n",
|
|
2803
3922
|
styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}"]
|
|
2804
3923
|
}),
|
|
2805
3924
|
__metadata("design:paramtypes", [])
|
|
@@ -3776,13 +4895,16 @@ let PlaceComponent = PlaceComponent_1 = class PlaceComponent extends DisposableC
|
|
|
3776
4895
|
super();
|
|
3777
4896
|
this.visitModel = new MutableValueModel();
|
|
3778
4897
|
this._inVisitUpdate = new Guard();
|
|
4898
|
+
this._active = new MutableValueModel(false);
|
|
4899
|
+
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
4900
|
+
when(this._active).becomesTruthy(() => this.onPlaceReady());
|
|
3779
4901
|
}
|
|
3780
4902
|
// @Trace()
|
|
3781
4903
|
initialiseVisit(visit, notifyVisitChanged) {
|
|
3782
4904
|
assert.isNil(this.visitModel.value);
|
|
3783
4905
|
const { when } = Dsl.disposeWith(this);
|
|
3784
4906
|
this.visitModel.value = visit;
|
|
3785
|
-
DebugContext.
|
|
4907
|
+
DebugContext.getOrCreate(this.visitModel).tag(`${this.placeDefinition.component.name}.visitModel`);
|
|
3786
4908
|
this.placeDefinition.getVisitParameterDefs().forEach(parameterDef => this.installBinding(parameterDef));
|
|
3787
4909
|
when.valueOf(this.visitModel).changes((current, previous) => {
|
|
3788
4910
|
notifyVisitChanged(current, previous);
|
|
@@ -3821,6 +4943,15 @@ let PlaceComponent = PlaceComponent_1 = class PlaceComponent extends DisposableC
|
|
|
3821
4943
|
get childPlaces() {
|
|
3822
4944
|
return this.placeDefinition.children.map(d => d.component);
|
|
3823
4945
|
}
|
|
4946
|
+
get active() {
|
|
4947
|
+
return this._active.readonly;
|
|
4948
|
+
}
|
|
4949
|
+
/**
|
|
4950
|
+
* Called by the router when the place is ready to interact after any animations have run.
|
|
4951
|
+
*/
|
|
4952
|
+
_notifyActive(active) {
|
|
4953
|
+
this._active.value = active;
|
|
4954
|
+
}
|
|
3824
4955
|
onPlaceReady() {
|
|
3825
4956
|
}
|
|
3826
4957
|
};
|
|
@@ -4822,70 +5953,6 @@ UrlService = __decorate([
|
|
|
4822
5953
|
__metadata("design:paramtypes", [Router, Location, UrlSerializer])
|
|
4823
5954
|
], UrlService);
|
|
4824
5955
|
|
|
4825
|
-
class Visit {
|
|
4826
|
-
constructor(placeDefinition, visitParameters = {}) {
|
|
4827
|
-
this.placeDefinition = placeDefinition;
|
|
4828
|
-
this.visitParameters = visitParameters;
|
|
4829
|
-
}
|
|
4830
|
-
// @Trace()
|
|
4831
|
-
getRouteId() {
|
|
4832
|
-
return this.placeDefinition.getRouteIdFrom(this);
|
|
4833
|
-
}
|
|
4834
|
-
// @Trace()
|
|
4835
|
-
hasRouteId() {
|
|
4836
|
-
return !isNil(this.getRouteId());
|
|
4837
|
-
}
|
|
4838
|
-
/**
|
|
4839
|
-
* Returns the value of the place parameter with the specified name. The parameter
|
|
4840
|
-
* name is taken from the `as` option, e.g. {as: 'aCustomName'} otherwise it is the
|
|
4841
|
-
* same as the the ValueModel property name.
|
|
4842
|
-
* @param parameterName the field name of the property model or the `as` option if specified.
|
|
4843
|
-
*/
|
|
4844
|
-
getParameter(parameterName) {
|
|
4845
|
-
return this.visitParameters[parameterName];
|
|
4846
|
-
}
|
|
4847
|
-
// @Trace()
|
|
4848
|
-
hasParameter(parameterName) {
|
|
4849
|
-
return Object.keys(this.visitParameters).includes(parameterName);
|
|
4850
|
-
}
|
|
4851
|
-
replace(parameter, value) {
|
|
4852
|
-
return new Visit(this.placeDefinition, Object.assign(Object.assign({}, this.visitParameters), { [parameter.name]: value }));
|
|
4853
|
-
}
|
|
4854
|
-
mergeRouteParameters(routeParams) {
|
|
4855
|
-
// todo: whitelist parameters.
|
|
4856
|
-
const routeParameterKeys = Object.keys(routeParams);
|
|
4857
|
-
const params = {};
|
|
4858
|
-
this.placeDefinition.getVisitParameterDefs().forEach(def => {
|
|
4859
|
-
if (def.isRouteId || def.isRouteParameter) {
|
|
4860
|
-
if (routeParameterKeys.includes(def.name)) {
|
|
4861
|
-
params[def.name] = routeParams[def.name];
|
|
4862
|
-
}
|
|
4863
|
-
}
|
|
4864
|
-
else {
|
|
4865
|
-
// copy non route params as is, but only if they already exist otherwise we'll inject nil values and break the
|
|
4866
|
-
// defaults and remember sanitisation process.
|
|
4867
|
-
const value = this.getParameter(def.name);
|
|
4868
|
-
if (this.hasParameter(def.name)) {
|
|
4869
|
-
params[def.name] = value;
|
|
4870
|
-
}
|
|
4871
|
-
}
|
|
4872
|
-
});
|
|
4873
|
-
return new Visit(this.placeDefinition, params);
|
|
4874
|
-
}
|
|
4875
|
-
hasRoutingChangedFrom(other) {
|
|
4876
|
-
const samePlace = other.placeDefinition === this.placeDefinition;
|
|
4877
|
-
const sameRouteParameters = isEqual(this.placeDefinition.getFormattedRouteParameters(this, true), this.placeDefinition.getFormattedRouteParameters(other, true));
|
|
4878
|
-
return !samePlace || !sameRouteParameters;
|
|
4879
|
-
}
|
|
4880
|
-
hasChangedFrom(other) {
|
|
4881
|
-
const sameNonRouteParameters = isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
|
|
4882
|
-
return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);
|
|
4883
|
-
}
|
|
4884
|
-
toDebugString() {
|
|
4885
|
-
return Object.keys(this.visitParameters).map(k => `${k}=${this.visitParameters[k]}`).join(",");
|
|
4886
|
-
}
|
|
4887
|
-
}
|
|
4888
|
-
|
|
4889
5956
|
let PlaceRouter = class PlaceRouter extends GarbageCollector {
|
|
4890
5957
|
constructor(angularRouter, angularLocation, interactionService, urlService, placeHistory) {
|
|
4891
5958
|
super();
|
|
@@ -5047,6 +6114,7 @@ let PlaceRouter = class PlaceRouter extends GarbageCollector {
|
|
|
5047
6114
|
get activeVisits() {
|
|
5048
6115
|
return this._activeVisits.readonly;
|
|
5049
6116
|
}
|
|
6117
|
+
// @Trace()
|
|
5050
6118
|
pushVisitChangesToRoute(previous, next) {
|
|
5051
6119
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5052
6120
|
this.placeHistory.updateVisit(next);
|
|
@@ -5143,12 +6211,6 @@ PlaceRouter.ctorParameters = () => [
|
|
|
5143
6211
|
{ type: PlaceHistory }
|
|
5144
6212
|
];
|
|
5145
6213
|
PlaceRouter.ɵprov = ɵɵdefineInjectable({ factory: function PlaceRouter_Factory() { return new PlaceRouter(ɵɵinject(Router), ɵɵinject(Location), ɵɵinject(InteractionService), ɵɵinject(UrlService), ɵɵinject(PlaceHistory)); }, token: PlaceRouter, providedIn: "root" });
|
|
5146
|
-
__decorate([
|
|
5147
|
-
Trace(),
|
|
5148
|
-
__metadata("design:type", Function),
|
|
5149
|
-
__metadata("design:paramtypes", [Visit, Visit]),
|
|
5150
|
-
__metadata("design:returntype", Promise)
|
|
5151
|
-
], PlaceRouter.prototype, "pushVisitChangesToRoute", null);
|
|
5152
6214
|
PlaceRouter = __decorate([
|
|
5153
6215
|
Injectable({
|
|
5154
6216
|
providedIn: 'root'
|
|
@@ -5160,6 +6222,70 @@ PlaceRouter = __decorate([
|
|
|
5160
6222
|
PlaceHistory])
|
|
5161
6223
|
], PlaceRouter);
|
|
5162
6224
|
|
|
6225
|
+
class Visit {
|
|
6226
|
+
constructor(placeDefinition, visitParameters = {}) {
|
|
6227
|
+
this.placeDefinition = placeDefinition;
|
|
6228
|
+
this.visitParameters = visitParameters;
|
|
6229
|
+
}
|
|
6230
|
+
// @Trace()
|
|
6231
|
+
getRouteId() {
|
|
6232
|
+
return this.placeDefinition.getRouteIdFrom(this);
|
|
6233
|
+
}
|
|
6234
|
+
// @Trace()
|
|
6235
|
+
hasRouteId() {
|
|
6236
|
+
return !isNil(this.getRouteId());
|
|
6237
|
+
}
|
|
6238
|
+
/**
|
|
6239
|
+
* Returns the value of the place parameter with the specified name. The parameter
|
|
6240
|
+
* name is taken from the `as` option, e.g. {as: 'aCustomName'} otherwise it is the
|
|
6241
|
+
* same as the the ValueModel property name.
|
|
6242
|
+
* @param parameterName the field name of the property model or the `as` option if specified.
|
|
6243
|
+
*/
|
|
6244
|
+
getParameter(parameterName) {
|
|
6245
|
+
return this.visitParameters[parameterName];
|
|
6246
|
+
}
|
|
6247
|
+
// @Trace()
|
|
6248
|
+
hasParameter(parameterName) {
|
|
6249
|
+
return Object.keys(this.visitParameters).includes(parameterName);
|
|
6250
|
+
}
|
|
6251
|
+
replace(parameter, value) {
|
|
6252
|
+
return new Visit(this.placeDefinition, Object.assign(Object.assign({}, this.visitParameters), { [parameter.name]: value }));
|
|
6253
|
+
}
|
|
6254
|
+
mergeRouteParameters(routeParams) {
|
|
6255
|
+
// todo: whitelist parameters.
|
|
6256
|
+
const routeParameterKeys = Object.keys(routeParams);
|
|
6257
|
+
const params = {};
|
|
6258
|
+
this.placeDefinition.getVisitParameterDefs().forEach(def => {
|
|
6259
|
+
if (def.isRouteId || def.isRouteParameter) {
|
|
6260
|
+
if (routeParameterKeys.includes(def.name)) {
|
|
6261
|
+
params[def.name] = routeParams[def.name];
|
|
6262
|
+
}
|
|
6263
|
+
}
|
|
6264
|
+
else {
|
|
6265
|
+
// copy non route params as is, but only if they already exist otherwise we'll inject nil values and break the
|
|
6266
|
+
// defaults and remember sanitisation process.
|
|
6267
|
+
const value = this.getParameter(def.name);
|
|
6268
|
+
if (this.hasParameter(def.name)) {
|
|
6269
|
+
params[def.name] = value;
|
|
6270
|
+
}
|
|
6271
|
+
}
|
|
6272
|
+
});
|
|
6273
|
+
return new Visit(this.placeDefinition, params);
|
|
6274
|
+
}
|
|
6275
|
+
hasRoutingChangedFrom(other) {
|
|
6276
|
+
const samePlace = other.placeDefinition === this.placeDefinition;
|
|
6277
|
+
const sameRouteParameters = isEqual(this.placeDefinition.getFormattedRouteParameters(this, true), this.placeDefinition.getFormattedRouteParameters(other, true));
|
|
6278
|
+
return !samePlace || !sameRouteParameters;
|
|
6279
|
+
}
|
|
6280
|
+
hasChangedFrom(other) {
|
|
6281
|
+
const sameNonRouteParameters = isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
|
|
6282
|
+
return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);
|
|
6283
|
+
}
|
|
6284
|
+
toDebugString() {
|
|
6285
|
+
return Object.keys(this.visitParameters).map(k => `${k}=${this.visitParameters[k]}`).join(",");
|
|
6286
|
+
}
|
|
6287
|
+
}
|
|
6288
|
+
|
|
5163
6289
|
const AUP_PLACE_CONFIG = new InjectionToken('AUP_PLACE_CONFIG');
|
|
5164
6290
|
|
|
5165
6291
|
// Freezes the state of the components at the start of the animation.
|
|
@@ -5218,6 +6344,7 @@ let PlaceOutletComponent = class PlaceOutletComponent extends DisposableComponen
|
|
|
5218
6344
|
this._activePlaceModel = new MutableValueModel();
|
|
5219
6345
|
this.initialPlaceIndex = null;
|
|
5220
6346
|
this._isPushingVisitToRoute = new MutableValueModel(false);
|
|
6347
|
+
this.isVeryFirstLoad = true;
|
|
5221
6348
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
5222
6349
|
this.parentOutletModel = new MutableValueModel(parentOutlet);
|
|
5223
6350
|
const defaultPlaceAnimationOrder = chain(this.parentOutletModel)
|
|
@@ -5226,8 +6353,9 @@ let PlaceOutletComponent = class PlaceOutletComponent extends DisposableComponen
|
|
|
5226
6353
|
.pluckList('children')
|
|
5227
6354
|
.pluck('component');
|
|
5228
6355
|
const activatePlaceType = chain(this.activePlaceModel).map(p => p.constructor);
|
|
5229
|
-
this.
|
|
5230
|
-
.otherwise(defaultPlaceAnimationOrder)
|
|
6356
|
+
this.placesInAnimationOrder = chain(this.customPlaceAnimationOrderModel)
|
|
6357
|
+
.otherwise(defaultPlaceAnimationOrder);
|
|
6358
|
+
this.activePlaceAnimationPosition = this.placesInAnimationOrder
|
|
5231
6359
|
.reduce((placesInOrder) => {
|
|
5232
6360
|
let placeIndex = 0;
|
|
5233
6361
|
if (activatePlaceType.value) {
|
|
@@ -5238,14 +6366,16 @@ let PlaceOutletComponent = class PlaceOutletComponent extends DisposableComponen
|
|
|
5238
6366
|
}
|
|
5239
6367
|
return isNil(this.initialPlaceIndex) ? 0 : placeIndex - this.initialPlaceIndex;
|
|
5240
6368
|
}, { dependsOn: activatePlaceType });
|
|
6369
|
+
this.animationSupported = this.placesInAnimationOrder.count().isGreaterThan(0);
|
|
6370
|
+
this.animationEnabled = valueOf.all(this.animateModel, this.animationSupported).areTruthy();
|
|
5241
6371
|
// Extract our visit model from the place router.
|
|
5242
6372
|
this._activePlaceDefinition = chain(this._activePlaceModel).pluck('placeDefinition');
|
|
5243
6373
|
this.routerVisitModel = this._activePlaceDefinition.findIn(chain(placeRouter.activeVisitsByPlaceDefinition));
|
|
5244
6374
|
this.navigationInProgress = chain(this.placeRouter.navigationInProgress);
|
|
5245
|
-
when
|
|
6375
|
+
when(this.navigationInProgress).becomesFalsey(() => {
|
|
5246
6376
|
this.checkStateAndInitialise();
|
|
5247
6377
|
});
|
|
5248
|
-
when
|
|
6378
|
+
when(this.outletActivated).becomesTruthy(() => {
|
|
5249
6379
|
this.checkStateAndInitialise();
|
|
5250
6380
|
});
|
|
5251
6381
|
chain(this._activePlaceModel)
|
|
@@ -5257,14 +6387,17 @@ let PlaceOutletComponent = class PlaceOutletComponent extends DisposableComponen
|
|
|
5257
6387
|
}
|
|
5258
6388
|
// @Trace()
|
|
5259
6389
|
getAnimationOrder() {
|
|
5260
|
-
return this.
|
|
6390
|
+
return this.activePlaceAnimationPosition.value;
|
|
5261
6391
|
}
|
|
5262
6392
|
get animationDuration() {
|
|
5263
6393
|
return this.placeConfig && this.placeConfig.animationDuration ? this.placeConfig.animationDuration : '500ms';
|
|
5264
6394
|
}
|
|
5265
6395
|
// @Trace()
|
|
5266
6396
|
navigate(visit) {
|
|
5267
|
-
//
|
|
6397
|
+
// const place = this.placesInAnimationOrder.query().findMatching(p => visit.placeDefinition.component === p);
|
|
6398
|
+
// if (!place) {
|
|
6399
|
+
// lang.illegalState()
|
|
6400
|
+
// }
|
|
5268
6401
|
this.placeRouter.navigate(visit, {
|
|
5269
6402
|
relativeTo: this.parentOutlet ? this.parentOutlet.activatedRouteModel.value : null
|
|
5270
6403
|
});
|
|
@@ -5278,14 +6411,25 @@ let PlaceOutletComponent = class PlaceOutletComponent extends DisposableComponen
|
|
|
5278
6411
|
get activatedRouteModel() {
|
|
5279
6412
|
return this._activatedRouteModel.readonly;
|
|
5280
6413
|
}
|
|
5281
|
-
// @Trace()
|
|
5282
6414
|
onOutletActivated(routerOutlet, place) {
|
|
5283
6415
|
this._activatedRouteModel.value = routerOutlet.activatedRoute;
|
|
5284
6416
|
this._activePlaceModel.value = place;
|
|
6417
|
+
this.validateAnimationState(place);
|
|
5285
6418
|
this.outletActivated.value = true;
|
|
5286
6419
|
this.checkStateAndInitialise();
|
|
5287
6420
|
}
|
|
5288
|
-
|
|
6421
|
+
validateAnimationState(place) {
|
|
6422
|
+
if (this.animateModel.value) {
|
|
6423
|
+
if (this.placesInAnimationOrder.length < 1) {
|
|
6424
|
+
console.error('PlaceOutlet.animate === true but placeAnimationOrder has not been set. Animation is disabled.');
|
|
6425
|
+
}
|
|
6426
|
+
else {
|
|
6427
|
+
if (!this.placesInAnimationOrder.query().includes(place.placeDefinition.component)) {
|
|
6428
|
+
console.error(`PlaceOutlet.animate === true but placeAnimationOrder doesn't contain ${place.placeDefinition.component.name}.`);
|
|
6429
|
+
}
|
|
6430
|
+
}
|
|
6431
|
+
}
|
|
6432
|
+
}
|
|
5289
6433
|
onOutletDeactivated() {
|
|
5290
6434
|
this.outletActivated.value = false;
|
|
5291
6435
|
this._activePlaceModel.value = null;
|
|
@@ -5302,16 +6446,24 @@ let PlaceOutletComponent = class PlaceOutletComponent extends DisposableComponen
|
|
|
5302
6446
|
this.initialisePlace(routerVisit, activePlace);
|
|
5303
6447
|
}
|
|
5304
6448
|
}
|
|
5305
|
-
// @Trace()
|
|
5306
6449
|
initialisePlace(routerVisit, activePlace) {
|
|
5307
6450
|
const visitModel = new MutableValueModel(routerVisit);
|
|
5308
6451
|
DebugContext.tag(visitModel, `PlaceOutletComponent[${activePlace.constructor.name})].visitModel`);
|
|
5309
6452
|
activePlace.initialiseVisit(routerVisit, (current, previous) => {
|
|
5310
6453
|
this.pushVisitChangeToRoute(previous, current);
|
|
5311
6454
|
});
|
|
5312
|
-
|
|
5313
|
-
|
|
5314
|
-
|
|
6455
|
+
const finishPlaceLoad = () => {
|
|
6456
|
+
this._activePlaceModel.value._notifyActive(true);
|
|
6457
|
+
};
|
|
6458
|
+
if (!this.animationEnabled.value || this.isVeryFirstLoad) {
|
|
6459
|
+
// if animation is disabled or this is the very first load then
|
|
6460
|
+
// we won't get our animation done callback so we finish the
|
|
6461
|
+
// process here and now.
|
|
6462
|
+
this.isVeryFirstLoad = false;
|
|
6463
|
+
finishPlaceLoad();
|
|
6464
|
+
}
|
|
6465
|
+
else {
|
|
6466
|
+
this.onAnimationFinishedJob = finishPlaceLoad;
|
|
5315
6467
|
}
|
|
5316
6468
|
const { when, chain, valueOf } = Dsl.disposeWith(activePlace);
|
|
5317
6469
|
when.valueOf(this.routerVisitModel)
|
|
@@ -5333,8 +6485,9 @@ let PlaceOutletComponent = class PlaceOutletComponent extends DisposableComponen
|
|
|
5333
6485
|
}
|
|
5334
6486
|
// @Trace()
|
|
5335
6487
|
animationDone() {
|
|
5336
|
-
if (this.
|
|
5337
|
-
this.
|
|
6488
|
+
if (this.onAnimationFinishedJob) {
|
|
6489
|
+
this.onAnimationFinishedJob();
|
|
6490
|
+
this.onAnimationFinishedJob = undefined;
|
|
5338
6491
|
}
|
|
5339
6492
|
}
|
|
5340
6493
|
};
|
|
@@ -5368,10 +6521,22 @@ __decorate([
|
|
|
5368
6521
|
ViewChild('routeOutlet', { static: true }),
|
|
5369
6522
|
__metadata("design:type", RouterOutlet)
|
|
5370
6523
|
], PlaceOutletComponent.prototype, "routerOut", void 0);
|
|
6524
|
+
__decorate([
|
|
6525
|
+
Trace(),
|
|
6526
|
+
__metadata("design:type", Function),
|
|
6527
|
+
__metadata("design:paramtypes", [RouterOutlet, PlaceComponent]),
|
|
6528
|
+
__metadata("design:returntype", void 0)
|
|
6529
|
+
], PlaceOutletComponent.prototype, "onOutletActivated", null);
|
|
6530
|
+
__decorate([
|
|
6531
|
+
Trace(),
|
|
6532
|
+
__metadata("design:type", Function),
|
|
6533
|
+
__metadata("design:paramtypes", []),
|
|
6534
|
+
__metadata("design:returntype", void 0)
|
|
6535
|
+
], PlaceOutletComponent.prototype, "onOutletDeactivated", null);
|
|
5371
6536
|
PlaceOutletComponent = __decorate([
|
|
5372
6537
|
Component({
|
|
5373
6538
|
selector: 'aup-place-outlet',
|
|
5374
|
-
template: "<ng-container *ngIf=\"
|
|
6539
|
+
template: "<ng-container *ngIf=\"animationEnabled.value\">\n <div class=\"router-outlet-container\" cdkScrollable\n [@routeAnimations]=\"{value: getAnimationOrder(), params:{duration: animationDuration}}\"\n (@routeAnimations.start)=\"animationStarted()\"\n (@routeAnimations.done)=\"animationDone()\"\n >\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!animationEnabled.value\">\n <div class=\"router-outlet-container\" cdkScrollable>\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n",
|
|
5375
6540
|
animations: [LEFT_RIGHT_PLACE_ANIMATION],
|
|
5376
6541
|
styles: [":host{display:flex;flex-direction:column;min-height:0}.router-outlet-container{flex:1;display:block;position:relative;min-height:0;overflow-x:hidden;overflow-y:scroll}router-outlet{display:none}"]
|
|
5377
6542
|
}),
|
|
@@ -5398,10 +6563,10 @@ let AbstractPlaceNavigationComponent = class AbstractPlaceNavigationComponent ex
|
|
|
5398
6563
|
});
|
|
5399
6564
|
this.activePlaceDefinition = chain(this._activePlaceComponent).pluck('placeDefinition');
|
|
5400
6565
|
}
|
|
5401
|
-
|
|
6566
|
+
getNavigationFace(placeDef) {
|
|
5402
6567
|
const navItem = placeDef.getPlaceData('nav');
|
|
5403
6568
|
return {
|
|
5404
|
-
|
|
6569
|
+
text: () => navItem ? navItem.title() : placeDef.searchPlaceData(['navTitle', 'title']),
|
|
5405
6570
|
tooltip: () => navItem && navItem.tooltip ? navItem.tooltip() : placeDef.getPlaceData('navTooltip', null),
|
|
5406
6571
|
icon: () => navItem && navItem.icon ? navItem.icon() : placeDef.getPlaceData('navIcon', null)
|
|
5407
6572
|
};
|
|
@@ -5436,7 +6601,7 @@ __decorate([
|
|
|
5436
6601
|
__metadata("design:type", Function),
|
|
5437
6602
|
__metadata("design:paramtypes", [PlaceDefinition]),
|
|
5438
6603
|
__metadata("design:returntype", Object)
|
|
5439
|
-
], AbstractPlaceNavigationComponent.prototype, "
|
|
6604
|
+
], AbstractPlaceNavigationComponent.prototype, "getNavigationFace", null);
|
|
5440
6605
|
AbstractPlaceNavigationComponent = __decorate([
|
|
5441
6606
|
Component({
|
|
5442
6607
|
template: ''
|
|
@@ -5497,29 +6662,12 @@ ListPlaceNavComponent.ctorParameters = () => [
|
|
|
5497
6662
|
ListPlaceNavComponent = __decorate([
|
|
5498
6663
|
Component({
|
|
5499
6664
|
selector: 'aup-list-place-nav',
|
|
5500
|
-
template: "<mat-nav-list fxFlex>\n <a mat-list-item *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [class.active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"
|
|
6665
|
+
template: "<mat-nav-list fxFlex>\n <a mat-list-item *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [class.active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNavigationFace(placeDefinition).tooltip()\">\n <aup-command-face [face]=\"getNavigationFace(placeDefinition)\"></aup-command-face>\n </a>\n</mat-nav-list>\n",
|
|
5501
6666
|
styles: [":host{display:flex;flex-direction:column;--selected-border-color:#838383;--selected-color:inherit;--selected-background:#f1f1f1}mat-nav-list{padding-top:0}a.active{border-right:2px solid var(--selected-border-color);background:var(--selected-background);color:var(--selected-color)}"]
|
|
5502
6667
|
}),
|
|
5503
6668
|
__metadata("design:paramtypes", [PlaceRouter])
|
|
5504
6669
|
], ListPlaceNavComponent);
|
|
5505
6670
|
|
|
5506
|
-
let TabbedPlaceNavigationComponent = class TabbedPlaceNavigationComponent extends AbstractPlaceNavigationComponent {
|
|
5507
|
-
constructor(placeRouter) {
|
|
5508
|
-
super(placeRouter);
|
|
5509
|
-
}
|
|
5510
|
-
};
|
|
5511
|
-
TabbedPlaceNavigationComponent.ctorParameters = () => [
|
|
5512
|
-
{ type: PlaceRouter }
|
|
5513
|
-
];
|
|
5514
|
-
TabbedPlaceNavigationComponent = __decorate([
|
|
5515
|
-
Component({
|
|
5516
|
-
selector: 'aup-tabbed-place-navigation',
|
|
5517
|
-
template: "<nav mat-tab-nav-bar>\n <a mat-tab-link *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNav(placeDefinition).tooltip()\">\n <aup-icon *ngIf=\"getNav(placeDefinition).icon()\" [icon]=\"getNav(placeDefinition).icon()\"></aup-icon>\n <span>{{getNav(placeDefinition).title()}}</span>\n </a>\n</nav>\n",
|
|
5518
|
-
styles: [""]
|
|
5519
|
-
}),
|
|
5520
|
-
__metadata("design:paramtypes", [PlaceRouter])
|
|
5521
|
-
], TabbedPlaceNavigationComponent);
|
|
5522
|
-
|
|
5523
6671
|
/**
|
|
5524
6672
|
* @example
|
|
5525
6673
|
* // Usage
|
|
@@ -5558,7 +6706,7 @@ TabbedPlaceNavigationComponent = __decorate([
|
|
|
5558
6706
|
* (at)Place({
|
|
5559
6707
|
* path: 'myPlace',
|
|
5560
6708
|
* data: {
|
|
5561
|
-
* nav: I18n.places.myPlace.nav
|
|
6709
|
+
* nav: I18n.places.myPlace.nav
|
|
5562
6710
|
* }
|
|
5563
6711
|
* })
|
|
5564
6712
|
*/
|
|
@@ -5593,12 +6741,29 @@ __decorate([
|
|
|
5593
6741
|
SidePlaceNavigationComponent = __decorate([
|
|
5594
6742
|
Component({
|
|
5595
6743
|
selector: 'aup-side-place-navigation',
|
|
5596
|
-
template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\" class=\"home\">\n <aup-icon class=\"collapsed-only\" icon=\"mat:menu\"></aup-icon>\n <aup-icon class=\"expanded-only\" icon=\"mat:arrow_back\"></aup-icon>\n <span class=\"expanded-only\">Menu</span>\n </a>\n <a mat-list-item *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [class.active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"
|
|
6744
|
+
template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\" class=\"home\">\n <aup-icon class=\"collapsed-only\" icon=\"mat:menu\"></aup-icon>\n <aup-icon class=\"expanded-only\" icon=\"mat:arrow_back\"></aup-icon>\n <span class=\"expanded-only\">Menu</span>\n </a>\n <a mat-list-item *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [class.active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNavigationFace(placeDefinition).tooltip()\">\n <aup-icon *ngIf=\"getNavigationFace(placeDefinition).icon()\" [icon]=\"getNavigationFace(placeDefinition).icon()\"></aup-icon>\n <span class=\"expanded-only\">{{getNavigationFace(placeDefinition).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n",
|
|
5597
6745
|
styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width:var(--nav-width, 56px);--resolved-nav-item-height:var(--nav-item-height, var(--resolved-nav-item-width));--resolved-expanded-width:var(--nav-expanded-width, 235px);--resolved-color:var(--nav-color, rgba(255, 255, 255, 0.9));--resolved-background-color:var(--nav-background-color, #555);width:var(--resolved-nav-item-width);transition:width 125ms linear;background-color:var(--resolved-background-color);color:var(--resolved-color)}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host-context(.expanded) .expanded-only{max-width:100%}:host-context(.expanded) .collapsed-only{max-width:0}:host-context(.expanded) .mat-list-item aup-icon:not(.collapsed-only){margin-right:12px}:host-context(.expanded) .mat-list-item span{text-wrap:none;white-space:nowrap}.expanded-only{max-width:0;overflow:hidden}.collapsed-only{max-width:100%;overflow:hidden}mat-nav-list{flex:1;display:flex;flex-direction:column}.mat-list-item{width:var(--resolved-nav-item-width);height:var(--resolved-nav-item-height);color:inherit}.mat-list-item.active{background-color:#444}.mat-list-item.home{text-align:left}mat-icon{color:inherit}mat-icon.flip-horizontal{transform:scaleX(-1)}"]
|
|
5598
6746
|
}),
|
|
5599
6747
|
__metadata("design:paramtypes", [Router, PlaceRouter])
|
|
5600
6748
|
], SidePlaceNavigationComponent);
|
|
5601
6749
|
|
|
6750
|
+
let TabbedPlaceNavigationComponent = class TabbedPlaceNavigationComponent extends AbstractPlaceNavigationComponent {
|
|
6751
|
+
constructor(placeRouter) {
|
|
6752
|
+
super(placeRouter);
|
|
6753
|
+
}
|
|
6754
|
+
};
|
|
6755
|
+
TabbedPlaceNavigationComponent.ctorParameters = () => [
|
|
6756
|
+
{ type: PlaceRouter }
|
|
6757
|
+
];
|
|
6758
|
+
TabbedPlaceNavigationComponent = __decorate([
|
|
6759
|
+
Component({
|
|
6760
|
+
selector: 'aup-tabbed-place-navigation',
|
|
6761
|
+
template: "<nav mat-tab-nav-bar>\n <a mat-tab-link *ngFor=\"let placeDefinition of placeDefinitions.value\"\n [pectinCommand]=\"commandFactory.create(placeDefinition)\"\n [active]=\"isActive(placeDefinition)\"\n [matTooltip]=\"getNavigationFace(placeDefinition).tooltip()\">\n <aup-command-face [face]=\"getNavigationFace(placeDefinition)\"></aup-command-face>\n </a>\n</nav>\n",
|
|
6762
|
+
styles: [""]
|
|
6763
|
+
}),
|
|
6764
|
+
__metadata("design:paramtypes", [PlaceRouter])
|
|
6765
|
+
], TabbedPlaceNavigationComponent);
|
|
6766
|
+
|
|
5602
6767
|
let PlaceModule = class PlaceModule {
|
|
5603
6768
|
};
|
|
5604
6769
|
PlaceModule = __decorate([
|
|
@@ -6045,8 +7210,7 @@ function installMechanics(prototype, propertyKey, backingModel, tagPrefix, isEmp
|
|
|
6045
7210
|
binding: null
|
|
6046
7211
|
};
|
|
6047
7212
|
const tag = `${tagPrefix}(${prototype.constructor.name}.${propertyKey.toString()})`;
|
|
6048
|
-
DebugContext.
|
|
6049
|
-
Logger.get(mechanics.backingModel).tag(tag);
|
|
7213
|
+
DebugContext.getOrCreate(mechanics.backingModel).tag(tag);
|
|
6050
7214
|
Object.defineProperty(prototype, propertyKey, {
|
|
6051
7215
|
get: function () {
|
|
6052
7216
|
return mechanics.backingModel;
|
|
@@ -6108,5 +7272,5 @@ function VisitParameterList(options) {
|
|
|
6108
7272
|
* Generated bundle index. Do not edit.
|
|
6109
7273
|
*/
|
|
6110
7274
|
|
|
6111
|
-
export { ACTIVITY_DATA, AUP_PLACE_CONFIG, AbstractInputActivity, AbstractInputComponent, AbstractInteractionContext, AbstractListInputComponent, AbstractPlaceNavigationComponent, AbstractPopStateNavigation, AbstractValueInputComponent, Activity, ActivityActionsComponent, ActivityContainerComponent, ActivityOutletComponent, ActivityRef, AddItemInteractionContextComponent, AlertDialogComponent, AngularUiPowerupsModule, Bounds, BusyOverlayComponent, CELL_EDITOR_PORTAL, CELL_RENDERER_PORTAL, CardContainerComponent, CellEditorPortalRef, CellHeaderPortalRef, CellPortalRef, CellRendererPortalRef, CheckboxInputComponent, ColumnModel, ColumnTemplateDirective, CommandDirective, ComponentCellRendererPortalRef, ComponentsModule, ConfirmThenDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, CustomTemplateColumnModel, CustomValueColumnModel, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DefaultCellRendererComponent, DefaultHeaderCellRendererComponent, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EditRowControls, EditSession, EditorControlColumnModel, EmptyStateComponent, EventCleanUpSession, FocusBinding, FocusBindingDirective, FocusBindingFactory, FocusContainerComponent, FocusableComponent, Formatter, HEADER_CELL_RENDERER_PORTAL, IconComponent, InPlaceInteractionContextComponent, InteractionContextTriggerFor, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, LEFT_RIGHT_PLACE_ANIMATION, ListPlaceNavComponent, ListPropertyColumnModel, ModalInteractionContextFactory, MultipleSelectInputComponent, Navigating, NavigatingDuringInteraction, NavigationContext, NavigationSession, NoopAuthGuard, NoopComponent, NumberInputComponent, PORTAL_EDITOR_COMPONENT, PORTAL_RENDERER_COMPONENT, ParameterDefinition, PasswordInputComponent, Place, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, PopupInteractionContextComponent, PropertyColumnModel, ROUTE_PARAMETER_LIST_KEY, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, RouteId, ScrollContainerComponent, SectionHeaderComponent, SelectCellRendererComponent, SelectHeaderCellRendererComponent, SelectInputActivity, SelectInputComponent, SelectionColumnModel, SidePlaceNavigationComponent, StringInputActivity, StringInputComponent, SwitchCaseComponent, SwitchCaseDefaultDirective, SwitchCaseOption, SwitchCaseWhenDirective, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, TableCellRendererComponent, TableComponent, TableHeaderCellRendererComponent, TableModel, TemplateCellRendererPortalRef, TextInputComponent, UrlService, UrlSnapshot, VerticalFocusContainerComponent, Visit, VisitParameter, VisitParameterList, VisitSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, slideDownOnEnterAnimation, slideRightOnEnterAnimation, ɵ0, DirectivesModule as ɵa, CommandDirective as ɵb,
|
|
7275
|
+
export { ACTIVITY_DATA, AUP_PLACE_CONFIG, AbstractInputActivity, AbstractInputComponent, AbstractInteractionContext, AbstractListInputComponent, AbstractPlaceNavigationComponent, AbstractPopStateNavigation, AbstractValueInputComponent, Activity, ActivityActionsComponent, ActivityContainerComponent, ActivityOutletComponent, ActivityRef, AddItemInteractionContextComponent, AlertDialogComponent, AngularUiPowerupsModule, AutocompleteInputComponent, Bounds, BusyOverlayComponent, CELL_EDITOR_PORTAL, CELL_RENDERER_PORTAL, CardContainerComponent, CellEditorPortalRef, CellHeaderPortalRef, CellPortalRef, CellRendererPortalRef, CheckboxInputComponent, ColumnModel, ColumnTemplateDirective, CommandComponent, CommandDirective, CommandFace, CommandFaceComponent, CommandGroup, CommandGroupComponent, CommandGroupMenuRendererComponent, CommandGroupRendererComponent, ComponentCellRendererPortalRef, ComponentsModule, ConfirmThenDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, CustomTemplateColumnModel, CustomValueColumnModel, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DefaultCellRendererComponent, DefaultHeaderCellRendererComponent, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EditRowControls, EditSession, EditorControlColumnModel, EmptyStateComponent, EventCleanUpSession, FlexComponent, FocusBinding, FocusBindingDirective, FocusBindingFactory, FocusContainerComponent, FocusableComponent, Formatter, HEADER_CELL_RENDERER_PORTAL, IconComponent, InPlaceInteractionContextComponent, InteractionContextTriggerFor, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, LEFT_RIGHT_PLACE_ANIMATION, ListPlaceNavComponent, ListPropertyColumnModel, ModalInteractionContextFactory, MoreMenuComponent, MultipleSelectInputComponent, Navigating, NavigatingDuringInteraction, NavigationContext, NavigationSession, NoopAuthGuard, NoopComponent, NumberInputComponent, PORTAL_EDITOR_COMPONENT, PORTAL_RENDERER_COMPONENT, ParameterDefinition, PasswordInputComponent, Place, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, PopupInteractionContextComponent, PopupMenuComponent, PropertyColumnModel, ROUTE_PARAMETER_LIST_KEY, Registration, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, RouteId, ScrollContainerComponent, SectionHeaderComponent, SelectCellRendererComponent, SelectHeaderCellRendererComponent, SelectInputActivity, SelectInputComponent, SelectionColumnModel, SeparatorComponent, SidePlaceNavigationComponent, StringInputActivity, StringInputComponent, SwitchCaseComponent, SwitchCaseDefaultDirective, SwitchCaseOption, SwitchCaseWhenDirective, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, TableCellRendererComponent, TableComponent, TableHeaderCellRendererComponent, TableModel, TableRowMenuComponent, TemplateCellRendererPortalRef, TextInputComponent, ToolBarComponent, TrackBy, UrlService, UrlSnapshot, VerticalFocusContainerComponent, ViewData, Visit, VisitParameter, VisitParameterList, VisitSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, slideDownOnEnterAnimation, slideRightOnEnterAnimation, ɵ0, DirectivesModule as ɵa, CommandDirective as ɵb, CardContainerComponent as ɵba, TableComponent as ɵbb, EditRowControls as ɵbc, ColumnTemplateDirective as ɵbd, DefaultCellRendererComponent as ɵbe, TableCellRendererComponent as ɵbf, SelectCellRendererComponent as ɵbg, SelectHeaderCellRendererComponent as ɵbh, DefaultHeaderCellRendererComponent as ɵbi, TableHeaderCellRendererComponent as ɵbj, IconComponent as ɵbk, SectionHeaderComponent as ɵbl, TableRowMenuComponent as ɵbm, ToolBarComponent as ɵbn, CommandGroup as ɵbo, CommandComponent as ɵbp, PopupMenuComponent as ɵbq, CommandGroupComponent as ɵbr, CommandFaceComponent as ɵbs, MoreMenuComponent as ɵbt, SeparatorComponent as ɵbu, FlexComponent as ɵbv, CommandGroupMenuRendererComponent as ɵbw, CommandGroupRendererComponent as ɵbx, PlaceModule as ɵby, ComponentsModule as ɵbz, FocusBindingDirective as ɵc, EmptyStateComponent as ɵca, BusyOverlayComponent as ɵcb, PlaceOutletComponent as ɵcc, leftRightPlaceAnimation as ɵcd, LEFT_RIGHT_PLACE_ANIMATION as ɵce, AUP_PLACE_CONFIG as ɵcf, PlaceRouter as ɵch, InteractionService as ɵci, ModalInteractionContextFactory as ɵcj, UrlService as ɵck, PlaceHistory as ɵcl, TabbedPlaceNavigationComponent as ɵcm, AbstractPlaceNavigationComponent as ɵcn, ListPlaceNavComponent as ɵco, SidePlaceNavigationComponent as ɵcp, InteractionModule as ɵcq, ActivityContainerComponent as ɵcr, AbstractInteractionContext as ɵcs, ActivityOutletComponent as ɵct, ConfirmationDialogComponent as ɵcu, ACTIVITY_DATA as ɵcv, Activity as ɵcw, ConfirmThenDialogComponent as ɵcy, AlertDialogComponent as ɵcz, DisposableComponent as ɵd, InPlaceInteractionContextComponent as ɵdb, AddItemInteractionContextComponent as ɵdc, ActivityActionsComponent as ɵdd, PopupInteractionContextComponent as ɵde, StringInputActivity as ɵdf, AbstractInputActivity as ɵdg, SelectInputActivity as ɵdh, InteractionContextTriggerFor as ɵdi, FocusBindingFactory as ɵe, ComponentsModule as ɵf, AbstractInputComponent as ɵg, AbstractValueInputComponent as ɵh, AbstractListInputComponent as ɵi, NumberInputComponent as ɵj, StringInputComponent as ɵk, TextInputComponent as ɵl, PasswordInputComponent as ɵm, SelectInputComponent as ɵn, MultipleSelectInputComponent as ɵo, AutocompleteInputComponent as ɵp, CheckboxInputComponent as ɵq, ScrollContainerComponent as ɵr, NoopComponent as ɵs, SwitchCaseOption as ɵt, SwitchCaseWhenDirective as ɵu, SwitchCaseDefaultDirective as ɵv, SwitchCaseComponent as ɵw, FocusContainerComponent as ɵx, VerticalFocusContainerComponent as ɵy, FocusableComponent as ɵz };
|
|
6112
7276
|
//# sourceMappingURL=coolon-angular-ui-powerups.js.map
|