@coolon/angular-ui-powerups 16.1.0-aplpha.189 → 16.1.0-aplpha.2
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/README.md +0 -4
- package/assets/activities/activities.scss +6 -8
- package/assets/activities/input-activities.scss +6 -14
- package/assets/form.scss +23 -77
- package/assets/icons.scss +1 -2
- package/assets/interaction/editor/inline-string-editor.scss +0 -4
- package/assets/interaction.scss +1 -1
- package/assets/styles.scss +0 -4
- package/assets/table.scss +30 -55
- package/assets/tabs.scss +2 -15
- package/esm2022/lib/angular-ui-powerups.module.mjs +9 -9
- package/esm2022/lib/animations/slide-animations.mjs +10 -15
- package/esm2022/lib/components/alignment.mjs +1 -1
- package/esm2022/lib/components/busy-overlay/busy-overlay.component.mjs +12 -7
- package/esm2022/lib/components/cards/abstract-card-container.component.mjs +7 -30
- package/esm2022/lib/components/cards/card-container/card-container.component.mjs +6 -6
- package/esm2022/lib/components/cards/card-stack/card-stack.component.mjs +81 -0
- package/esm2022/lib/components/commands/command/command.component.mjs +33 -35
- package/esm2022/lib/components/commands/command-face/command-face.component.mjs +5 -13
- package/esm2022/lib/components/commands/command-face.mjs +11 -12
- package/esm2022/lib/components/commands/flex.component.mjs +4 -4
- package/esm2022/lib/components/commands/group/command-container.mjs +1 -1
- package/esm2022/lib/components/commands/group/popup-aware.component.mjs +8 -31
- package/esm2022/lib/components/commands/group/popup-container.mjs +1 -1
- package/esm2022/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +25 -27
- package/esm2022/lib/components/commands/group/popup-menu/more-menu.component.mjs +22 -13
- package/esm2022/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +12 -17
- package/esm2022/lib/components/commands/group/popup-menu/popup-menu.component.mjs +23 -14
- package/esm2022/lib/components/commands/group/tool-bar/tool-bar.component.mjs +19 -12
- package/esm2022/lib/components/commands/separator.component.mjs +14 -8
- package/esm2022/lib/components/components.module.mjs +59 -79
- package/esm2022/lib/components/disposable-component.mjs +42 -38
- package/esm2022/lib/components/empty-state/empty-state.component.mjs +9 -5
- package/esm2022/lib/components/exports.mjs +7 -15
- package/esm2022/lib/components/focus-container/focus-container.component.mjs +4 -4
- package/esm2022/lib/components/focusable.component.mjs +5 -5
- package/esm2022/lib/components/forms/abstract-input.component.mjs +18 -66
- package/esm2022/lib/components/forms/abstract-list-input.component.mjs +4 -4
- package/esm2022/lib/components/forms/abstract-value-input.component.mjs +4 -4
- package/esm2022/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +13 -12
- package/esm2022/lib/components/forms/checkbox-input/checkbox-input.component.mjs +8 -10
- package/esm2022/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +10 -10
- package/esm2022/lib/components/forms/number-input/number-input.component.mjs +13 -90
- package/esm2022/lib/components/forms/password-input/password-input.component.mjs +7 -44
- package/esm2022/lib/components/forms/select-input/select-input.component.mjs +16 -17
- package/esm2022/lib/components/forms/string-input/string-input.component.mjs +16 -35
- package/esm2022/lib/components/forms/text-input/text-input.component.mjs +8 -12
- package/esm2022/lib/components/icon/icon.component.mjs +7 -10
- package/esm2022/lib/components/labelled-value/labelled-value.component.mjs +4 -4
- package/esm2022/lib/components/loading-container/loading-container.component.mjs +12 -7
- package/esm2022/lib/components/noop/noop.component.mjs +7 -5
- package/esm2022/lib/components/resize-aware.component.mjs +27 -64
- package/esm2022/lib/components/scroll-container/scroll-container.component.mjs +5 -5
- package/esm2022/lib/components/section-header/section-header.component.mjs +4 -4
- package/esm2022/lib/components/switch-case/switch-case.component.mjs +17 -15
- package/esm2022/lib/components/tables/abstract-table-model.mjs +63 -112
- package/esm2022/lib/components/tables/abstract-table.component.mjs +8 -22
- package/esm2022/lib/components/tables/column/column-list-model.mjs +44 -0
- package/esm2022/lib/components/tables/column/column-model.mjs +10 -21
- package/esm2022/lib/components/tables/column/column-template/column-template.directive.mjs +4 -4
- package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +5 -5
- package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +5 -5
- package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +5 -6
- package/esm2022/lib/components/tables/column/property-column-model.mjs +5 -5
- package/esm2022/lib/components/tables/column/selection-column-model.mjs +13 -35
- package/esm2022/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.mjs +7 -7
- package/esm2022/lib/components/tables/editor/edit-session.mjs +2 -4
- package/esm2022/lib/components/tables/editor/editable-cell-renderer.mjs +1 -1
- package/esm2022/lib/components/tables/filter/column-text-search-formatter.mjs +1 -1
- package/esm2022/lib/components/tables/filter/enable-cell-text-search.decorator.mjs +2 -3
- package/esm2022/lib/components/tables/filter/table-filter-model.mjs +9 -14
- package/esm2022/lib/components/tables/filter/text-search-predicate.mjs +2 -16
- package/esm2022/lib/components/tables/paginator/paginator.component.mjs +5 -5
- package/esm2022/lib/components/tables/renderer/cell-editors.mjs +1 -1
- package/esm2022/lib/components/tables/renderer/cell-portal-ref.mjs +7 -23
- package/esm2022/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +8 -6
- package/esm2022/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.mjs +7 -5
- package/esm2022/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.mjs +8 -18
- package/esm2022/lib/components/tables/renderer/selection-cell/selection-cell.component.mjs +8 -11
- package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +51 -161
- package/esm2022/lib/components/tables/renderer/table-cell/table-cell.component.mjs +9 -9
- package/esm2022/lib/components/tables/renderer/table-header-cell/table-header-cell.component.mjs +7 -5
- package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.mjs +33 -0
- package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +60 -0
- package/esm2022/lib/components/tables/table/table-model.mjs +3 -12
- package/esm2022/lib/components/tables/table/table.component.mjs +64 -42
- package/esm2022/lib/components/tables/table-row-menu/table-row-menu.component.mjs +84 -0
- package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +4 -5
- package/esm2022/lib/components/tables/tree-table/flattened-tree-list-model.mjs +1 -1
- package/esm2022/lib/components/tables/tree-table/tree-expansion-model.mjs +1 -1
- package/esm2022/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.mjs +7 -5
- package/esm2022/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +5 -5
- package/esm2022/lib/components/tables/tree-table/tree-label-column-model.mjs +4 -4
- package/esm2022/lib/components/tables/tree-table/tree-table-component.mjs +8 -15
- package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +7 -4
- package/esm2022/lib/components/text/markdown/markdown.component.mjs +6 -6
- package/esm2022/lib/components/track.mjs +1 -1
- package/esm2022/lib/components/types/bounds.class.mjs +1 -1
- package/esm2022/lib/components/types/loadable.mjs +2 -0
- package/esm2022/lib/components/vertical-focus-container/vertical-focus-container.component.mjs +4 -4
- package/esm2022/lib/directives/command.directive.mjs +14 -25
- package/esm2022/lib/directives/directives.module.mjs +10 -10
- package/esm2022/lib/directives/exports.mjs +1 -2
- package/esm2022/lib/directives/focus-binding-factory.mjs +4 -4
- package/esm2022/lib/directives/focus-binding.directive.mjs +5 -5
- package/esm2022/lib/directives/focus-binding.mjs +1 -1
- package/esm2022/lib/directives/garbage-collector.directive.mjs +4 -5
- package/esm2022/lib/directives/highlight-text-model.directive.mjs +4 -4
- package/esm2022/lib/directives/highlight.pipe.mjs +11 -12
- package/esm2022/lib/interaction/abstract-interaction-context.mjs +7 -6
- package/esm2022/lib/interaction/activity-ref.mjs +2 -2
- package/esm2022/lib/interaction/activity.mjs +23 -23
- package/esm2022/lib/interaction/alert.mjs +2 -2
- package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +10 -13
- package/esm2022/lib/interaction/components/abstract-dialog.component.mjs +45 -4
- package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +17 -29
- package/esm2022/lib/interaction/components/activity-body/activity-body.component.mjs +4 -10
- package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +19 -50
- package/esm2022/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs +19 -55
- package/esm2022/lib/interaction/components/activity-title/activity-title.component.mjs +6 -6
- package/esm2022/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.mjs +3 -3
- package/esm2022/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +4 -4
- package/esm2022/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.mjs +4 -4
- package/esm2022/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.mjs +4 -4
- package/esm2022/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +4 -4
- package/esm2022/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +4 -4
- package/esm2022/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +12 -12
- package/esm2022/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +10 -6
- package/esm2022/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +10 -6
- package/esm2022/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +11 -9
- package/esm2022/lib/interaction/components/editors/edit-context.mjs +1 -1
- package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-editor-model.mjs +2 -2
- package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +9 -9
- package/esm2022/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +9 -25
- package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +5 -6
- package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +38 -44
- package/esm2022/lib/interaction/components/input-activities/string-input-activity.mjs +12 -14
- package/esm2022/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.mjs +5 -6
- package/esm2022/lib/interaction/confirm.mjs +2 -26
- package/esm2022/lib/interaction/directives/interaction-context-trigger-for.directive.mjs +6 -6
- package/esm2022/lib/interaction/exports.mjs +1 -6
- package/esm2022/lib/interaction/in-place-interaction-context.mjs +1 -1
- package/esm2022/lib/interaction/interaction-context.mjs +2 -3
- package/esm2022/lib/interaction/interaction.module.mjs +36 -44
- package/esm2022/lib/interaction/route-synchronisation-adapter.mjs +1 -1
- package/esm2022/lib/interaction/services/interaction-service-routing-adapter.mjs +4 -4
- package/esm2022/lib/interaction/services/interaction.service.mjs +10 -22
- package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +10 -9
- package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +5 -23
- package/esm2022/lib/interaction/services/modal-interaction-context.factory.mjs +1 -1
- package/esm2022/lib/place/components/abstract-place-navigation.component.mjs +5 -15
- package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +9 -8
- package/esm2022/lib/place/components/not-authorised-notice/not-authorised-notice.component.mjs +7 -5
- package/esm2022/lib/place/components/place-outlet/place-outlet.component.mjs +12 -10
- package/esm2022/lib/place/components/place-outlet/route-animations.mjs +1 -1
- package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +10 -15
- package/esm2022/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +7 -7
- package/esm2022/lib/place/guards/consolidated-param-map.mjs +4 -4
- package/esm2022/lib/place/guards/noop-auth-guard.service.mjs +7 -5
- package/esm2022/lib/place/guards/place.guard.mjs +9 -10
- package/esm2022/lib/place/navigation/place-component-deactivation-handler.mjs +2 -2
- package/esm2022/lib/place/navigation/session/abstract-pop-state-navigation.mjs +1 -1
- package/esm2022/lib/place/navigation/session/event-cleanup/event-clean-up-session.mjs +1 -1
- package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.mjs +1 -1
- package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.mjs +1 -1
- package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.mjs +1 -1
- package/esm2022/lib/place/navigation/session/interactions/navigating-during-interaction.mjs +2 -2
- package/esm2022/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.mjs +1 -1
- package/esm2022/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.mjs +3 -3
- package/esm2022/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +6 -3
- package/esm2022/lib/place/navigation/session/navigating.mjs +2 -2
- package/esm2022/lib/place/navigation/session/navigation-context.mjs +1 -1
- package/esm2022/lib/place/navigation/session/navigation-session.mjs +2 -2
- package/esm2022/lib/place/navigation/session/pop-state-navigation.mjs +1 -1
- package/esm2022/lib/place/place-access-guard.mjs +1 -1
- package/esm2022/lib/place/place-auth-service.mjs +6 -7
- package/esm2022/lib/place/place-component.mjs +58 -54
- package/esm2022/lib/place/place-config.mjs +1 -1
- package/esm2022/lib/place/place-definition.mjs +4 -15
- package/esm2022/lib/place/place-history.mjs +8 -6
- package/esm2022/lib/place/place-router.mjs +68 -84
- package/esm2022/lib/place/place.decorator.mjs +2 -2
- package/esm2022/lib/place/place.module.mjs +16 -16
- package/esm2022/lib/place/route/formatter.mjs +2 -2
- package/esm2022/lib/place/route/json-types.mjs +1 -1
- package/esm2022/lib/place/route/parameter-decorators.mjs +50 -54
- package/esm2022/lib/place/route/parameter-definition.mjs +2 -6
- package/esm2022/lib/place/route/parameter-sanitiser.mjs +2 -7
- package/esm2022/lib/place/route/parameter-snapshot.mjs +1 -1
- package/esm2022/lib/place/route/visit-segment-sanitiser.mjs +1 -1
- package/esm2022/lib/place/url-service.mjs +4 -4
- package/esm2022/lib/place/url-snapshot.mjs +3 -3
- package/esm2022/lib/place/visit-segment.mjs +2 -2
- package/esm2022/lib/place/visit.mjs +2 -2
- package/esm2022/lib/services/markdown/markdown.service.mjs +7 -5
- package/esm2022/lib/services/markdown/pill-plugin.mjs +3 -1
- package/esm2022/lib/services/visibility-service.mjs +7 -7
- package/fesm2022/coolon-angular-ui-powerups.mjs +3003 -4341
- package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
- package/lib/angular-ui-powerups.module.d.ts +5 -5
- package/lib/animations/slide-animations.d.ts +0 -1
- package/lib/components/busy-overlay/busy-overlay.component.d.ts +4 -1
- package/lib/components/cards/abstract-card-container.component.d.ts +3 -6
- package/lib/components/cards/card-container/card-container.component.d.ts +1 -1
- package/lib/components/cards/card-stack/card-stack.component.d.ts +68 -0
- package/lib/components/commands/command/command.component.d.ts +10 -9
- package/lib/components/commands/command-face/command-face.component.d.ts +0 -2
- package/lib/components/commands/command-face.d.ts +9 -8
- package/lib/components/commands/group/popup-aware.component.d.ts +4 -9
- package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +5 -5
- package/lib/components/commands/group/popup-menu/more-menu.component.d.ts +4 -2
- package/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.d.ts +1 -3
- package/lib/components/commands/group/popup-menu/popup-menu.component.d.ts +4 -2
- package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +7 -3
- package/lib/components/commands/separator.component.d.ts +4 -2
- package/lib/components/components.module.d.ts +53 -57
- package/lib/components/disposable-component.d.ts +9 -17
- package/lib/components/empty-state/empty-state.component.d.ts +4 -1
- package/lib/components/exports.d.ts +6 -14
- package/lib/components/forms/abstract-input.component.d.ts +7 -16
- package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +2 -2
- package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +0 -2
- package/lib/components/forms/number-input/number-input.component.d.ts +4 -16
- package/lib/components/forms/password-input/password-input.component.d.ts +1 -7
- package/lib/components/forms/select-input/select-input.component.d.ts +3 -4
- package/lib/components/forms/string-input/string-input.component.d.ts +1 -7
- package/lib/components/forms/text-input/text-input.component.d.ts +0 -3
- package/lib/components/loading-container/loading-container.component.d.ts +4 -1
- package/lib/components/noop/noop.component.d.ts +1 -0
- package/lib/components/resize-aware.component.d.ts +6 -25
- package/lib/components/switch-case/switch-case.component.d.ts +7 -6
- package/lib/components/tables/abstract-table-model.d.ts +25 -50
- package/lib/components/tables/abstract-table.component.d.ts +5 -6
- package/lib/components/tables/column/column-list-model.d.ts +13 -0
- package/lib/components/tables/column/column-model.d.ts +4 -8
- package/lib/components/tables/column/custom-template-column-model.d.ts +2 -3
- package/lib/components/tables/column/custom-value-column-model.d.ts +2 -3
- package/lib/components/tables/column/editor-controls-column-model.d.ts +2 -3
- package/lib/components/tables/column/list-propery-column-model.d.ts +2 -3
- package/lib/components/tables/column/property-column-model.d.ts +2 -3
- package/lib/components/tables/column/selection-column-model.d.ts +4 -10
- package/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.d.ts +3 -3
- package/lib/components/tables/editor/edit-session.d.ts +1 -1
- package/lib/components/tables/editor/editable-cell-renderer.d.ts +1 -1
- package/lib/components/tables/filter/enable-cell-text-search.decorator.d.ts +1 -1
- package/lib/components/tables/filter/text-search-predicate.d.ts +0 -9
- package/lib/components/tables/renderer/cell-portal-ref.d.ts +14 -21
- package/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.d.ts +1 -0
- package/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.d.ts +1 -0
- package/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.d.ts +1 -2
- package/lib/components/tables/renderer/table-body/table-body.component.d.ts +19 -43
- package/lib/components/tables/renderer/table-cell/table-cell.component.d.ts +3 -2
- package/lib/components/tables/renderer/table-header-cell/table-header-cell.component.d.ts +1 -0
- package/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.d.ts +15 -0
- package/lib/components/tables/renderer/{table-custom-more-menu/table-custom-more-menu.component.d.ts → table-more-menu/table-more-menu.component.d.ts} +8 -9
- package/lib/components/tables/table/table-model.d.ts +4 -4
- package/lib/components/tables/table/table.component.d.ts +11 -15
- package/lib/components/tables/table-row-menu/table-row-menu.component.d.ts +28 -0
- package/lib/components/tables/tree-table/tree-expansion-model.d.ts +2 -2
- package/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.d.ts +1 -0
- package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +1 -1
- package/lib/components/tables/tree-table/tree-label-column-model.d.ts +2 -3
- package/lib/components/tables/tree-table/tree-table-component.d.ts +2 -5
- package/lib/components/tables/tree-table/tree-table-model.d.ts +5 -4
- package/lib/components/text/markdown/markdown.component.d.ts +1 -1
- package/lib/components/types/loadable.d.ts +5 -0
- package/lib/directives/command.directive.d.ts +5 -7
- package/lib/directives/directives.module.d.ts +5 -5
- package/lib/directives/exports.d.ts +0 -1
- package/lib/interaction/abstract-interaction-context.d.ts +1 -1
- package/lib/interaction/activity-ref.d.ts +2 -2
- package/lib/interaction/activity.d.ts +7 -7
- package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +1 -2
- package/lib/interaction/components/abstract-dialog.component.d.ts +14 -5
- package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +9 -12
- package/lib/interaction/components/activity-body/activity-body.component.d.ts +1 -2
- package/lib/interaction/components/activity-container/activity-container.component.d.ts +5 -11
- package/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.d.ts +5 -4
- package/lib/interaction/components/activity-title/activity-title.component.d.ts +1 -1
- package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +1 -6
- package/lib/interaction/components/editors/edit-context.d.ts +1 -1
- package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +4 -6
- package/lib/interaction/components/input-activities/string-input-activity.d.ts +1 -1
- package/lib/interaction/confirm.d.ts +0 -4
- package/lib/interaction/directives/interaction-context-trigger-for.directive.d.ts +3 -3
- package/lib/interaction/exports.d.ts +0 -5
- package/lib/interaction/interaction-context.d.ts +1 -7
- package/lib/interaction/interaction.module.d.ts +33 -35
- package/lib/interaction/services/interaction-service-routing-adapter.d.ts +2 -2
- package/lib/interaction/services/interaction.service.d.ts +1 -2
- package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +3 -2
- package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +3 -4
- package/lib/place/components/abstract-place-navigation.component.d.ts +0 -1
- package/lib/place/components/not-authorised-notice/not-authorised-notice.component.d.ts +1 -0
- package/lib/place/components/place-outlet/place-outlet.component.d.ts +4 -3
- package/lib/place/components/side-place-navigation/side-place-navigation.component.d.ts +1 -2
- package/lib/place/guards/noop-auth-guard.service.d.ts +1 -0
- package/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.d.ts +1 -0
- package/lib/place/place-auth-service.d.ts +4 -4
- package/lib/place/place-component.d.ts +16 -8
- package/lib/place/place-definition.d.ts +0 -2
- package/lib/place/place-history.d.ts +1 -0
- package/lib/place/place-router.d.ts +5 -10
- package/lib/place/place.decorator.d.ts +1 -1
- package/lib/place/place.module.d.ts +8 -8
- package/lib/place/route/json-types.d.ts +3 -1
- package/lib/place/route/parameter-decorators.d.ts +4 -3
- package/lib/place/route/parameter-definition.d.ts +2 -2
- package/lib/place/route/parameter-sanitiser.d.ts +0 -7
- package/lib/place/visit-segment.d.ts +4 -4
- package/lib/place/visit.d.ts +2 -2
- package/lib/services/markdown/markdown.service.d.ts +1 -0
- package/lib/services/visibility-service.d.ts +1 -1
- package/package.json +19 -18
- package/assets/draw.scss +0 -20
- package/assets/layout.scss +0 -3
- package/assets/place.scss +0 -31
- package/esm2022/lib/components/commands/button-renderer/button-renderer.component.mjs +0 -115
- package/esm2022/lib/components/file/file-download/file-download.component.mjs +0 -89
- package/esm2022/lib/components/forms/form-field.mjs +0 -2
- package/esm2022/lib/components/forms/search-input/search-input.component.mjs +0 -33
- package/esm2022/lib/components/loadable-component.mjs +0 -69
- package/esm2022/lib/components/tables/column/column-manager.mjs +0 -81
- package/esm2022/lib/components/tables/column/column-order-manager.mjs +0 -19
- package/esm2022/lib/components/tables/footer/footer-row-model.mjs +0 -38
- package/esm2022/lib/components/tables/renderer/abstract-cell-renderer.mjs +0 -7
- package/esm2022/lib/components/tables/renderer/table-action-column/menu-builder.mjs +0 -2
- package/esm2022/lib/components/tables/renderer/table-action-column/table-action-column.component.mjs +0 -153
- package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.mjs +0 -45
- package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu.component.mjs +0 -71
- package/esm2022/lib/components/tables/renderer/table-footer-row/table-footer-row.component.mjs +0 -30
- package/esm2022/lib/directives/resize-observer.directive.mjs +0 -40
- package/esm2022/lib/interaction/activity-context.mjs +0 -4
- package/esm2022/lib/interaction/components/alert-renderer/alert-renderer.component.mjs +0 -55
- package/esm2022/lib/interaction/components/confirm-renderer/confirm-renderer.component.mjs +0 -54
- package/esm2022/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.mjs +0 -134
- package/esm2022/lib/interaction/interaction-context-provider.mjs +0 -17
- package/lib/components/commands/button-renderer/button-renderer.component.d.ts +0 -30
- package/lib/components/file/file-download/file-download.component.d.ts +0 -45
- package/lib/components/forms/form-field.d.ts +0 -5
- package/lib/components/forms/search-input/search-input.component.d.ts +0 -10
- package/lib/components/loadable-component.d.ts +0 -20
- package/lib/components/tables/column/column-manager.d.ts +0 -19
- package/lib/components/tables/column/column-order-manager.d.ts +0 -20
- package/lib/components/tables/footer/footer-row-model.d.ts +0 -22
- package/lib/components/tables/renderer/abstract-cell-renderer.d.ts +0 -6
- package/lib/components/tables/renderer/table-action-column/menu-builder.d.ts +0 -7
- package/lib/components/tables/renderer/table-action-column/table-action-column.component.d.ts +0 -42
- package/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.d.ts +0 -19
- package/lib/components/tables/renderer/table-footer-row/table-footer-row.component.d.ts +0 -11
- package/lib/directives/resize-observer.directive.d.ts +0 -16
- package/lib/interaction/activity-context.d.ts +0 -9
- package/lib/interaction/components/alert-renderer/alert-renderer.component.d.ts +0 -17
- package/lib/interaction/components/confirm-renderer/confirm-renderer.component.d.ts +0 -15
- package/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.d.ts +0 -53
- package/lib/interaction/interaction-context-provider.d.ts +0 -11
package/package.json
CHANGED
|
@@ -1,30 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coolon/angular-ui-powerups",
|
|
3
|
-
"version": "16.1.0-aplpha.
|
|
3
|
+
"version": "16.1.0-aplpha.2",
|
|
4
|
+
"schematics": "./schematics/collection.json",
|
|
4
5
|
"peerDependencies": {
|
|
5
|
-
"@angular/animations": "^16.2.
|
|
6
|
-
"@angular/common": "^16.2.
|
|
7
|
-
"@angular/core": "^16.2.
|
|
8
|
-
"@angular/cdk": "^16.2.
|
|
9
|
-
"@angular/forms": "^16.2.
|
|
10
|
-
"@angular/material": "^16.2.
|
|
11
|
-
"@angular/platform-browser": "^16.2.
|
|
12
|
-
"@angular/
|
|
13
|
-
"@
|
|
14
|
-
"@
|
|
15
|
-
"@coolon/pectin": "^5.0.0-alpha.94",
|
|
16
|
-
"fast-typescript-memoize": "^1.1.1",
|
|
6
|
+
"@angular/animations": "^16.2.1",
|
|
7
|
+
"@angular/common": "^16.2.1",
|
|
8
|
+
"@angular/core": "^16.2.1",
|
|
9
|
+
"@angular/cdk": "^16.2.1",
|
|
10
|
+
"@angular/forms": "^16.2.1",
|
|
11
|
+
"@angular/material": "^16.2.1",
|
|
12
|
+
"@angular/platform-browser": "^16.2.1",
|
|
13
|
+
"@angular/router": "^16.2.1",
|
|
14
|
+
"@coolon/pectin": "^5.0.0-alpha.0",
|
|
15
|
+
"@typescript-plus/fast-memoize-decorator": "^0.2.1",
|
|
17
16
|
"lodash-es": "^4.17.21",
|
|
18
17
|
"marked": "4.0.10",
|
|
19
18
|
"reflect-metadata": "^0.1.13",
|
|
20
19
|
"resize-observer-polyfill": "^1.5.1",
|
|
21
20
|
"typescript-string-enums": "^1.0.0",
|
|
22
21
|
"json5": "^2.1.0",
|
|
23
|
-
"immer": ">=
|
|
22
|
+
"immer": ">=7.0.15",
|
|
24
23
|
"escape-string-regexp": "^5.0.0",
|
|
25
|
-
"@coolon/typescript-utilities": "^5.0.0-alpha.
|
|
26
|
-
"
|
|
27
|
-
"
|
|
24
|
+
"@coolon/typescript-utilities": "^5.0.0-alpha.1",
|
|
25
|
+
"ts-morph": "9.1.0",
|
|
26
|
+
"@angular/flex-layout": "15.0.0-beta.42",
|
|
27
|
+
"@teppeis/multimaps": "2.0.0",
|
|
28
|
+
"zone.js": "0.13.1"
|
|
28
29
|
},
|
|
29
30
|
"optionalDependencies": {
|
|
30
31
|
"@fortawesome/fontawesome-free": "^6.0.0"
|
|
@@ -46,4 +47,4 @@
|
|
|
46
47
|
}
|
|
47
48
|
},
|
|
48
49
|
"sideEffects": false
|
|
49
|
-
}
|
|
50
|
+
}
|
package/assets/draw.scss
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
mat-drawer-container {
|
|
2
|
-
background-color: white;
|
|
3
|
-
&.flex, &[flex] {
|
|
4
|
-
flex: 1;
|
|
5
|
-
::ng-deep {
|
|
6
|
-
.mat-drawer-inner-container {
|
|
7
|
-
display:flex;
|
|
8
|
-
flex-direction: column;
|
|
9
|
-
align-items: stretch;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
mat-drawer-content {
|
|
14
|
-
display:flex;
|
|
15
|
-
flex-direction: column;
|
|
16
|
-
align-items: stretch;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
}
|
package/assets/layout.scss
DELETED
package/assets/place.scss
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
@use 'sass:map';
|
|
2
|
-
@use '@angular/material' as mat;
|
|
3
|
-
|
|
4
|
-
@mixin apply-theme($color-config, $typography-config) {
|
|
5
|
-
|
|
6
|
-
//// Define a dark theme
|
|
7
|
-
//$dark-theme: mat.define-dark-theme((
|
|
8
|
-
// color: (
|
|
9
|
-
// primary: mat.define-palette(mat.$indigo-palette),
|
|
10
|
-
// accent: mat.define-palette(mat.$pink-palette, A200, A100, A400),
|
|
11
|
-
// warn: map.get($color-config, "warn"),
|
|
12
|
-
// ),
|
|
13
|
-
// //color: (
|
|
14
|
-
// // primary: map.get($color-config, "primary"),
|
|
15
|
-
// // accent: map.get($color-config, "accent"),
|
|
16
|
-
// // warn: map.get($color-config, "warn"),
|
|
17
|
-
// //),
|
|
18
|
-
// // Only include `typography` and `density` in the default dark theme.
|
|
19
|
-
// typography: $typography-config,
|
|
20
|
-
// density: 0,
|
|
21
|
-
//));
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
//aup-side-place-navigation {
|
|
25
|
-
// @include mat.all-component-themes($dark-theme);
|
|
26
|
-
// background-color: var(--mdc-elevated-card-container-color);
|
|
27
|
-
//
|
|
28
|
-
//}
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { Component, HostBinding, Input, ViewChild } from '@angular/core';
|
|
3
|
-
import { Dsl, ListModel, Proxify, proxify, StoreInListModel, StoreInValueModel, ValueModel } from "@coolon/pectin";
|
|
4
|
-
import { isEmpty } from "lodash-es";
|
|
5
|
-
import { HorizontalAlignment } from "../../alignment";
|
|
6
|
-
import { CommandFace as CommandFaceUtils } from '../command-face';
|
|
7
|
-
import { PopupAwareComponent } from "../group/popup-aware.component";
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/common";
|
|
10
|
-
import * as i2 from "@angular/material/button";
|
|
11
|
-
import * as i3 from "@angular/material/tooltip";
|
|
12
|
-
import * as i4 from "@angular/material/menu";
|
|
13
|
-
import * as i5 from "../command-face/command-face.component";
|
|
14
|
-
export class ButtonRendererComponent extends PopupAwareComponent {
|
|
15
|
-
#faces$_accessor_storage = proxify((ListModel));
|
|
16
|
-
get faces$() { return this.#faces$_accessor_storage; }
|
|
17
|
-
set faces$(value) { this.#faces$_accessor_storage = value; }
|
|
18
|
-
#faces_accessor_storage;
|
|
19
|
-
get faces() { return this.#faces_accessor_storage; }
|
|
20
|
-
set faces(value) { this.#faces_accessor_storage = value; }
|
|
21
|
-
#enabled$_accessor_storage = proxify((ValueModel));
|
|
22
|
-
get enabled$() { return this.#enabled$_accessor_storage; }
|
|
23
|
-
set enabled$(value) { this.#enabled$_accessor_storage = value; }
|
|
24
|
-
#enabled_accessor_storage = true;
|
|
25
|
-
get enabled() { return this.#enabled_accessor_storage; }
|
|
26
|
-
set enabled(value) { this.#enabled_accessor_storage = value; }
|
|
27
|
-
#busy$_accessor_storage = proxify((ValueModel));
|
|
28
|
-
get busy$() { return this.#busy$_accessor_storage; }
|
|
29
|
-
set busy$(value) { this.#busy$_accessor_storage = value; }
|
|
30
|
-
#busy_accessor_storage;
|
|
31
|
-
get busy() { return this.#busy_accessor_storage; }
|
|
32
|
-
set busy(value) { this.#busy_accessor_storage = value; }
|
|
33
|
-
alignFace = HorizontalAlignment.CENTER;
|
|
34
|
-
forceRenderAsButton = false;
|
|
35
|
-
matControl;
|
|
36
|
-
buttonStyle$;
|
|
37
|
-
color$;
|
|
38
|
-
activeFace$;
|
|
39
|
-
iconOnly$;
|
|
40
|
-
tooltip$;
|
|
41
|
-
CommandFaceUtils = CommandFaceUtils;
|
|
42
|
-
constructor() {
|
|
43
|
-
super();
|
|
44
|
-
const { chain, when } = Dsl.disposeWith(this);
|
|
45
|
-
this.activeFace$ = chain(this.faces$).first();
|
|
46
|
-
this.buttonStyle$ = chain(this.activeFace$).map(f => CommandFaceUtils.getStyleOf(f));
|
|
47
|
-
this.color$ = chain(this.activeFace$).map(f => CommandFaceUtils.getColorOf(f));
|
|
48
|
-
this.tooltip$ = chain(this.activeFace$).map(f => CommandFaceUtils.getTooltipOf(f));
|
|
49
|
-
this.iconOnly$ = chain(this.faces$).select(face => {
|
|
50
|
-
return isEmpty(CommandFaceUtils.getTextOf(face)) && !isEmpty(CommandFaceUtils.getIconOf(face));
|
|
51
|
-
}).count().equals(chain(this.faces$).count());
|
|
52
|
-
}
|
|
53
|
-
get renderAsMenuItem() {
|
|
54
|
-
return this.inPopup && !this.forceRenderAsButton;
|
|
55
|
-
}
|
|
56
|
-
focus() {
|
|
57
|
-
this.matControl.focus();
|
|
58
|
-
}
|
|
59
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ButtonRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
60
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ButtonRendererComponent, selector: "aup-button-renderer", inputs: { faces$: "faces$", faces: "faces", enabled$: "enabled$", enabled: "enabled", busy$: "busy$", busy: "busy", alignFace: "alignFace", forceRenderAsButton: "forceRenderAsButton" }, host: { properties: { "class": "this.alignFace", "class.in-popup": "this.renderAsMenuItem" } }, viewQueries: [{ propertyName: "matControl", first: true, predicate: ["button"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!renderAsMenuItem\">\n <ng-container *ngIf=\"iconOnly$.value\">\n <button #button mat-icon-button [color]=\"color$.value\" [disabled]=\"!enabled\" [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngIf=\"!iconOnly$.value\">\n <ng-container [ngSwitch]=\"buttonStyle$.value\">\n <ng-container *ngSwitchCase=\"CommandFaceUtils.Style.STROKED\">\n <button #button mat-stroked-button [color]=\"color$.value\" [disabled]=\"!enabled\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFaceUtils.Style.RAISED\">\n <button #button mat-raised-button [color]=\"color$.value\" [disabled]=\"!enabled\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <button #button mat-button [color]=\"color$.value\" [disabled]=\"!enabled\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"renderAsMenuItem\">\n <button #button mat-menu-item [disabled]=\"!enabled\" [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n</ng-container>\n", styles: [":host{display:inline-flex;flex-direction:row;justify-content:stretch}:host.in-popup{display:contents}:host button{flex:1}:host.centered button{text-align:center}:host.start button{text-align:start}:host.end button{text-align:end}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "component", type: i5.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
|
|
61
|
-
}
|
|
62
|
-
__decorate([
|
|
63
|
-
Proxify(),
|
|
64
|
-
__metadata("design:type", ListModel)
|
|
65
|
-
], ButtonRendererComponent.prototype, "faces$", null);
|
|
66
|
-
__decorate([
|
|
67
|
-
StoreInListModel(),
|
|
68
|
-
__metadata("design:type", Array)
|
|
69
|
-
], ButtonRendererComponent.prototype, "faces", null);
|
|
70
|
-
__decorate([
|
|
71
|
-
Proxify(),
|
|
72
|
-
__metadata("design:type", ValueModel)
|
|
73
|
-
], ButtonRendererComponent.prototype, "enabled$", null);
|
|
74
|
-
__decorate([
|
|
75
|
-
StoreInValueModel(),
|
|
76
|
-
__metadata("design:type", Boolean)
|
|
77
|
-
], ButtonRendererComponent.prototype, "enabled", null);
|
|
78
|
-
__decorate([
|
|
79
|
-
Proxify(),
|
|
80
|
-
__metadata("design:type", ValueModel)
|
|
81
|
-
], ButtonRendererComponent.prototype, "busy$", null);
|
|
82
|
-
__decorate([
|
|
83
|
-
StoreInValueModel(),
|
|
84
|
-
__metadata("design:type", Boolean)
|
|
85
|
-
], ButtonRendererComponent.prototype, "busy", null);
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ButtonRendererComponent, decorators: [{
|
|
87
|
-
type: Component,
|
|
88
|
-
args: [{ selector: 'aup-button-renderer', template: "<ng-container *ngIf=\"!renderAsMenuItem\">\n <ng-container *ngIf=\"iconOnly$.value\">\n <button #button mat-icon-button [color]=\"color$.value\" [disabled]=\"!enabled\" [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngIf=\"!iconOnly$.value\">\n <ng-container [ngSwitch]=\"buttonStyle$.value\">\n <ng-container *ngSwitchCase=\"CommandFaceUtils.Style.STROKED\">\n <button #button mat-stroked-button [color]=\"color$.value\" [disabled]=\"!enabled\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFaceUtils.Style.RAISED\">\n <button #button mat-raised-button [color]=\"color$.value\" [disabled]=\"!enabled\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <button #button mat-button [color]=\"color$.value\" [disabled]=\"!enabled\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"renderAsMenuItem\">\n <button #button mat-menu-item [disabled]=\"!enabled\" [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </button>\n</ng-container>\n", styles: [":host{display:inline-flex;flex-direction:row;justify-content:stretch}:host.in-popup{display:contents}:host button{flex:1}:host.centered button{text-align:center}:host.start button{text-align:start}:host.end button{text-align:end}\n"] }]
|
|
89
|
-
}], ctorParameters: function () { return []; }, propDecorators: { faces$: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}], faces: [{
|
|
92
|
-
type: Input
|
|
93
|
-
}], enabled$: [{
|
|
94
|
-
type: Input
|
|
95
|
-
}], enabled: [{
|
|
96
|
-
type: Input
|
|
97
|
-
}], busy$: [{
|
|
98
|
-
type: Input
|
|
99
|
-
}], busy: [{
|
|
100
|
-
type: Input
|
|
101
|
-
}], alignFace: [{
|
|
102
|
-
type: Input
|
|
103
|
-
}, {
|
|
104
|
-
type: HostBinding,
|
|
105
|
-
args: ["class"]
|
|
106
|
-
}], forceRenderAsButton: [{
|
|
107
|
-
type: Input
|
|
108
|
-
}], matControl: [{
|
|
109
|
-
type: ViewChild,
|
|
110
|
-
args: ["button"]
|
|
111
|
-
}], renderAsMenuItem: [{
|
|
112
|
-
type: HostBinding,
|
|
113
|
-
args: ["class.in-popup"]
|
|
114
|
-
}] } });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvY29tbWFuZHMvYnV0dG9uLXJlbmRlcmVyL2J1dHRvbi1yZW5kZXJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2NvbW1hbmRzL2J1dHRvbi1yZW5kZXJlci9idXR0b24tcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJdkUsT0FBTyxFQUdMLEdBQUcsRUFDSCxTQUFTLEVBQ1QsT0FBTyxFQUNQLE9BQU8sRUFDUCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLFVBQVUsRUFFWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDbEMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsSUFBSSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7O0FBT25FLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxtQkFBbUI7SUFHckQsMkJBQWlDLE9BQU8sQ0FBQyxDQUFBLFNBQXNCLENBQUEsQ0FBQyxDQUFDO0lBQWpFLElBQUEsTUFBTSw0Q0FBMkQ7SUFBakUsSUFBQSxNQUFNLGtEQUEyRDtJQUdqRSx3QkFBcUI7SUFBckIsSUFBQSxLQUFLLDJDQUFnQjtJQUFyQixJQUFB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QUFpQixFQUFFOzttREFDTjsyRkFsQlosdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHFCQUFxQjswRUFPdEIsTUFBTTtzQkFEZCxLQUFLO2dCQUlHLEtBQUs7c0JBRGIsS0FBSztnQkFJRyxRQUFRO3NCQURoQixLQUFLO2dCQUlHLE9BQU87c0JBRGYsS0FBSztnQkFJRyxLQUFLO3NCQURiLEtBQUs7Z0JBSUcsSUFBSTtzQkFEWixLQUFLO2dCQUtOLFNBQVM7c0JBRlIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxPQUFPO2dCQUlwQixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxTQUFTO3VCQUFDLFFBQVE7Z0JBNkJmLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRCdXR0b259IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcbmltcG9ydCB7VGhlbWVQYWxldHRlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZVwiO1xuaW1wb3J0IHtNYXRNZW51SXRlbX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcbmltcG9ydCB7XG4gIEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW4sXG4gIENvbW1hbmRGYWNlLFxuICBEc2wsXG4gIExpc3RNb2RlbCxcbiAgUHJveGlmeSxcbiAgcHJveGlmeSxcbiAgU3RvcmVJbkxpc3RNb2RlbCxcbiAgU3RvcmVJblZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7aXNFbXB0eX0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHtIb3Jpem9udGFsQWxpZ25tZW50fSBmcm9tIFwiLi4vLi4vYWxpZ25tZW50XCI7XG5pbXBvcnQge0NvbW1hbmRGYWNlIGFzIENvbW1hbmRGYWNlVXRpbHN9IGZyb20gJy4uL2NvbW1hbmQtZmFjZSc7XG5pbXBvcnQge1BvcHVwQXdhcmVDb21wb25lbnR9IGZyb20gXCIuLi9ncm91cC9wb3B1cC1hd2FyZS5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLWJ1dHRvbi1yZW5kZXJlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24tcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24tcmVuZGVyZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uUmVuZGVyZXJDb21wb25lbnQgZXh0ZW5kcyBQb3B1cEF3YXJlQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBAUHJveGlmeSgpXG4gIGFjY2Vzc29yIGZhY2VzJDogTGlzdE1vZGVsPENvbW1hbmRGYWNlPiA9IHByb3hpZnkoTGlzdE1vZGVsPENvbW1hbmRGYWNlPik7XG5cbiAgQElucHV0KCkgQFN0b3JlSW5MaXN0TW9kZWwoKVxuICBhY2Nlc3NvciBmYWNlczogQ29tbWFuZEZhY2VbXTtcblxuICBASW5wdXQoKSBAUHJveGlmeSgpXG4gIGFjY2Vzc29yIGVuYWJsZWQkOiBWYWx1ZU1vZGVsPGJvb2xlYW4+ID0gcHJveGlmeShWYWx1ZU1vZGVsPGJvb2xlYW4+KTtcblxuICBASW5wdXQoKSBAU3RvcmVJblZhbHVlTW9kZWwoKVxuICBhY2Nlc3NvciBlbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKSBAUHJveGlmeSgpXG4gIGFjY2Vzc29yIGJ1c3kkOiBWYWx1ZU1vZGVsPGJvb2xlYW4+ID0gcHJveGlmeShWYWx1ZU1vZGVsPGJvb2xlYW4+KTtcblxuICBASW5wdXQoKSBAU3RvcmVJblZhbHVlTW9kZWwoKVxuICBhY2Nlc3NvciBidXN5OiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZyhcImNsYXNzXCIpXG4gIGFsaWduRmFjZTogSG9yaXpvbnRhbEFsaWdubWVudCA9IEhvcml6b250YWxBbGlnbm1lbnQuQ0VOVEVSO1xuXG4gIEBJbnB1dCgpXG4gIGZvcmNlUmVuZGVyQXNCdXR0b24gPSBmYWxzZVxuXG4gIEBWaWV3Q2hpbGQoXCJidXR0b25cIilcbiAgbWF0Q29udHJvbDogTWF0TWVudUl0ZW0gfCBNYXRCdXR0b247XG5cblxuICByZWFkb25seSBidXR0b25TdHlsZSQ6IFZhbHVlTW9kZWxDaGFpbjxzdHJpbmc+O1xuICByZWFkb25seSBjb2xvciQ6IFZhbHVlTW9kZWxDaGFpbjxUaGVtZVBhbGV0dGU+XG4gIHByaXZhdGUgYWN0aXZlRmFjZSQ6IFZhbHVlTW9kZWxDaGFpbjxDb21tYW5kRmFjZT47XG5cbiAgcmVhZG9ubHkgaWNvbk9ubHkkOiBCb29sZWFuVmFsdWVNb2RlbENoYWluO1xuICByZWFkb25seSB0b29sdGlwJDogVmFsdWVNb2RlbENoYWluPHN0cmluZz47XG5cbiAgQ29tbWFuZEZhY2VVdGlscyA9IENvbW1hbmRGYWNlVXRpbHNcblxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3Qge2NoYWluLCB3aGVufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcblxuICAgIHRoaXMuYWN0aXZlRmFjZSQgPSBjaGFpbih0aGlzLmZhY2VzJCkuZmlyc3QoKTtcbiAgICB0aGlzLmJ1dHRvblN0eWxlJCA9IGNoYWluKHRoaXMuYWN0aXZlRmFjZSQpLm1hcChmID0+IENvbW1hbmRGYWNlVXRpbHMuZ2V0U3R5bGVPZihmKSk7XG4gICAgdGhpcy5jb2xvciQgPSBjaGFpbih0aGlzLmFjdGl2ZUZhY2UkKS5tYXAoZiA9PiBDb21tYW5kRmFjZVV0aWxzLmdldENvbG9yT2YoZikpO1xuICAgIHRoaXMudG9vbHRpcCQgPSBjaGFpbih0aGlzLmFjdGl2ZUZhY2UkKS5tYXAoZiA9PiBDb21tYW5kRmFjZVV0aWxzLmdldFRvb2x0aXBPZihmKSk7XG4gICAgdGhpcy5pY29uT25seSQgPSBjaGFpbih0aGlzLmZhY2VzJCkuc2VsZWN0KGZhY2UgPT4ge1xuICAgICAgcmV0dXJuIGlzRW1wdHkoQ29tbWFuZEZhY2VVdGlscy5nZXRUZXh0T2YoZmFjZSkpICYmICFpc0VtcHR5KENvbW1hbmRGYWNlVXRpbHMuZ2V0SWNvbk9mKGZhY2UpKTtcbiAgICB9KS5jb3VudCgpLmVxdWFscyhjaGFpbih0aGlzLmZhY2VzJCkuY291bnQoKSk7XG5cbiAgfVxuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmluLXBvcHVwXCIpXG4gIGdldCByZW5kZXJBc01lbnVJdGVtKCkge1xuICAgIHJldHVybiB0aGlzLmluUG9wdXAgJiYgIXRoaXMuZm9yY2VSZW5kZXJBc0J1dHRvbjtcbiAgfVxuXG4gIGZvY3VzKCkge1xuICAgIHRoaXMubWF0Q29udHJvbC5mb2N1cygpO1xuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhcmVuZGVyQXNNZW51SXRlbVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaWNvbk9ubHkkLnZhbHVlXCI+XG4gICAgPGJ1dHRvbiAjYnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbY29sb3JdPVwiY29sb3IkLnZhbHVlXCIgW2Rpc2FibGVkXT1cIiFlbmFibGVkXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcCQudmFsdWVcIj5cbiAgICAgIDxhdXAtY29tbWFuZC1mYWNlIFtjbGFzc109XCJhbGlnbkZhY2VcIiBbZmFjZXNdPVwiZmFjZXMkLnZhbHVlXCI+PC9hdXAtY29tbWFuZC1mYWNlPlxuICAgIDwvYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpY29uT25seSQudmFsdWVcIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJidXR0b25TdHlsZSQudmFsdWVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkNvbW1hbmRGYWNlVXRpbHMuU3R5bGUuU1RST0tFRFwiPlxuICAgICAgICA8YnV0dG9uICNidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIFtjb2xvcl09XCJjb2xvciQudmFsdWVcIiBbZGlzYWJsZWRdPVwiIWVuYWJsZWRcIlxuICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAkLnZhbHVlXCI+XG4gICAgICAgICAgPGF1cC1jb21tYW5kLWZhY2UgW2NsYXNzXT1cImFsaWduRmFjZVwiIFtmYWNlc109XCJmYWNlcyQudmFsdWVcIj48L2F1cC1jb21tYW5kLWZhY2U+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJDb21tYW5kRmFjZVV0aWxzLlN0eWxlLlJBSVNFRFwiPlxuICAgICAgICA8YnV0dG9uICNidXR0b24gbWF0LXJhaXNlZC1idXR0b24gW2NvbG9yXT1cImNvbG9yJC52YWx1ZVwiIFtkaXNhYmxlZF09XCIhZW5hYmxlZFwiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcCQudmFsdWVcIj5cbiAgICAgICAgICA8YXVwLWNvbW1hbmQtZmFjZSBbY2xhc3NdPVwiYWxpZ25GYWNlXCIgW2ZhY2VzXT1cImZhY2VzJC52YWx1ZVwiPjwvYXVwLWNvbW1hbmQtZmFjZT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgPGJ1dHRvbiAjYnV0dG9uIG1hdC1idXR0b24gW2NvbG9yXT1cImNvbG9yJC52YWx1ZVwiIFtkaXNhYmxlZF09XCIhZW5hYmxlZFwiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcCQudmFsdWVcIj5cbiAgICAgICAgICA8YXVwLWNvbW1hbmQtZmFjZSBbY2xhc3NdPVwiYWxpZ25GYWNlXCIgW2ZhY2VzXT1cImZhY2VzJC52YWx1ZVwiPjwvYXVwLWNvbW1hbmQtZmFjZT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlbmRlckFzTWVudUl0ZW1cIj5cbiAgPGJ1dHRvbiAjYnV0dG9uIG1hdC1tZW51LWl0ZW0gW2Rpc2FibGVkXT1cIiFlbmFibGVkXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcCQudmFsdWVcIj5cbiAgICA8YXVwLWNvbW1hbmQtZmFjZSBbY2xhc3NdPVwiYWxpZ25GYWNlXCIgW2ZhY2VzXT1cImZhY2VzJC52YWx1ZVwiPjwvYXVwLWNvbW1hbmQtZmFjZT5cbiAgPC9idXR0b24+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import { Component, HostBinding, Input } from '@angular/core';
|
|
4
|
-
import { Dsl, proxify, Proxify, StoreInValueModel, ValueModel } from '@coolon/pectin';
|
|
5
|
-
import { HorizontalAlignment } from '../../alignment';
|
|
6
|
-
import { CommandFace as CommandFaceUtil } from '../../commands/command-face';
|
|
7
|
-
import { PopupAwareComponent } from '../../commands/group/popup-aware.component';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/common";
|
|
10
|
-
import * as i2 from "@angular/material/button";
|
|
11
|
-
import * as i3 from "@angular/material/tooltip";
|
|
12
|
-
import * as i4 from "@angular/material/menu";
|
|
13
|
-
import * as i5 from "../../commands/command-face/command-face.component";
|
|
14
|
-
// TODO: this is an ugly copy and paste hack from the Command component.
|
|
15
|
-
/**
|
|
16
|
-
*
|
|
17
|
-
*/
|
|
18
|
-
export class FileDownloadComponent extends PopupAwareComponent {
|
|
19
|
-
CommandFaceUtil = CommandFaceUtil;
|
|
20
|
-
#download$_accessor_storage = proxify((ValueModel));
|
|
21
|
-
get download$() { return this.#download$_accessor_storage; }
|
|
22
|
-
set download$(value) { this.#download$_accessor_storage = value; }
|
|
23
|
-
#download_accessor_storage;
|
|
24
|
-
get download() { return this.#download_accessor_storage; }
|
|
25
|
-
set download(value) { this.#download_accessor_storage = value; }
|
|
26
|
-
alignFace = HorizontalAlignment.CENTER;
|
|
27
|
-
faces$;
|
|
28
|
-
buttonStyle$;
|
|
29
|
-
color$;
|
|
30
|
-
tooltip$;
|
|
31
|
-
document = this.inject(DOCUMENT);
|
|
32
|
-
constructor() {
|
|
33
|
-
super();
|
|
34
|
-
const { chain } = Dsl.disposeWith(this);
|
|
35
|
-
this.faces$ = chain(this.download$).map(it => {
|
|
36
|
-
return it.icon ? it : {
|
|
37
|
-
...it,
|
|
38
|
-
icon() {
|
|
39
|
-
return 'mat:file_download';
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
}).mapToList();
|
|
43
|
-
this.buttonStyle$ = chain(this.download$).map(f => CommandFaceUtil.getStyleOf(f));
|
|
44
|
-
this.color$ = chain(this.download$).map(f => CommandFaceUtil.getColorOf(f));
|
|
45
|
-
this.tooltip$ = chain(this.download$).map(f => CommandFaceUtil.getTooltipOf(f));
|
|
46
|
-
}
|
|
47
|
-
downloadFile() {
|
|
48
|
-
// Create an invisible link attached to the main document body, not the menu
|
|
49
|
-
const link = this.document.createElement('a');
|
|
50
|
-
link.href = this.download$.value.url;
|
|
51
|
-
link.download = this.download$.value.saveAs;
|
|
52
|
-
document.body.appendChild(link);
|
|
53
|
-
link.click();
|
|
54
|
-
document.body.removeChild(link);
|
|
55
|
-
}
|
|
56
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: FileDownloadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
57
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: FileDownloadComponent, selector: "aup-file-download", inputs: { download$: "download$", download: "download", alignFace: "alignFace" }, host: { properties: { "class": "this.alignFace" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!inPopup\">\n <ng-container [ngSwitch]=\"buttonStyle$.value\">\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.STROKED\">\n <a mat-stroked-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.RAISED\">\n <a mat-raised-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <a mat-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n </ng-container>\n\n</ng-container>\n\n<ng-container *ngIf=\"inPopup\">\n <a mat-menu-item (click)=\"downloadFile()\" [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n</ng-container>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "component", type: i5.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
|
|
58
|
-
}
|
|
59
|
-
__decorate([
|
|
60
|
-
Proxify(),
|
|
61
|
-
__metadata("design:type", ValueModel)
|
|
62
|
-
], FileDownloadComponent.prototype, "download$", null);
|
|
63
|
-
__decorate([
|
|
64
|
-
StoreInValueModel(),
|
|
65
|
-
__metadata("design:type", Object)
|
|
66
|
-
], FileDownloadComponent.prototype, "download", null);
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: FileDownloadComponent, decorators: [{
|
|
68
|
-
type: Component,
|
|
69
|
-
args: [{ selector: 'aup-file-download', template: "<ng-container *ngIf=\"!inPopup\">\n <ng-container [ngSwitch]=\"buttonStyle$.value\">\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.STROKED\">\n <a mat-stroked-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFaceUtil.Style.RAISED\">\n <a mat-raised-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <a mat-button [href]=\"download?.url\" [download]=\"download?.saveAs\"\n [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n </ng-container>\n </ng-container>\n\n</ng-container>\n\n<ng-container *ngIf=\"inPopup\">\n <a mat-menu-item (click)=\"downloadFile()\" [matTooltip]=\"tooltip$.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces$.value\"></aup-command-face>\n </a>\n</ng-container>\n\n" }]
|
|
70
|
-
}], ctorParameters: function () { return []; }, propDecorators: { download$: [{
|
|
71
|
-
type: Input
|
|
72
|
-
}], download: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}], alignFace: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}, {
|
|
77
|
-
type: HostBinding,
|
|
78
|
-
args: ['class']
|
|
79
|
-
}] } });
|
|
80
|
-
(function (FileDownloadComponent) {
|
|
81
|
-
function createInfo(options) {
|
|
82
|
-
return {
|
|
83
|
-
...options,
|
|
84
|
-
...options.face
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
FileDownloadComponent.createInfo = createInfo;
|
|
88
|
-
})(FileDownloadComponent || (FileDownloadComponent = {}));
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kb3dubG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUvZmlsZS1kb3dubG9hZC9maWxlLWRvd25sb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS9maWxlLWRvd25sb2FkL2ZpbGUtZG93bmxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUVMLEdBQUcsRUFFSCxPQUFPLEVBQ1AsT0FBTyxFQUNQLGlCQUFpQixFQUNqQixVQUFVLEVBRVgsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxJQUFJLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7O0FBRWpGLHdFQUF3RTtBQUN4RTs7R0FFRztBQU1ILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxtQkFBbUI7SUFFekMsZUFBZSxHQUFHLGVBQWUsQ0FBQztJQUc1Qyw4QkFBNEQsT0FBTyxDQUFDLENBQUEsVUFBOEMsQ0FBQSxDQUFDLENBQUM7SUFBcEgsSUFBQSxTQUFTLCtDQUEyRztJQUFwSCxJQUFBLFNBQVMscURBQTJHO0lBR3BILDJCQUE2QztJQUE3QyxJQUFBLFFBQVEsOENBQXFDO0lBQTdDLElBQUEsUUFBUSxvREFBcUM7SUFJdEQsU0FBUyxHQUF3QixtQkFBbUIsQ0FBQyxNQUFNLENBQUM7SUFFbkQsTUFBTSxDQUFnRDtJQUU1QyxZQUFZLENBQTBCO0lBQ3RDLE1BQU0sQ0FBZ0M7SUFDdEMsUUFBUSxDQUEwQjtJQUVsQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUVwRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUMzQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BCLEdBQUcsRUFBRTtnQkFDTCxJQUFJO29CQUNGLE9BQU8sbUJBQW1CLENBQUM7Z0JBQzdCLENBQUM7YUFDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsWUFBWTtRQUNWLDRFQUE0RTtRQUM1RSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUU1QyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO3VHQWhEVSxxQkFBcUI7MkZBQXJCLHFCQUFxQix1TkMxQmxDLDJ3Q0E4QkE7O0FEQ1c7SUFEQyxPQUFPLEVBQUU7OEJBQ0MsVUFBVTtzREFBK0Y7QUFHcEg7SUFEQyxpQkFBaUIsRUFBRTs7cURBQ3lCOzJGQVIzQyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1COzBFQVNwQixTQUFTO3NCQURqQixLQUFLO2dCQUlHLFFBQVE7c0JBRGhCLEtBQUs7Z0JBS04sU0FBUztzQkFGUixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLE9BQU87O0FBeUN0QixXQUFpQixxQkFBcUI7SUFFcEMsU0FBZ0IsVUFBVSxDQUFDLE9BQTJEO1FBQ3BGLE9BQU87WUFDTCxHQUFHLE9BQU87WUFDVixHQUFHLE9BQU8sQ0FBQyxJQUFJO1NBQ2hCLENBQUM7SUFDSixDQUFDO0lBTGUsZ0NBQVUsYUFLekIsQ0FBQTtBQU1ILENBQUMsRUFiZ0IscUJBQXFCLEtBQXJCLHFCQUFxQixRQWFyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7XG4gIENvbW1hbmRGYWNlLFxuICBEc2wsXG4gIExpc3RNb2RlbCxcbiAgcHJveGlmeSxcbiAgUHJveGlmeSxcbiAgU3RvcmVJblZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBIb3Jpem9udGFsQWxpZ25tZW50IH0gZnJvbSAnLi4vLi4vYWxpZ25tZW50JztcbmltcG9ydCB7IENvbW1hbmRGYWNlIGFzIENvbW1hbmRGYWNlVXRpbCB9IGZyb20gJy4uLy4uL2NvbW1hbmRzL2NvbW1hbmQtZmFjZSc7XG5pbXBvcnQgeyBQb3B1cEF3YXJlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tbWFuZHMvZ3JvdXAvcG9wdXAtYXdhcmUuY29tcG9uZW50JztcblxuLy8gVE9ETzogdGhpcyBpcyBhbiB1Z2x5IGNvcHkgYW5kIHBhc3RlIGhhY2sgZnJvbSB0aGUgQ29tbWFuZCBjb21wb25lbnQuXG4vKipcbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1maWxlLWRvd25sb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICdmaWxlLWRvd25sb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2ZpbGUtZG93bmxvYWQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlRG93bmxvYWRDb21wb25lbnQgZXh0ZW5kcyBQb3B1cEF3YXJlQ29tcG9uZW50IHtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgQ29tbWFuZEZhY2VVdGlsID0gQ29tbWFuZEZhY2VVdGlsO1xuXG4gIEBJbnB1dCgpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3IgZG93bmxvYWQkOiBWYWx1ZU1vZGVsPEZpbGVEb3dubG9hZENvbXBvbmVudC5Eb3dubG9hZEluZm8+ID0gcHJveGlmeShWYWx1ZU1vZGVsPEZpbGVEb3dubG9hZENvbXBvbmVudC5Eb3dubG9hZEluZm8+KTtcblxuICBASW5wdXQoKSBAU3RvcmVJblZhbHVlTW9kZWwoKVxuICBhY2Nlc3NvciBkb3dubG9hZDogRmlsZURvd25sb2FkQ29tcG9uZW50LkRvd25sb2FkSW5mbztcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgYWxpZ25GYWNlOiBIb3Jpem9udGFsQWxpZ25tZW50ID0gSG9yaXpvbnRhbEFsaWdubWVudC5DRU5URVI7XG5cbiAgcmVhZG9ubHkgZmFjZXMkOiBMaXN0TW9kZWw8RmlsZURvd25sb2FkQ29tcG9uZW50LkRvd25sb2FkSW5mbz47XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGJ1dHRvblN0eWxlJDogVmFsdWVNb2RlbENoYWluPHN0cmluZz47XG4gIHByb3RlY3RlZCByZWFkb25seSBjb2xvciQ6IFZhbHVlTW9kZWxDaGFpbjxUaGVtZVBhbGV0dGU+O1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG9vbHRpcCQ6IFZhbHVlTW9kZWxDaGFpbjxzdHJpbmc+O1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBkb2N1bWVudCA9IHRoaXMuaW5qZWN0KERPQ1VNRU5UKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcblxuICAgIHRoaXMuZmFjZXMkID0gY2hhaW4odGhpcy5kb3dubG9hZCQpLm1hcChpdCA9PiB7XG4gICAgICByZXR1cm4gaXQuaWNvbiA/IGl0IDoge1xuICAgICAgICAuLi5pdCxcbiAgICAgICAgaWNvbigpIHtcbiAgICAgICAgICByZXR1cm4gJ21hdDpmaWxlX2Rvd25sb2FkJztcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9KS5tYXBUb0xpc3QoKTtcbiAgICB0aGlzLmJ1dHRvblN0eWxlJCA9IGNoYWluKHRoaXMuZG93bmxvYWQkKS5tYXAoZiA9PiBDb21tYW5kRmFjZVV0aWwuZ2V0U3R5bGVPZihmKSk7XG4gICAgdGhpcy5jb2xvciQgPSBjaGFpbih0aGlzLmRvd25sb2FkJCkubWFwKGYgPT4gQ29tbWFuZEZhY2VVdGlsLmdldENvbG9yT2YoZikpO1xuICAgIHRoaXMudG9vbHRpcCQgPSBjaGFpbih0aGlzLmRvd25sb2FkJCkubWFwKGYgPT4gQ29tbWFuZEZhY2VVdGlsLmdldFRvb2x0aXBPZihmKSk7XG4gIH1cblxuICBkb3dubG9hZEZpbGUoKSB7XG4gICAgLy8gQ3JlYXRlIGFuIGludmlzaWJsZSBsaW5rIGF0dGFjaGVkIHRvIHRoZSBtYWluIGRvY3VtZW50IGJvZHksIG5vdCB0aGUgbWVudVxuICAgIGNvbnN0IGxpbmsgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBsaW5rLmhyZWYgPSB0aGlzLmRvd25sb2FkJC52YWx1ZS51cmw7XG4gICAgbGluay5kb3dubG9hZCA9IHRoaXMuZG93bmxvYWQkLnZhbHVlLnNhdmVBcztcblxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XG4gICAgbGluay5jbGljaygpO1xuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XG4gIH1cblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIEZpbGVEb3dubG9hZENvbXBvbmVudCB7XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUluZm8ob3B0aW9uczogeyBmYWNlOiBDb21tYW5kRmFjZSwgdXJsOiBzdHJpbmcsIHNhdmVBczogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnMuZmFjZVxuICAgIH07XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIERvd25sb2FkSW5mbyBleHRlbmRzIENvbW1hbmRGYWNlIHtcbiAgICBzYXZlQXM6IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpblBvcHVwXCI+XG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImJ1dHRvblN0eWxlJC52YWx1ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkNvbW1hbmRGYWNlVXRpbC5TdHlsZS5TVFJPS0VEXCI+XG4gICAgICA8YSBtYXQtc3Ryb2tlZC1idXR0b24gW2hyZWZdPVwiZG93bmxvYWQ/LnVybFwiIFtkb3dubG9hZF09XCJkb3dubG9hZD8uc2F2ZUFzXCJcbiAgICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAkLnZhbHVlXCI+XG4gICAgICAgIDxhdXAtY29tbWFuZC1mYWNlIFtjbGFzc109XCJhbGlnbkZhY2VcIiBbZmFjZXNdPVwiZmFjZXMkLnZhbHVlXCI+PC9hdXAtY29tbWFuZC1mYWNlPlxuICAgICAgPC9hPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkNvbW1hbmRGYWNlVXRpbC5TdHlsZS5SQUlTRURcIj5cbiAgICAgIDxhIG1hdC1yYWlzZWQtYnV0dG9uIFtocmVmXT1cImRvd25sb2FkPy51cmxcIiBbZG93bmxvYWRdPVwiZG93bmxvYWQ/LnNhdmVBc1wiXG4gICAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwJC52YWx1ZVwiPlxuICAgICAgICA8YXVwLWNvbW1hbmQtZmFjZSBbY2xhc3NdPVwiYWxpZ25GYWNlXCIgW2ZhY2VzXT1cImZhY2VzJC52YWx1ZVwiPjwvYXVwLWNvbW1hbmQtZmFjZT5cbiAgICAgIDwvYT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8YSBtYXQtYnV0dG9uIFtocmVmXT1cImRvd25sb2FkPy51cmxcIiBbZG93bmxvYWRdPVwiZG93bmxvYWQ/LnNhdmVBc1wiXG4gICAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwJC52YWx1ZVwiPlxuICAgICAgICA8YXVwLWNvbW1hbmQtZmFjZSBbY2xhc3NdPVwiYWxpZ25GYWNlXCIgW2ZhY2VzXT1cImZhY2VzJC52YWx1ZVwiPjwvYXVwLWNvbW1hbmQtZmFjZT5cbiAgICAgIDwvYT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiaW5Qb3B1cFwiPlxuICA8YSBtYXQtbWVudS1pdGVtIChjbGljayk9XCJkb3dubG9hZEZpbGUoKVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAkLnZhbHVlXCI+XG4gICAgPGF1cC1jb21tYW5kLWZhY2UgW2NsYXNzXT1cImFsaWduRmFjZVwiIFtmYWNlc109XCJmYWNlcyQudmFsdWVcIj48L2F1cC1jb21tYW5kLWZhY2U+XG4gIDwvYT5cbjwvbmctY29udGFpbmVyPlxuXG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvZm9ybS1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBGb3JtRmllbGQge1xuICBsYWJlbCgpOnN0cmluZztcbiAgaGludD8oKTpzdHJpbmc7XG4gIHBsYWNlaG9sZGVyPygpOnN0cmluZztcbn1cbiJdfQ==
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { Command, Dsl } from '@coolon/pectin';
|
|
3
|
-
import { AbstractValueInputComponent } from '../abstract-value-input.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/forms";
|
|
6
|
-
import * as i2 from "@angular/material/input";
|
|
7
|
-
import * as i3 from "@angular/material/form-field";
|
|
8
|
-
import * as i4 from "../../../directives/command.directive";
|
|
9
|
-
import * as i5 from "../../../directives/focus-binding.directive";
|
|
10
|
-
import * as i6 from "@angular/material/button";
|
|
11
|
-
import * as i7 from "../../icon/icon.component";
|
|
12
|
-
export class SearchInputComponent extends AbstractValueInputComponent {
|
|
13
|
-
autocomplete;
|
|
14
|
-
clearCommand;
|
|
15
|
-
constructor() {
|
|
16
|
-
super();
|
|
17
|
-
this.dense = true;
|
|
18
|
-
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
19
|
-
this.clearCommand = Command.create(() => {
|
|
20
|
-
this.componentValue$.value = "";
|
|
21
|
-
});
|
|
22
|
-
this.clearCommand.disableWhile(chain.stringValue(this.componentValue$).isBlank());
|
|
23
|
-
}
|
|
24
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SearchInputComponent, selector: "aup-search-input", inputs: { autocomplete: "autocomplete" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\">\n\n <input matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <aup-icon matPrefix icon=\"mat:search\"></aup-icon>\n <button mat-icon-button matSuffix [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n", styles: ["button[disabled]{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i4.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter", "preventDefault"] }, { kind: "directive", type: i5.FocusBindingDirective, selector: "[pectinFocusBinding]", inputs: ["pectinFocusBinding", "focusBindingTarget"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SearchInputComponent, decorators: [{
|
|
28
|
-
type: Component,
|
|
29
|
-
args: [{ selector: 'aup-search-input', template: "<mat-form-field [floatLabel]=\"floatLabel\">\n\n <input matInput\n placeholder=\"{{placeholder}}\"\n [attr.autocomplete]=\"autocomplete\"\n [(ngModel)]=\"componentValue$.value\"\n [disabled]=\"!enabled$.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <aup-icon matPrefix icon=\"mat:search\"></aup-icon>\n <button mat-icon-button matSuffix [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n", styles: ["button[disabled]{visibility:hidden}\n"] }]
|
|
30
|
-
}], ctorParameters: function () { return []; }, propDecorators: { autocomplete: [{
|
|
31
|
-
type: Input
|
|
32
|
-
}] } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLE9BQU8sRUFBRSxHQUFHLEVBQWtELE1BQU0sZ0JBQWdCLENBQUM7QUFDN0YsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7OztBQU85RSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsMkJBQW1DO0lBRWxFLFlBQVksQ0FBUztJQUVyQixZQUFZLENBQWdCO0lBRXJDO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQTtRQUNqQixNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDcEYsQ0FBQzt1R0FkVSxvQkFBb0I7MkZBQXBCLG9CQUFvQix5SENUakMsOG9CQWtCQTs7MkZEVGEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjswRUFNbkIsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1hbmQsIERzbCwgUHJveGlmeSwgcHJveGlmeSwgU3RvcmVJblZhbHVlTW9kZWwsIFZhbHVlTW9kZWx9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7QWJzdHJhY3RWYWx1ZUlucHV0Q29tcG9uZW50fSBmcm9tICcuLi9hYnN0cmFjdC12YWx1ZS1pbnB1dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtc2VhcmNoLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1pbnB1dC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaElucHV0Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RWYWx1ZUlucHV0Q29tcG9uZW50PHN0cmluZz4ge1xuXG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IGNsZWFyQ29tbWFuZDogQ29tbWFuZDx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZGVuc2UgPSB0cnVlXG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLmNsZWFyQ29tbWFuZCA9IENvbW1hbmQuY3JlYXRlKCgpID0+IHtcbiAgICAgIHRoaXMuY29tcG9uZW50VmFsdWUkLnZhbHVlID0gXCJcIjtcbiAgICB9KTtcbiAgICB0aGlzLmNsZWFyQ29tbWFuZC5kaXNhYmxlV2hpbGUoY2hhaW4uc3RyaW5nVmFsdWUodGhpcy5jb21wb25lbnRWYWx1ZSQpLmlzQmxhbmsoKSk7XG4gIH1cblxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIj5cblxuICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgIHBsYWNlaG9sZGVyPVwie3twbGFjZWhvbGRlcn19XCJcbiAgICAgICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgICAgWyhuZ01vZGVsKV09XCJjb21wb25lbnRWYWx1ZSQudmFsdWVcIlxuICAgICAgICAgW2Rpc2FibGVkXT1cIiFlbmFibGVkJC52YWx1ZVwiXG4gICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJub3RpZnlFbnRlcktleSgpXCJcbiAgICAgICAgIChrZXlkb3duLmVzY2FwZSk9XCJub3RpZnlFc2NhcGVLZXkoKVwiXG4gICAgICAgICBbcGVjdGluRm9jdXNCaW5kaW5nXT1cImZvY3VzQ29udGV4dFwiXG4gICAgICAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwiZXJyb3JTdGF0ZU1hdGNoZXJcIlxuICA+XG4gIDxhdXAtaWNvbiBtYXRQcmVmaXggaWNvbj1cIm1hdDpzZWFyY2hcIj48L2F1cC1pY29uPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggW3BlY3RpbkNvbW1hbmRdPVwiY2xlYXJDb21tYW5kXCI+XG4gICAgPGF1cC1pY29uIGljb249XCJtYXQ6Y2xvc2VcIj48L2F1cC1pY29uPlxuICA8L2J1dHRvbj5cbjwvbWF0LWZvcm0tZmllbGQ+XG5cbiJdfQ==
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { Directive, inject } from '@angular/core';
|
|
2
|
-
import { LoadingStateTracker, MutableValueModel } from '@coolon/pectin';
|
|
3
|
-
import { DisposableComponent } from './disposable-component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class LoadableComponent extends DisposableComponent {
|
|
6
|
-
#_loaded$ = new MutableValueModel();
|
|
7
|
-
#asyncLoadables = [];
|
|
8
|
-
#awaitedLoadables = [];
|
|
9
|
-
loadTracker;
|
|
10
|
-
constructor() {
|
|
11
|
-
super();
|
|
12
|
-
this.loadTracker = inject(LoadingStateTracker, { optional: true })?.register(this);
|
|
13
|
-
}
|
|
14
|
-
get loaded$() {
|
|
15
|
-
return this.#_loaded$.readonly$;
|
|
16
|
-
}
|
|
17
|
-
ngOnInit() {
|
|
18
|
-
super.ngOnInit();
|
|
19
|
-
this.loadDependencies();
|
|
20
|
-
}
|
|
21
|
-
loadDependencies() {
|
|
22
|
-
this.loadTracker?.triggered();
|
|
23
|
-
if (this.#awaitedLoadables.length > 0) {
|
|
24
|
-
Promise.all(this.#awaitedLoadables.map((it) => {
|
|
25
|
-
this.loadTracker?.dependencyTriggered(it);
|
|
26
|
-
return it
|
|
27
|
-
.ensureLoaded()
|
|
28
|
-
.then(() => this.loadTracker?.dependencyFinished(it))
|
|
29
|
-
.catch((e) => this.loadTracker?.dependencyFailed(it, e));
|
|
30
|
-
})).then(() => {
|
|
31
|
-
this.#_loaded$.value = true;
|
|
32
|
-
this.loadTracker?.finished();
|
|
33
|
-
}).catch(e => {
|
|
34
|
-
this.loadTracker.failed(e);
|
|
35
|
-
throw e;
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
this.#_loaded$.value = true;
|
|
40
|
-
this.loadTracker?.finished();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
injectLoadable(token, options) {
|
|
44
|
-
return this.registerLoadable(inject(token, options), options);
|
|
45
|
-
}
|
|
46
|
-
registerLoadable(loadable, options) {
|
|
47
|
-
const shouldWait = !options || options.wait === true;
|
|
48
|
-
if (shouldWait)
|
|
49
|
-
this.loadTracker?.registerDependency(loadable);
|
|
50
|
-
if (this.loaded$.value) {
|
|
51
|
-
loadable.ensureLoaded();
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
if (shouldWait) {
|
|
55
|
-
this.#awaitedLoadables.push(loadable);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
this.#asyncLoadables.push(loadable);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return loadable;
|
|
62
|
-
}
|
|
63
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: LoadableComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
64
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: LoadableComponent, usesInheritance: true, ngImport: i0 });
|
|
65
|
-
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: LoadableComponent, decorators: [{
|
|
67
|
-
type: Directive
|
|
68
|
-
}], ctorParameters: function () { return []; } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGFibGUtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy9sb2FkYWJsZS1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXdDLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBWSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUc3RCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsbUJBQW1CO0lBRS9DLFNBQVMsR0FBRyxJQUFJLGlCQUFpQixFQUFXLENBQUM7SUFDN0MsZUFBZSxHQUFlLEVBQUUsQ0FBQztJQUNqQyxpQkFBaUIsR0FBZSxFQUFFLENBQUM7SUFFekIsV0FBVyxDQUEwQztJQUV4RTtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7SUFDbEMsQ0FBQztJQUVRLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQzlCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FDVCxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUE7Z0JBQ3pDLE9BQU8sRUFBRTtxQkFDTixZQUFZLEVBQUU7cUJBQ2QsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQ3BELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RCxDQUFDLENBQUMsQ0FDSCxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO2dCQUM1QixJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDM0IsTUFBTSxDQUFDLENBQUM7WUFDVixDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDNUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFUyxjQUFjLENBQXFCLEtBQXVCLEVBQUUsT0FFckU7UUFDQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxnQkFBZ0IsQ0FBcUIsUUFBVyxFQUFFLE9BQTJCO1FBQzNFLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO1FBQ3JELElBQUksVUFBVTtZQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFL0QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUN0QixRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDekI7YUFBTTtZQUNMLElBQUksVUFBVSxFQUFFO2dCQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdkM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDckM7U0FDRjtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7dUdBbEVVLGlCQUFpQjsyRkFBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIEluamVjdE9wdGlvbnMsIE9uSW5pdCwgUHJvdmlkZXJUb2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9hZGFibGUsIExvYWRpbmdTdGF0ZVRyYWNrZXIsIE11dGFibGVWYWx1ZU1vZGVsIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBMb2FkYWJsZUNvbXBvbmVudCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHJlYWRvbmx5ICNfbG9hZGVkJCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxib29sZWFuPigpO1xuICByZWFkb25seSAjYXN5bmNMb2FkYWJsZXM6IExvYWRhYmxlW10gPSBbXTtcbiAgcmVhZG9ubHkgI2F3YWl0ZWRMb2FkYWJsZXM6IExvYWRhYmxlW10gPSBbXTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9hZFRyYWNrZXI6IExvYWRpbmdTdGF0ZVRyYWNrZXIuVHJhY2tlciB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubG9hZFRyYWNrZXIgPSBpbmplY3QoTG9hZGluZ1N0YXRlVHJhY2tlciwgeyBvcHRpb25hbDogdHJ1ZSB9KT8ucmVnaXN0ZXIodGhpcyk7XG4gIH1cblxuICBnZXQgbG9hZGVkJCgpIHtcbiAgICByZXR1cm4gdGhpcy4jX2xvYWRlZCQucmVhZG9ubHkkO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB0aGlzLmxvYWREZXBlbmRlbmNpZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZERlcGVuZGVuY2llcygpIHtcbiAgICB0aGlzLmxvYWRUcmFja2VyPy50cmlnZ2VyZWQoKTtcbiAgICBpZiAodGhpcy4jYXdhaXRlZExvYWRhYmxlcy5sZW5ndGggPiAwKSB7XG4gICAgICBQcm9taXNlLmFsbChcbiAgICAgICAgdGhpcy4jYXdhaXRlZExvYWRhYmxlcy5tYXAoKGl0KSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkVHJhY2tlcj8uZGVwZW5kZW5jeVRyaWdnZXJlZChpdClcbiAgICAgICAgICByZXR1cm4gaXRcbiAgICAgICAgICAgIC5lbnN1cmVMb2FkZWQoKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5sb2FkVHJhY2tlcj8uZGVwZW5kZW5jeUZpbmlzaGVkKGl0KSlcbiAgICAgICAgICAgIC5jYXRjaCgoZSkgPT4gdGhpcy5sb2FkVHJhY2tlcj8uZGVwZW5kZW5jeUZhaWxlZChpdCwgZSkpO1xuICAgICAgICB9KVxuICAgICAgKS50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy4jX2xvYWRlZCQudmFsdWUgPSB0cnVlO1xuICAgICAgICB0aGlzLmxvYWRUcmFja2VyPy5maW5pc2hlZCgpO1xuICAgICAgfSkuY2F0Y2goZSA9PntcbiAgICAgICAgdGhpcy5sb2FkVHJhY2tlci5mYWlsZWQoZSk7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jX2xvYWRlZCQudmFsdWUgPSB0cnVlO1xuICAgICAgdGhpcy5sb2FkVHJhY2tlcj8uZmluaXNoZWQoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5qZWN0TG9hZGFibGU8VCBleHRlbmRzIExvYWRhYmxlPih0b2tlbjogUHJvdmlkZXJUb2tlbjxUPiwgb3B0aW9ucz86IEluamVjdE9wdGlvbnMgJiB7XG4gICAgd2FpdDogYm9vbGVhblxuICB9KTogVCB7XG4gICAgcmV0dXJuIHRoaXMucmVnaXN0ZXJMb2FkYWJsZShpbmplY3QodG9rZW4sIG9wdGlvbnMpLCBvcHRpb25zKTtcbiAgfVxuXG4gIHJlZ2lzdGVyTG9hZGFibGU8VCBleHRlbmRzIExvYWRhYmxlPihsb2FkYWJsZTogVCwgb3B0aW9ucz86IHsgd2FpdDogYm9vbGVhbiB9KSB7XG4gICAgY29uc3Qgc2hvdWxkV2FpdCA9ICFvcHRpb25zIHx8IG9wdGlvbnMud2FpdCA9PT0gdHJ1ZTtcbiAgICBpZiAoc2hvdWxkV2FpdCkgdGhpcy5sb2FkVHJhY2tlcj8ucmVnaXN0ZXJEZXBlbmRlbmN5KGxvYWRhYmxlKTtcblxuICAgIGlmICh0aGlzLmxvYWRlZCQudmFsdWUpIHtcbiAgICAgIGxvYWRhYmxlLmVuc3VyZUxvYWRlZCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoc2hvdWxkV2FpdCkge1xuICAgICAgICB0aGlzLiNhd2FpdGVkTG9hZGFibGVzLnB1c2gobG9hZGFibGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jYXN5bmNMb2FkYWJsZXMucHVzaChsb2FkYWJsZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBsb2FkYWJsZTtcbiAgfVxufVxuIl19
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { Dsl, GarbageCollector, lang, MutableListModel, WatchList } from '@coolon/pectin';
|
|
2
|
-
import { generateKeyBetween } from "fractional-indexing";
|
|
3
|
-
import { ColumnOrderManager } from "./column-order-manager";
|
|
4
|
-
class ColumnRef {
|
|
5
|
-
column;
|
|
6
|
-
position;
|
|
7
|
-
constructor(column, position) {
|
|
8
|
-
this.column = column;
|
|
9
|
-
this.position = position;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
export class ColumnManager extends GarbageCollector {
|
|
13
|
-
_columnRefs$ = new MutableListModel();
|
|
14
|
-
orderedColumnRefs$;
|
|
15
|
-
_columnsById$;
|
|
16
|
-
allColumns$;
|
|
17
|
-
columnVisibilities$ = new WatchList();
|
|
18
|
-
visibleColumns$;
|
|
19
|
-
constructor() {
|
|
20
|
-
super();
|
|
21
|
-
const { chain } = Dsl.disposeWith(this);
|
|
22
|
-
this.orderedColumnRefs$ = chain(this._columnRefs$).orderBy("position", "asc");
|
|
23
|
-
this.allColumns$ = this.orderedColumnRefs$.pluck("column");
|
|
24
|
-
this._columnsById$ = chain(this.allColumns$).indexBy('columnId');
|
|
25
|
-
this.visibleColumns$ = chain(this.allColumns$).select(it => it.visible$.value, {
|
|
26
|
-
dependsOn: this.columnVisibilities$
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
position(column, newPosition) {
|
|
30
|
-
const target = this._columnRefs$.query().findMatching(it => it.column === column);
|
|
31
|
-
const position = this.computePosition(newPosition);
|
|
32
|
-
this._columnRefs$.replace(target, { with: new ColumnRef(target.column, position) });
|
|
33
|
-
}
|
|
34
|
-
getColumn(id) {
|
|
35
|
-
return this._columnsById$.get(id);
|
|
36
|
-
}
|
|
37
|
-
hasColumn(id) {
|
|
38
|
-
return !!this._columnsById$.get(id);
|
|
39
|
-
}
|
|
40
|
-
hasMatchingColumn(row, regex) {
|
|
41
|
-
// only search the visible columns
|
|
42
|
-
return !!this.visibleColumns$.value.find(c => regex.test(c.getSearchTextFor(row)));
|
|
43
|
-
}
|
|
44
|
-
addColumn(column, position) {
|
|
45
|
-
if (this.hasColumn(column.columnId)) {
|
|
46
|
-
lang.illegalState(`Column with id=${column.columnId} already exists`);
|
|
47
|
-
}
|
|
48
|
-
this.registerDisposable(column);
|
|
49
|
-
this._columnRefs$.push(new ColumnRef(column, this.computePosition(position)));
|
|
50
|
-
this.columnVisibilities$.add(column.visible$);
|
|
51
|
-
return column;
|
|
52
|
-
}
|
|
53
|
-
computePosition(position) {
|
|
54
|
-
const q = this.orderedColumnRefs$.query();
|
|
55
|
-
return ColumnOrderManager.processPosition(position, {
|
|
56
|
-
before(col) {
|
|
57
|
-
const index = q.findIndex(ref => ref.column === col);
|
|
58
|
-
const beforeCol = q.value[index];
|
|
59
|
-
const afterCol = index - 1 >= 0 ? q.value[index - 1] : undefined;
|
|
60
|
-
return generateKeyBetween(afterCol?.position, beforeCol.position);
|
|
61
|
-
},
|
|
62
|
-
after(col) {
|
|
63
|
-
const index = q.findIndex(ref => ref.column === col);
|
|
64
|
-
const afterCol = q.value[index];
|
|
65
|
-
const beforeCol = index + 1 < q.length ? q.value[index + 1] : undefined;
|
|
66
|
-
return generateKeyBetween(afterCol.position, beforeCol?.position);
|
|
67
|
-
},
|
|
68
|
-
first() {
|
|
69
|
-
return generateKeyBetween(null, q.first()?.position);
|
|
70
|
-
},
|
|
71
|
-
last() {
|
|
72
|
-
// add it to the end of the list
|
|
73
|
-
return generateKeyBetween(q.last()?.position, null);
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
doComputeValue() {
|
|
78
|
-
return this.allColumns$.value.filter(c => c.visible$.value);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9jb2x1bW4vY29sdW1uLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLEdBQUcsRUFDSCxnQkFBZ0IsRUFDaEIsSUFBSSxFQUlKLGdCQUFnQixFQUNoQixTQUFTLEVBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRCxNQUFNLFNBQVM7SUFDUTtJQUFtQztJQUF4RCxZQUFxQixNQUF3QixFQUFXLFFBQWdCO1FBQW5ELFdBQU0sR0FBTixNQUFNLENBQWtCO1FBQVcsYUFBUSxHQUFSLFFBQVEsQ0FBUTtJQUN4RSxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sYUFBa0MsU0FBUSxnQkFBZ0I7SUFFcEQsWUFBWSxHQUFHLElBQUksZ0JBQWdCLEVBQWtCLENBQUM7SUFDdEQsa0JBQWtCLENBQWlDO0lBQ25ELGFBQWEsQ0FBMEM7SUFDL0QsV0FBVyxDQUE4QjtJQUN6QyxtQkFBbUIsR0FBRyxJQUFJLFNBQVMsRUFBVyxDQUFBO0lBQzlDLGVBQWUsQ0FBOEI7SUFFdEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMs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bnRlbnQiOlsiaW1wb3J0IHtcbiAgRHNsLFxuICBHYXJiYWdlQ29sbGVjdG9yLFxuICBsYW5nLFxuICBMaXN0TW9kZWwsXG4gIExpc3RNb2RlbENoYWluLFxuICBNYXBNb2RlbENoYWluLFxuICBNdXRhYmxlTGlzdE1vZGVsLFxuICBXYXRjaExpc3Rcbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtnZW5lcmF0ZUtleUJldHdlZW59IGZyb20gXCJmcmFjdGlvbmFsLWluZGV4aW5nXCI7XG5pbXBvcnQge0NvbHVtbk1vZGVsfSBmcm9tICcuL2NvbHVtbi1tb2RlbCc7XG5pbXBvcnQge0NvbHVtbk9yZGVyTWFuYWdlcn0gZnJvbSBcIi4vY29sdW1uLW9yZGVyLW1hbmFnZXJcIjtcblxuY2xhc3MgQ29sdW1uUmVmPFJvdyBleHRlbmRzIG9iamVjdD4ge1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb2x1bW46IENvbHVtbk1vZGVsPFJvdz4sIHJlYWRvbmx5IHBvc2l0aW9uOiBzdHJpbmcpIHtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29sdW1uTWFuYWdlcjxSb3cgZXh0ZW5kcyBvYmplY3Q+IGV4dGVuZHMgR2FyYmFnZUNvbGxlY3RvciBpbXBsZW1lbnRzIENvbHVtbk9yZGVyTWFuYWdlciB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY29sdW1uUmVmcyQgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxDb2x1bW5SZWY8Um93Pj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBvcmRlcmVkQ29sdW1uUmVmcyQ6IExpc3RNb2RlbENoYWluPENvbHVtblJlZjxSb3c+PjtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29sdW1uc0J5SWQkOiBNYXBNb2RlbENoYWluPHN0cmluZywgQ29sdW1uTW9kZWw8Um93Pj47XG4gIHJlYWRvbmx5IGFsbENvbHVtbnMkOiBMaXN0TW9kZWw8Q29sdW1uTW9kZWw8Um93Pj47XG4gIHJlYWRvbmx5IGNvbHVtblZpc2liaWxpdGllcyQgPSBuZXcgV2F0Y2hMaXN0PGJvb2xlYW4+KClcbiAgcmVhZG9ubHkgdmlzaWJsZUNvbHVtbnMkOiBMaXN0TW9kZWw8Q29sdW1uTW9kZWw8Um93Pj47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7Y2hhaW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHRoaXMub3JkZXJlZENvbHVtblJlZnMkID0gY2hhaW4odGhpcy5fY29sdW1uUmVmcyQpLm9yZGVyQnkoXCJwb3NpdGlvblwiLCBcImFzY1wiKTtcbiAgICB0aGlzLmFsbENvbHVtbnMkID0gdGhpcy5vcmRlcmVkQ29sdW1uUmVmcyQucGx1Y2soXCJjb2x1bW5cIik7XG5cbiAgICB0aGlzLl9jb2x1bW5zQnlJZCQgPSBjaGFpbih0aGlzLmFsbENvbHVtbnMkKS5pbmRleEJ5KCdjb2x1bW5JZCcpO1xuICAgIHRoaXMudmlzaWJsZUNvbHVtbnMkID0gY2hhaW4odGhpcy5hbGxDb2x1bW5zJCkuc2VsZWN0KGl0ID0+IGl0LnZpc2libGUkLnZhbHVlLCB7XG4gICAgICBkZXBlbmRzT246IHRoaXMuY29sdW1uVmlzaWJpbGl0aWVzJFxuICAgIH0pXG4gIH1cblxuICBwb3NpdGlvbihjb2x1bW46IENvbHVtbk1vZGVsPGFueT4sIG5ld1Bvc2l0aW9uOiBDb2x1bW5PcmRlck1hbmFnZXIuUG9zaXRpb24pIHtcbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLl9jb2x1bW5SZWZzJC5xdWVyeSgpLmZpbmRNYXRjaGluZyhpdCA9PiBpdC5jb2x1bW4gPT09IGNvbHVtbilcbiAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMuY29tcHV0ZVBvc2l0aW9uKG5ld1Bvc2l0aW9uKTtcbiAgICB0aGlzLl9jb2x1bW5SZWZzJC5yZXBsYWNlKHRhcmdldCwge3dpdGg6IG5ldyBDb2x1bW5SZWY8Um93Pih0YXJnZXQuY29sdW1uLCBwb3NpdGlvbil9KTtcbiAgfVxuXG4gIGdldENvbHVtbihpZDogc3RyaW5nKTogQ29sdW1uTW9kZWw8Um93PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbnNCeUlkJC5nZXQoaWQpO1xuICB9XG5cbiAgaGFzQ29sdW1uKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9jb2x1bW5zQnlJZCQuZ2V0KGlkKTtcbiAgfVxuXG4gIGhhc01hdGNoaW5nQ29sdW1uKHJvdzogUm93LCByZWdleDogUmVnRXhwKTogYm9vbGVhbiB7XG4gICAgLy8gb25seSBzZWFyY2ggdGhlIHZpc2libGUgY29sdW1uc1xuICAgIHJldHVybiAhIXRoaXMudmlzaWJsZUNvbHVtbnMkLnZhbHVlLmZpbmQoYyA9PiByZWdleC50ZXN0KGMuZ2V0U2VhcmNoVGV4dEZvcihyb3cpKSk7XG4gIH1cblxuICBhZGRDb2x1bW48QyBleHRlbmRzIENvbHVtbk1vZGVsPFJvdz4+KGNvbHVtbjogQywgcG9zaXRpb24/OiBDb2x1bW5PcmRlck1hbmFnZXIuUG9zaXRpb24pOiBDIHtcbiAgICBpZiAodGhpcy5oYXNDb2x1bW4oY29sdW1uLmNvbHVtbklkKSkge1xuICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoYENvbHVtbiB3aXRoIGlkPSR7Y29sdW1uLmNvbHVtbklkfSBhbHJlYWR5IGV4aXN0c2ApO1xuICAgIH1cbiAgICB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShjb2x1bW4pO1xuICAgIHRoaXMuX2NvbHVtblJlZnMkLnB1c2gobmV3IENvbHVtblJlZjxSb3c+KGNvbHVtbiwgdGhpcy5jb21wdXRlUG9zaXRpb24ocG9zaXRpb24pKSk7XG4gICAgdGhpcy5jb2x1bW5WaXNpYmlsaXRpZXMkLmFkZChjb2x1bW4udmlzaWJsZSQpO1xuICAgIHJldHVybiBjb2x1bW47XG4gIH1cblxuICBjb21wdXRlUG9zaXRpb24ocG9zaXRpb24/OiBDb2x1bW5PcmRlck1hbmFnZXIuUG9zaXRpb24pOiBzdHJpbmcge1xuICAgIGNvbnN0IHEgPSB0aGlzLm9yZGVyZWRDb2x1bW5SZWZzJC5xdWVyeSgpO1xuICAgIHJldHVybiBDb2x1bW5PcmRlck1hbmFnZXIucHJvY2Vzc1Bvc2l0aW9uKHBvc2l0aW9uLCB7XG4gICAgICBiZWZvcmUoY29sOiBDb2x1bW5Nb2RlbDxhbnk+KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSBxLmZpbmRJbmRleChyZWYgPT4gcmVmLmNvbHVtbiA9PT0gY29sKVxuICAgICAgICBjb25zdCBiZWZvcmVDb2wgPSBxLnZhbHVlW2luZGV4XTtcbiAgICAgICAgY29uc3QgYWZ0ZXJDb2wgPSBpbmRleCAtIDEgPj0gMCA/IHEudmFsdWVbaW5kZXggLSAxXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIGdlbmVyYXRlS2V5QmV0d2VlbihhZnRlckNvbD8ucG9zaXRpb24sIGJlZm9yZUNvbC5wb3NpdGlvbik7XG4gICAgICB9LFxuICAgICAgYWZ0ZXIoY29sOiBDb2x1bW5Nb2RlbDxhbnk+KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSBxLmZpbmRJbmRleChyZWYgPT4gcmVmLmNvbHVtbiA9PT0gY29sKVxuICAgICAgICBjb25zdCBhZnRlckNvbCA9IHEudmFsdWVbaW5kZXhdO1xuICAgICAgICBjb25zdCBiZWZvcmVDb2wgPSBpbmRleCArIDEgPCBxLmxlbmd0aCA/IHEudmFsdWVbaW5kZXggKyAxXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIGdlbmVyYXRlS2V5QmV0d2VlbihhZnRlckNvbC5wb3NpdGlvbiwgYmVmb3JlQ29sPy5wb3NpdGlvbilcbiAgICAgIH0sXG4gICAgICBmaXJzdCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZ2VuZXJhdGVLZXlCZXR3ZWVuKG51bGwsIHEuZmlyc3QoKT8ucG9zaXRpb24pO1xuICAgICAgfSxcbiAgICAgIGxhc3QoKSB7XG4gICAgICAgIC8vIGFkZCBpdCB0byB0aGUgZW5kIG9mIHRoZSBsaXN0XG4gICAgICAgIHJldHVybiBnZW5lcmF0ZUtleUJldHdlZW4ocS5sYXN0KCk/LnBvc2l0aW9uLCBudWxsKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cblxuICBkb0NvbXB1dGVWYWx1ZSgpOiBDb2x1bW5Nb2RlbDxSb3c+W10ge1xuICAgIHJldHVybiB0aGlzLmFsbENvbHVtbnMkLnZhbHVlLmZpbHRlcihjID0+IGMudmlzaWJsZSQudmFsdWUpO1xuICB9XG59XG4iXX0=
|