@coolon/angular-ui-powerups 16.1.0-alpha.238 → 16.1.0-aplpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +31 -84
- 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 -31
- 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 +24 -15
- package/esm2022/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +12 -18
- 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 +58 -73
- package/esm2022/lib/components/disposable-component.mjs +40 -74
- package/esm2022/lib/components/empty-state/empty-state.component.mjs +9 -5
- package/esm2022/lib/components/exports.mjs +12 -16
- 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 -67
- 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 +15 -18
- 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 +11 -12
- package/esm2022/lib/components/forms/number-input/number-input.component.mjs +13 -94
- package/esm2022/lib/components/forms/password-input/password-input.component.mjs +7 -44
- package/esm2022/lib/components/forms/select-input/select-input.component.mjs +19 -21
- 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 +113 -116
- package/esm2022/lib/components/tables/abstract-table.component.mjs +8 -23
- package/esm2022/lib/components/tables/column/column-list-model.mjs +44 -0
- package/esm2022/lib/components/tables/column/column-model.mjs +23 -20
- package/esm2022/lib/components/tables/column/column-template/column-template.directive.mjs +4 -5
- package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -4
- package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +5 -5
- package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +21 -0
- package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +21 -8
- package/esm2022/lib/components/tables/column/property-column-model.mjs +20 -7
- 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 +60 -0
- package/esm2022/lib/components/tables/editor/edit-session.mjs +26 -0
- package/esm2022/lib/components/tables/editor/editable-cell-renderer.mjs +2 -0
- 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 +12 -16
- package/esm2022/lib/components/tables/filter/text-search-predicate.mjs +2 -17
- package/esm2022/lib/components/tables/paginator/paginator.component.mjs +5 -5
- package/esm2022/lib/components/tables/renderer/cell-editors.mjs +2 -0
- package/esm2022/lib/components/tables/renderer/cell-portal-ref.mjs +26 -22
- 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 -19
- package/esm2022/lib/components/tables/renderer/selection-cell/selection-cell.component.mjs +9 -18
- package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +53 -266
- package/esm2022/lib/components/tables/renderer/table-cell/table-cell.component.mjs +50 -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 +35 -18
- 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 +6 -6
- 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 -26
- 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 -5
- package/esm2022/lib/directives/focus-binding.directive.mjs +5 -5
- package/esm2022/lib/directives/focus-binding.mjs +2 -22
- 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 +13 -22
- package/esm2022/lib/interaction/abstract-interaction-context.mjs +8 -6
- package/esm2022/lib/interaction/activity-ref.mjs +2 -2
- package/esm2022/lib/interaction/activity.mjs +23 -24
- package/esm2022/lib/interaction/alert.mjs +2 -2
- package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +10 -14
- package/esm2022/lib/interaction/components/abstract-dialog.component.mjs +45 -5
- package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +17 -30
- package/esm2022/lib/interaction/components/activity-body/activity-body.component.mjs +4 -10
- package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +25 -119
- 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 +4 -5
- package/esm2022/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +4 -5
- package/esm2022/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.mjs +4 -5
- package/esm2022/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.mjs +4 -5
- 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 -5
- 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 +13 -13
- 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 -23
- package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +10 -16
- package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +5 -29
- 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 +21 -23
- 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 +11 -19
- 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 +14 -30
- 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 +4 -39
- package/esm2022/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +9 -9
- 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 -11
- 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 +7 -8
- package/esm2022/lib/place/place-component.mjs +79 -82
- package/esm2022/lib/place/place-config.mjs +1 -1
- package/esm2022/lib/place/place-definition.mjs +5 -18
- package/esm2022/lib/place/place-history.mjs +8 -17
- package/esm2022/lib/place/place-router.mjs +70 -191
- package/esm2022/lib/place/place.decorator.mjs +3 -4
- package/esm2022/lib/place/place.module.mjs +17 -17
- 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 +51 -55
- 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 -3
- package/esm2022/lib/place/visit.mjs +5 -5
- 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 +3634 -5281
- 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 +5 -10
- package/lib/components/commands/group/popup-container.d.ts +1 -1
- package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +6 -6
- 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 +2 -4
- 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 +30 -33
- package/lib/components/disposable-component.d.ts +9 -26
- package/lib/components/empty-state/empty-state.component.d.ts +4 -1
- package/lib/components/exports.d.ts +11 -15
- package/lib/components/forms/abstract-input.component.d.ts +7 -16
- package/lib/components/forms/abstract-list-input.component.d.ts +1 -1
- package/lib/components/forms/abstract-value-input.component.d.ts +1 -1
- 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 +7 -26
- package/lib/components/switch-case/switch-case.component.d.ts +7 -6
- package/lib/components/tables/abstract-table-model.d.ts +37 -51
- package/lib/components/tables/abstract-table.component.d.ts +7 -8
- package/lib/components/tables/column/column-list-model.d.ts +13 -0
- package/lib/components/tables/column/column-model.d.ts +17 -14
- package/lib/components/tables/column/custom-template-column-model.d.ts +2 -3
- package/lib/components/tables/column/custom-value-column-model.d.ts +3 -4
- package/lib/components/tables/column/editor-controls-column-model.d.ts +13 -0
- package/lib/components/tables/column/list-propery-column-model.d.ts +7 -5
- package/lib/components/tables/column/property-column-model.d.ts +9 -7
- 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 +17 -0
- package/lib/components/tables/editor/edit-session.d.ts +9 -0
- package/lib/components/tables/{renderer → 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/table-filter-model.d.ts +1 -1
- package/lib/components/tables/filter/text-search-predicate.d.ts +0 -9
- package/lib/components/tables/renderer/cell-editors.d.ts +9 -0
- package/lib/components/tables/renderer/cell-portal-ref.d.ts +25 -22
- package/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.d.ts +2 -1
- 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 +2 -3
- package/lib/components/tables/renderer/selection-cell/selection-cell.component.d.ts +0 -1
- package/lib/components/tables/renderer/table-body/table-body.component.d.ts +21 -55
- package/lib/components/tables/renderer/table-cell/table-cell.component.d.ts +14 -5
- 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-more-menu/table-more-menu.component.d.ts +23 -0
- package/lib/components/tables/table/table-model.d.ts +36 -10
- package/lib/components/tables/table/table.component.d.ts +13 -17
- package/lib/components/tables/table-row-menu/table-row-menu.component.d.ts +28 -0
- package/lib/components/tables/tree-table/flattened-tree-list-model.d.ts +1 -1
- 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 +3 -3
- package/lib/components/tables/tree-table/tree-label-column-model.d.ts +3 -4
- package/lib/components/tables/tree-table/tree-table-component.d.ts +3 -6
- package/lib/components/tables/tree-table/tree-table-model.d.ts +6 -5
- 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/directives/focus-binding.d.ts +0 -1
- package/lib/directives/highlight.pipe.d.ts +2 -8
- package/lib/interaction/abstract-interaction-context.d.ts +5 -5
- package/lib/interaction/activity-ref.d.ts +4 -4
- package/lib/interaction/activity.d.ts +8 -8
- package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +2 -3
- package/lib/interaction/components/abstract-dialog.component.d.ts +15 -6
- 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 +13 -32
- package/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.d.ts +7 -6
- package/lib/interaction/components/activity-title/activity-title.component.d.ts +1 -1
- package/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.d.ts +2 -2
- package/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.d.ts +1 -1
- package/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.d.ts +1 -1
- package/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.d.ts +1 -1
- package/lib/interaction/components/add-card-activity/add-card-activity.component.d.ts +2 -2
- package/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.d.ts +3 -3
- package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +1 -6
- package/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.d.ts +2 -2
- package/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.d.ts +2 -2
- package/lib/interaction/components/editors/edit-context.d.ts +1 -1
- package/lib/interaction/components/editors/inline-string-editor/inline-editor-model.d.ts +1 -1
- package/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.d.ts +2 -2
- package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +10 -12
- package/lib/interaction/components/input-activities/input-activity.d.ts +1 -1
- package/lib/interaction/components/input-activities/select-input-activity.d.ts +2 -2
- package/lib/interaction/components/input-activities/string-input-activity.d.ts +1 -1
- package/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.d.ts +2 -2
- package/lib/interaction/confirm.d.ts +0 -4
- package/lib/interaction/directives/interaction-context-trigger-for.directive.d.ts +5 -5
- package/lib/interaction/exports.d.ts +0 -5
- package/lib/interaction/in-place-interaction-context.d.ts +2 -2
- package/lib/interaction/interaction-context.d.ts +4 -10
- package/lib/interaction/interaction.module.d.ts +33 -35
- package/lib/interaction/route-synchronisation-adapter.d.ts +3 -3
- package/lib/interaction/services/interaction-service-routing-adapter.d.ts +4 -4
- package/lib/interaction/services/interaction.service.d.ts +4 -5
- package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +5 -4
- package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +5 -6
- package/lib/interaction/services/modal-interaction-context.factory.d.ts +2 -2
- package/lib/place/components/abstract-place-navigation.component.d.ts +2 -3
- 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 +7 -6
- 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/guards/place.guard.d.ts +1 -8
- package/lib/place/navigation/place-component-deactivation-handler.d.ts +4 -4
- package/lib/place/navigation/session/abstract-pop-state-navigation.d.ts +1 -1
- package/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.d.ts +3 -3
- package/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.d.ts +3 -3
- package/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.d.ts +3 -3
- package/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.d.ts +1 -1
- package/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.d.ts +3 -16
- package/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.d.ts +1 -1
- package/lib/place/navigation/session/navigation-context.d.ts +5 -5
- package/lib/place/navigation/session/navigation-session.d.ts +8 -15
- package/lib/place/place-access-guard.d.ts +1 -1
- package/lib/place/place-auth-service.d.ts +8 -8
- package/lib/place/place-component.d.ts +23 -15
- package/lib/place/place-definition.d.ts +3 -6
- package/lib/place/place-history.d.ts +4 -5
- package/lib/place/place-router.d.ts +10 -41
- package/lib/place/place.decorator.d.ts +1 -9
- 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 +6 -5
- package/lib/place/route/parameter-definition.d.ts +5 -5
- package/lib/place/route/parameter-sanitiser.d.ts +1 -8
- package/lib/place/route/parameter-snapshot.d.ts +2 -2
- package/lib/place/route/visit-segment-sanitiser.d.ts +3 -3
- package/lib/place/url-service.d.ts +1 -1
- package/lib/place/url-snapshot.d.ts +1 -1
- package/lib/place/visit-segment.d.ts +6 -6
- package/lib/place/visit.d.ts +4 -4
- package/lib/services/markdown/markdown.service.d.ts +1 -0
- package/lib/services/visibility-service.d.ts +1 -1
- package/package.json +20 -19
- 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 -82
- package/esm2022/lib/components/tables/column/column-order-manager.mjs +0 -19
- package/esm2022/lib/components/tables/footer/footer-row-model.mjs +0 -135
- package/esm2022/lib/components/tables/renderer/abstract-cell-renderer.mjs +0 -7
- package/esm2022/lib/components/tables/renderer/editable-cell-renderer.mjs +0 -2
- 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 -32
- 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/esm2022/lib/place/place-metadata.mjs +0 -16
- 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 -72
- 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-custom-more-menu/table-custom-more-menu.component.d.ts +0 -24
- package/lib/components/tables/renderer/table-footer-row/table-footer-row.component.d.ts +0 -10
- 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/lib/place/place-metadata.d.ts +0 -8
|
@@ -1,28 +1,62 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Component, ComponentRef, HostBinding, Input } from "@angular/core";
|
|
2
|
+
import { Command, Dsl } from "@coolon/pectin";
|
|
2
3
|
import { DisposableComponent } from "../../../disposable-component";
|
|
3
4
|
import { AbstractTableModel } from "../../abstract-table-model";
|
|
4
5
|
import { ColumnModel } from "../../column/column-model";
|
|
5
|
-
import {
|
|
6
|
+
import { EditSession } from "../../editor/edit-session";
|
|
7
|
+
import { CELL_EDITOR_PORTAL, CELL_RENDERER_PORTAL } from "../cell-portal-ref";
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/
|
|
9
|
+
import * as i1 from "@angular/common";
|
|
10
|
+
import * as i2 from "@angular/cdk/portal";
|
|
8
11
|
export class TableCellComponent extends DisposableComponent {
|
|
9
12
|
row;
|
|
10
13
|
column;
|
|
14
|
+
editSession;
|
|
11
15
|
tableModel;
|
|
12
|
-
|
|
16
|
+
editRowCommand;
|
|
13
17
|
[CELL_RENDERER_PORTAL];
|
|
18
|
+
[CELL_EDITOR_PORTAL];
|
|
14
19
|
defaultClassNames = 'aup-cell-renderer';
|
|
15
20
|
fillCell = false;
|
|
16
21
|
padChild = false;
|
|
22
|
+
firstEditableColumn;
|
|
17
23
|
constructor() {
|
|
18
24
|
super();
|
|
25
|
+
this.editRowCommand = Command.create(() => {
|
|
26
|
+
this.tableModel.startEditSession(this.row);
|
|
27
|
+
});
|
|
19
28
|
this.onInit(() => {
|
|
29
|
+
const { chain } = Dsl.disposeWith(this);
|
|
30
|
+
this.firstEditableColumn = chain(this.tableModel.firstEditableColumn$).equals(this.column); // this would break if the column changed.
|
|
20
31
|
this.column.attachCell(this);
|
|
21
32
|
});
|
|
22
33
|
}
|
|
34
|
+
hasActiveEditor() {
|
|
35
|
+
return !!this.editSession && !!this.column.hasEditorPortal();
|
|
36
|
+
}
|
|
23
37
|
initialiseRenderer(ref) {
|
|
24
38
|
this.column.onRendererAttached(this, ref);
|
|
25
39
|
}
|
|
40
|
+
initialiseEditor(ref) {
|
|
41
|
+
this.column.onEditorAttached(this, ref);
|
|
42
|
+
if (this.firstEditableColumn.value) {
|
|
43
|
+
// @see https://github.com/angular/components/issues/12070
|
|
44
|
+
setTimeout(() => this.tryAndFocusEditor(ref));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
tryAndFocusEditor(ref) {
|
|
48
|
+
if (ref instanceof ComponentRef) {
|
|
49
|
+
const editor = ref.instance;
|
|
50
|
+
// CellEditorComponent<Row> | CellListEditorComponent<Row>
|
|
51
|
+
if (editor.requestFocus) {
|
|
52
|
+
editor.requestFocus();
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
const model = (editor['valueModel'] || editor['listModel']);
|
|
56
|
+
model?.focusContext?.requestFocus();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
26
60
|
// @Trace()
|
|
27
61
|
ngOnChanges(changes) {
|
|
28
62
|
this.column.updatePortalContent(this);
|
|
@@ -30,21 +64,28 @@ export class TableCellComponent extends DisposableComponent {
|
|
|
30
64
|
getRendererPortal() {
|
|
31
65
|
return this[CELL_RENDERER_PORTAL];
|
|
32
66
|
}
|
|
67
|
+
getEditorPortal() {
|
|
68
|
+
return this[CELL_EDITOR_PORTAL];
|
|
69
|
+
}
|
|
33
70
|
getRowData() {
|
|
34
71
|
return {
|
|
35
72
|
row: this.row,
|
|
73
|
+
editSession: this.editSession,
|
|
74
|
+
editRowCommand: this.editRowCommand
|
|
36
75
|
};
|
|
37
76
|
}
|
|
38
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
39
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
77
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: TableCellComponent, selector: "aup-table-cell", inputs: { row: "row", column: "column", editSession: "editSession", tableModel: "tableModel" }, host: { properties: { "class": "this.defaultClassNames", "class.fillCell": "this.fillCell", "class.padChild": "this.padChild" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!hasActiveEditor()\" [cdkPortalOutlet]=\"getRendererPortal()\" (attached)=\"initialiseRenderer($event)\"></ng-container>\n<ng-container *ngIf=\"hasActiveEditor()\" [cdkPortalOutlet]=\"getEditorPortal()\" (attached)=\"initialiseEditor($event)\"></ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
|
|
40
79
|
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableCellComponent, decorators: [{
|
|
42
81
|
type: Component,
|
|
43
|
-
args: [{ selector: 'aup-table-cell',
|
|
82
|
+
args: [{ selector: 'aup-table-cell', template: "<ng-container *ngIf=\"!hasActiveEditor()\" [cdkPortalOutlet]=\"getRendererPortal()\" (attached)=\"initialiseRenderer($event)\"></ng-container>\n<ng-container *ngIf=\"hasActiveEditor()\" [cdkPortalOutlet]=\"getEditorPortal()\" (attached)=\"initialiseEditor($event)\"></ng-container>\n" }]
|
|
44
83
|
}], ctorParameters: function () { return []; }, propDecorators: { row: [{
|
|
45
84
|
type: Input
|
|
46
85
|
}], column: [{
|
|
47
86
|
type: Input
|
|
87
|
+
}], editSession: [{
|
|
88
|
+
type: Input
|
|
48
89
|
}], tableModel: [{
|
|
49
90
|
type: Input
|
|
50
91
|
}], defaultClassNames: [{
|
|
@@ -57,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
57
98
|
type: HostBinding,
|
|
58
99
|
args: ['class.padChild']
|
|
59
100
|
}] } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9yZW5kZXJlci90YWJsZS1jZWxsL3RhYmxlLWNlbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvdGFibGUtY2VsbC90YWJsZS1jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBMEIsT0FBTyxFQUFFLEdBQUcsRUFBbUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFXLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBTzlFLE1BQU0sT0FBTyxrQkFBd0IsU0FBUSxtQkFBbUI7SUFHOUQsR0FBRyxDQUFNO0lBR1QsTUFBTSxDQUFtQjtJQUd6QixXQUFXLENBQW1CO0lBRzlCLFVBQVUsQ0FBMEI7SUFFNUIsY0FBYyxDQUFnQjtJQUV0QyxDQUFDLG9CQUFvQixDQUFDLENBQWM7SUFDcEMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFjO0lBR2xDLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDO0lBR3hDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFHakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVULG1CQUFtQixDQUF5QjtJQUVwRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ2YsTUFBTSxFQUFFLEtBQUssRUFBQyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLDBDQUEwQztZQUN0SSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsR0FBK0I7UUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEdBQStCO1FBQzlDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRTtZQUNsQywwREFBMEQ7WUFDMUQsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEdBQStCO1FBQ3ZELElBQUksR0FBRyxZQUFZLFlBQVksRUFBRTtZQUMvQixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQzVCLDBEQUEwRDtZQUMxRCxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7Z0JBQ3ZCLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUN2QjtpQkFBTTtnQkFDTCxNQUFNLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQW9CLENBQUM7Z0JBQy9FLEtBQUssRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLENBQUM7YUFDckM7U0FDRjtJQUVILENBQUM7SUFFRCxXQUFXO0lBQ1gsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTztZQUNMLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDcEMsQ0FBQztJQUNKLENBQUM7dUdBNUZVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLHFVQ2QvQiw2UkFFQTs7MkZEWWEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQjswRUFPMUIsR0FBRztzQkFERixLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQVNOLGlCQUFpQjtzQkFEaEIsV0FBVzt1QkFBQyxPQUFPO2dCQUlwQixRQUFRO3NCQURQLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUk3QixRQUFRO3NCQURQLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYsIFBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCb29sZWFuVmFsdWVNb2RlbENoYWluLCBDb21tYW5kLCBEc2wsIEhhc0ZvY3VzQ29udGV4dCB9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi8uLi9kaXNwb3NhYmxlLWNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQWJzdHJhY3RUYWJsZU1vZGVsIH0gZnJvbSBcIi4uLy4uL2Fic3RyYWN0LXRhYmxlLW1vZGVsXCI7XG5pbXBvcnQgeyBDb2x1bW5Nb2RlbCwgUm93RGF0YSB9IGZyb20gXCIuLi8uLi9jb2x1bW4vY29sdW1uLW1vZGVsXCI7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gXCIuLi8uLi9lZGl0b3IvZWRpdC1zZXNzaW9uXCI7XG5pbXBvcnQgeyBDRUxMX0VESVRPUl9QT1JUQUwsIENFTExfUkVOREVSRVJfUE9SVEFMIH0gZnJvbSBcIi4uL2NlbGwtcG9ydGFsLXJlZlwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtdGFibGUtY2VsbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1jZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY2VsbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ2VsbENvbXBvbmVudDxSb3c+IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KClcbiAgcm93OiBSb3c7XG5cbiAgQElucHV0KClcbiAgY29sdW1uOiBDb2x1bW5Nb2RlbDxSb3c+O1xuXG4gIEBJbnB1dCgpXG4gIGVkaXRTZXNzaW9uOiBFZGl0U2Vzc2lvbjxSb3c+O1xuXG4gIEBJbnB1dCgpXG4gIHRhYmxlTW9kZWw6IEFic3RyYWN0VGFibGVNb2RlbDxSb3c+O1xuXG4gIHByaXZhdGUgZWRpdFJvd0NvbW1hbmQ6IENvbW1hbmQ8dm9pZD47XG5cbiAgW0NFTExfUkVOREVSRVJfUE9SVEFMXTogUG9ydGFsPGFueT47XG4gIFtDRUxMX0VESVRPUl9QT1JUQUxdOiBQb3J0YWw8YW55PjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZGVmYXVsdENsYXNzTmFtZXMgPSAnYXVwLWNlbGwtcmVuZGVyZXInO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmlsbENlbGwnKVxuICBmaWxsQ2VsbCA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucGFkQ2hpbGQnKVxuICBwYWRDaGlsZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgZmlyc3RFZGl0YWJsZUNvbHVtbjogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZWRpdFJvd0NvbW1hbmQgPSBDb21tYW5kLmNyZWF0ZSgoKSA9PiB7XG4gICAgICB0aGlzLnRhYmxlTW9kZWwuc3RhcnRFZGl0U2Vzc2lvbih0aGlzLnJvdyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm9uSW5pdCgoKSA9PiB7XG4gICAgICBjb25zdCB7IGNoYWlufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICAgIHRoaXMuZmlyc3RFZGl0YWJsZUNvbHVtbiA9IGNoYWluKHRoaXMudGFibGVNb2RlbC5maXJzdEVkaXRhYmxlQ29sdW1uJCkuZXF1YWxzKHRoaXMuY29sdW1uKTsgLy8gdGhpcyB3b3VsZCBicmVhayBpZiB0aGUgY29sdW1uIGNoYW5nZWQuXG4gICAgICB0aGlzLmNvbHVtbi5hdHRhY2hDZWxsKHRoaXMpO1xuICAgIH0pXG4gIH1cblxuICBoYXNBY3RpdmVFZGl0b3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5lZGl0U2Vzc2lvbiAmJiAhIXRoaXMuY29sdW1uLmhhc0VkaXRvclBvcnRhbCgpO1xuICB9XG5cbiAgaW5pdGlhbGlzZVJlbmRlcmVyKHJlZjogQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYpIHtcbiAgICB0aGlzLmNvbHVtbi5vblJlbmRlcmVyQXR0YWNoZWQodGhpcywgcmVmKTtcbiAgfVxuXG4gIGluaXRpYWxpc2VFZGl0b3IocmVmOiBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZikge1xuICAgIHRoaXMuY29sdW1uLm9uRWRpdG9yQXR0YWNoZWQodGhpcywgcmVmKTtcbiAgICBpZiAodGhpcy5maXJzdEVkaXRhYmxlQ29sdW1uLnZhbHVlKSB7XG4gICAgICAvLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvaXNzdWVzLzEyMDcwXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudHJ5QW5kRm9jdXNFZGl0b3IocmVmKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0cnlBbmRGb2N1c0VkaXRvcihyZWY6IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmKSB7XG4gICAgaWYgKHJlZiBpbnN0YW5jZW9mIENvbXBvbmVudFJlZikge1xuICAgICAgY29uc3QgZWRpdG9yID0gcmVmLmluc3RhbmNlO1xuICAgICAgLy8gQ2VsbEVkaXRvckNvbXBvbmVudDxSb3c+IHwgQ2VsbExpc3RFZGl0b3JDb21wb25lbnQ8Um93PlxuICAgICAgaWYgKGVkaXRvci5yZXF1ZXN0Rm9jdXMpIHtcbiAgICAgICAgZWRpdG9yLnJlcXVlc3RGb2N1cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbW9kZWwgPSAoZWRpdG9yWyd2YWx1ZU1vZGVsJ10gfHwgZWRpdG9yWydsaXN0TW9kZWwnXSkgYXMgSGFzRm9jdXNDb250ZXh0O1xuICAgICAgICBtb2RlbD8uZm9jdXNDb250ZXh0Py5yZXF1ZXN0Rm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtbi51cGRhdGVQb3J0YWxDb250ZW50KHRoaXMpO1xuICB9XG5cbiAgZ2V0UmVuZGVyZXJQb3J0YWwoKSB7XG4gICAgcmV0dXJuIHRoaXNbQ0VMTF9SRU5ERVJFUl9QT1JUQUxdO1xuICB9XG5cbiAgZ2V0RWRpdG9yUG9ydGFsKCkge1xuICAgIHJldHVybiB0aGlzW0NFTExfRURJVE9SX1BPUlRBTF07XG4gIH1cblxuICBnZXRSb3dEYXRhKCk6IFJvd0RhdGE8Um93PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJvdzogdGhpcy5yb3csXG4gICAgICBlZGl0U2Vzc2lvbjogdGhpcy5lZGl0U2Vzc2lvbixcbiAgICAgIGVkaXRSb3dDb21tYW5kOiB0aGlzLmVkaXRSb3dDb21tYW5kXG4gICAgfTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoYXNBY3RpdmVFZGl0b3IoKVwiIFtjZGtQb3J0YWxPdXRsZXRdPVwiZ2V0UmVuZGVyZXJQb3J0YWwoKVwiIChhdHRhY2hlZCk9XCJpbml0aWFsaXNlUmVuZGVyZXIoJGV2ZW50KVwiPjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0FjdGl2ZUVkaXRvcigpXCIgW2Nka1BvcnRhbE91dGxldF09XCJnZXRFZGl0b3JQb3J0YWwoKVwiIChhdHRhY2hlZCk9XCJpbml0aWFsaXNlRWRpdG9yKCRldmVudClcIj48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
package/esm2022/lib/components/tables/renderer/table-header-cell/table-header-cell.component.mjs
CHANGED
|
@@ -7,6 +7,8 @@ export class TableHeaderCellComponent {
|
|
|
7
7
|
column;
|
|
8
8
|
defaultClassNames = 'aup-header-cell-renderer';
|
|
9
9
|
[HEADER_CELL_RENDERER_PORTAL];
|
|
10
|
+
constructor() {
|
|
11
|
+
}
|
|
10
12
|
ngOnInit() {
|
|
11
13
|
this.column.attachHeaderCell(this);
|
|
12
14
|
}
|
|
@@ -17,16 +19,16 @@ export class TableHeaderCellComponent {
|
|
|
17
19
|
getPortal() {
|
|
18
20
|
return this[HEADER_CELL_RENDERER_PORTAL];
|
|
19
21
|
}
|
|
20
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
21
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
22
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableHeaderCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: TableHeaderCellComponent, selector: "aup-table-header-cell", inputs: { column: "column" }, host: { properties: { "class": "this.defaultClassNames" } }, ngImport: i0, template: "<ng-container [cdkPortalOutlet]=\"getPortal()\" (attached)=\"initialiseHeader($event)\"></ng-container>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
|
|
22
24
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableHeaderCellComponent, decorators: [{
|
|
24
26
|
type: Component,
|
|
25
27
|
args: [{ selector: 'aup-table-header-cell', template: "<ng-container [cdkPortalOutlet]=\"getPortal()\" (attached)=\"initialiseHeader($event)\"></ng-container>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%}\n"] }]
|
|
26
|
-
}], propDecorators: { column: [{
|
|
28
|
+
}], ctorParameters: function () { return []; }, propDecorators: { column: [{
|
|
27
29
|
type: Input
|
|
28
30
|
}], defaultClassNames: [{
|
|
29
31
|
type: HostBinding,
|
|
30
32
|
args: ['class']
|
|
31
33
|
}] } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvdGFibGUtaGVhZGVyLWNlbGwvdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvdGFibGUtaGVhZGVyLWNlbGwvdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBT2pFLE1BQU0sT0FBTyx3QkFBd0I7SUFHbkMsTUFBTSxDQUFtQjtJQUd6QixpQkFBaUIsR0FBRywwQkFBMEIsQ0FBQztJQUUvQyxDQUFDLDJCQUEyQixDQUFDLENBQWM7SUFFM0M7SUFDQSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVc7SUFDWCxnQkFBZ0IsQ0FBQyxHQUErQjtRQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDM0MsQ0FBQzt1R0F4QlUsd0JBQXdCOzJGQUF4Qix3QkFBd0Isd0pDVnJDLDJHQUNBOzsyRkRTYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsdUJBQXVCOzBFQU9qQyxNQUFNO3NCQURMLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZiwgUG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29sdW1uTW9kZWwgfSBmcm9tIFwiLi4vLi4vY29sdW1uL2NvbHVtbi1tb2RlbFwiO1xuaW1wb3J0IHsgSEVBREVSX0NFTExfUkVOREVSRVJfUE9SVEFMIH0gZnJvbSBcIi4uL2NlbGwtcG9ydGFsLXJlZlwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtdGFibGUtaGVhZGVyLWNlbGwnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1oZWFkZXItY2VsbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlSGVhZGVyQ2VsbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgY29sdW1uOiBDb2x1bW5Nb2RlbDxhbnk+O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBkZWZhdWx0Q2xhc3NOYW1lcyA9ICdhdXAtaGVhZGVyLWNlbGwtcmVuZGVyZXInO1xuXG4gIFtIRUFERVJfQ0VMTF9SRU5ERVJFUl9QT1JUQUxdOiBQb3J0YWw8YW55PjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29sdW1uLmF0dGFjaEhlYWRlckNlbGwodGhpcyk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBpbml0aWFsaXNlSGVhZGVyKHJlZjogQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYpIHtcbiAgICB0aGlzLmNvbHVtbi5vbkhlYWRlckF0dGFjaGVkKHRoaXMsIHJlZik7XG4gIH1cblxuICBnZXRQb3J0YWwoKSB7XG4gICAgcmV0dXJuIHRoaXNbSEVBREVSX0NFTExfUkVOREVSRVJfUE9SVEFMXTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbY2RrUG9ydGFsT3V0bGV0XT1cImdldFBvcnRhbCgpXCIgKGF0dGFjaGVkKT1cImluaXRpYWxpc2VIZWFkZXIoJGV2ZW50KVwiPjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import { DelegatingCommand, DelegatingValueModel } from "@coolon/pectin";
|
|
3
|
+
import { DisposableComponent } from "../../../../disposable-component";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class TableMoreMenuPopupComponent extends DisposableComponent {
|
|
6
|
+
_value$ = this.registerDisposable(new DelegatingValueModel());
|
|
7
|
+
_visible$ = this.registerDisposable(new DelegatingValueModel()).withDefault(true);
|
|
8
|
+
_closeCommand = this.registerDisposable(new DelegatingCommand());
|
|
9
|
+
initialise(row$, closeCommand) {
|
|
10
|
+
this._value$.setDelegate(row$);
|
|
11
|
+
this._closeCommand.setDelegate(closeCommand);
|
|
12
|
+
}
|
|
13
|
+
visibleWhile(condition) {
|
|
14
|
+
this._visible$.setDelegate(condition);
|
|
15
|
+
return this;
|
|
16
|
+
}
|
|
17
|
+
get visible$() {
|
|
18
|
+
return this._visible$.readonly$;
|
|
19
|
+
}
|
|
20
|
+
get closeCommand() {
|
|
21
|
+
return this._closeCommand;
|
|
22
|
+
}
|
|
23
|
+
get value$() {
|
|
24
|
+
return this._value$.readonly$;
|
|
25
|
+
}
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableMoreMenuPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: TableMoreMenuPopupComponent, selector: "aup-table-more-menu-popup", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
28
|
+
}
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableMoreMenuPopupComponent, decorators: [{
|
|
30
|
+
type: Component,
|
|
31
|
+
args: [{ selector: 'aup-table-more-menu-popup', template: '' }]
|
|
32
|
+
}] });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbW9yZS1tZW51LXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL3JlbmRlcmVyL3RhYmxlLW1vcmUtbWVudS90YWJsZS1tb3JlLW1lbnUtcG9wdXAvdGFibGUtbW9yZS1tZW51LXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBVyxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBYyxNQUFNLGdCQUFnQixDQUFDO0FBQzlGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDOztBQU9yRSxNQUFNLE9BQU8sMkJBQStCLFNBQVEsbUJBQW1CO0lBRTdELE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxvQkFBb0IsRUFBSyxDQUFDLENBQUE7SUFFdkQsU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixFQUFXLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0YsYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLGlCQUFpQixFQUFRLENBQUMsQ0FBQTtJQUd2RixVQUFVLENBQUMsSUFBbUIsRUFBRSxZQUEyQjtRQUN6RCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRVMsWUFBWSxDQUFDLFNBQThCO1FBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUE7SUFDakMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUNoQyxDQUFDO3VHQTVCVSwyQkFBMkI7MkZBQTNCLDJCQUEyQix3RkFINUIsRUFBRTs7MkZBR0QsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDJCQUEyQixZQUMzQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1hbmQsIERlbGVnYXRpbmdDb21tYW5kLCBEZWxlZ2F0aW5nVmFsdWVNb2RlbCwgVmFsdWVNb2RlbCB9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHtEaXNwb3NhYmxlQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vLi4vZGlzcG9zYWJsZS1jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLXRhYmxlLW1vcmUtbWVudS1wb3B1cCcsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVNb3JlTWVudVBvcHVwQ29tcG9uZW50PFQ+IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCB7XG5cbiAgcHJpdmF0ZSBfdmFsdWUkID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPFQ+KCkpXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfdmlzaWJsZSQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8Ym9vbGVhbj4oKSkud2l0aERlZmF1bHQodHJ1ZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Nsb3NlQ29tbWFuZCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nQ29tbWFuZDx2b2lkPigpKVxuXG5cbiAgaW5pdGlhbGlzZShyb3ckOiBWYWx1ZU1vZGVsPFQ+LCBjbG9zZUNvbW1hbmQ6IENvbW1hbmQ8dm9pZD4pIHtcbiAgICB0aGlzLl92YWx1ZSQuc2V0RGVsZWdhdGUocm93JCk7XG4gICAgdGhpcy5fY2xvc2VDb21tYW5kLnNldERlbGVnYXRlKGNsb3NlQ29tbWFuZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdmlzaWJsZVdoaWxlKGNvbmRpdGlvbjogVmFsdWVNb2RlbDxib29sZWFuPikge1xuICAgIHRoaXMuX3Zpc2libGUkLnNldERlbGVnYXRlKGNvbmRpdGlvbik7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBnZXQgdmlzaWJsZSQoKTogVmFsdWVNb2RlbDxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGUkLnJlYWRvbmx5JFxuICB9XG5cbiAgZ2V0IGNsb3NlQ29tbWFuZCgpOiBDb21tYW5kPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xvc2VDb21tYW5kO1xuICB9XG5cbiAgZ2V0IHZhbHVlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUkLnJlYWRvbmx5JDtcbiAgfVxuXG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { ComponentPortal } from "@angular/cdk/portal";
|
|
3
|
+
import { Component, HostListener, ViewChild } from "@angular/core";
|
|
4
|
+
import { MatLegacyMenuTrigger as MatMenuTrigger } from "@angular/material/legacy-menu";
|
|
5
|
+
import { Command, DelegatingValueModel, Dsl, MutableValueModel, StoreInValueModel } from "@coolon/pectin";
|
|
6
|
+
import { DisposableComponent } from "../../../disposable-component";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
import * as i2 from "@angular/material/legacy-button";
|
|
10
|
+
import * as i3 from "@angular/cdk/portal";
|
|
11
|
+
import * as i4 from "@angular/material/legacy-menu";
|
|
12
|
+
import * as i5 from "../../../icon/icon.component";
|
|
13
|
+
export class TableMoreMenuComponent extends DisposableComponent {
|
|
14
|
+
value$ = new MutableValueModel();
|
|
15
|
+
#value_accessor_storage;
|
|
16
|
+
get value() { return this.#value_accessor_storage; }
|
|
17
|
+
set value(value) { this.#value_accessor_storage = value; }
|
|
18
|
+
matMenuTrigger;
|
|
19
|
+
popupType$ = new MutableValueModel();
|
|
20
|
+
popupComponentPortal$;
|
|
21
|
+
_visible$ = this.registerDisposable(new DelegatingValueModel());
|
|
22
|
+
constructor() {
|
|
23
|
+
super();
|
|
24
|
+
const { chain } = Dsl.disposeWith(this);
|
|
25
|
+
this.popupComponentPortal$ = chain(this.popupType$).map(type => new ComponentPortal(type));
|
|
26
|
+
}
|
|
27
|
+
configurePopupComponentType(popupComponentType) {
|
|
28
|
+
this.popupType$.value = popupComponentType;
|
|
29
|
+
}
|
|
30
|
+
// Stops tree selection when clicking the menu button
|
|
31
|
+
preventDefault($event) {
|
|
32
|
+
$event.preventDefault();
|
|
33
|
+
$event.stopPropagation();
|
|
34
|
+
}
|
|
35
|
+
initialise($event) {
|
|
36
|
+
const component = $event.instance;
|
|
37
|
+
component.initialise(this.value$, Command.create(() => this.matMenuTrigger.closeMenu()));
|
|
38
|
+
this._visible$.setDelegate(component.visible$);
|
|
39
|
+
}
|
|
40
|
+
get visible$() {
|
|
41
|
+
return this._visible$.readonly$;
|
|
42
|
+
}
|
|
43
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableMoreMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: TableMoreMenuComponent, selector: "aup-table-more-menu", host: { listeners: { "click": "preventDefault($event)" } }, viewQueries: [{ propertyName: "matMenuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <ng-template matMenuContent [cdkPortalOutlet]=\"popupComponentPortal$.value\"\n (attached)=\"initialise($event)\"></ng-template>\n</mat-menu>\n\n<button mat-icon-button [matMenuTriggerFor]=\"menu\" data-cy=\"more-menu-trigger\" *ngIf=\"visible$.value\">\n <aup-icon icon=\"mat:more_vert\"></aup-icon>\n</button>\n", styles: [":host{display:inline;text-align:end}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i4.MatLegacyMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i4.MatLegacyMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i4.MatLegacyMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "component", type: i5.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
|
|
45
|
+
}
|
|
46
|
+
__decorate([
|
|
47
|
+
StoreInValueModel(),
|
|
48
|
+
__metadata("design:type", Object)
|
|
49
|
+
], TableMoreMenuComponent.prototype, "value", null);
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableMoreMenuComponent, decorators: [{
|
|
51
|
+
type: Component,
|
|
52
|
+
args: [{ selector: "aup-table-more-menu", template: "<mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <ng-template matMenuContent [cdkPortalOutlet]=\"popupComponentPortal$.value\"\n (attached)=\"initialise($event)\"></ng-template>\n</mat-menu>\n\n<button mat-icon-button [matMenuTriggerFor]=\"menu\" data-cy=\"more-menu-trigger\" *ngIf=\"visible$.value\">\n <aup-icon icon=\"mat:more_vert\"></aup-icon>\n</button>\n", styles: [":host{display:inline;text-align:end}\n"] }]
|
|
53
|
+
}], ctorParameters: function () { return []; }, propDecorators: { value: [], matMenuTrigger: [{
|
|
54
|
+
type: ViewChild,
|
|
55
|
+
args: [MatMenuTrigger]
|
|
56
|
+
}], preventDefault: [{
|
|
57
|
+
type: HostListener,
|
|
58
|
+
args: ["click", ["$event"]]
|
|
59
|
+
}] } });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbW9yZS1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL3JlbmRlcmVyL3RhYmxlLW1vcmUtbWVudS90YWJsZS1tb3JlLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvdGFibGUtbW9yZS1tZW51L3RhYmxlLW1vcmUtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUE2QixlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRixPQUFPLEVBQUMsU0FBUyxFQUFnQixZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRixPQUFPLEVBQ0wsT0FBTyxFQUNQLG9CQUFvQixFQUNwQixHQUFHLEVBQ0gsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7O0FBU2xFLE1BQU0sT0FBTyxzQkFBMEIsU0FBUSxtQkFBbUI7SUFHeEQsTUFBTSxHQUFHLElBQUksaUJBQWlCLEVBQUssQ0FBQztJQUduQyx3QkFBUztJQUFULElBQUEsS0FBSywyQ0FBSTtJQUFULElBQUEsS0FBSyxpREFBSTtJQUdsQixjQUFjLENBQWlCO0lBRWQsVUFBVSxHQUFHLElBQUksaUJBQWlCLEVBQWlELENBQUM7SUFFckcscUJBQXFCLENBQW1FO0lBRXZFLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxvQkFBb0IsRUFBVyxDQUFDLENBQUM7SUFFMUY7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVELDJCQUEyQixDQUFDLGtCQUFpRTtRQUMzRixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxrQkFBa0IsQ0FBQztJQUM3QyxDQUFDO0lBR0QscURBQXFEO0lBRXJELGNBQWMsQ0FBQyxNQUFrQjtRQUMvQixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBa0M7UUFDM0MsTUFBTSxTQUFTLEdBQUksTUFBdUQsQ0FBQyxRQUFRLENBQUM7UUFDcEYsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO0lBQ2xDLENBQUM7dUdBM0NVLHNCQUFzQjsyRkFBdEIsc0JBQXNCLHVLQVF0QixjQUFjLHVFQzdCM0IsK1hBUUE7O0FEbUJXO0lBRFIsaUJBQWlCLEVBQUU7O21EQUNGOzJGQU5QLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxxQkFBcUI7MEVBVXRCLEtBQUssTUFHZCxjQUFjO3NCQURiLFNBQVM7dUJBQUMsY0FBYztnQkFzQnpCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Nka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmLCBDb21wb25lbnRQb3J0YWx9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQge0NvbXBvbmVudCwgQ29tcG9uZW50UmVmLCBIb3N0TGlzdGVuZXIsIFZpZXdDaGlsZH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7TWF0TGVnYWN5TWVudVRyaWdnZXIgYXMgTWF0TWVudVRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktbWVudVwiO1xuaW1wb3J0IHtcbiAgQ29tbWFuZCxcbiAgRGVsZWdhdGluZ1ZhbHVlTW9kZWwsXG4gIERzbCxcbiAgTXV0YWJsZVZhbHVlTW9kZWwsXG4gIFN0b3JlSW5WYWx1ZU1vZGVsLFxuICBWYWx1ZU1vZGVsQ2hhaW5cbn0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5pbXBvcnQge0NvbnN0cnVjdGFibGV9IGZyb20gXCJAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzXCI7XG5pbXBvcnQge0Rpc3Bvc2FibGVDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi9kaXNwb3NhYmxlLWNvbXBvbmVudFwiO1xuaW1wb3J0IHtDZWxsUmVuZGVyZXJ9IGZyb20gXCIuLi9jZWxsLXJlbmRlcmVyXCI7XG5pbXBvcnQge1RhYmxlTW9yZU1lbnVQb3B1cENvbXBvbmVudH0gZnJvbSBcIi4vdGFibGUtbW9yZS1tZW51LXBvcHVwL3RhYmxlLW1vcmUtbWVudS1wb3B1cC5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImF1cC10YWJsZS1tb3JlLW1lbnVcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWJsZS1tb3JlLW1lbnUuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3RhYmxlLW1vcmUtbWVudS5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZU1vcmVNZW51Q29tcG9uZW50PFQ+IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIENlbGxSZW5kZXJlcjxUPiB7XG5cblxuICBwcml2YXRlIHZhbHVlJCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxUPigpO1xuXG4gIEBTdG9yZUluVmFsdWVNb2RlbCgpXG4gIGFjY2Vzc29yIHZhbHVlOiBUO1xuXG4gIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpXG4gIG1hdE1lbnVUcmlnZ2VyOiBNYXRNZW51VHJpZ2dlcjtcblxuICBwcml2YXRlIHJlYWRvbmx5IHBvcHVwVHlwZSQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Q29uc3RydWN0YWJsZTxUYWJsZU1vcmVNZW51UG9wdXBDb21wb25lbnQ8VD4+PigpO1xuXG4gIHBvcHVwQ29tcG9uZW50UG9ydGFsJDogVmFsdWVNb2RlbENoYWluPENvbXBvbmVudFBvcnRhbDxUYWJsZU1vcmVNZW51UG9wdXBDb21wb25lbnQ8VD4+PjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF92aXNpYmxlJCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLnBvcHVwQ29tcG9uZW50UG9ydGFsJCA9IGNoYWluKHRoaXMucG9wdXBUeXBlJCkubWFwKHR5cGUgPT4gbmV3IENvbXBvbmVudFBvcnRhbCh0eXBlKSk7XG4gIH1cblxuICBjb25maWd1cmVQb3B1cENvbXBvbmVudFR5cGUocG9wdXBDb21wb25lbnRUeXBlOiBDb25zdHJ1Y3RhYmxlPFRhYmxlTW9yZU1lbnVQb3B1cENvbXBvbmVudDxUPj4pIHtcbiAgICB0aGlzLnBvcHVwVHlwZSQudmFsdWUgPSBwb3B1cENvbXBvbmVudFR5cGU7XG4gIH1cblxuXG4gIC8vIFN0b3BzIHRyZWUgc2VsZWN0aW9uIHdoZW4gY2xpY2tpbmcgdGhlIG1lbnUgYnV0dG9uXG4gIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiLCBbXCIkZXZlbnRcIl0pXG4gIHByZXZlbnREZWZhdWx0KCRldmVudDogTW91c2VFdmVudCkge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoJGV2ZW50OiBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZikge1xuICAgIGNvbnN0IGNvbXBvbmVudCA9ICgkZXZlbnQgYXMgQ29tcG9uZW50UmVmPFRhYmxlTW9yZU1lbnVQb3B1cENvbXBvbmVudDxUPj4pLmluc3RhbmNlO1xuICAgIGNvbXBvbmVudC5pbml0aWFsaXNlKHRoaXMudmFsdWUkLCBDb21tYW5kLmNyZWF0ZSgoKSA9PiB0aGlzLm1hdE1lbnVUcmlnZ2VyLmNsb3NlTWVudSgpKSk7XG4gICAgdGhpcy5fdmlzaWJsZSQuc2V0RGVsZWdhdGUoY29tcG9uZW50LnZpc2libGUkKTtcbiAgfVxuXG4gIGdldCB2aXNpYmxlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZSQucmVhZG9ubHkkO1xuICB9XG5cbn1cbiIsIjxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiB4UG9zaXRpb249XCJiZWZvcmVcIj5cbiAgPG5nLXRlbXBsYXRlIG1hdE1lbnVDb250ZW50IFtjZGtQb3J0YWxPdXRsZXRdPVwicG9wdXBDb21wb25lbnRQb3J0YWwkLnZhbHVlXCJcbiAgICAgICAgICAgICAgIChhdHRhY2hlZCk9XCJpbml0aWFsaXNlKCRldmVudClcIj48L25nLXRlbXBsYXRlPlxuPC9tYXQtbWVudT5cblxuPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBkYXRhLWN5PVwibW9yZS1tZW51LXRyaWdnZXJcIiAqbmdJZj1cInZpc2libGUkLnZhbHVlXCI+XG4gIDxhdXAtaWNvbiBpY29uPVwibWF0Om1vcmVfdmVydFwiPjwvYXVwLWljb24+XG48L2J1dHRvbj5cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { MultipleSelectionModel } from "@coolon/pectin";
|
|
2
1
|
import { AbstractTableModel } from "../abstract-table-model";
|
|
3
2
|
/**
|
|
3
|
+
* Example:
|
|
4
4
|
* @example
|
|
5
5
|
* const model = new TableModel(heroList, table => {
|
|
6
6
|
* table.pluck("firstName");
|
|
@@ -8,29 +8,54 @@ import { AbstractTableModel } from "../abstract-table-model";
|
|
|
8
8
|
* table.addCustomColumn("fullName", hero => `${hero.firstName} ${hero.lastName}`);
|
|
9
9
|
* });
|
|
10
10
|
*
|
|
11
|
+
* Editable tables
|
|
12
|
+
* @example
|
|
13
|
+
* const saveCommand = UnaryCommand.create((form: Form<Hero>) => {
|
|
14
|
+
* if (form.validate()) {
|
|
15
|
+
* // normal form save stuff
|
|
16
|
+
* return true; // finish editing
|
|
17
|
+
* }
|
|
18
|
+
* return false; // continue editiing
|
|
19
|
+
* }
|
|
20
|
+
* const colorsNames: ListModel<string> = ...;
|
|
21
|
+
* const model = TableModel.fromList(heroList, table => {
|
|
22
|
+
* table.pluck("firstName").cellEditor(StringInputComponent); <-- interface CellEditor { valueModel: DirtyTrackingForm.ValueModel<string> | ValueModel<string>; }
|
|
23
|
+
* table.pluck("lastName").cellEditor(StringInputComponent, {
|
|
24
|
+
* validators: [Validator.present("We need a last name")]
|
|
25
|
+
* });
|
|
26
|
+
* table.pluck("age").cellEditor(NumberInputComponent);
|
|
27
|
+
* table.pluck("favoriteColor").cellEditor(SelectInputComponent, {
|
|
28
|
+
* initialiseComponent(component: SelectInputComponent) {
|
|
29
|
+
* selectInput.optionsModel = colorsNames; // <- initialise our component
|
|
30
|
+
* }
|
|
31
|
+
* });
|
|
32
|
+
* table.addEditControls(saveCommand); // <- required to enable editing
|
|
33
|
+
* });
|
|
34
|
+
*
|
|
11
35
|
* Selection models
|
|
12
36
|
* @example
|
|
13
37
|
* const model = new TableModel(heroList, table => {
|
|
14
|
-
* table.
|
|
38
|
+
* table.addSelectionColumn(selectionModel); // <- can be single or multiple selection model
|
|
15
39
|
* table.pluck("firstName");
|
|
16
40
|
* table.pluck("lastName");
|
|
17
41
|
* });
|
|
18
42
|
*
|
|
19
|
-
* Custom cell renderers
|
|
43
|
+
* Custom cell renderers and editors
|
|
20
44
|
* @example
|
|
21
45
|
* const model = new TableModel(heroList, table => {
|
|
22
46
|
* table.pluck("favoriteColor")
|
|
23
47
|
* .cellHeaderRenderer(CellHeaderRendererComponent, (component, column) => {
|
|
24
48
|
* // configure your component with what ever you need.
|
|
25
|
-
* })
|
|
26
|
-
* .cellRenderer(CellRendererComponent);
|
|
49
|
+
* });
|
|
50
|
+
* .cellRenderer(CellRendererComponent) // <-- interface CellEditor { value: string; }
|
|
51
|
+
* .cellEditor(CellEditorComponent.); // <-- interface CellEditor { valueModel: DirtyTrackingForm.ValueModel<string> | ValueModel<string>; }
|
|
27
52
|
* table.addCustomColumn("fullName", hero => `${hero.firstName} ${hero.lastName}`);
|
|
28
53
|
* });
|
|
29
54
|
*
|
|
30
55
|
* Template columns
|
|
31
56
|
* @example
|
|
32
57
|
* const model = new TableModel(heroList, table => {
|
|
33
|
-
* table.
|
|
58
|
+
* table.addSelectionColumn(selectionModel); // <- can be single or multiple selection model
|
|
34
59
|
* table.addTemplateColumn("myTemplate");
|
|
35
60
|
* });
|
|
36
61
|
*
|
|
@@ -47,7 +72,7 @@ import { AbstractTableModel } from "../abstract-table-model";
|
|
|
47
72
|
* headerText: "Full Name"
|
|
48
73
|
*
|
|
49
74
|
* const model = new TableModel(heroList, table => {
|
|
50
|
-
* table.pluck("favoriteColor");
|
|
75
|
+
* table.pluck("favoriteColor").cellRenderer(...).cellEditor(...);
|
|
51
76
|
* table.addCustomColumn("fullName", hero => `${hero.firstName} ${hero.lastName}`);
|
|
52
77
|
*
|
|
53
78
|
* table.columnTextProperties(I18n.table.columns); // <- configures all columns
|
|
@@ -67,16 +92,8 @@ export class TableModel extends AbstractTableModel {
|
|
|
67
92
|
this._filteredRows$.setDelegate(filteredRows$);
|
|
68
93
|
this._visibleRows$.setDelegate(visibleRows$);
|
|
69
94
|
}
|
|
70
|
-
|
|
71
|
-
return this.
|
|
72
|
-
}
|
|
73
|
-
async withTemporaryMultipleSelectionModel(process) {
|
|
74
|
-
return this.selectionColumnModel.withTemporarySelectionModel(garbage => {
|
|
75
|
-
return new MultipleSelectionModel(this.filteredRows$, {
|
|
76
|
-
identifiedWith: item => this.dataSource$.identityOf(item),
|
|
77
|
-
disposedWith: garbage
|
|
78
|
-
});
|
|
79
|
-
}, process);
|
|
95
|
+
addSelectionColumn(selectionModel, showSelectionColumn) {
|
|
96
|
+
return this._addSelectionColumn(selectionModel, showSelectionColumn);
|
|
80
97
|
}
|
|
81
98
|
}
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy90YWJsZS90YWJsZS1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUczRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEVHO0FBQ0gsTUFBTSxPQUFPLFVBQWdCLFNBQVEsa0JBQXVCO0lBRTFELFlBQVksYUFBOEIsRUFBRSxPQUEwQztRQUNwRixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksT0FBTyxFQUFFO1lBQ1gsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2Y7UUFDRCxJQUFJLGFBQWEsRUFBRTtZQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxhQUE2QixFQUFFLFlBQTRCO1FBQ3JFLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQzlDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxjQUFvQyxFQUFFLG1CQUFtRDtRQUMxRyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUN2RSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xpc3RNb2RlbCwgUHJveHlSZWdpc3RyeSwgU2VsZWN0aW9uTW9kZWwsIFZhbHVlTW9kZWx9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHtpc0Z1bmN0aW9ufSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQge0Fic3RyYWN0VGFibGVNb2RlbH0gZnJvbSBcIi4uL2Fic3RyYWN0LXRhYmxlLW1vZGVsXCI7XG5pbXBvcnQge1NlbGVjdGlvbkNvbHVtbk1vZGVsfSBmcm9tIFwiLi4vY29sdW1uL3NlbGVjdGlvbi1jb2x1bW4tbW9kZWxcIjtcblxuLyoqXG4gKiBFeGFtcGxlOlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IG1vZGVsID0gbmV3IFRhYmxlTW9kZWwoaGVyb0xpc3QsIHRhYmxlID0+IHtcbiAqICAgdGFibGUucGx1Y2soXCJmaXJzdE5hbWVcIik7XG4gKiAgIHRhYmxlLnBsdWNrKFwibGFzdE5hbWVcIik7XG4gKiAgIHRhYmxlLmFkZEN1c3RvbUNvbHVtbihcImZ1bGxOYW1lXCIsIGhlcm8gPT4gYCR7aGVyby5maXJzdE5hbWV9ICR7aGVyby5sYXN0TmFtZX1gKTtcbiAqIH0pO1xuICpcbiAqIEVkaXRhYmxlIHRhYmxlc1xuICogQGV4YW1wbGVcbiAqIGNvbnN0IHNhdmVDb21tYW5kID0gVW5hcnlDb21tYW5kLmNyZWF0ZSgoZm9ybTogRm9ybTxIZXJvPikgPT4ge1xuICogICBpZiAoZm9ybS52YWxpZGF0ZSgpKSB7XG4gKiAgICAgLy8gbm9ybWFsIGZvcm0gc2F2ZSBzdHVmZlxuICogICAgIHJldHVybiB0cnVlOyAvLyBmaW5pc2ggZWRpdGluZ1xuICogICB9XG4gKiAgIHJldHVybiBmYWxzZTsgLy8gY29udGludWUgZWRpdGlpbmdcbiAqIH1cbiAqIGNvbnN0IGNvbG9yc05hbWVzOiBMaXN0TW9kZWw8c3RyaW5nPiA9IC4uLjtcbiAqIGNvbnN0IG1vZGVsID0gVGFibGVNb2RlbC5mcm9tTGlzdChoZXJvTGlzdCwgdGFibGUgPT4ge1xuICogICB0YWJsZS5wbHVjayhcImZpcnN0TmFtZVwiKS5jZWxsRWRpdG9yKFN0cmluZ0lucHV0Q29tcG9uZW50KTsgPC0tIGludGVyZmFjZSBDZWxsRWRpdG9yIHsgdmFsdWVNb2RlbDogIERpcnR5VHJhY2tpbmdGb3JtLlZhbHVlTW9kZWw8c3RyaW5nPiB8IFZhbHVlTW9kZWw8c3RyaW5nPjsgfVxuICogICB0YWJsZS5wbHVjayhcImxhc3ROYW1lXCIpLmNlbGxFZGl0b3IoU3RyaW5nSW5wdXRDb21wb25lbnQsIHtcbiAqICAgICB2YWxpZGF0b3JzOiBbVmFsaWRhdG9yLnByZXNlbnQoXCJXZSBuZWVkIGEgbGFzdCBuYW1lXCIpXVxuICogICB9KTtcbiAqICAgdGFibGUucGx1Y2soXCJhZ2VcIikuY2VsbEVkaXRvcihOdW1iZXJJbnB1dENvbXBvbmVudCk7XG4gKiAgIHRhYmxlLnBsdWNrKFwiZmF2b3JpdGVDb2xvclwiKS5jZWxsRWRpdG9yKFNlbGVjdElucHV0Q29tcG9uZW50LCB7XG4gKiAgICAgaW5pdGlhbGlzZUNvbXBvbmVudChjb21wb25lbnQ6IFNlbGVjdElucHV0Q29tcG9uZW50KSB7XG4gKiAgICAgICBzZWxlY3RJbnB1dC5vcHRpb25zTW9kZWwgPSBjb2xvcnNOYW1lczsgLy8gPC0gaW5pdGlhbGlzZSBvdXIgY29tcG9uZW50XG4gKiAgICAgfVxuICogICB9KTtcbiAqICAgdGFibGUuYWRkRWRpdENvbnRyb2xzKHNhdmVDb21tYW5kKTsgLy8gPC0gcmVxdWlyZWQgdG8gZW5hYmxlIGVkaXRpbmdcbiAqIH0pO1xuICpcbiAqIFNlbGVjdGlvbiBtb2RlbHNcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBtb2RlbCA9IG5ldyBUYWJsZU1vZGVsKGhlcm9MaXN0LCB0YWJsZSA9PiB7XG4gKiAgIHRhYmxlLmFkZFNlbGVjdGlvbkNvbHVtbihzZWxlY3Rpb25Nb2RlbCk7IC8vIDwtIGNhbiBiZSBzaW5nbGUgb3IgbXVsdGlwbGUgc2VsZWN0aW9uIG1vZGVsXG4gKiAgIHRhYmxlLnBsdWNrKFwiZmlyc3ROYW1lXCIpO1xuICogICB0YWJsZS5wbHVjayhcImxhc3ROYW1lXCIpO1xuICogfSk7XG4gKlxuICogQ3VzdG9tIGNlbGwgcmVuZGVyZXJzIGFuZCBlZGl0b3JzXG4gKiBAZXhhbXBsZVxuICogY29uc3QgbW9kZWwgPSBuZXcgVGFibGVNb2RlbChoZXJvTGlzdCwgdGFibGUgPT4ge1xuICogICB0YWJsZS5wbHVjayhcImZhdm9yaXRlQ29sb3JcIilcbiAqICAgICAgLmNlbGxIZWFkZXJSZW5kZXJlcihDZWxsSGVhZGVyUmVuZGVyZXJDb21wb25lbnQsIChjb21wb25lbnQsIGNvbHVtbikgPT4ge1xuICogICAgICAgIC8vIGNvbmZpZ3VyZSB5b3VyIGNvbXBvbmVudCB3aXRoIHdoYXQgZXZlciB5b3UgbmVlZC5cbiAqICAgICAgfSk7XG4gKiAgICAgIC5jZWxsUmVuZGVyZXIoQ2VsbFJlbmRlcmVyQ29tcG9uZW50KSAvLyA8LS0gaW50ZXJmYWNlIENlbGxFZGl0b3IgeyB2YWx1ZTogc3RyaW5nOyB9XG4gKiAgICAgIC5jZWxsRWRpdG9yKENlbGxFZGl0b3JDb21wb25lbnQuKTsgLy8gPC0tIGludGVyZmFjZSBDZWxsRWRpdG9yIHsgdmFsdWVNb2RlbDogIERpcnR5VHJhY2tpbmdGb3JtLlZhbHVlTW9kZWw8c3RyaW5nPiB8IFZhbHVlTW9kZWw8c3RyaW5nPjsgfVxuICogICB0YWJsZS5hZGRDdXN0b21Db2x1bW4oXCJmdWxsTmFtZVwiLCBoZXJvID0+IGAke2hlcm8uZmlyc3ROYW1lfSAke2hlcm8ubGFzdE5hbWV9YCk7XG4gKiB9KTtcbiAqXG4gKiBUZW1wbGF0ZSBjb2x1bW5zXG4gKiBAZXhhbXBsZVxuICogY29uc3QgbW9kZWwgPSBuZXcgVGFibGVNb2RlbChoZXJvTGlzdCwgdGFibGUgPT4ge1xuICogICB0YWJsZS5hZGRTZWxlY3Rpb25Db2x1bW4oc2VsZWN0aW9uTW9kZWwpOyAvLyA8LSBjYW4gYmUgc2luZ2xlIG9yIG11bHRpcGxlIHNlbGVjdGlvbiBtb2RlbFxuICogICB0YWJsZS5hZGRUZW1wbGF0ZUNvbHVtbihcIm15VGVtcGxhdGVcIik7XG4gKiB9KTtcbiAqXG4gKiA8ZGl2ICphdXBDb2x1bW5UZW1wbGF0ZT1cImxldCBoZXJvOyBjb2x1bW5JZDogJ215VGVtcGxhdGUnXCI+e3toZXJvLmFnZX19PC9kaXY+XG4gKlxuICogSTE4blxuICogQGV4YW1wbGVcbiAqIFt0YWJsZS55bWxdXG4gKiB0YWJsZTpcbiAqICAgY29sdW1ucyhDb2x1bW5UZXh0UHJvcGVydGllc1tdKTpcbiAqICAgICAgZmlyc3ROYW1lOlxuICogICAgICAgICBoZWFkZXJUZXh0OiBcIkZpcnN0IE5hbWVcIlxuICogICAgICBmdWxsTmFtZTpcbiAqICAgICAgICAgaGVhZGVyVGV4dDogXCJGdWxsIE5hbWVcIlxuICpcbiAqIGNvbnN0IG1vZGVsID0gbmV3IFRhYmxlTW9kZWwoaGVyb0xpc3QsIHRhYmxlID0+IHtcbiAqICAgdGFibGUucGx1Y2soXCJmYXZvcml0ZUNvbG9yXCIpLmNlbGxSZW5kZXJlciguLi4pLmNlbGxFZGl0b3IoLi4uKTtcbiAqICAgdGFibGUuYWRkQ3VzdG9tQ29sdW1uKFwiZnVsbE5hbWVcIiwgaGVybyA9PiBgJHtoZXJvLmZpcnN0TmFtZX0gJHtoZXJvLmxhc3ROYW1lfWApO1xuICpcbiAqICAgdGFibGUuY29sdW1uVGV4dFByb3BlcnRpZXMoSTE4bi50YWJsZS5jb2x1bW5zKTsgLy8gPC0gY29uZmlndXJlcyBhbGwgY29sdW1uc1xuICogfSk7XG4gKi9cbmV4cG9ydCBjbGFzcyBUYWJsZU1vZGVsPFJvdz4gZXh0ZW5kcyBBYnN0cmFjdFRhYmxlTW9kZWw8Um93PiB7XG5cbiAgY29uc3RydWN0b3Ioc291cmNlT2ZUcnV0aD86IExpc3RNb2RlbDxSb3c+LCBidWlsZGVyPzogKHRhYmxlOiBUYWJsZU1vZGVsPFJvdz4pID0+IHZvaWQpIHtcbiAgICBzdXBlcigpO1xuICAgIGlmIChidWlsZGVyKSB7XG4gICAgICBidWlsZGVyKHRoaXMpO1xuICAgIH1cbiAgICBpZiAoc291cmNlT2ZUcnV0aCkge1xuICAgICAgdGhpcy5zZXREYXRhU291cmNlKHNvdXJjZU9mVHJ1dGgpO1xuICAgIH1cbiAgfVxuXG4gIGJpbmRUb1RhYmxlKGZpbHRlcmVkUm93cyQ6IExpc3RNb2RlbDxSb3c+LCB2aXNpYmxlUm93cyQ6IExpc3RNb2RlbDxSb3c+KSB7XG4gICAgdGhpcy5fZmlsdGVyZWRSb3dzJC5zZXREZWxlZ2F0ZShmaWx0ZXJlZFJvd3MkKVxuICAgIHRoaXMuX3Zpc2libGVSb3dzJC5zZXREZWxlZ2F0ZSh2aXNpYmxlUm93cyQpO1xuICB9XG5cbiAgYWRkU2VsZWN0aW9uQ29sdW1uKHNlbGVjdGlvbk1vZGVsPzogU2VsZWN0aW9uTW9kZWw8Um93Piwgc2hvd1NlbGVjdGlvbkNvbHVtbj86IFZhbHVlTW9kZWw8Ym9vbGVhbj4gfCBib29sZWFuKTogU2VsZWN0aW9uQ29sdW1uTW9kZWw8Um93PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZFNlbGVjdGlvbkNvbHVtbihzZWxlY3Rpb25Nb2RlbCwgc2hvd1NlbGVjdGlvbkNvbHVtbik7XG4gIH1cbn1cblxuIl19
|