@coolon/angular-ui-powerups 2.0.0-alpha.9 → 2.0.1
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 +207 -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 +1537 -277
- 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 +46 -34
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/coolon-angular-ui-powerups.js +44 -32
- 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 +38 -15
- 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 +23 -13
- 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 +7 -1
- package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.metadata.json +1 -1
- 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 +2 -10
- 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 -2
- 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 +16 -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 +44 -32
- 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 +38 -15
- 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 +23 -13
- package/esm5/lib/components/forms/abstract-value-input.component.js.map +1 -1
- package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.js +7 -1
- package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +1 -1
- 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 +2 -10
- 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 -2
- 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 +16 -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 +1290 -214
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +1468 -227
- 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 +4 -3
- package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +3 -0
- package/lib/components/forms/multiple-select-input/multiple-select-input.component.d.ts +1 -3
- package/lib/components/forms/select-input/select-input.component.d.ts +1 -1
- package/lib/components/icon/icon.component.d.ts +15 -0
- package/lib/components/index.d.ts +17 -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';
|
|
@@ -12,23 +12,26 @@ import { CdkScrollableModule } from '@angular/cdk/scrolling';
|
|
|
12
12
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
13
13
|
import { MatButtonModule } from '@angular/material/button';
|
|
14
14
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
15
|
+
import { MatDividerModule } from '@angular/material/divider';
|
|
15
16
|
import { MatIconModule } from '@angular/material/icon';
|
|
17
|
+
import { MatMenu, MatMenuTrigger, MatMenuModule } from '@angular/material/menu';
|
|
16
18
|
import { MatTableModule } from '@angular/material/table';
|
|
17
19
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
18
20
|
import { FaIconLibrary, FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
19
21
|
import { fas } from '@fortawesome/free-solid-svg-icons';
|
|
20
|
-
import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, Logger, TrackExternal, Command,
|
|
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';
|
|
23
|
+
import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
|
|
21
24
|
import ___default, { isEqual, isNil } from 'lodash';
|
|
25
|
+
import { Enum } from 'typescript-string-enums';
|
|
22
26
|
import { assert as assert$1, Opts, lang as lang$1, Klass } from '@coolon/typescript-utilities';
|
|
23
|
-
import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
|
|
24
27
|
import produce from 'immer';
|
|
25
28
|
import { FlexModule, GridModule } from '@angular/flex-layout';
|
|
26
29
|
import { MatDialogModule, MatDialog, MatDialogConfig, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
|
|
27
30
|
import { RouterModule, UrlSegment, Router, UrlSerializer, NavigationStart, NavigationEnd, NavigationError, NavigationCancel, RouterOutlet } from '@angular/router';
|
|
28
31
|
import { Overlay, CdkScrollable } from '@angular/cdk/overlay';
|
|
29
32
|
import ResizeObserver from 'resize-observer-polyfill';
|
|
30
|
-
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
31
33
|
import { MatListModule } from '@angular/material/list';
|
|
34
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
32
35
|
import { Memoize as Memoize$1 } from '@typescript-plus/fast-memoize-decorator';
|
|
33
36
|
import 'reflect-metadata';
|
|
34
37
|
import { style, query, group, animate, trigger, transition } from '@angular/animations';
|
|
@@ -370,11 +373,844 @@ CardContainerComponent = __decorate([
|
|
|
370
373
|
Component({
|
|
371
374
|
selector: 'aup-card-container',
|
|
372
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",
|
|
373
|
-
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}"]
|
|
374
377
|
}),
|
|
375
378
|
__metadata("design:paramtypes", [])
|
|
376
379
|
], CardContainerComponent);
|
|
377
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
|
+
|
|
378
1214
|
let FocusContainerComponent = class FocusContainerComponent extends DisposableComponent {
|
|
379
1215
|
constructor(focusManager) {
|
|
380
1216
|
super();
|
|
@@ -468,6 +1304,7 @@ FocusableComponent = __decorate([
|
|
|
468
1304
|
let AbstractInputComponent = class AbstractInputComponent extends DisposableComponent {
|
|
469
1305
|
constructor() {
|
|
470
1306
|
super();
|
|
1307
|
+
this.onValueEditedListeners = new EventListenerList();
|
|
471
1308
|
this.dense = false;
|
|
472
1309
|
// TODO: fix this.
|
|
473
1310
|
// tslint:disable-next-line:no-output-native
|
|
@@ -516,19 +1353,19 @@ let AbstractInputComponent = class AbstractInputComponent extends DisposableComp
|
|
|
516
1353
|
return this.enabled.value;
|
|
517
1354
|
}
|
|
518
1355
|
get enabled() {
|
|
519
|
-
return this.
|
|
1356
|
+
return this.formValueModel.enabled;
|
|
520
1357
|
}
|
|
521
1358
|
hasErrors() {
|
|
522
1359
|
return !this.errorList.query().isEmpty();
|
|
523
1360
|
}
|
|
524
1361
|
get errorList() {
|
|
525
|
-
return this.
|
|
1362
|
+
return this.formValueModel.errorList;
|
|
526
1363
|
}
|
|
527
1364
|
get firstError() {
|
|
528
1365
|
return this.hasErrors() ? this.errorList.value[0] : null;
|
|
529
1366
|
}
|
|
530
1367
|
get focusContext() {
|
|
531
|
-
return this.
|
|
1368
|
+
return this.formValueModel.focusContext;
|
|
532
1369
|
}
|
|
533
1370
|
get floatLabel() {
|
|
534
1371
|
return this.dense ? 'never' : this.userFloatLabel;
|
|
@@ -536,6 +1373,13 @@ let AbstractInputComponent = class AbstractInputComponent extends DisposableComp
|
|
|
536
1373
|
get showHint() {
|
|
537
1374
|
return this.dense ? false : !!this.hint;
|
|
538
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
|
+
}
|
|
539
1383
|
};
|
|
540
1384
|
__decorate([
|
|
541
1385
|
Input(),
|
|
@@ -635,29 +1479,42 @@ let AbstractListInputComponent = class AbstractListInputComponent extends Abstra
|
|
|
635
1479
|
* gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
|
|
636
1480
|
*/
|
|
637
1481
|
// We have to register it as a disposable so it ditches any listeners when we're disposed.
|
|
638
|
-
this.
|
|
639
|
-
this.
|
|
1482
|
+
this.formValueModel = this.registerDisposable(new Form.DelegatingListModel());
|
|
1483
|
+
this.componentListModel = new MutableListModel();
|
|
1484
|
+
this.setValueIsInProgress = new Guard();
|
|
640
1485
|
this.valueChange = new EventEmitter();
|
|
641
|
-
const { when } = Dsl.disposeWith(this);
|
|
642
|
-
|
|
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
|
+
}, {
|
|
643
1493
|
initialValue: 'ignore',
|
|
644
|
-
|
|
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
|
|
645
1498
|
});
|
|
1499
|
+
DebugContext.tag(this.formValueModel, `${this.constructor.name}.formValueModel`);
|
|
646
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.
|
|
647
1504
|
set value(value) {
|
|
648
|
-
|
|
649
|
-
this.
|
|
1505
|
+
this.setValueIsInProgress.whileTrue(() => {
|
|
1506
|
+
if (!this.listHolder) {
|
|
650
1507
|
this.listHolder = new MutableListModel(value);
|
|
651
1508
|
this.listModel = this.listHolder;
|
|
652
|
-
}
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
}
|
|
1509
|
+
}
|
|
1510
|
+
else {
|
|
1511
|
+
this.listHolder.value = value;
|
|
1512
|
+
}
|
|
1513
|
+
});
|
|
657
1514
|
}
|
|
658
1515
|
};
|
|
659
1516
|
__decorate([
|
|
660
|
-
Input(), TrackExternal({ delegateTo: '
|
|
1517
|
+
Input(), TrackExternal({ delegateTo: 'formValueModel' }),
|
|
661
1518
|
__metadata("design:type", Object)
|
|
662
1519
|
], AbstractListInputComponent.prototype, "listModel", void 0);
|
|
663
1520
|
__decorate([
|
|
@@ -688,32 +1545,42 @@ let AbstractValueInputComponent = class AbstractValueInputComponent extends Abst
|
|
|
688
1545
|
* gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
|
|
689
1546
|
*/
|
|
690
1547
|
// We have to register it as a disposable so it ditches any listeners when we're disposed.
|
|
691
|
-
this.
|
|
1548
|
+
this.formValueModel = this.registerDisposable(new Form.DelegatingValueModel());
|
|
692
1549
|
this.setValueInProgress = new Guard();
|
|
1550
|
+
this.componentValueModel = new MutableValueModel();
|
|
693
1551
|
this.valueChange = new EventEmitter();
|
|
694
|
-
const { when } = Dsl.disposeWith(this);
|
|
695
|
-
|
|
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
|
+
}, {
|
|
696
1559
|
initialValue: 'ignore',
|
|
697
|
-
|
|
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
|
|
698
1564
|
});
|
|
1565
|
+
DebugContext.tag(this.formValueModel, `${this.constructor.name}.formValueModel`);
|
|
699
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.
|
|
700
1570
|
set value(value) {
|
|
701
|
-
// we never fire events during an external set value operation. This allows
|
|
702
|
-
// the component to behave when used in the conventional angular
|
|
703
|
-
// fashion, i.e. [(value)]="..."
|
|
704
1571
|
this.setValueInProgress.whileTrue(() => {
|
|
705
|
-
if (!this.
|
|
706
|
-
this.
|
|
707
|
-
this.valueModel = this.
|
|
1572
|
+
if (!this.plainValueHolder) {
|
|
1573
|
+
this.plainValueHolder = new MutableValueModel(value);
|
|
1574
|
+
this.valueModel = this.plainValueHolder;
|
|
708
1575
|
}
|
|
709
1576
|
else {
|
|
710
|
-
this.
|
|
1577
|
+
this.plainValueHolder.value = value;
|
|
711
1578
|
}
|
|
712
1579
|
});
|
|
713
1580
|
}
|
|
714
1581
|
};
|
|
715
1582
|
__decorate([
|
|
716
|
-
Input(), TrackExternal({ delegateTo: '
|
|
1583
|
+
Input(), TrackExternal({ delegateTo: 'formValueModel' }),
|
|
717
1584
|
__metadata("design:type", Object)
|
|
718
1585
|
], AbstractValueInputComponent.prototype, "valueModel", void 0);
|
|
719
1586
|
__decorate([
|
|
@@ -751,9 +1618,15 @@ let AutocompleteInputComponent = class AutocompleteInputComponent extends Abstra
|
|
|
751
1618
|
}
|
|
752
1619
|
ngOnInit() {
|
|
753
1620
|
}
|
|
1621
|
+
formatOption(option) {
|
|
1622
|
+
return this.optionLabelFormat(option);
|
|
1623
|
+
}
|
|
754
1624
|
updateFilter($event) {
|
|
755
1625
|
this.filterValue.value = $event;
|
|
756
1626
|
}
|
|
1627
|
+
onSelect($event) {
|
|
1628
|
+
this.valueModel.value = $event.option.value;
|
|
1629
|
+
}
|
|
757
1630
|
};
|
|
758
1631
|
__decorate([
|
|
759
1632
|
Input(), TrackExternal(),
|
|
@@ -782,7 +1655,7 @@ __decorate([
|
|
|
782
1655
|
AutocompleteInputComponent = __decorate([
|
|
783
1656
|
Component({
|
|
784
1657
|
selector: 'aup-autocomplete-input',
|
|
785
|
-
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]=\"
|
|
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",
|
|
786
1659
|
styles: [":host{display:inline-block}mat-form-field{width:100%}"]
|
|
787
1660
|
}),
|
|
788
1661
|
__metadata("design:paramtypes", [])
|
|
@@ -810,7 +1683,7 @@ __decorate([
|
|
|
810
1683
|
CheckboxInputComponent = __decorate([
|
|
811
1684
|
Component({
|
|
812
1685
|
selector: 'aup-checkbox-input',
|
|
813
|
-
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",
|
|
814
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}"]
|
|
815
1688
|
}),
|
|
816
1689
|
__metadata("design:paramtypes", [])
|
|
@@ -820,7 +1693,7 @@ CheckboxInputComponent = __decorate([
|
|
|
820
1693
|
* Using templates:
|
|
821
1694
|
* <aup-multiple-select-input [valueModel]="myModel" [options]="myOptions">
|
|
822
1695
|
* <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
|
|
823
|
-
* <ng-template #
|
|
1696
|
+
* <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
|
|
824
1697
|
* </aup-multiple-select_input>
|
|
825
1698
|
*/
|
|
826
1699
|
let MultipleSelectInputComponent = class MultipleSelectInputComponent extends AbstractListInputComponent {
|
|
@@ -843,18 +1716,10 @@ __decorate([
|
|
|
843
1716
|
Input(),
|
|
844
1717
|
__metadata("design:type", Object)
|
|
845
1718
|
], MultipleSelectInputComponent.prototype, "optionLabel", void 0);
|
|
846
|
-
__decorate([
|
|
847
|
-
Input(),
|
|
848
|
-
__metadata("design:type", Boolean)
|
|
849
|
-
], MultipleSelectInputComponent.prototype, "allowNil", void 0);
|
|
850
1719
|
__decorate([
|
|
851
1720
|
ContentChild('optionTemplate'),
|
|
852
1721
|
__metadata("design:type", TemplateRef)
|
|
853
1722
|
], MultipleSelectInputComponent.prototype, "optionTemplateRef", void 0);
|
|
854
|
-
__decorate([
|
|
855
|
-
ContentChild('nilOptionTemplate'),
|
|
856
|
-
__metadata("design:type", TemplateRef)
|
|
857
|
-
], MultipleSelectInputComponent.prototype, "nilOptionTemplateRef", void 0);
|
|
858
1723
|
__decorate([
|
|
859
1724
|
Input(),
|
|
860
1725
|
__metadata("design:type", Function)
|
|
@@ -862,7 +1727,7 @@ __decorate([
|
|
|
862
1727
|
MultipleSelectInputComponent = __decorate([
|
|
863
1728
|
Component({
|
|
864
1729
|
selector: 'aup-multiple-select-input',
|
|
865
|
-
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)]=\"
|
|
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",
|
|
866
1731
|
styles: [":host{display:inline-block}mat-form-field{width:100%}"]
|
|
867
1732
|
}),
|
|
868
1733
|
__metadata("design:paramtypes", [])
|
|
@@ -890,7 +1755,7 @@ __decorate([
|
|
|
890
1755
|
NumberInputComponent = __decorate([
|
|
891
1756
|
Component({
|
|
892
1757
|
selector: 'aup-number-input',
|
|
893
|
-
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",
|
|
894
1759
|
styles: [""]
|
|
895
1760
|
}),
|
|
896
1761
|
__metadata("design:paramtypes", [])
|
|
@@ -908,7 +1773,7 @@ let PasswordInputComponent = class PasswordInputComponent extends AbstractValueI
|
|
|
908
1773
|
PasswordInputComponent = __decorate([
|
|
909
1774
|
Component({
|
|
910
1775
|
selector: 'aup-password-input',
|
|
911
|
-
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",
|
|
912
1777
|
styles: [""]
|
|
913
1778
|
}),
|
|
914
1779
|
__metadata("design:paramtypes", [])
|
|
@@ -918,7 +1783,7 @@ PasswordInputComponent = __decorate([
|
|
|
918
1783
|
* Using templates:
|
|
919
1784
|
* <aup-select-input [valueModel]="myModel" [options]="myOptions">
|
|
920
1785
|
* <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
|
|
921
|
-
* <ng-template #
|
|
1786
|
+
* <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
|
|
922
1787
|
* </aup-select_input>
|
|
923
1788
|
*/
|
|
924
1789
|
let SelectInputComponent = class SelectInputComponent extends AbstractValueInputComponent {
|
|
@@ -960,7 +1825,7 @@ __decorate([
|
|
|
960
1825
|
SelectInputComponent = __decorate([
|
|
961
1826
|
Component({
|
|
962
1827
|
selector: 'aup-select-input',
|
|
963
|
-
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",
|
|
964
1829
|
styles: [":host{display:inline-block}mat-form-field{width:100%}"]
|
|
965
1830
|
}),
|
|
966
1831
|
__metadata("design:paramtypes", [])
|
|
@@ -971,9 +1836,9 @@ let StringInputComponent = class StringInputComponent extends AbstractValueInput
|
|
|
971
1836
|
super();
|
|
972
1837
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
973
1838
|
this.clearCommand = Command.create(() => {
|
|
974
|
-
this.
|
|
1839
|
+
this.componentValueModel.value = null;
|
|
975
1840
|
});
|
|
976
|
-
this.clearCommand.disableWhile(chain.stringValue(this.
|
|
1841
|
+
this.clearCommand.disableWhile(chain.stringValue(this.componentValueModel).isBlank());
|
|
977
1842
|
}
|
|
978
1843
|
ngOnInit() {
|
|
979
1844
|
}
|
|
@@ -989,7 +1854,7 @@ __decorate([
|
|
|
989
1854
|
StringInputComponent = __decorate([
|
|
990
1855
|
Component({
|
|
991
1856
|
selector: 'aup-string-input',
|
|
992
|
-
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",
|
|
993
1858
|
styles: ["button[disabled]{visibility:hidden}"]
|
|
994
1859
|
}),
|
|
995
1860
|
__metadata("design:paramtypes", [])
|
|
@@ -1017,13 +1882,18 @@ __decorate([
|
|
|
1017
1882
|
TextInputComponent = __decorate([
|
|
1018
1883
|
Component({
|
|
1019
1884
|
selector: 'aup-text-input',
|
|
1020
|
-
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",
|
|
1021
1886
|
styles: ["button[disabled]{visibility:hidden}textarea{overflow:auto}"]
|
|
1022
1887
|
}),
|
|
1023
1888
|
__metadata("design:paramtypes", [])
|
|
1024
1889
|
], TextInputComponent);
|
|
1025
1890
|
|
|
1026
|
-
|
|
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
|
+
}
|
|
1027
1897
|
set icon(iconName) {
|
|
1028
1898
|
this._icon = iconName;
|
|
1029
1899
|
if (!iconName) {
|
|
@@ -1039,7 +1909,7 @@ let IconComponent = class IconComponent {
|
|
|
1039
1909
|
if (this.prefix) {
|
|
1040
1910
|
this.errorMessage = `Unknown icon "${iconName}"`;
|
|
1041
1911
|
}
|
|
1042
|
-
this.errorMessage = `Unknown icon prefix "${this.prefix}"`;
|
|
1912
|
+
this.errorMessage = `Unknown icon prefix, expected one of [${this.allowedPrefixes.join(',')}] got "${this.prefix}:"`;
|
|
1043
1913
|
}
|
|
1044
1914
|
get icon() {
|
|
1045
1915
|
return this._icon;
|
|
@@ -1050,13 +1920,20 @@ __decorate([
|
|
|
1050
1920
|
__metadata("design:type", String),
|
|
1051
1921
|
__metadata("design:paramtypes", [String])
|
|
1052
1922
|
], IconComponent.prototype, "icon", null);
|
|
1053
|
-
IconComponent = __decorate([
|
|
1923
|
+
IconComponent = IconComponent_1 = __decorate([
|
|
1054
1924
|
Component({
|
|
1055
1925
|
selector: 'aup-icon',
|
|
1056
|
-
template: "<ng-container [ngSwitch]=\"prefix\">\n\n <mat-icon *ngSwitchCase=\"
|
|
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",
|
|
1057
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}"]
|
|
1058
1928
|
})
|
|
1059
1929
|
], IconComponent);
|
|
1930
|
+
(function (IconComponent) {
|
|
1931
|
+
IconComponent.IconPrefix = Enum({
|
|
1932
|
+
SVG: 'svg',
|
|
1933
|
+
FONT_AWESOME: 'fa',
|
|
1934
|
+
MATERIAL: 'mat'
|
|
1935
|
+
});
|
|
1936
|
+
})(IconComponent || (IconComponent = {}));
|
|
1060
1937
|
|
|
1061
1938
|
let NoopComponent = class NoopComponent {
|
|
1062
1939
|
constructor() {
|
|
@@ -1471,7 +2348,8 @@ SelectHeaderCellRendererComponent = __decorate([
|
|
|
1471
2348
|
|
|
1472
2349
|
const noop = () => {
|
|
1473
2350
|
};
|
|
1474
|
-
const ɵ0 = noop;
|
|
2351
|
+
const ɵ0$3 = noop;
|
|
2352
|
+
const CELL_RENDERER_COMPONENT_ROW_CACHE = Symbol("aup-cell-renderer:row-data-cache");
|
|
1475
2353
|
class ColumnModel {
|
|
1476
2354
|
constructor(columnId, defaults) {
|
|
1477
2355
|
this.columnId = columnId;
|
|
@@ -1585,6 +2463,34 @@ class PropertyColumnModel extends ColumnModel {
|
|
|
1585
2463
|
}));
|
|
1586
2464
|
return this;
|
|
1587
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
|
+
}
|
|
1588
2494
|
cellEditor(editor, validatorsOrInitialiser, onComponentInit) {
|
|
1589
2495
|
const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
|
|
1590
2496
|
const initialiser = ___default.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
|
|
@@ -1652,9 +2558,22 @@ class CustomValueColumnModel extends ColumnModel {
|
|
|
1652
2558
|
this.getValue = getValue;
|
|
1653
2559
|
this.cellRenderer(DefaultCellRendererComponent);
|
|
1654
2560
|
}
|
|
1655
|
-
cellRenderer(componentType) {
|
|
1656
|
-
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
|
+
}
|
|
1657
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
|
+
}
|
|
1658
2577
|
}));
|
|
1659
2578
|
return this;
|
|
1660
2579
|
}
|
|
@@ -1816,6 +2735,9 @@ let TableModel = TableModel_1 = class TableModel {
|
|
|
1816
2735
|
this._editorSessions = new MutableListModel();
|
|
1817
2736
|
this.rowClassNamePredicates = [];
|
|
1818
2737
|
this._createForm = (row) => new DirtyTrackingForm();
|
|
2738
|
+
this.trackBy = (index, item) => {
|
|
2739
|
+
return this.identityOf ? this.identityOf(item) : index;
|
|
2740
|
+
};
|
|
1819
2741
|
this.identityOf = sourceOfTruth.identityOf;
|
|
1820
2742
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this._garbage);
|
|
1821
2743
|
this._columnsById = chain(this._columns).indexBy('columnId');
|
|
@@ -1837,11 +2759,6 @@ let TableModel = TableModel_1 = class TableModel {
|
|
|
1837
2759
|
get rowsBeingEdited() {
|
|
1838
2760
|
return this._rowsBeingEdited.readonly;
|
|
1839
2761
|
}
|
|
1840
|
-
getTrackByFunction() {
|
|
1841
|
-
return (index, item) => {
|
|
1842
|
-
return this.identityOf ? this.identityOf(item) : index;
|
|
1843
|
-
};
|
|
1844
|
-
}
|
|
1845
2762
|
get columns() {
|
|
1846
2763
|
return this._columns.readonly;
|
|
1847
2764
|
}
|
|
@@ -1863,6 +2780,9 @@ let TableModel = TableModel_1 = class TableModel {
|
|
|
1863
2780
|
addCustomColumn(columnId, dataAccessor) {
|
|
1864
2781
|
return this.addColumn(new CustomValueColumnModel(columnId, this, dataAccessor));
|
|
1865
2782
|
}
|
|
2783
|
+
addComponentColumn(columnId, component, onComponentInitOrOptions) {
|
|
2784
|
+
return this.addColumn(new CustomValueColumnModel(columnId, this, row => row)).cellRenderer(component, onComponentInitOrOptions);
|
|
2785
|
+
}
|
|
1866
2786
|
addTemplateColumn(columnId) {
|
|
1867
2787
|
return this.addColumn(new CustomTemplateColumnModel(columnId, this));
|
|
1868
2788
|
}
|
|
@@ -1891,12 +2811,14 @@ let TableModel = TableModel_1 = class TableModel {
|
|
|
1891
2811
|
}
|
|
1892
2812
|
return column;
|
|
1893
2813
|
}
|
|
2814
|
+
// removeColumn(column: ColumnModel<Row>) {
|
|
2815
|
+
//
|
|
2816
|
+
// }
|
|
1894
2817
|
columnTextProperties(columnTextProperties) {
|
|
1895
2818
|
this._columnTextPropertiesLookup = columnTextProperties;
|
|
1896
2819
|
}
|
|
1897
2820
|
getColumnTextProperties(column) {
|
|
1898
|
-
|
|
1899
|
-
return factory ? factory() : undefined;
|
|
2821
|
+
return this._columnTextPropertiesLookup ? this._columnTextPropertiesLookup[column.columnId] : undefined;
|
|
1900
2822
|
}
|
|
1901
2823
|
startEditSession(row) {
|
|
1902
2824
|
const rowId = this.identityOf(row);
|
|
@@ -2010,7 +2932,7 @@ __decorate([
|
|
|
2010
2932
|
TableComponent = __decorate([
|
|
2011
2933
|
Component({
|
|
2012
2934
|
selector: 'aup-table',
|
|
2013
|
-
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",
|
|
2014
2936
|
styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{flex:1}"]
|
|
2015
2937
|
}),
|
|
2016
2938
|
__metadata("design:paramtypes", [])
|
|
@@ -2185,6 +3107,73 @@ TableHeaderCellRendererComponent = __decorate([
|
|
|
2185
3107
|
__metadata("design:paramtypes", [])
|
|
2186
3108
|
], TableHeaderCellRendererComponent);
|
|
2187
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
|
+
|
|
2188
3177
|
let VerticalFocusContainerComponent = class VerticalFocusContainerComponent extends FocusContainerComponent {
|
|
2189
3178
|
constructor(focusManager) {
|
|
2190
3179
|
super(focusManager);
|
|
@@ -2308,7 +3297,18 @@ ComponentsModule = __decorate([
|
|
|
2308
3297
|
DefaultHeaderCellRendererComponent,
|
|
2309
3298
|
TableHeaderCellRendererComponent,
|
|
2310
3299
|
IconComponent,
|
|
2311
|
-
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
|
|
2312
3312
|
],
|
|
2313
3313
|
imports: [
|
|
2314
3314
|
CommonModule,
|
|
@@ -2327,7 +3327,9 @@ ComponentsModule = __decorate([
|
|
|
2327
3327
|
CdkScrollableModule,
|
|
2328
3328
|
FontAwesomeModule,
|
|
2329
3329
|
MatTooltipModule,
|
|
2330
|
-
MatAutocompleteModule
|
|
3330
|
+
MatAutocompleteModule,
|
|
3331
|
+
MatMenuModule,
|
|
3332
|
+
MatDividerModule
|
|
2331
3333
|
],
|
|
2332
3334
|
exports: [
|
|
2333
3335
|
NumberInputComponent,
|
|
@@ -2351,22 +3353,19 @@ ComponentsModule = __decorate([
|
|
|
2351
3353
|
EditRowControls,
|
|
2352
3354
|
ColumnTemplateDirective,
|
|
2353
3355
|
IconComponent,
|
|
2354
|
-
SectionHeaderComponent
|
|
3356
|
+
SectionHeaderComponent,
|
|
3357
|
+
TableRowMenuComponent,
|
|
3358
|
+
CommandGroupComponent,
|
|
3359
|
+
ToolBarComponent,
|
|
3360
|
+
CommandComponent,
|
|
3361
|
+
PopupMenuComponent,
|
|
3362
|
+
CommandFaceComponent,
|
|
3363
|
+
MoreMenuComponent,
|
|
3364
|
+
SeparatorComponent,
|
|
3365
|
+
FlexComponent
|
|
2355
3366
|
],
|
|
2356
3367
|
providers: [
|
|
2357
3368
|
FocusBindingFactory
|
|
2358
|
-
// {
|
|
2359
|
-
// provide: CELL_EDITOR_REGISTRATION, useValue: {
|
|
2360
|
-
// type: 'string',
|
|
2361
|
-
// editorClass: StringInputComponent
|
|
2362
|
-
// }, multi: true
|
|
2363
|
-
// },
|
|
2364
|
-
// {
|
|
2365
|
-
// provide: CELL_EDITOR_REGISTRATION, useValue: {
|
|
2366
|
-
// type: 'number',
|
|
2367
|
-
// editorClass: NumberInputComponent
|
|
2368
|
-
// }, multi: true
|
|
2369
|
-
// }
|
|
2370
3369
|
]
|
|
2371
3370
|
}),
|
|
2372
3371
|
__metadata("design:paramtypes", [FaIconLibrary])
|
|
@@ -2434,7 +3433,7 @@ ActivityActionsComponent = __decorate([
|
|
|
2434
3433
|
Component({
|
|
2435
3434
|
selector: 'aup-activity-actions',
|
|
2436
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",
|
|
2437
|
-
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}"]
|
|
2438
3437
|
})
|
|
2439
3438
|
], ActivityActionsComponent);
|
|
2440
3439
|
|
|
@@ -2443,12 +3442,21 @@ class Activity extends DisposableComponent {
|
|
|
2443
3442
|
constructor() {
|
|
2444
3443
|
super(...arguments);
|
|
2445
3444
|
this._busyModel = new DelegatingValueModel().withDefault(false);
|
|
3445
|
+
this._focusedModel = this.registerDisposable(new DelegatingValueModel());
|
|
2446
3446
|
this.class = 'aup-activity';
|
|
2447
3447
|
}
|
|
3448
|
+
get isFocused() {
|
|
3449
|
+
return this._focusedModel.value;
|
|
3450
|
+
}
|
|
2448
3451
|
initialise(nestedInteractionContext, activityContext) {
|
|
3452
|
+
const { chain, when } = Dsl.disposeWith(this);
|
|
2449
3453
|
assert$1.isNil(this._activityContext);
|
|
2450
3454
|
this._activityContext = activityContext;
|
|
2451
3455
|
this._interactionContext = nestedInteractionContext;
|
|
3456
|
+
this._focusedModel.setDelegate(activityContext.focused);
|
|
3457
|
+
when(this._focusedModel).becomesTruthy(() => {
|
|
3458
|
+
this.onActivityReady();
|
|
3459
|
+
});
|
|
2452
3460
|
}
|
|
2453
3461
|
get interactionContext() {
|
|
2454
3462
|
assert$1.isTruthy(this.isInitialised());
|
|
@@ -2466,6 +3474,9 @@ class Activity extends DisposableComponent {
|
|
|
2466
3474
|
get busy() {
|
|
2467
3475
|
return this._busyModel.readonly;
|
|
2468
3476
|
}
|
|
3477
|
+
get focused() {
|
|
3478
|
+
return this._focusedModel.readonly;
|
|
3479
|
+
}
|
|
2469
3480
|
busyWhile(busyModel) {
|
|
2470
3481
|
this._busyModel.setDelegate(busyModel);
|
|
2471
3482
|
}
|
|
@@ -2480,6 +3491,11 @@ __decorate([
|
|
|
2480
3491
|
HostBinding('class'),
|
|
2481
3492
|
__metadata("design:type", Object)
|
|
2482
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);
|
|
2483
3499
|
|
|
2484
3500
|
let AlertDialogComponent = class AlertDialogComponent extends Activity {
|
|
2485
3501
|
constructor(alert) {
|
|
@@ -2599,6 +3615,7 @@ class ActivityRef {
|
|
|
2599
3615
|
this.onComplete = onComplete;
|
|
2600
3616
|
this._complete = false;
|
|
2601
3617
|
this.deferredResult = Deferred.defer();
|
|
3618
|
+
this.focusedModel = new MutableValueModel();
|
|
2602
3619
|
}
|
|
2603
3620
|
isActivityRealised() {
|
|
2604
3621
|
return !!this._activity;
|
|
@@ -2610,6 +3627,12 @@ class ActivityRef {
|
|
|
2610
3627
|
assert.isTruthy(this.isActivityRealised());
|
|
2611
3628
|
return this._activity;
|
|
2612
3629
|
}
|
|
3630
|
+
setFocused(focused) {
|
|
3631
|
+
this.focusedModel.value = focused;
|
|
3632
|
+
}
|
|
3633
|
+
get focused() {
|
|
3634
|
+
return this.focusedModel.value;
|
|
3635
|
+
}
|
|
2613
3636
|
notifyActivityCreated(activity, nestedInteractionContext) {
|
|
2614
3637
|
assert.isNil(this._activity);
|
|
2615
3638
|
this._activity = activity;
|
|
@@ -2620,7 +3643,8 @@ class ActivityRef {
|
|
|
2620
3643
|
},
|
|
2621
3644
|
onCancel(error) {
|
|
2622
3645
|
self.finishActivity(deferred => deferred.reject(error));
|
|
2623
|
-
}
|
|
3646
|
+
},
|
|
3647
|
+
focused: this.focusedModel.readonly
|
|
2624
3648
|
});
|
|
2625
3649
|
}
|
|
2626
3650
|
finishActivity(resolveOrReject) {
|
|
@@ -2649,7 +3673,7 @@ let ActivityOutletComponent = class ActivityOutletComponent {
|
|
|
2649
3673
|
}
|
|
2650
3674
|
set activityRef(activityRef) {
|
|
2651
3675
|
if (this.activityRef && !this.activityRef.isComplete()) {
|
|
2652
|
-
lang$1.illegalState(
|
|
3676
|
+
lang$1.illegalState('changing activity before previous one has completed');
|
|
2653
3677
|
}
|
|
2654
3678
|
this._activityRef = activityRef;
|
|
2655
3679
|
this.loadActivity(activityRef);
|
|
@@ -2706,8 +3730,9 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
|
|
|
2706
3730
|
constructor() {
|
|
2707
3731
|
super();
|
|
2708
3732
|
this.dynamicHeight = false;
|
|
2709
|
-
this.
|
|
3733
|
+
this.activityRefs = [];
|
|
2710
3734
|
this.garbage = new GarbageCollector();
|
|
3735
|
+
this.inAnimation = new MutableValueModel(false);
|
|
2711
3736
|
}
|
|
2712
3737
|
ngOnInit() {
|
|
2713
3738
|
}
|
|
@@ -2739,6 +3764,7 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
|
|
|
2739
3764
|
registerDisposable(disposable) {
|
|
2740
3765
|
return this.garbage.registerDisposable(disposable);
|
|
2741
3766
|
}
|
|
3767
|
+
// @Trace()
|
|
2742
3768
|
dispose() {
|
|
2743
3769
|
// TODO: think about auto cancelling any outstanding activity on dispose.
|
|
2744
3770
|
// See NavigationState.Navigating for a use-case.
|
|
@@ -2749,7 +3775,7 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
|
|
|
2749
3775
|
if (!this.isActive()) {
|
|
2750
3776
|
lang$1.illegalState('no activity in progress');
|
|
2751
3777
|
}
|
|
2752
|
-
return ___default.findLast(this.
|
|
3778
|
+
return ___default.findLast(this.activityRefs, tab => !tab.isComplete());
|
|
2753
3779
|
}
|
|
2754
3780
|
/**
|
|
2755
3781
|
* Cancels the current activity and returns true the context is no longer active, false if
|
|
@@ -2783,14 +3809,14 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
|
|
|
2783
3809
|
});
|
|
2784
3810
|
this.launchActivity(activityRef);
|
|
2785
3811
|
// if this is the first activity let the interaction service know.
|
|
2786
|
-
if (this.
|
|
3812
|
+
if (this.activityRefs.length === 1) {
|
|
2787
3813
|
// console.log('Now active!!!');
|
|
2788
3814
|
this.interactionServiceApi.notifyActive(this);
|
|
2789
3815
|
}
|
|
2790
3816
|
return activityRef.activityResult;
|
|
2791
3817
|
}
|
|
2792
3818
|
getActiveActivityCount() {
|
|
2793
|
-
return this.
|
|
3819
|
+
return this.activityRefs.filter(ref => !ref.isComplete()).length;
|
|
2794
3820
|
}
|
|
2795
3821
|
/**
|
|
2796
3822
|
* Checks if this interaction context has finished an is in the process of waiting
|
|
@@ -2814,7 +3840,7 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
|
|
|
2814
3840
|
// Without this our animation done wasn't called when a single
|
|
2815
3841
|
// new activity followed a single tab activity (since we're tracking
|
|
2816
3842
|
// by activity index)
|
|
2817
|
-
this.
|
|
3843
|
+
this.activityRefs = [];
|
|
2818
3844
|
const promise = this.interactionServiceApi.notifyFinished(this);
|
|
2819
3845
|
this._deferredCleanUp = promise
|
|
2820
3846
|
.finally(() => {
|
|
@@ -2824,14 +3850,15 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
|
|
|
2824
3850
|
}
|
|
2825
3851
|
// @Trace()
|
|
2826
3852
|
launchActivity(activityRef) {
|
|
2827
|
-
const cleanedTabs = this.
|
|
2828
|
-
this.
|
|
3853
|
+
const cleanedTabs = this.activityRefs.filter(tab => !tab.isComplete());
|
|
3854
|
+
this.activityRefs = cleanedTabs.concat(activityRef);
|
|
2829
3855
|
this.synchroniseSelectedTabIndex();
|
|
2830
3856
|
}
|
|
2831
3857
|
activityIndex(index, activityRef) {
|
|
2832
3858
|
return index;
|
|
2833
3859
|
}
|
|
2834
3860
|
;
|
|
3861
|
+
// @Trace()
|
|
2835
3862
|
onAnimationFinished() {
|
|
2836
3863
|
if (this.onAnimationFinishedJob) {
|
|
2837
3864
|
this.onAnimationFinishedJob();
|
|
@@ -2841,14 +3868,20 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
|
|
|
2841
3868
|
/**
|
|
2842
3869
|
* Synchronises the selected tab index.
|
|
2843
3870
|
*/
|
|
3871
|
+
// @Trace()
|
|
2844
3872
|
synchroniseSelectedTabIndex() {
|
|
2845
3873
|
const previousIndex = this.tabs.selectedIndex;
|
|
2846
3874
|
const newIndex = this.getActiveActivityCount() - 1;
|
|
2847
3875
|
if (previousIndex !== newIndex) {
|
|
3876
|
+
this.inAnimation.value = true;
|
|
3877
|
+
this.activityRefs[newIndex].setFocused(false);
|
|
2848
3878
|
this.tabs.selectedIndex = newIndex;
|
|
2849
3879
|
this.onAnimationFinishedJob = () => {
|
|
2850
|
-
this.
|
|
2851
|
-
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
|
+
});
|
|
2852
3885
|
};
|
|
2853
3886
|
}
|
|
2854
3887
|
}
|
|
@@ -2856,6 +3889,10 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
|
|
|
2856
3889
|
return this.activityOutlets.toArray()[this.tabs.selectedIndex];
|
|
2857
3890
|
}
|
|
2858
3891
|
// @Trace()
|
|
3892
|
+
getSelectedTabIndex() {
|
|
3893
|
+
return this.tabs.selectedIndex;
|
|
3894
|
+
}
|
|
3895
|
+
// @Trace()
|
|
2859
3896
|
triggerTabSynchronisation() {
|
|
2860
3897
|
if (this.syncSelectedTabTimeout) {
|
|
2861
3898
|
clearTimeout(this.syncSelectedTabTimeout);
|
|
@@ -2878,16 +3915,10 @@ __decorate([
|
|
|
2878
3915
|
ViewChildren(ActivityOutletComponent),
|
|
2879
3916
|
__metadata("design:type", QueryList)
|
|
2880
3917
|
], ActivityContainerComponent.prototype, "activityOutlets", void 0);
|
|
2881
|
-
__decorate([
|
|
2882
|
-
Trace(),
|
|
2883
|
-
__metadata("design:type", Function),
|
|
2884
|
-
__metadata("design:paramtypes", []),
|
|
2885
|
-
__metadata("design:returntype", void 0)
|
|
2886
|
-
], ActivityContainerComponent.prototype, "dispose", null);
|
|
2887
3918
|
ActivityContainerComponent = __decorate([
|
|
2888
3919
|
Component({
|
|
2889
3920
|
selector: 'aup-activity-container',
|
|
2890
|
-
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",
|
|
2891
3922
|
styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}"]
|
|
2892
3923
|
}),
|
|
2893
3924
|
__metadata("design:paramtypes", [])
|
|
@@ -3864,13 +4895,16 @@ let PlaceComponent = PlaceComponent_1 = class PlaceComponent extends DisposableC
|
|
|
3864
4895
|
super();
|
|
3865
4896
|
this.visitModel = new MutableValueModel();
|
|
3866
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());
|
|
3867
4901
|
}
|
|
3868
4902
|
// @Trace()
|
|
3869
4903
|
initialiseVisit(visit, notifyVisitChanged) {
|
|
3870
4904
|
assert.isNil(this.visitModel.value);
|
|
3871
4905
|
const { when } = Dsl.disposeWith(this);
|
|
3872
4906
|
this.visitModel.value = visit;
|
|
3873
|
-
DebugContext.
|
|
4907
|
+
DebugContext.getOrCreate(this.visitModel).tag(`${this.placeDefinition.component.name}.visitModel`);
|
|
3874
4908
|
this.placeDefinition.getVisitParameterDefs().forEach(parameterDef => this.installBinding(parameterDef));
|
|
3875
4909
|
when.valueOf(this.visitModel).changes((current, previous) => {
|
|
3876
4910
|
notifyVisitChanged(current, previous);
|
|
@@ -3909,6 +4943,15 @@ let PlaceComponent = PlaceComponent_1 = class PlaceComponent extends DisposableC
|
|
|
3909
4943
|
get childPlaces() {
|
|
3910
4944
|
return this.placeDefinition.children.map(d => d.component);
|
|
3911
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
|
+
}
|
|
3912
4955
|
onPlaceReady() {
|
|
3913
4956
|
}
|
|
3914
4957
|
};
|
|
@@ -4910,70 +5953,6 @@ UrlService = __decorate([
|
|
|
4910
5953
|
__metadata("design:paramtypes", [Router, Location, UrlSerializer])
|
|
4911
5954
|
], UrlService);
|
|
4912
5955
|
|
|
4913
|
-
class Visit {
|
|
4914
|
-
constructor(placeDefinition, visitParameters = {}) {
|
|
4915
|
-
this.placeDefinition = placeDefinition;
|
|
4916
|
-
this.visitParameters = visitParameters;
|
|
4917
|
-
}
|
|
4918
|
-
// @Trace()
|
|
4919
|
-
getRouteId() {
|
|
4920
|
-
return this.placeDefinition.getRouteIdFrom(this);
|
|
4921
|
-
}
|
|
4922
|
-
// @Trace()
|
|
4923
|
-
hasRouteId() {
|
|
4924
|
-
return !isNil(this.getRouteId());
|
|
4925
|
-
}
|
|
4926
|
-
/**
|
|
4927
|
-
* Returns the value of the place parameter with the specified name. The parameter
|
|
4928
|
-
* name is taken from the `as` option, e.g. {as: 'aCustomName'} otherwise it is the
|
|
4929
|
-
* same as the the ValueModel property name.
|
|
4930
|
-
* @param parameterName the field name of the property model or the `as` option if specified.
|
|
4931
|
-
*/
|
|
4932
|
-
getParameter(parameterName) {
|
|
4933
|
-
return this.visitParameters[parameterName];
|
|
4934
|
-
}
|
|
4935
|
-
// @Trace()
|
|
4936
|
-
hasParameter(parameterName) {
|
|
4937
|
-
return Object.keys(this.visitParameters).includes(parameterName);
|
|
4938
|
-
}
|
|
4939
|
-
replace(parameter, value) {
|
|
4940
|
-
return new Visit(this.placeDefinition, Object.assign(Object.assign({}, this.visitParameters), { [parameter.name]: value }));
|
|
4941
|
-
}
|
|
4942
|
-
mergeRouteParameters(routeParams) {
|
|
4943
|
-
// todo: whitelist parameters.
|
|
4944
|
-
const routeParameterKeys = Object.keys(routeParams);
|
|
4945
|
-
const params = {};
|
|
4946
|
-
this.placeDefinition.getVisitParameterDefs().forEach(def => {
|
|
4947
|
-
if (def.isRouteId || def.isRouteParameter) {
|
|
4948
|
-
if (routeParameterKeys.includes(def.name)) {
|
|
4949
|
-
params[def.name] = routeParams[def.name];
|
|
4950
|
-
}
|
|
4951
|
-
}
|
|
4952
|
-
else {
|
|
4953
|
-
// copy non route params as is, but only if they already exist otherwise we'll inject nil values and break the
|
|
4954
|
-
// defaults and remember sanitisation process.
|
|
4955
|
-
const value = this.getParameter(def.name);
|
|
4956
|
-
if (this.hasParameter(def.name)) {
|
|
4957
|
-
params[def.name] = value;
|
|
4958
|
-
}
|
|
4959
|
-
}
|
|
4960
|
-
});
|
|
4961
|
-
return new Visit(this.placeDefinition, params);
|
|
4962
|
-
}
|
|
4963
|
-
hasRoutingChangedFrom(other) {
|
|
4964
|
-
const samePlace = other.placeDefinition === this.placeDefinition;
|
|
4965
|
-
const sameRouteParameters = isEqual(this.placeDefinition.getFormattedRouteParameters(this, true), this.placeDefinition.getFormattedRouteParameters(other, true));
|
|
4966
|
-
return !samePlace || !sameRouteParameters;
|
|
4967
|
-
}
|
|
4968
|
-
hasChangedFrom(other) {
|
|
4969
|
-
const sameNonRouteParameters = isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
|
|
4970
|
-
return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);
|
|
4971
|
-
}
|
|
4972
|
-
toDebugString() {
|
|
4973
|
-
return Object.keys(this.visitParameters).map(k => `${k}=${this.visitParameters[k]}`).join(",");
|
|
4974
|
-
}
|
|
4975
|
-
}
|
|
4976
|
-
|
|
4977
5956
|
let PlaceRouter = class PlaceRouter extends GarbageCollector {
|
|
4978
5957
|
constructor(angularRouter, angularLocation, interactionService, urlService, placeHistory) {
|
|
4979
5958
|
super();
|
|
@@ -5135,6 +6114,7 @@ let PlaceRouter = class PlaceRouter extends GarbageCollector {
|
|
|
5135
6114
|
get activeVisits() {
|
|
5136
6115
|
return this._activeVisits.readonly;
|
|
5137
6116
|
}
|
|
6117
|
+
// @Trace()
|
|
5138
6118
|
pushVisitChangesToRoute(previous, next) {
|
|
5139
6119
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5140
6120
|
this.placeHistory.updateVisit(next);
|
|
@@ -5231,12 +6211,6 @@ PlaceRouter.ctorParameters = () => [
|
|
|
5231
6211
|
{ type: PlaceHistory }
|
|
5232
6212
|
];
|
|
5233
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" });
|
|
5234
|
-
__decorate([
|
|
5235
|
-
Trace(),
|
|
5236
|
-
__metadata("design:type", Function),
|
|
5237
|
-
__metadata("design:paramtypes", [Visit, Visit]),
|
|
5238
|
-
__metadata("design:returntype", Promise)
|
|
5239
|
-
], PlaceRouter.prototype, "pushVisitChangesToRoute", null);
|
|
5240
6214
|
PlaceRouter = __decorate([
|
|
5241
6215
|
Injectable({
|
|
5242
6216
|
providedIn: 'root'
|
|
@@ -5248,6 +6222,70 @@ PlaceRouter = __decorate([
|
|
|
5248
6222
|
PlaceHistory])
|
|
5249
6223
|
], PlaceRouter);
|
|
5250
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
|
+
|
|
5251
6289
|
const AUP_PLACE_CONFIG = new InjectionToken('AUP_PLACE_CONFIG');
|
|
5252
6290
|
|
|
5253
6291
|
// Freezes the state of the components at the start of the animation.
|
|
@@ -5306,6 +6344,7 @@ let PlaceOutletComponent = class PlaceOutletComponent extends DisposableComponen
|
|
|
5306
6344
|
this._activePlaceModel = new MutableValueModel();
|
|
5307
6345
|
this.initialPlaceIndex = null;
|
|
5308
6346
|
this._isPushingVisitToRoute = new MutableValueModel(false);
|
|
6347
|
+
this.isVeryFirstLoad = true;
|
|
5309
6348
|
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
5310
6349
|
this.parentOutletModel = new MutableValueModel(parentOutlet);
|
|
5311
6350
|
const defaultPlaceAnimationOrder = chain(this.parentOutletModel)
|
|
@@ -5314,8 +6353,9 @@ let PlaceOutletComponent = class PlaceOutletComponent extends DisposableComponen
|
|
|
5314
6353
|
.pluckList('children')
|
|
5315
6354
|
.pluck('component');
|
|
5316
6355
|
const activatePlaceType = chain(this.activePlaceModel).map(p => p.constructor);
|
|
5317
|
-
this.
|
|
5318
|
-
.otherwise(defaultPlaceAnimationOrder)
|
|
6356
|
+
this.placesInAnimationOrder = chain(this.customPlaceAnimationOrderModel)
|
|
6357
|
+
.otherwise(defaultPlaceAnimationOrder);
|
|
6358
|
+
this.activePlaceAnimationPosition = this.placesInAnimationOrder
|
|
5319
6359
|
.reduce((placesInOrder) => {
|
|
5320
6360
|
let placeIndex = 0;
|
|
5321
6361
|
if (activatePlaceType.value) {
|
|
@@ -5326,14 +6366,16 @@ let PlaceOutletComponent = class PlaceOutletComponent extends DisposableComponen
|
|
|
5326
6366
|
}
|
|
5327
6367
|
return isNil(this.initialPlaceIndex) ? 0 : placeIndex - this.initialPlaceIndex;
|
|
5328
6368
|
}, { dependsOn: activatePlaceType });
|
|
6369
|
+
this.animationSupported = this.placesInAnimationOrder.count().isGreaterThan(0);
|
|
6370
|
+
this.animationEnabled = valueOf.all(this.animateModel, this.animationSupported).areTruthy();
|
|
5329
6371
|
// Extract our visit model from the place router.
|
|
5330
6372
|
this._activePlaceDefinition = chain(this._activePlaceModel).pluck('placeDefinition');
|
|
5331
6373
|
this.routerVisitModel = this._activePlaceDefinition.findIn(chain(placeRouter.activeVisitsByPlaceDefinition));
|
|
5332
6374
|
this.navigationInProgress = chain(this.placeRouter.navigationInProgress);
|
|
5333
|
-
when
|
|
6375
|
+
when(this.navigationInProgress).becomesFalsey(() => {
|
|
5334
6376
|
this.checkStateAndInitialise();
|
|
5335
6377
|
});
|
|
5336
|
-
when
|
|
6378
|
+
when(this.outletActivated).becomesTruthy(() => {
|
|
5337
6379
|
this.checkStateAndInitialise();
|
|
5338
6380
|
});
|
|
5339
6381
|
chain(this._activePlaceModel)
|
|
@@ -5345,14 +6387,17 @@ let PlaceOutletComponent = class PlaceOutletComponent extends DisposableComponen
|
|
|
5345
6387
|
}
|
|
5346
6388
|
// @Trace()
|
|
5347
6389
|
getAnimationOrder() {
|
|
5348
|
-
return this.
|
|
6390
|
+
return this.activePlaceAnimationPosition.value;
|
|
5349
6391
|
}
|
|
5350
6392
|
get animationDuration() {
|
|
5351
6393
|
return this.placeConfig && this.placeConfig.animationDuration ? this.placeConfig.animationDuration : '500ms';
|
|
5352
6394
|
}
|
|
5353
6395
|
// @Trace()
|
|
5354
6396
|
navigate(visit) {
|
|
5355
|
-
//
|
|
6397
|
+
// const place = this.placesInAnimationOrder.query().findMatching(p => visit.placeDefinition.component === p);
|
|
6398
|
+
// if (!place) {
|
|
6399
|
+
// lang.illegalState()
|
|
6400
|
+
// }
|
|
5356
6401
|
this.placeRouter.navigate(visit, {
|
|
5357
6402
|
relativeTo: this.parentOutlet ? this.parentOutlet.activatedRouteModel.value : null
|
|
5358
6403
|
});
|
|
@@ -5366,14 +6411,25 @@ let PlaceOutletComponent = class PlaceOutletComponent extends DisposableComponen
|
|
|
5366
6411
|
get activatedRouteModel() {
|
|
5367
6412
|
return this._activatedRouteModel.readonly;
|
|
5368
6413
|
}
|
|
5369
|
-
// @Trace()
|
|
5370
6414
|
onOutletActivated(routerOutlet, place) {
|
|
5371
6415
|
this._activatedRouteModel.value = routerOutlet.activatedRoute;
|
|
5372
6416
|
this._activePlaceModel.value = place;
|
|
6417
|
+
this.validateAnimationState(place);
|
|
5373
6418
|
this.outletActivated.value = true;
|
|
5374
6419
|
this.checkStateAndInitialise();
|
|
5375
6420
|
}
|
|
5376
|
-
|
|
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
|
+
}
|
|
5377
6433
|
onOutletDeactivated() {
|
|
5378
6434
|
this.outletActivated.value = false;
|
|
5379
6435
|
this._activePlaceModel.value = null;
|
|
@@ -5390,16 +6446,24 @@ let PlaceOutletComponent = class PlaceOutletComponent extends DisposableComponen
|
|
|
5390
6446
|
this.initialisePlace(routerVisit, activePlace);
|
|
5391
6447
|
}
|
|
5392
6448
|
}
|
|
5393
|
-
// @Trace()
|
|
5394
6449
|
initialisePlace(routerVisit, activePlace) {
|
|
5395
6450
|
const visitModel = new MutableValueModel(routerVisit);
|
|
5396
6451
|
DebugContext.tag(visitModel, `PlaceOutletComponent[${activePlace.constructor.name})].visitModel`);
|
|
5397
6452
|
activePlace.initialiseVisit(routerVisit, (current, previous) => {
|
|
5398
6453
|
this.pushVisitChangeToRoute(previous, current);
|
|
5399
6454
|
});
|
|
5400
|
-
|
|
5401
|
-
|
|
5402
|
-
|
|
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;
|
|
5403
6467
|
}
|
|
5404
6468
|
const { when, chain, valueOf } = Dsl.disposeWith(activePlace);
|
|
5405
6469
|
when.valueOf(this.routerVisitModel)
|
|
@@ -5421,8 +6485,9 @@ let PlaceOutletComponent = class PlaceOutletComponent extends DisposableComponen
|
|
|
5421
6485
|
}
|
|
5422
6486
|
// @Trace()
|
|
5423
6487
|
animationDone() {
|
|
5424
|
-
if (this.
|
|
5425
|
-
this.
|
|
6488
|
+
if (this.onAnimationFinishedJob) {
|
|
6489
|
+
this.onAnimationFinishedJob();
|
|
6490
|
+
this.onAnimationFinishedJob = undefined;
|
|
5426
6491
|
}
|
|
5427
6492
|
}
|
|
5428
6493
|
};
|
|
@@ -5456,10 +6521,22 @@ __decorate([
|
|
|
5456
6521
|
ViewChild('routeOutlet', { static: true }),
|
|
5457
6522
|
__metadata("design:type", RouterOutlet)
|
|
5458
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);
|
|
5459
6536
|
PlaceOutletComponent = __decorate([
|
|
5460
6537
|
Component({
|
|
5461
6538
|
selector: 'aup-place-outlet',
|
|
5462
|
-
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",
|
|
5463
6540
|
animations: [LEFT_RIGHT_PLACE_ANIMATION],
|
|
5464
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}"]
|
|
5465
6542
|
}),
|
|
@@ -5486,10 +6563,10 @@ let AbstractPlaceNavigationComponent = class AbstractPlaceNavigationComponent ex
|
|
|
5486
6563
|
});
|
|
5487
6564
|
this.activePlaceDefinition = chain(this._activePlaceComponent).pluck('placeDefinition');
|
|
5488
6565
|
}
|
|
5489
|
-
|
|
6566
|
+
getNavigationFace(placeDef) {
|
|
5490
6567
|
const navItem = placeDef.getPlaceData('nav');
|
|
5491
6568
|
return {
|
|
5492
|
-
|
|
6569
|
+
text: () => navItem ? navItem.title() : placeDef.searchPlaceData(['navTitle', 'title']),
|
|
5493
6570
|
tooltip: () => navItem && navItem.tooltip ? navItem.tooltip() : placeDef.getPlaceData('navTooltip', null),
|
|
5494
6571
|
icon: () => navItem && navItem.icon ? navItem.icon() : placeDef.getPlaceData('navIcon', null)
|
|
5495
6572
|
};
|
|
@@ -5524,7 +6601,7 @@ __decorate([
|
|
|
5524
6601
|
__metadata("design:type", Function),
|
|
5525
6602
|
__metadata("design:paramtypes", [PlaceDefinition]),
|
|
5526
6603
|
__metadata("design:returntype", Object)
|
|
5527
|
-
], AbstractPlaceNavigationComponent.prototype, "
|
|
6604
|
+
], AbstractPlaceNavigationComponent.prototype, "getNavigationFace", null);
|
|
5528
6605
|
AbstractPlaceNavigationComponent = __decorate([
|
|
5529
6606
|
Component({
|
|
5530
6607
|
template: ''
|
|
@@ -5585,29 +6662,12 @@ ListPlaceNavComponent.ctorParameters = () => [
|
|
|
5585
6662
|
ListPlaceNavComponent = __decorate([
|
|
5586
6663
|
Component({
|
|
5587
6664
|
selector: 'aup-list-place-nav',
|
|
5588
|
-
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",
|
|
5589
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)}"]
|
|
5590
6667
|
}),
|
|
5591
6668
|
__metadata("design:paramtypes", [PlaceRouter])
|
|
5592
6669
|
], ListPlaceNavComponent);
|
|
5593
6670
|
|
|
5594
|
-
let TabbedPlaceNavigationComponent = class TabbedPlaceNavigationComponent extends AbstractPlaceNavigationComponent {
|
|
5595
|
-
constructor(placeRouter) {
|
|
5596
|
-
super(placeRouter);
|
|
5597
|
-
}
|
|
5598
|
-
};
|
|
5599
|
-
TabbedPlaceNavigationComponent.ctorParameters = () => [
|
|
5600
|
-
{ type: PlaceRouter }
|
|
5601
|
-
];
|
|
5602
|
-
TabbedPlaceNavigationComponent = __decorate([
|
|
5603
|
-
Component({
|
|
5604
|
-
selector: 'aup-tabbed-place-navigation',
|
|
5605
|
-
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",
|
|
5606
|
-
styles: [""]
|
|
5607
|
-
}),
|
|
5608
|
-
__metadata("design:paramtypes", [PlaceRouter])
|
|
5609
|
-
], TabbedPlaceNavigationComponent);
|
|
5610
|
-
|
|
5611
6671
|
/**
|
|
5612
6672
|
* @example
|
|
5613
6673
|
* // Usage
|
|
@@ -5646,7 +6706,7 @@ TabbedPlaceNavigationComponent = __decorate([
|
|
|
5646
6706
|
* (at)Place({
|
|
5647
6707
|
* path: 'myPlace',
|
|
5648
6708
|
* data: {
|
|
5649
|
-
* nav: I18n.places.myPlace.nav
|
|
6709
|
+
* nav: I18n.places.myPlace.nav
|
|
5650
6710
|
* }
|
|
5651
6711
|
* })
|
|
5652
6712
|
*/
|
|
@@ -5681,12 +6741,29 @@ __decorate([
|
|
|
5681
6741
|
SidePlaceNavigationComponent = __decorate([
|
|
5682
6742
|
Component({
|
|
5683
6743
|
selector: 'aup-side-place-navigation',
|
|
5684
|
-
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",
|
|
5685
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)}"]
|
|
5686
6746
|
}),
|
|
5687
6747
|
__metadata("design:paramtypes", [Router, PlaceRouter])
|
|
5688
6748
|
], SidePlaceNavigationComponent);
|
|
5689
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
|
+
|
|
5690
6767
|
let PlaceModule = class PlaceModule {
|
|
5691
6768
|
};
|
|
5692
6769
|
PlaceModule = __decorate([
|
|
@@ -6133,8 +7210,7 @@ function installMechanics(prototype, propertyKey, backingModel, tagPrefix, isEmp
|
|
|
6133
7210
|
binding: null
|
|
6134
7211
|
};
|
|
6135
7212
|
const tag = `${tagPrefix}(${prototype.constructor.name}.${propertyKey.toString()})`;
|
|
6136
|
-
DebugContext.
|
|
6137
|
-
Logger.get(mechanics.backingModel).tag(tag);
|
|
7213
|
+
DebugContext.getOrCreate(mechanics.backingModel).tag(tag);
|
|
6138
7214
|
Object.defineProperty(prototype, propertyKey, {
|
|
6139
7215
|
get: function () {
|
|
6140
7216
|
return mechanics.backingModel;
|
|
@@ -6196,5 +7272,5 @@ function VisitParameterList(options) {
|
|
|
6196
7272
|
* Generated bundle index. Do not edit.
|
|
6197
7273
|
*/
|
|
6198
7274
|
|
|
6199
|
-
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, 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, 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,
|
|
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 };
|
|
6200
7276
|
//# sourceMappingURL=coolon-angular-ui-powerups.js.map
|