@coolon/angular-ui-powerups 12.4.8 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/activities/activities.scss +1 -1
- package/assets/cards.scss +1 -1
- package/assets/form.scss +1 -1
- package/assets/interaction/editor/inline-string-editor.scss +1 -1
- package/assets/interaction.scss +1 -1
- package/assets/mixins.scss +2 -2
- package/assets/pills.scss +1 -1
- package/assets/styles.scss +1 -1
- package/{esm2015/lib/angular-ui-powerups.module.js → esm2020/lib/angular-ui-powerups.module.mjs} +5 -5
- package/esm2020/lib/components/busy-overlay/busy-overlay.component.mjs +32 -0
- package/{esm2015/lib/components/cards/abstract-card-container.component.js → esm2020/lib/components/cards/abstract-card-container.component.mjs} +4 -4
- package/esm2020/lib/components/cards/card-container/card-container.component.mjs +129 -0
- package/esm2020/lib/components/cards/card-stack/card-stack.component.mjs +81 -0
- package/esm2020/lib/components/commands/command/command.component.mjs +96 -0
- package/{esm2015/lib/components/commands/command-face/command-face.component.js → esm2020/lib/components/commands/command-face/command-face.component.mjs} +5 -10
- package/esm2020/lib/components/commands/command-face.mjs +112 -0
- package/{esm2015/lib/components/commands/flex.component.js → esm2020/lib/components/commands/flex.component.mjs} +4 -4
- package/esm2020/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +84 -0
- package/esm2020/lib/components/commands/group/popup-menu/more-menu.component.mjs +57 -0
- package/esm2020/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +101 -0
- package/esm2020/lib/components/commands/group/popup-menu/popup-menu.component.mjs +53 -0
- package/esm2020/lib/components/commands/group/tool-bar/tool-bar.component.mjs +31 -0
- package/{esm2015/lib/components/commands/separator.component.js → esm2020/lib/components/commands/separator.component.mjs} +5 -5
- package/{esm2015/lib/components/components.module.js → esm2020/lib/components/components.module.mjs} +6 -6
- package/{esm2015/lib/components/disposable-component.js → esm2020/lib/components/disposable-component.mjs} +4 -4
- package/{esm2015/lib/components/empty-state/empty-state.component.js → esm2020/lib/components/empty-state/empty-state.component.mjs} +6 -10
- package/{esm2015/lib/components/focus-container/focus-container.component.js → esm2020/lib/components/focus-container/focus-container.component.mjs} +6 -11
- package/{esm2015/lib/components/focusable.component.js → esm2020/lib/components/focusable.component.mjs} +6 -8
- package/{esm2015/lib/components/forms/abstract-input.component.js → esm2020/lib/components/forms/abstract-input.component.mjs} +4 -4
- package/{esm2015/lib/components/forms/abstract-list-input.component.js → esm2020/lib/components/forms/abstract-list-input.component.mjs} +4 -4
- package/{esm2015/lib/components/forms/abstract-value-input.component.js → esm2020/lib/components/forms/abstract-value-input.component.mjs} +4 -4
- package/esm2020/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +72 -0
- package/esm2020/lib/components/forms/checkbox-input/checkbox-input.component.mjs +29 -0
- package/esm2020/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +52 -0
- package/esm2020/lib/components/forms/number-input/number-input.component.mjs +33 -0
- package/esm2020/lib/components/forms/password-input/password-input.component.mjs +24 -0
- package/esm2020/lib/components/forms/select-input/select-input.component.mjs +57 -0
- package/esm2020/lib/components/forms/string-input/string-input.component.mjs +48 -0
- package/esm2020/lib/components/forms/text-input/text-input.component.mjs +30 -0
- package/esm2020/lib/components/icon/icon.component.mjs +52 -0
- package/esm2020/lib/components/labelled-value/labelled-value.component.mjs +20 -0
- package/esm2020/lib/components/loading-container/loading-container.component.mjs +50 -0
- package/esm2020/lib/components/noop/noop.component.mjs +13 -0
- package/{esm2015/lib/components/resize-aware.component.js → esm2020/lib/components/resize-aware.component.mjs} +4 -4
- package/esm2020/lib/components/scroll-container/scroll-container.component.mjs +15 -0
- package/esm2020/lib/components/section-header/section-header.component.mjs +36 -0
- package/{esm2015/lib/components/switch-case/switch-case.component.js → esm2020/lib/components/switch-case/switch-case.component.mjs} +11 -15
- package/esm2020/lib/components/tables/abstract-table-model.mjs +185 -0
- package/esm2020/lib/components/tables/abstract-table.component.mjs +168 -0
- package/{esm2015/lib/components/tables/column-list-model.js → esm2020/lib/components/tables/column-list-model.mjs} +2 -2
- package/{esm2015/lib/components/tables/table/cell-portal-ref.js → esm2020/lib/components/tables/table/cell-portal-ref.mjs} +2 -2
- package/esm2020/lib/components/tables/table/column-model.mjs +392 -0
- package/esm2020/lib/components/tables/table/column-template/column-template.directive.mjs +35 -0
- package/esm2020/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.mjs +22 -0
- package/esm2020/lib/components/tables/table/default-header-cell-renderer/default-header-cell-renderer.component.mjs +15 -0
- package/esm2020/lib/components/tables/table/edit-row-controls/edit-row-controls.component.mjs +55 -0
- package/esm2020/lib/components/tables/table/paginator/paginator.component.mjs +40 -0
- package/esm2020/lib/components/tables/table/select-cell-renderer/select-cell-renderer.component.mjs +26 -0
- package/esm2020/lib/components/tables/table/select-header-cell-renderer/select-header-cell-renderer.component.mjs +31 -0
- package/esm2020/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.mjs +93 -0
- package/esm2020/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.mjs +32 -0
- package/{esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.js → esm2020/lib/components/tables/table/table-row-menu/table-row-menu.component.mjs} +5 -5
- package/esm2020/lib/components/tables/table/table.component.mjs +95 -0
- package/esm2020/lib/components/tables/tree-table/decorated-tree-node.mjs +171 -0
- package/esm2020/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.mjs +72 -0
- package/esm2020/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +91 -0
- package/{esm2015/lib/components/tables/tree-table/tree-label-column-model.js → esm2020/lib/components/tables/tree-table/tree-label-column-model.mjs} +2 -2
- package/esm2020/lib/components/tables/tree-table/tree-table-component.mjs +95 -0
- package/esm2020/lib/components/tables/tree-table/tree-table-model.mjs +94 -0
- package/{esm2015/lib/components/text/markdown/markdown.component.js → esm2020/lib/components/text/markdown/markdown.component.mjs} +6 -10
- package/{esm2015/lib/components/vertical-focus-container/vertical-focus-container.component.js → esm2020/lib/components/vertical-focus-container/vertical-focus-container.component.mjs} +6 -11
- package/{esm2015/lib/directives/command.directive.js → esm2020/lib/directives/command.directive.mjs} +4 -4
- package/{esm2015/lib/directives/directives.module.js → esm2020/lib/directives/directives.module.mjs} +5 -5
- package/{esm2015/lib/directives/focus-binding-factory.js → esm2020/lib/directives/focus-binding-factory.mjs} +4 -4
- package/{esm2015/lib/directives/focus-binding.directive.js → esm2020/lib/directives/focus-binding.directive.mjs} +4 -4
- package/{esm2015/lib/directives/highlight-text-model.directive.js → esm2020/lib/directives/highlight-text-model.directive.mjs} +4 -4
- package/{esm2015/lib/directives/highlight.pipe.js → esm2020/lib/directives/highlight.pipe.mjs} +7 -8
- package/esm2020/lib/interaction/activity.mjs +87 -0
- package/{esm2015/lib/interaction/alert.js → esm2020/lib/interaction/alert.mjs} +2 -2
- package/{esm2015/lib/interaction/components/abstract-confirm-dialog.component.js → esm2020/lib/interaction/components/abstract-confirm-dialog.component.mjs} +4 -4
- package/{esm2015/lib/interaction/components/abstract-dialog.component.js → esm2020/lib/interaction/components/abstract-dialog.component.mjs} +4 -4
- package/esm2020/lib/interaction/components/activity-actions/activity-actions.component.mjs +109 -0
- package/esm2020/lib/interaction/components/activity-body/activity-body.component.mjs +23 -0
- package/esm2020/lib/interaction/components/activity-container/activity-container.component.mjs +205 -0
- package/{esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js → esm2020/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs} +5 -9
- package/esm2020/lib/interaction/components/activity-title/activity-title.component.mjs +41 -0
- package/{esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js → esm2020/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.mjs} +5 -6
- package/esm2020/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +24 -0
- package/esm2020/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.mjs +22 -0
- package/esm2020/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.mjs +30 -0
- package/esm2020/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +91 -0
- package/esm2020/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +73 -0
- package/esm2020/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +30 -0
- package/esm2020/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +30 -0
- package/esm2020/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +34 -0
- package/esm2020/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +29 -0
- package/esm2020/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +173 -0
- package/esm2020/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +91 -0
- package/esm2020/lib/interaction/components/input-activities/input-activity.mjs +103 -0
- package/{esm2015/lib/interaction/components/input-activities/select-input-activity.js → esm2020/lib/interaction/components/input-activities/select-input-activity.mjs} +6 -8
- package/{esm2015/lib/interaction/components/input-activities/string-input-activity.js → esm2020/lib/interaction/components/input-activities/string-input-activity.mjs} +4 -4
- package/{esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js → esm2020/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.mjs} +5 -9
- package/{esm2015/lib/interaction/directives/interaction-context-trigger-for.directive.js → esm2020/lib/interaction/directives/interaction-context-trigger-for.directive.mjs} +5 -5
- package/{esm2015/lib/interaction/interaction.module.js → esm2020/lib/interaction/interaction.module.mjs} +5 -11
- package/{esm2015/lib/interaction/services/interaction.service.js → esm2020/lib/interaction/services/interaction.service.mjs} +4 -4
- package/esm2020/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +47 -0
- package/esm2020/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +61 -0
- package/{esm2015/lib/place/components/abstract-place-navigation.component.js → esm2020/lib/place/components/abstract-place-navigation.component.mjs} +4 -4
- package/esm2020/lib/place/components/list-place-nav/list-place-nav.component.mjs +23 -0
- package/esm2020/lib/place/components/not-authorised-notice/not-authorised-notice.component.mjs +13 -0
- package/esm2020/lib/place/components/place-outlet/place-outlet.component.mjs +256 -0
- package/esm2020/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +93 -0
- package/esm2020/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +22 -0
- package/{esm2015/lib/place/guards/consolidated-param-map.js → esm2020/lib/place/guards/consolidated-param-map.mjs} +2 -2
- package/esm2020/lib/place/guards/noop-auth-guard.service.mjs +18 -0
- package/esm2020/lib/place/guards/place.guard.mjs +109 -0
- package/esm2020/lib/place/navigation/place-component-deactivation-handler.mjs +83 -0
- package/esm2020/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.mjs +43 -0
- package/esm2020/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.mjs +152 -0
- package/esm2020/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.mjs +62 -0
- package/{esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js → esm2020/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs} +2 -2
- package/esm2020/lib/place/navigation/session/navigation-session.mjs +157 -0
- package/esm2020/lib/place/place-component.mjs +198 -0
- package/{esm2015/lib/place/place-definition.js → esm2020/lib/place/place-definition.mjs} +2 -2
- package/esm2020/lib/place/place-history.mjs +138 -0
- package/esm2020/lib/place/place-router.mjs +331 -0
- package/esm2020/lib/place/place.decorator.mjs +18 -0
- package/{esm2015/lib/place/place.module.js → esm2020/lib/place/place.module.mjs} +5 -6
- package/{esm2015/lib/place/route/formatter.js → esm2020/lib/place/route/formatter.mjs} +2 -2
- package/esm2020/lib/place/route/parameter-definition.mjs +123 -0
- package/esm2020/lib/place/route/visit-sanitiser.mjs +41 -0
- package/{esm2015/lib/place/url-service.js → esm2020/lib/place/url-service.mjs} +4 -4
- package/{esm2015/lib/place/url-snapshot.js → esm2020/lib/place/url-snapshot.mjs} +2 -2
- package/esm2020/lib/place/visit.mjs +69 -0
- package/{esm2015/lib/services/markdown/markdown.service.js → esm2020/lib/services/markdown/markdown.service.mjs} +5 -5
- package/esm2020/lib/services/markdown/pill-plugin.mjs +37 -0
- package/{esm2015/lib/services/visibility-service.js → esm2020/lib/services/visibility-service.mjs} +4 -4
- package/fesm2015/{coolon-angular-ui-powerups.js → coolon-angular-ui-powerups.mjs} +1202 -1417
- package/fesm2015/coolon-angular-ui-powerups.mjs.map +1 -0
- package/fesm2020/coolon-angular-ui-powerups.mjs +9891 -0
- package/fesm2020/coolon-angular-ui-powerups.mjs.map +1 -0
- package/package.json +39 -26
- package/schematics/activity/index.js +3 -3
- package/schematics/activity/index.js.map +1 -1
- package/schematics/aup-i18n/index.js +7 -7
- package/schematics/aup-i18n/index.js.map +1 -1
- package/schematics/bootstrap-app/index.js +9 -9
- package/schematics/bootstrap-app/index.js.map +1 -1
- package/schematics/bootstrap-app/templates/src/styles.scss.template +2 -2
- package/schematics/component/index.js +3 -3
- package/schematics/component/index.js.map +1 -1
- package/schematics/ng-add/index.js +2 -2
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/place-add/index.js +3 -3
- package/schematics/place-add/index.js.map +1 -1
- package/schematics/place-bootstrap/index.js +1 -1
- package/schematics/place-bootstrap/index.js.map +1 -1
- package/schematics/place-routes/place-builder.js +6 -6
- package/schematics/place-routes/place-builder.js.map +1 -1
- package/schematics/place-routes/place-class-scanner.js +4 -4
- package/schematics/place-routes/place-class-scanner.js.map +1 -1
- package/schematics/place-routes/place-def.js +4 -4
- package/schematics/place-routes/place-def.js.map +1 -1
- package/schematics/utils/decorators/decorated-class.js +1 -1
- package/schematics/utils/decorators/decorated-class.js.map +1 -1
- package/schematics/utils/import-def.js +3 -3
- package/schematics/utils/import-def.js.map +1 -1
- package/schematics/utils/method-scanner.js +5 -5
- package/schematics/utils/method-scanner.js.map +1 -1
- package/schematics/utils/path-helper.js +3 -3
- package/schematics/utils/path-helper.js.map +1 -1
- package/schematics/utils/source-file-scanner.js +6 -6
- package/schematics/utils/source-file-scanner.js.map +1 -1
- package/schematics/utils/source-file-utilities.js +2 -2
- package/schematics/utils/source-file-utilities.js.map +1 -1
- package/schematics/utils/template-utilities.js +4 -4
- package/schematics/utils/template-utilities.js.map +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.js +0 -11847
- package/bundles/coolon-angular-ui-powerups.umd.js.map +0 -1
- package/esm2015/lib/components/busy-overlay/busy-overlay.component.js +0 -36
- package/esm2015/lib/components/cards/card-container/card-container.component.js +0 -133
- package/esm2015/lib/components/cards/card-stack/card-stack.component.js +0 -85
- package/esm2015/lib/components/commands/command/command.component.js +0 -100
- package/esm2015/lib/components/commands/command-face.js +0 -112
- package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.js +0 -89
- package/esm2015/lib/components/commands/group/popup-menu/more-menu.component.js +0 -61
- package/esm2015/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.js +0 -104
- package/esm2015/lib/components/commands/group/popup-menu/popup-menu.component.js +0 -58
- package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.js +0 -36
- package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +0 -76
- package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +0 -33
- package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +0 -56
- package/esm2015/lib/components/forms/number-input/number-input.component.js +0 -37
- package/esm2015/lib/components/forms/password-input/password-input.component.js +0 -28
- package/esm2015/lib/components/forms/select-input/select-input.component.js +0 -61
- package/esm2015/lib/components/forms/string-input/string-input.component.js +0 -52
- package/esm2015/lib/components/forms/text-input/text-input.component.js +0 -34
- package/esm2015/lib/components/icon/icon.component.js +0 -56
- package/esm2015/lib/components/labelled-value/labelled-value.component.js +0 -24
- package/esm2015/lib/components/loading-container/loading-container.component.js +0 -54
- package/esm2015/lib/components/noop/noop.component.js +0 -17
- package/esm2015/lib/components/scroll-container/scroll-container.component.js +0 -19
- package/esm2015/lib/components/section-header/section-header.component.js +0 -40
- package/esm2015/lib/components/tables/abstract-table-model.js +0 -188
- package/esm2015/lib/components/tables/abstract-table.component.js +0 -170
- package/esm2015/lib/components/tables/table/column-model.js +0 -389
- package/esm2015/lib/components/tables/table/column-template/column-template.directive.js +0 -36
- package/esm2015/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.js +0 -26
- package/esm2015/lib/components/tables/table/default-header-cell-renderer/default-header-cell-renderer.component.js +0 -19
- package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.js +0 -60
- package/esm2015/lib/components/tables/table/paginator/paginator.component.js +0 -44
- package/esm2015/lib/components/tables/table/select-cell-renderer/select-cell-renderer.component.js +0 -32
- package/esm2015/lib/components/tables/table/select-header-cell-renderer/select-header-cell-renderer.component.js +0 -37
- package/esm2015/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.js +0 -98
- package/esm2015/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.js +0 -36
- package/esm2015/lib/components/tables/table/table.component.js +0 -100
- package/esm2015/lib/components/tables/tree-table/decorated-tree-node.js +0 -171
- package/esm2015/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.js +0 -76
- package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.js +0 -96
- package/esm2015/lib/components/tables/tree-table/tree-table-component.js +0 -100
- package/esm2015/lib/components/tables/tree-table/tree-table-model.js +0 -94
- package/esm2015/lib/interaction/activity.js +0 -88
- package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js +0 -113
- package/esm2015/lib/interaction/components/activity-body/activity-body.component.js +0 -27
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +0 -214
- package/esm2015/lib/interaction/components/activity-title/activity-title.component.js +0 -45
- package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.js +0 -28
- package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.js +0 -26
- package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.js +0 -34
- package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.js +0 -95
- package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.js +0 -77
- package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +0 -34
- package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +0 -34
- package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.js +0 -39
- package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +0 -33
- package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js +0 -176
- package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +0 -96
- package/esm2015/lib/interaction/components/input-activities/input-activity.js +0 -107
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +0 -41
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +0 -58
- package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +0 -27
- package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.js +0 -17
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +0 -263
- package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js +0 -97
- package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +0 -26
- package/esm2015/lib/place/guards/noop-auth-guard.service.js +0 -21
- package/esm2015/lib/place/guards/place.guard.js +0 -116
- package/esm2015/lib/place/navigation/place-component-deactivation-handler.js +0 -88
- package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js +0 -46
- package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.js +0 -159
- package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js +0 -65
- package/esm2015/lib/place/navigation/session/navigation-session.js +0 -160
- package/esm2015/lib/place/place-component.js +0 -204
- package/esm2015/lib/place/place-history.js +0 -139
- package/esm2015/lib/place/place-router.js +0 -336
- package/esm2015/lib/place/place.decorator.js +0 -19
- package/esm2015/lib/place/route/parameter-definition.js +0 -128
- package/esm2015/lib/place/route/visit-sanitiser.js +0 -44
- package/esm2015/lib/place/visit.js +0 -69
- package/esm2015/lib/services/markdown/pill-plugin.js +0 -38
- package/fesm2015/coolon-angular-ui-powerups.js.map +0 -1
- /package/{esm2015/coolon-angular-ui-powerups.js → esm2020/coolon-angular-ui-powerups.mjs} +0 -0
- /package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- /package/{esm2015/lib/animations/exports.js → esm2020/lib/animations/exports.mjs} +0 -0
- /package/{esm2015/lib/animations/slide-animations.js → esm2020/lib/animations/slide-animations.mjs} +0 -0
- /package/{esm2015/lib/components/alignment.js → esm2020/lib/components/alignment.mjs} +0 -0
- /package/{esm2015/lib/components/commands/group/command-container.js → esm2020/lib/components/commands/group/command-container.mjs} +0 -0
- /package/{esm2015/lib/components/commands/group/popup-aware.component.js → esm2020/lib/components/commands/group/popup-aware.component.mjs} +0 -0
- /package/{esm2015/lib/components/commands/group/popup-container.js → esm2020/lib/components/commands/group/popup-container.mjs} +0 -0
- /package/{esm2015/lib/components/exports.js → esm2020/lib/components/exports.mjs} +0 -0
- /package/{esm2015/lib/components/tables/edit-session.js → esm2020/lib/components/tables/edit-session.mjs} +0 -0
- /package/{esm2015/lib/components/tables/table/cell-editors.js → esm2020/lib/components/tables/table/cell-editors.mjs} +0 -0
- /package/{esm2015/lib/components/tables/table/cell-renderer.js → esm2020/lib/components/tables/table/cell-renderer.mjs} +0 -0
- /package/{esm2015/lib/components/tables/table/column-text-properties.js → esm2020/lib/components/tables/table/column-text-properties.mjs} +0 -0
- /package/{esm2015/lib/components/tables/table/mutable-cell-renderer.js → esm2020/lib/components/tables/table/mutable-cell-renderer.mjs} +0 -0
- /package/{esm2015/lib/components/tables/table/table-def.js → esm2020/lib/components/tables/table/table-def.mjs} +0 -0
- /package/{esm2015/lib/components/tables/table/table-model.js → esm2020/lib/components/tables/table/table-model.mjs} +0 -0
- /package/{esm2015/lib/components/tables/table/text-search-predicate.js → esm2020/lib/components/tables/table/text-search-predicate.mjs} +0 -0
- /package/{esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js → esm2020/lib/components/tables/tree-table/flattened-tree-list-model.mjs} +0 -0
- /package/{esm2015/lib/components/tables/tree-table/tree-expansion-model.js → esm2020/lib/components/tables/tree-table/tree-expansion-model.mjs} +0 -0
- /package/{esm2015/lib/components/track-by.js → esm2020/lib/components/track-by.mjs} +0 -0
- /package/{esm2015/lib/components/types/bounds.class.js → esm2020/lib/components/types/bounds.class.mjs} +0 -0
- /package/{esm2015/lib/components/types/dimension.class.js → esm2020/lib/components/types/dimension.class.mjs} +0 -0
- /package/{esm2015/lib/components/types/point.class.js → esm2020/lib/components/types/point.class.mjs} +0 -0
- /package/{esm2015/lib/directives/exports.js → esm2020/lib/directives/exports.mjs} +0 -0
- /package/{esm2015/lib/directives/focus-binding.js → esm2020/lib/directives/focus-binding.mjs} +0 -0
- /package/{esm2015/lib/interaction/abstract-interaction-context.js → esm2020/lib/interaction/abstract-interaction-context.mjs} +0 -0
- /package/{esm2015/lib/interaction/activity-ref.js → esm2020/lib/interaction/activity-ref.mjs} +0 -0
- /package/{esm2015/lib/interaction/components/editors/edit-context.js → esm2020/lib/interaction/components/editors/edit-context.mjs} +0 -0
- /package/{esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.js → esm2020/lib/interaction/components/editors/inline-string-editor/inline-editor-model.mjs} +0 -0
- /package/{esm2015/lib/interaction/confirm.js → esm2020/lib/interaction/confirm.mjs} +0 -0
- /package/{esm2015/lib/interaction/exports.js → esm2020/lib/interaction/exports.mjs} +0 -0
- /package/{esm2015/lib/interaction/in-place-interaction-context.js → esm2020/lib/interaction/in-place-interaction-context.mjs} +0 -0
- /package/{esm2015/lib/interaction/interaction-context.js → esm2020/lib/interaction/interaction-context.mjs} +0 -0
- /package/{esm2015/lib/interaction/route-synchronisation-adapter.js → esm2020/lib/interaction/route-synchronisation-adapter.mjs} +0 -0
- /package/{esm2015/lib/interaction/services/interaction-service-routing-adapter.js → esm2020/lib/interaction/services/interaction-service-routing-adapter.mjs} +0 -0
- /package/{esm2015/lib/interaction/services/modal-interaction-context.factory.js → esm2020/lib/interaction/services/modal-interaction-context.factory.mjs} +0 -0
- /package/{esm2015/lib/place/components/place-outlet/route-animations.js → esm2020/lib/place/components/place-outlet/route-animations.mjs} +0 -0
- /package/{esm2015/lib/place/exports.js → esm2020/lib/place/exports.mjs} +0 -0
- /package/{esm2015/lib/place/nav-item.js → esm2020/lib/place/nav-item.mjs} +0 -0
- /package/{esm2015/lib/place/navigation/session/abstract-pop-state-navigation.js → esm2020/lib/place/navigation/session/abstract-pop-state-navigation.mjs} +0 -0
- /package/{esm2015/lib/place/navigation/session/event-cleanup/event-clean-up-session.js → esm2020/lib/place/navigation/session/event-cleanup/event-clean-up-session.mjs} +0 -0
- /package/{esm2015/lib/place/navigation/session/interactions/navigating-during-interaction.js → esm2020/lib/place/navigation/session/interactions/navigating-during-interaction.mjs} +0 -0
- /package/{esm2015/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js → esm2020/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.mjs} +0 -0
- /package/{esm2015/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js → esm2020/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.mjs} +0 -0
- /package/{esm2015/lib/place/navigation/session/navigating.js → esm2020/lib/place/navigation/session/navigating.mjs} +0 -0
- /package/{esm2015/lib/place/navigation/session/navigation-context.js → esm2020/lib/place/navigation/session/navigation-context.mjs} +0 -0
- /package/{esm2015/lib/place/navigation/session/pop-state-navigation.js → esm2020/lib/place/navigation/session/pop-state-navigation.mjs} +0 -0
- /package/{esm2015/lib/place/place-access-guard.js → esm2020/lib/place/place-access-guard.mjs} +0 -0
- /package/{esm2015/lib/place/place-config.js → esm2020/lib/place/place-config.mjs} +0 -0
- /package/{esm2015/lib/place/route/json-types.js → esm2020/lib/place/route/json-types.mjs} +0 -0
- /package/{esm2015/lib/place/route/parameter-decorators.js → esm2020/lib/place/route/parameter-decorators.mjs} +0 -0
- /package/{esm2015/lib/place/route/parameter-sanitiser.js → esm2020/lib/place/route/parameter-sanitiser.mjs} +0 -0
- /package/{esm2015/lib/place/route/parameter-snapshot.js → esm2020/lib/place/route/parameter-snapshot.mjs} +0 -0
- /package/{esm2015/lib/services/exports.js → esm2020/lib/services/exports.mjs} +0 -0
- /package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
|
@@ -1,389 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { ComponentRef } from "@angular/core";
|
|
3
|
-
import { DelegatingSelectionModel, DelegatingValueModel, GarbageCollector, MultipleSelectionModel, ValueModel } from '@coolon/pectin';
|
|
4
|
-
import { assert, lang, Stringy } from "@coolon/typescript-utilities";
|
|
5
|
-
import { Memoize } from '@typescript-plus/fast-memoize-decorator';
|
|
6
|
-
import { isFunction } from 'lodash-es';
|
|
7
|
-
import { CellEditorPortalRef, CellHeaderPortalRef, ComponentCellRendererPortalRef, TemplateCellRendererPortalRef } from './cell-portal-ref';
|
|
8
|
-
import { DefaultCellRendererComponent } from './default-cell-renderer/default-cell-renderer.component';
|
|
9
|
-
import { DefaultHeaderCellRendererComponent } from './default-header-cell-renderer/default-header-cell-renderer.component';
|
|
10
|
-
import { EditRowControls } from './edit-row-controls/edit-row-controls.component';
|
|
11
|
-
import { SelectCellRendererComponent } from './select-cell-renderer/select-cell-renderer.component';
|
|
12
|
-
import { SelectHeaderCellRendererComponent } from './select-header-cell-renderer/select-header-cell-renderer.component';
|
|
13
|
-
const noop = () => {
|
|
14
|
-
};
|
|
15
|
-
const CELL_RENDERER_COMPONENT_ROW_CACHE = Symbol('aup-cell-renderer:row-data-cache');
|
|
16
|
-
const DEFAULT_TEXT_SEARCH_PREDICATE = (row, text) => false;
|
|
17
|
-
export class ColumnModel extends GarbageCollector {
|
|
18
|
-
constructor(columnId, textPropertiesProvider) {
|
|
19
|
-
super();
|
|
20
|
-
this.columnId = columnId;
|
|
21
|
-
this.textPropertiesProvider = textPropertiesProvider;
|
|
22
|
-
this._enableRowSelection = true;
|
|
23
|
-
this._flex = false;
|
|
24
|
-
this._defaultVisibility = this.registerDisposable(new DelegatingValueModel().withDefault(true));
|
|
25
|
-
this._visible = this.registerDisposable(new DelegatingValueModel().withDefault(this._defaultVisibility));
|
|
26
|
-
this._columnModelTextSearchPredicate = undefined;
|
|
27
|
-
this._cellRendererTextSearchPredicate = undefined;
|
|
28
|
-
this.installHeaderRenderer();
|
|
29
|
-
this.dasherisedColumnId = Stringy.from(columnId).dasherize().toString();
|
|
30
|
-
}
|
|
31
|
-
installHeaderRenderer() {
|
|
32
|
-
this.cellHeaderRenderer(DefaultHeaderCellRendererComponent, (component, column) => {
|
|
33
|
-
component.headerText = column.getHeaderText();
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
getHeaderText() {
|
|
37
|
-
var _a;
|
|
38
|
-
return ((_a = this.getColumnTextProperties()) === null || _a === void 0 ? void 0 : _a.headerText()) || this.getDefaultHeaderText();
|
|
39
|
-
}
|
|
40
|
-
isVisible() {
|
|
41
|
-
return this.visible.value;
|
|
42
|
-
}
|
|
43
|
-
get visible() {
|
|
44
|
-
return this._visible.readonly;
|
|
45
|
-
}
|
|
46
|
-
visibleWhile(visible) {
|
|
47
|
-
this._visible.setDelegate(visible);
|
|
48
|
-
return this;
|
|
49
|
-
}
|
|
50
|
-
setDefaultVisibility(visible) {
|
|
51
|
-
this._defaultVisibility.setDelegate(visible);
|
|
52
|
-
}
|
|
53
|
-
getDefaultHeaderText() {
|
|
54
|
-
return this.columnId;
|
|
55
|
-
}
|
|
56
|
-
get isTextMatch() {
|
|
57
|
-
return this._columnModelTextSearchPredicate || this._cellRendererTextSearchPredicate || DEFAULT_TEXT_SEARCH_PREDICATE;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Sets the predicate to use when checking if the specified row is a text match for this column.
|
|
61
|
-
* @param predicate
|
|
62
|
-
*/
|
|
63
|
-
useTextSearchPredicate(predicate) {
|
|
64
|
-
this._columnModelTextSearchPredicate = predicate;
|
|
65
|
-
return this;
|
|
66
|
-
}
|
|
67
|
-
getColumnTextProperties() {
|
|
68
|
-
return this._columnTextProperties || this.textPropertiesProvider();
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* @deprecated use #columnTextProperties instead
|
|
72
|
-
* @param columnTextProperties
|
|
73
|
-
*/
|
|
74
|
-
textProperties(columnTextProperties) {
|
|
75
|
-
return this.columnTextProperties(columnTextProperties);
|
|
76
|
-
}
|
|
77
|
-
columnTextProperties(columnTextProperties) {
|
|
78
|
-
this._columnTextProperties = columnTextProperties;
|
|
79
|
-
return this;
|
|
80
|
-
}
|
|
81
|
-
configureHeaderRenderer(config) {
|
|
82
|
-
this._columnHeaderPortalRef = config;
|
|
83
|
-
}
|
|
84
|
-
configureCellRenderer(config) {
|
|
85
|
-
this._cellRendererPortalRef = config;
|
|
86
|
-
}
|
|
87
|
-
configureCellEditor(cellEditor) {
|
|
88
|
-
this._cellEditorPortalRef = cellEditor;
|
|
89
|
-
}
|
|
90
|
-
cellHeaderRenderer(componentType, initialiser) {
|
|
91
|
-
this.configureHeaderRenderer(new CellHeaderPortalRef(componentType, initialiser));
|
|
92
|
-
return this;
|
|
93
|
-
}
|
|
94
|
-
flex(flex = true) {
|
|
95
|
-
this._flex = flex;
|
|
96
|
-
}
|
|
97
|
-
isFlex() {
|
|
98
|
-
return this._flex;
|
|
99
|
-
}
|
|
100
|
-
hasEditorPortal() {
|
|
101
|
-
return !!this._cellEditorPortalRef;
|
|
102
|
-
}
|
|
103
|
-
attachHeaderCell(host) {
|
|
104
|
-
this._columnHeaderPortalRef.initialiseHost(host, this);
|
|
105
|
-
}
|
|
106
|
-
attachCell(host) {
|
|
107
|
-
this._cellRendererPortalRef.initialiseHost(host, this);
|
|
108
|
-
if (this.hasEditorPortal()) {
|
|
109
|
-
this._cellEditorPortalRef.initialiseHost(host, this);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
onHeaderAttached(host, ref) {
|
|
113
|
-
const component = this.getComponent(ref);
|
|
114
|
-
this._columnHeaderPortalRef.onPortalAttached(host, component);
|
|
115
|
-
}
|
|
116
|
-
onRendererAttached(host, ref) {
|
|
117
|
-
const component = this.getComponentOrEmbeddedView(ref);
|
|
118
|
-
this._cellRendererPortalRef.onPortalAttached(host, component);
|
|
119
|
-
if (isFunction(component === null || component === void 0 ? void 0 : component.matches)) {
|
|
120
|
-
this._cellRendererTextSearchPredicate = (row, text) => component.matches(row, text);
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
this._cellRendererTextSearchPredicate = undefined;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
// @Trace()
|
|
127
|
-
onEditorAttached(host, ref) {
|
|
128
|
-
this._cellEditorPortalRef.onPortalAttached(host, this.getComponent(ref));
|
|
129
|
-
}
|
|
130
|
-
updatePortalContent(host) {
|
|
131
|
-
this._cellRendererPortalRef.pushState(host);
|
|
132
|
-
}
|
|
133
|
-
_selectRowOnClick(selectRowOnClick) {
|
|
134
|
-
this._enableRowSelection = selectRowOnClick;
|
|
135
|
-
return this;
|
|
136
|
-
}
|
|
137
|
-
isRowSelectionEnabled() {
|
|
138
|
-
return this._enableRowSelection;
|
|
139
|
-
}
|
|
140
|
-
getComponent(ref) {
|
|
141
|
-
if (ref instanceof ComponentRef) {
|
|
142
|
-
return ref.instance;
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
console.error("headers only support component portals, got", ref);
|
|
146
|
-
lang.illegalState(`headers only support component portals, got ${ref}`);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
getComponentOrEmbeddedView(ref) {
|
|
150
|
-
if (ref instanceof ComponentRef) {
|
|
151
|
-
return ref.instance;
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
return ref;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
__decorate([
|
|
159
|
-
Memoize(),
|
|
160
|
-
__metadata("design:type", Function),
|
|
161
|
-
__metadata("design:paramtypes", []),
|
|
162
|
-
__metadata("design:returntype", String)
|
|
163
|
-
], ColumnModel.prototype, "getHeaderText", null);
|
|
164
|
-
__decorate([
|
|
165
|
-
Memoize(),
|
|
166
|
-
__metadata("design:type", Function),
|
|
167
|
-
__metadata("design:paramtypes", []),
|
|
168
|
-
__metadata("design:returntype", Object)
|
|
169
|
-
], ColumnModel.prototype, "getColumnTextProperties", null);
|
|
170
|
-
export class PropertyColumnModel extends ColumnModel {
|
|
171
|
-
constructor(id, property, defaults) {
|
|
172
|
-
super(id, defaults);
|
|
173
|
-
this.property = property;
|
|
174
|
-
this._format = (value) => value === null || value === void 0 ? void 0 : value.toString();
|
|
175
|
-
this.cellRenderer(DefaultCellRendererComponent);
|
|
176
|
-
this.useTextSearchPredicate((row, regex) => {
|
|
177
|
-
return regex.test(this._format(row[this.property]));
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
cellRenderer(componentType, onComponentInitOrOptions) {
|
|
181
|
-
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
182
|
-
if (firstTime) {
|
|
183
|
-
if (isFunction(onComponentInitOrOptions)) {
|
|
184
|
-
onComponentInitOrOptions(component);
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
if (isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
|
|
188
|
-
onComponentInitOrOptions.onComponentInit(component);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
component.value = this._format(rowData.row[this.property]);
|
|
193
|
-
}));
|
|
194
|
-
return this;
|
|
195
|
-
}
|
|
196
|
-
liveEditCellRenderer(componentType, options) {
|
|
197
|
-
return this.mutableCellRenderer(componentType, options);
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Deprecated. Use #liveEditCellRenderer instead.
|
|
201
|
-
* @param componentType
|
|
202
|
-
* @param options
|
|
203
|
-
*/
|
|
204
|
-
mutableCellRenderer(componentType, options) {
|
|
205
|
-
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
206
|
-
// keep a local copy most recent row value so it's available to teh
|
|
207
|
-
// edit callback without having to add/remove subscribers all the time.
|
|
208
|
-
component[CELL_RENDERER_COMPONENT_ROW_CACHE] = rowData.row;
|
|
209
|
-
let disableEditCallback = false;
|
|
210
|
-
if (firstTime) {
|
|
211
|
-
if (isFunction(options === null || options === void 0 ? void 0 : options.onComponentInit)) {
|
|
212
|
-
options.onComponentInit(component);
|
|
213
|
-
}
|
|
214
|
-
// install our edit callback
|
|
215
|
-
component.onValueEdited((is, was) => {
|
|
216
|
-
if (!disableEditCallback) {
|
|
217
|
-
options.onValueEdit(component[CELL_RENDERER_COMPONENT_ROW_CACHE], is, was);
|
|
218
|
-
}
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
// now push the value the component and disable the callback just incase the component misbehaves
|
|
222
|
-
// and fires a value change during the operation.
|
|
223
|
-
disableEditCallback = true;
|
|
224
|
-
component.value = rowData.row[this.property];
|
|
225
|
-
disableEditCallback = false;
|
|
226
|
-
if (!isFunction(options) && isFunction(options === null || options === void 0 ? void 0 : options.onRowUpdate)) {
|
|
227
|
-
options.onRowUpdate(component, rowData.row);
|
|
228
|
-
}
|
|
229
|
-
}));
|
|
230
|
-
return this;
|
|
231
|
-
}
|
|
232
|
-
cellEditor(editor, validatorsOrInitialiser, onComponentInit) {
|
|
233
|
-
const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
|
|
234
|
-
const initialiser = isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
|
|
235
|
-
this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
|
|
236
|
-
const formValueModel = editSession.form.pluck(this.property);
|
|
237
|
-
if (validators) {
|
|
238
|
-
formValueModel.validateUsing(validators);
|
|
239
|
-
}
|
|
240
|
-
component.valueModel = formValueModel;
|
|
241
|
-
if (initialiser) {
|
|
242
|
-
initialiser(component);
|
|
243
|
-
}
|
|
244
|
-
}));
|
|
245
|
-
return this;
|
|
246
|
-
}
|
|
247
|
-
format(formatter) {
|
|
248
|
-
assert.isFunction(formatter);
|
|
249
|
-
this._format = formatter;
|
|
250
|
-
return this;
|
|
251
|
-
}
|
|
252
|
-
selectRowOnClick(selectOnRowClick) {
|
|
253
|
-
return this._selectRowOnClick(selectOnRowClick);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
export class ListPropertyColumnModel extends ColumnModel {
|
|
257
|
-
constructor(id, property, defaults) {
|
|
258
|
-
super(id, defaults);
|
|
259
|
-
this.property = property;
|
|
260
|
-
this._format = (value) => value.map(v => v === null || v === void 0 ? void 0 : v.toString()).join(', ');
|
|
261
|
-
this.cellRenderer(DefaultCellRendererComponent);
|
|
262
|
-
this.useTextSearchPredicate((row, regex) => {
|
|
263
|
-
return regex.test(this._format(row[this.property]));
|
|
264
|
-
});
|
|
265
|
-
}
|
|
266
|
-
cellRenderer(componentType) {
|
|
267
|
-
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {
|
|
268
|
-
component.value = this._format(rowData.row[this.property]);
|
|
269
|
-
}));
|
|
270
|
-
return this;
|
|
271
|
-
}
|
|
272
|
-
cellEditor(editor, validatorsOrInitialiser, initialiseComponent) {
|
|
273
|
-
const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
|
|
274
|
-
const initialiser = isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
|
|
275
|
-
this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
|
|
276
|
-
const formListModel = editSession.form.pluckList(this.property);
|
|
277
|
-
if (validators) {
|
|
278
|
-
formListModel.validateUsing(validators);
|
|
279
|
-
}
|
|
280
|
-
component.listModel = formListModel;
|
|
281
|
-
if (initialiser) {
|
|
282
|
-
initialiser(component);
|
|
283
|
-
}
|
|
284
|
-
}));
|
|
285
|
-
return this;
|
|
286
|
-
}
|
|
287
|
-
format(formatter) {
|
|
288
|
-
assert.isFunction(formatter);
|
|
289
|
-
this._format = formatter;
|
|
290
|
-
return this;
|
|
291
|
-
}
|
|
292
|
-
selectRowOnClick(selectRowOnClick) {
|
|
293
|
-
return this._selectRowOnClick(selectRowOnClick);
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
export class CustomValueColumnModel extends ColumnModel {
|
|
297
|
-
constructor(columnId, defaults, getValue) {
|
|
298
|
-
super(columnId, defaults);
|
|
299
|
-
this.getValue = getValue;
|
|
300
|
-
this.cellRenderer(DefaultCellRendererComponent);
|
|
301
|
-
}
|
|
302
|
-
cellRenderer(componentType, onComponentInitOrOptions) {
|
|
303
|
-
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
|
|
304
|
-
if (firstTime) {
|
|
305
|
-
if (isFunction(onComponentInitOrOptions)) {
|
|
306
|
-
onComponentInitOrOptions(component);
|
|
307
|
-
}
|
|
308
|
-
else {
|
|
309
|
-
if (isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
|
|
310
|
-
onComponentInitOrOptions.onComponentInit(component);
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
component.value = this.getValue(rowData.row);
|
|
315
|
-
if (!isFunction(onComponentInitOrOptions) && isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
|
|
316
|
-
onComponentInitOrOptions.onRowUpdate(component, rowData.row);
|
|
317
|
-
}
|
|
318
|
-
}));
|
|
319
|
-
return this;
|
|
320
|
-
}
|
|
321
|
-
selectRowOnClick(selectOnRowClick) {
|
|
322
|
-
return this._selectRowOnClick(selectOnRowClick);
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
export class EditorControlColumnModel extends ColumnModel {
|
|
326
|
-
constructor(columnId, saveCommandFactory, defaults) {
|
|
327
|
-
super(columnId, defaults);
|
|
328
|
-
this.cellRenderer(EditRowControls);
|
|
329
|
-
}
|
|
330
|
-
cellRenderer(componentType) {
|
|
331
|
-
this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {
|
|
332
|
-
component.row = rowData.row;
|
|
333
|
-
component.editSession = rowData.editSession;
|
|
334
|
-
component.editRowCommand = rowData.editRowCommand;
|
|
335
|
-
}));
|
|
336
|
-
return this;
|
|
337
|
-
}
|
|
338
|
-
getDefaultHeaderText() {
|
|
339
|
-
return '';
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
export class CustomTemplateColumnModel extends ColumnModel {
|
|
343
|
-
constructor(columnId, defaults) {
|
|
344
|
-
super(columnId, defaults);
|
|
345
|
-
this.config = new TemplateCellRendererPortalRef();
|
|
346
|
-
this.configureCellRenderer(this.config);
|
|
347
|
-
}
|
|
348
|
-
setTemplate(templateRef, viewContainer, fillCell, padChild) {
|
|
349
|
-
this.config.registerPortal(templateRef, viewContainer, fillCell, padChild);
|
|
350
|
-
}
|
|
351
|
-
selectRowOnClick(selectOnRowClick) {
|
|
352
|
-
return this._selectRowOnClick(selectOnRowClick);
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
export class SelectionColumnModel extends ColumnModel {
|
|
356
|
-
constructor(columnId, defaults, selectionModel) {
|
|
357
|
-
super(columnId, defaults);
|
|
358
|
-
this._enableHeaderControls = true;
|
|
359
|
-
this.selectionModel = DelegatingSelectionModel.createDelegate();
|
|
360
|
-
this._selectRowOnClick(false);
|
|
361
|
-
this.cellHeaderRenderer(SelectHeaderCellRendererComponent, (component) => {
|
|
362
|
-
component.selectionModel = this.selectionModel;
|
|
363
|
-
component.enableHeaderControls = this._enableHeaderControls;
|
|
364
|
-
});
|
|
365
|
-
this.configureCellRenderer(new ComponentCellRendererPortalRef(SelectCellRendererComponent, (component, rowData) => {
|
|
366
|
-
component.row = rowData.row;
|
|
367
|
-
component.selectionModel = this.selectionModel;
|
|
368
|
-
}));
|
|
369
|
-
this.setSelectionModel(selectionModel);
|
|
370
|
-
}
|
|
371
|
-
setSelectionModel(selectionModel) {
|
|
372
|
-
this.selectionModel.setDelegate(selectionModel);
|
|
373
|
-
this.setDefaultVisibility(selectionModel instanceof MultipleSelectionModel ? ValueModel.TRUE : ValueModel.FALSE);
|
|
374
|
-
}
|
|
375
|
-
getDefaultHeaderText() {
|
|
376
|
-
return '';
|
|
377
|
-
}
|
|
378
|
-
enableHeaderControls(enable) {
|
|
379
|
-
this._enableHeaderControls = enable;
|
|
380
|
-
return this;
|
|
381
|
-
}
|
|
382
|
-
selectRow(row) {
|
|
383
|
-
this.selectionModel.selectCommand.execute(row);
|
|
384
|
-
}
|
|
385
|
-
isSelected(row) {
|
|
386
|
-
return this.selectionModel.isSelected(row);
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvdGFibGUvY29sdW1uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBRUwsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUVwQixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBS3RCLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXZDLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsbUJBQW1CLEVBRW5CLDhCQUE4QixFQUM5Qiw2QkFBNkIsRUFDOUIsTUFBTSxtQkFBbUIsQ0FBQztBQUczQixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx1RUFBdUUsQ0FBQztBQUMzSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saURBQWlELENBQUM7QUFHbEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFNeEgsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFO0FBQ2xCLENBQUMsQ0FBQztBQVFGLE1BQU0saUNBQWlDLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7QUFjckYsTUFBTSw2QkFBNkIsR0FBaUMs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Q0FBQywyQkFBMkIsRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFxQixFQUFFLEVBQUU7WUFDOUgsU0FBUyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQzVCLFNBQVMsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxjQUFtQztRQUNuRCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxZQUFZLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkgsQ0FBQztJQUVTLG9CQUFvQjtRQUM1QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFlO1FBQ2xDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxNQUFNLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVE7UUFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxVQUFVLENBQUMsR0FBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsL3BvcnRhbC1kaXJlY3RpdmVzXCI7XG5pbXBvcnQgeyBDb21wb25lbnRSZWYsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIENvbW1hbmQsIENvbW1hbmRGYWN0b3J5LFxuICBEZWxlZ2F0aW5nU2VsZWN0aW9uTW9kZWwsXG4gIERlbGVnYXRpbmdWYWx1ZU1vZGVsLFxuICBEaXJ0eVRyYWNraW5nRm9ybSxcbiAgR2FyYmFnZUNvbGxlY3RvcixcbiAgTXVsdGlwbGVTZWxlY3Rpb25Nb2RlbCxcbiAgU2VsZWN0aW9uTW9kZWwsXG4gIFR5cGVzLFxuICBVbmFyeUNvbW1hbmQsXG4gIFZhbGlkYXRvcixcbiAgVmFsdWVNb2RlbFxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBhc3NlcnQsIGxhbmcsIFN0cmluZ3kgfSBmcm9tIFwiQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllc1wiO1xuaW1wb3J0IHsgTWVtb2l6ZSB9IGZyb20gJ0B0eXBlc2NyaXB0LXBsdXMvZmFzdC1tZW1vaXplLWRlY29yYXRvcic7XG5cbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQ2VsbEVkaXRvckNvbXBvbmVudCwgQ2VsbExpc3RFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtZWRpdG9ycyc7XG5pbXBvcnQge1xuICBDZWxsRWRpdG9yUG9ydGFsUmVmLFxuICBDZWxsSGVhZGVyUG9ydGFsUmVmLFxuICBDZWxsUmVuZGVyZXJQb3J0YWxSZWYsXG4gIENvbXBvbmVudENlbGxSZW5kZXJlclBvcnRhbFJlZixcbiAgVGVtcGxhdGVDZWxsUmVuZGVyZXJQb3J0YWxSZWZcbn0gZnJvbSAnLi9jZWxsLXBvcnRhbC1yZWYnO1xuaW1wb3J0IHsgQ2VsbFJlbmRlcmVyIH0gZnJvbSAnLi9jZWxsLXJlbmRlcmVyJztcbmltcG9ydCB7IENvbHVtblRleHRQcm9wZXJ0aWVzIH0gZnJvbSAnLi9jb2x1bW4tdGV4dC1wcm9wZXJ0aWVzJztcbmltcG9ydCB7IERlZmF1bHRDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2RlZmF1bHQtY2VsbC1yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERlZmF1bHRIZWFkZXJDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2RlZmF1bHQtaGVhZGVyLWNlbGwtcmVuZGVyZXIvZGVmYXVsdC1oZWFkZXItY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWRpdFJvd0NvbnRyb2xzIH0gZnJvbSAnLi9lZGl0LXJvdy1jb250cm9scy9lZGl0LXJvdy1jb250cm9scy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWRpdFNlc3Npb24gfSBmcm9tICcuLi9lZGl0LXNlc3Npb24nO1xuaW1wb3J0IHsgTXV0YWJsZUNlbGxSZW5kZXJlciB9IGZyb20gJy4vbXV0YWJsZS1jZWxsLXJlbmRlcmVyJztcbmltcG9ydCB7IFNlbGVjdENlbGxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LWNlbGwtcmVuZGVyZXIvc2VsZWN0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdEhlYWRlckNlbGxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LWhlYWRlci1jZWxsLXJlbmRlcmVyL3NlbGVjdC1oZWFkZXItY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLWNlbGwtcmVuZGVyZXIvdGFibGUtY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVIZWFkZXJDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLWhlYWRlci1jZWxsLXJlbmRlcmVyL3RhYmxlLWhlYWRlci1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0U2VhcmNoUHJlZGljYXRlIH0gZnJvbSAnLi90ZXh0LXNlYXJjaC1wcmVkaWNhdGUnO1xuXG5cbmNvbnN0IG5vb3AgPSAoKSA9PiB7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFJvd0RhdGE8Um93PiB7XG4gIHJvdzogUm93O1xuICBlZGl0U2Vzc2lvbj86IEVkaXRTZXNzaW9uPFJvdz47XG4gIGVkaXRSb3dDb21tYW5kOiBDb21tYW5kPHZvaWQ+O1xufVxuXG5jb25zdCBDRUxMX1JFTkRFUkVSX0NPTVBPTkVOVF9ST1dfQ0FDSEUgPSBTeW1ib2woJ2F1cC1jZWxsLXJlbmRlcmVyOnJvdy1kYXRhLWNhY2hlJyk7XG5cbmV4cG9ydCB0eXBlIE9uQ29tcG9uZW50SW5pdDxDPiA9IChjb21wb25lbnQ6IEMpID0+IHZvaWQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VsbFJlbmRlcmVyT3B0aW9uczxSb3csIEU+IHtcbiAgb25Db21wb25lbnRJbml0PzogKGNvbXBvbmVudDogRSkgPT4gdm9pZDtcbiAgb25Sb3dVcGRhdGU/OiAoY29tcG9uZW50OiBFLCByb3c6IFJvdykgPT4gdm9pZDtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIE11dGFibGVDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgRSwgUCBleHRlbmRzIGtleW9mIFJvdz4gZXh0ZW5kcyBDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgRT4ge1xuICBvblZhbHVlRWRpdDogKHJvdzogUm93LCBpczogUm93W1BdLCB3YXM6IFJvd1tQXSkgPT4gdm9pZDtcbn1cblxuY29uc3QgREVGQVVMVF9URVhUX1NFQVJDSF9QUkVESUNBVEU6IFRleHRTZWFyY2hQcmVkaWNhdGU8dW5rbm93bj4gPSAocm93OiB1bmtub3duLCB0ZXh0OiBSZWdFeHApID0+IGZhbHNlO1xuXG5leHBvcnQgY2xhc3MgQ29sdW1uTW9kZWw8Um93PiBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gIHByaXZhdGUgX2NvbHVtblRleHRQcm9wZXJ0aWVzOiBDb2x1bW5UZXh0UHJvcGVydGllcztcblxuICBwcml2YXRlIF9jb2x1bW5IZWFkZXJQb3J0YWxSZWY6IENlbGxIZWFkZXJQb3J0YWxSZWY8Um93LCBhbnk+O1xuICBwcml2YXRlIF9jZWxsUmVuZGVyZXJQb3J0YWxSZWY6IENlbGxSZW5kZXJlclBvcnRhbFJlZjxSb3csIGFueT47XG4gIHByaXZhdGUgX2NlbGxFZGl0b3JQb3J0YWxSZWY6IENlbGxFZGl0b3JQb3J0YWxSZWY8Um93LCBhbnk+O1xuXG4gIHByaXZhdGUgX2VuYWJsZVJvd1NlbGVjdGlvbiA9IHRydWU7XG4gIHByaXZhdGUgX2ZsZXggPSBmYWxzZTtcblxuICBwcml2YXRlIF9kZWZhdWx0VmlzaWJpbGl0eSA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpLndpdGhEZWZhdWx0KHRydWUpKTtcbiAgcHJpdmF0ZSBfdmlzaWJsZSA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpLndpdGhEZWZhdWx0KHRoaXMuX2RlZmF1bHRWaXNpYmlsaXR5KSk7XG4gIHJlYWRvbmx5IGRhc2hlcmlzZWRDb2x1bW5JZDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2NvbHVtbk1vZGVsVGV4dFNlYXJjaFByZWRpY2F0ZTogVGV4dFNlYXJjaFByZWRpY2F0ZTxSb3c+ID0gdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgX2NlbGxSZW5kZXJlclRleHRTZWFyY2hQcmVkaWNhdGU6IFRleHRTZWFyY2hQcmVkaWNhdGU8Um93PiA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb2x1bW5JZDogc3RyaW5nLCBwcml2YXRlIHRleHRQcm9wZXJ0aWVzUHJvdmlkZXI6IENvbHVtbk1vZGVsLlRleHRQcm9wZXJ0aWVzUHJvdmlkZXIpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuaW5zdGFsbEhlYWRlclJlbmRlcmVyKCk7XG4gICAgdGhpcy5kYXNoZXJpc2VkQ29sdW1uSWQgPSBTdHJpbmd5LmZyb20oY29sdW1uSWQpLmRhc2hlcml6ZSgpLnRvU3RyaW5nKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5zdGFsbEhlYWRlclJlbmRlcmVyKCkge1xuICAgIHRoaXMuY2VsbEhlYWRlclJlbmRlcmVyKERlZmF1bHRIZWFkZXJDZWxsUmVuZGVyZXJDb21wb25lbnQsIChjb21wb25lbnQsIGNvbHVtbikgPT4ge1xuICAgICAgY29tcG9uZW50LmhlYWRlclRleHQgPSBjb2x1bW4uZ2V0SGVhZGVyVGV4dCgpO1xuICAgIH0pO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXRIZWFkZXJUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q29sdW1uVGV4dFByb3BlcnRpZXMoKT8uaGVhZGVyVGV4dCgpIHx8IHRoaXMuZ2V0RGVmYXVsdEhlYWRlclRleHQoKTtcbiAgfVxuXG4gIGlzVmlzaWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlLnZhbHVlO1xuICB9XG5cbiAgZ2V0IHZpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGUucmVhZG9ubHk7XG4gIH1cblxuICB2aXNpYmxlV2hpbGUodmlzaWJsZTogVmFsdWVNb2RlbDxib29sZWFuPik6IHRoaXMge1xuICAgIHRoaXMuX3Zpc2libGUuc2V0RGVsZWdhdGUodmlzaWJsZSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0RGVmYXVsdFZpc2liaWxpdHkodmlzaWJsZTogVmFsdWVNb2RlbDxib29sZWFuPikge1xuICAgIHRoaXMuX2RlZmF1bHRWaXNpYmlsaXR5LnNldERlbGVnYXRlKHZpc2libGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldERlZmF1bHRIZWFkZXJUZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbklkO1xuICB9XG5cbiAgZ2V0IGlzVGV4dE1hdGNoKCk6IFRleHRTZWFyY2hQcmVkaWNhdGU8Um93PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbk1vZGVsVGV4dFNlYXJjaFByZWRpY2F0ZSB8fCB0aGlzLl9jZWxsUmVuZGVyZXJUZXh0U2VhcmNoUHJlZGljYXRlIHx8IERFRkFVTFRfVEVYVF9TRUFSQ0hfUFJFRElDQVRFO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHByZWRpY2F0ZSB0byB1c2Ugd2hlbiBjaGVja2luZyBpZiB0aGUgc3BlY2lmaWVkIHJvdyBpcyBhIHRleHQgbWF0Y2ggZm9yIHRoaXMgY29sdW1uLlxuICAgKiBAcGFyYW0gcHJlZGljYXRlXG4gICAqL1xuICB1c2VUZXh0U2VhcmNoUHJlZGljYXRlKHByZWRpY2F0ZTogVGV4dFNlYXJjaFByZWRpY2F0ZTxSb3c+KTp0aGlzIHtcbiAgICB0aGlzLl9jb2x1bW5Nb2RlbFRleHRTZWFyY2hQcmVkaWNhdGUgPSBwcmVkaWNhdGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBATWVtb2l6ZSgpXG4gIGdldENvbHVtblRleHRQcm9wZXJ0aWVzKCk6IENvbHVtblRleHRQcm9wZXJ0aWVzIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1uVGV4dFByb3BlcnRpZXMgfHwgdGhpcy50ZXh0UHJvcGVydGllc1Byb3ZpZGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlICNjb2x1bW5UZXh0UHJvcGVydGllcyBpbnN0ZWFkXG4gICAqIEBwYXJhbSBjb2x1bW5UZXh0UHJvcGVydGllc1xuICAgKi9cbiAgdGV4dFByb3BlcnRpZXMoY29sdW1uVGV4dFByb3BlcnRpZXM6IENvbHVtblRleHRQcm9wZXJ0aWVzKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1uVGV4dFByb3BlcnRpZXMoY29sdW1uVGV4dFByb3BlcnRpZXMpO1xuICB9XG5cbiAgY29sdW1uVGV4dFByb3BlcnRpZXMoY29sdW1uVGV4dFByb3BlcnRpZXM6IENvbHVtblRleHRQcm9wZXJ0aWVzKTogdGhpcyB7XG4gICAgdGhpcy5fY29sdW1uVGV4dFByb3BlcnRpZXMgPSBjb2x1bW5UZXh0UHJvcGVydGllcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByb3RlY3RlZCBjb25maWd1cmVIZWFkZXJSZW5kZXJlcjxDPihjb25maWc6IENlbGxIZWFkZXJQb3J0YWxSZWY8Um93LCBhbnk+KTogdm9pZCB7XG4gICAgdGhpcy5fY29sdW1uSGVhZGVyUG9ydGFsUmVmID0gY29uZmlnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbmZpZ3VyZUNlbGxSZW5kZXJlcjxDPihjb25maWc6IENlbGxSZW5kZXJlclBvcnRhbFJlZjxSb3csIGFueT4pOiB2b2lkIHtcbiAgICB0aGlzLl9jZWxsUmVuZGVyZXJQb3J0YWxSZWYgPSBjb25maWc7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29uZmlndXJlQ2VsbEVkaXRvcjxFPihjZWxsRWRpdG9yOiBDZWxsRWRpdG9yUG9ydGFsUmVmPFJvdywgRT4pOiB2b2lkIHtcbiAgICB0aGlzLl9jZWxsRWRpdG9yUG9ydGFsUmVmID0gY2VsbEVkaXRvcjtcbiAgfVxuXG4gIGNlbGxIZWFkZXJSZW5kZXJlcjxDPihjb21wb25lbnRUeXBlOiBDb21wb25lbnRUeXBlPEM+LCBpbml0aWFsaXNlcjogKGNvbXBvbmVudDogQywgY29sdW1uOiBDb2x1bW5Nb2RlbDxSb3c+KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgdGhpcy5jb25maWd1cmVIZWFkZXJSZW5kZXJlcihuZXcgQ2VsbEhlYWRlclBvcnRhbFJlZjxSb3csIEM+KGNvbXBvbmVudFR5cGUsIGluaXRpYWxpc2VyKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBmbGV4KGZsZXggPSB0cnVlKSB7XG4gICAgdGhpcy5fZmxleCA9IGZsZXg7XG4gIH1cblxuICBpc0ZsZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZsZXg7XG4gIH1cblxuICBoYXNFZGl0b3JQb3J0YWwoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5fY2VsbEVkaXRvclBvcnRhbFJlZjtcbiAgfVxuXG4gIGF0dGFjaEhlYWRlckNlbGwoaG9zdDogYW55KSB7XG4gICAgdGhpcy5fY29sdW1uSGVhZGVyUG9ydGFsUmVmLmluaXRpYWxpc2VIb3N0KGhvc3QsIHRoaXMpO1xuICB9XG5cbiAgYXR0YWNoQ2VsbChob3N0OiBhbnkpIHtcbiAgICB0aGlzLl9jZWxsUmVuZGVyZXJQb3J0YWxSZWYuaW5pdGlhbGlzZUhvc3QoaG9zdCwgdGhpcyk7XG4gICAgaWYgKHRoaXMuaGFzRWRpdG9yUG9ydGFsKCkpIHtcbiAgICAgIHRoaXMuX2NlbGxFZGl0b3JQb3J0YWxSZWYuaW5pdGlhbGlzZUhvc3QoaG9zdCwgdGhpcyk7XG4gICAgfVxuICB9XG5cbiAgb25IZWFkZXJBdHRhY2hlZChob3N0OiBUYWJsZUhlYWRlckNlbGxSZW5kZXJlckNvbXBvbmVudCwgcmVmOiBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZikge1xuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuZ2V0Q29tcG9uZW50KHJlZik7XG4gICAgdGhpcy5fY29sdW1uSGVhZGVyUG9ydGFsUmVmLm9uUG9ydGFsQXR0YWNoZWQoaG9zdCwgY29tcG9uZW50KTtcbiAgfVxuXG4gIG9uUmVuZGVyZXJBdHRhY2hlZChob3N0OiBUYWJsZUNlbGxSZW5kZXJlckNvbXBvbmVudDxSb3c+LCByZWY6IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmKSB7XG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5nZXRDb21wb25lbnRPckVtYmVkZGVkVmlldyhyZWYpO1xuICAgIHRoaXMuX2NlbGxSZW5kZXJlclBvcnRhbFJlZi5vblBvcnRhbEF0dGFjaGVkKGhvc3QsIGNvbXBvbmVudCk7XG4gICAgaWYgKGlzRnVuY3Rpb24oY29tcG9uZW50Py5tYXRjaGVzKSkge1xuICAgICAgdGhpcy5fY2VsbFJlbmRlcmVyVGV4dFNlYXJjaFByZWRpY2F0ZSA9IChyb3csIHRleHQpID0+IGNvbXBvbmVudC5tYXRjaGVzKHJvdywgdGV4dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2NlbGxSZW5kZXJlclRleHRTZWFyY2hQcmVkaWNhdGUgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25FZGl0b3JBdHRhY2hlZChob3N0OiBUYWJsZUNlbGxSZW5kZXJlckNvbXBvbmVudDxSb3c+LCByZWY6IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmKSB7XG4gICAgdGhpcy5fY2VsbEVkaXRvclBvcnRhbFJlZi5vblBvcnRhbEF0dGFjaGVkKGhvc3QsIHRoaXMuZ2V0Q29tcG9uZW50KHJlZikpO1xuICB9XG5cbiAgdXBkYXRlUG9ydGFsQ29udGVudChob3N0OiBUYWJsZUNlbGxSZW5kZXJlckNvbXBvbmVudDxSb3c+KSB7XG4gICAgdGhpcy5fY2VsbFJlbmRlcmVyUG9ydGFsUmVmLnB1c2hTdGF0ZShob3N0KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfc2VsZWN0Um93T25DbGljayhzZWxlY3RSb3dPbkNsaWNrOiBib29sZWFuKTogdGhpcyB7XG4gICAgdGhpcy5fZW5hYmxlUm93U2VsZWN0aW9uID0gc2VsZWN0Um93T25DbGljaztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGlzUm93U2VsZWN0aW9uRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlUm93U2VsZWN0aW9uO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldENvbXBvbmVudChyZWY6IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmKTogYW55IHtcbiAgICBpZiAocmVmIGluc3RhbmNlb2YgQ29tcG9uZW50UmVmKSB7XG4gICAgICByZXR1cm4gcmVmLmluc3RhbmNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKFwiaGVhZGVycyBvbmx5IHN1cHBvcnQgY29tcG9uZW50IHBvcnRhbHMsIGdvdFwiLCByZWYpO1xuICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoYGhlYWRlcnMgb25seSBzdXBwb3J0IGNvbXBvbmVudCBwb3J0YWxzLCBnb3QgJHtyZWZ9YClcbiAgICB9XG4gIH1cbiAgcHJvdGVjdGVkIGdldENvbXBvbmVudE9yRW1iZWRkZWRWaWV3KHJlZjogQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYpOiBhbnkge1xuICAgIGlmIChyZWYgaW5zdGFuY2VvZiBDb21wb25lbnRSZWYpIHtcbiAgICAgIHJldHVybiByZWYuaW5zdGFuY2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiByZWY7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ29sdW1uTW9kZWwge1xuICBleHBvcnQgdHlwZSBUZXh0UHJvcGVydGllc1Byb3ZpZGVyID0gKCkgPT4gQ29sdW1uVGV4dFByb3BlcnRpZXNcbn1cblxuXG5leHBvcnQgY2xhc3MgUHJvcGVydHlDb2x1bW5Nb2RlbDxSb3csIFAgZXh0ZW5kcyBUeXBlcy5WYWx1ZVByb3BlcnRpZXNPZjxSb3c+PiBleHRlbmRzIENvbHVtbk1vZGVsPFJvdz4ge1xuXG4gIHByaXZhdGUgX2Zvcm1hdDogKHZhbHVlOiBSb3dbUF0pID0+IGFueSA9ICh2YWx1ZSkgPT4gdmFsdWU/LnRvU3RyaW5nKCk7XG5cbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZywgcmVhZG9ubHkgcHJvcGVydHk6IFAsIGRlZmF1bHRzOiBDb2x1bW5Nb2RlbC5UZXh0UHJvcGVydGllc1Byb3ZpZGVyKSB7XG4gICAgc3VwZXIoaWQsIGRlZmF1bHRzKTtcbiAgICB0aGlzLmNlbGxSZW5kZXJlcihEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50KTtcbiAgICB0aGlzLnVzZVRleHRTZWFyY2hQcmVkaWNhdGUoKHJvdzogUm93LCByZWdleDogUmVnRXhwKSA9PiB7XG4gICAgICByZXR1cm4gcmVnZXgudGVzdCh0aGlzLl9mb3JtYXQocm93W3RoaXMucHJvcGVydHldKSk7XG4gICAgfSk7XG4gIH1cblxuICBjZWxsUmVuZGVyZXI8RSBleHRlbmRzIENlbGxSZW5kZXJlcjxSb3dbUF0+Pihjb21wb25lbnRUeXBlOiBDb21wb25lbnRUeXBlPEU+LCBvcHRpb25zPzogQ2VsbFJlbmRlcmVyT3B0aW9uczxSb3csIEU+KTogdGhpc1xuICBjZWxsUmVuZGVyZXI8RSBleHRlbmRzIENlbGxSZW5kZXJlcjxSb3dbUF0+Pihjb21wb25lbnRUeXBlOiBDb21wb25lbnRUeXBlPEU+LCBvbkNvbXBvbmVudEluaXQ/OiBPbkNvbXBvbmVudEluaXQ8RT4pOiB0aGlzXG4gIGNlbGxSZW5kZXJlcjxFIGV4dGVuZHMgQ2VsbFJlbmRlcmVyPFJvd1tQXT4+KGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8RT4sIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucz86IENlbGxSZW5kZXJlck9wdGlvbnM8Um93LCBFPiB8IE9uQ29tcG9uZW50SW5pdDxFPik6IHRoaXMge1xuICAgIHRoaXMuY29uZmlndXJlQ2VsbFJlbmRlcmVyKG5ldyBDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWYoY29tcG9uZW50VHlwZSwgKGNvbXBvbmVudCwgcm93RGF0YSwgZmlyc3RUaW1lKSA9PiB7XG4gICAgICBpZiAoZmlyc3RUaW1lKSB7XG4gICAgICAgIGlmIChpc0Z1bmN0aW9uKG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucykpIHtcbiAgICAgICAgICBvbkNvbXBvbmVudEluaXRPck9wdGlvbnMoY29tcG9uZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoaXNGdW5jdGlvbihvbkNvbXBvbmVudEluaXRPck9wdGlvbnM/Lm9uQ29tcG9uZW50SW5pdCkpIHtcbiAgICAgICAgICAgIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucy5vbkNvbXBvbmVudEluaXQoY29tcG9uZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbXBvbmVudC52YWx1ZSA9IHRoaXMuX2Zvcm1hdChyb3dEYXRhLnJvd1t0aGlzLnByb3BlcnR5XSk7XG4gICAgfSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgbGl2ZUVkaXRDZWxsUmVuZGVyZXI8RSBleHRlbmRzIE11dGFibGVDZWxsUmVuZGVyZXI8Um93W1BdPj4oY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZTxFPiwgb3B0aW9uczogTXV0YWJsZUNlbGxSZW5kZXJlck9wdGlvbnM8Um93LCBFLCBQPik6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLm11dGFibGVDZWxsUmVuZGVyZXIoY29tcG9uZW50VHlwZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogRGVwcmVjYXRlZC4gIFVzZSAjbGl2ZUVkaXRDZWxsUmVuZGVyZXIgaW5zdGVhZC5cbiAgICogQHBhcmFtIGNvbXBvbmVudFR5cGVcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIG11dGFibGVDZWxsUmVuZGVyZXI8RSBleHRlbmRzIE11dGFibGVDZWxsUmVuZGVyZXI8Um93W1BdPj4oY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZTxFPiwgb3B0aW9uczogTXV0YWJsZUNlbGxSZW5kZXJlck9wdGlvbnM8Um93LCBFLCBQPik6IHRoaXMge1xuXG4gICAgdGhpcy5jb25maWd1cmVDZWxsUmVuZGVyZXIobmV3IENvbXBvbmVudENlbGxSZW5kZXJlclBvcnRhbFJlZihjb21wb25lbnRUeXBlLCAoY29tcG9uZW50LCByb3dEYXRhLCBmaXJzdFRpbWUpID0+IHtcblxuICAgICAgLy8ga2VlcCBhIGxvY2FsIGNvcHkgbW9zdCByZWNlbnQgcm93IHZhbHVlIHNvIGl0J3MgYXZhaWxhYmxlIHRvIHRlaFxuICAgICAgLy8gZWRpdCBjYWxsYmFjayB3aXRob3V0IGhhdmluZyB0byBhZGQvcmVtb3ZlIHN1YnNjcmliZXJzIGFsbCB0aGUgdGltZS5cbiAgICAgIGNvbXBvbmVudFtDRUxMX1JFTkRFUkVSX0NPTVBPTkVOVF9ST1dfQ0FDSEVdID0gcm93RGF0YS5yb3c7XG4gICAgICBsZXQgZGlzYWJsZUVkaXRDYWxsYmFjayA9IGZhbHNlO1xuXG4gICAgICBpZiAoZmlyc3RUaW1lKSB7XG4gICAgICAgIGlmIChpc0Z1bmN0aW9uKG9wdGlvbnM/Lm9uQ29tcG9uZW50SW5pdCkpIHtcbiAgICAgICAgICBvcHRpb25zLm9uQ29tcG9uZW50SW5pdChjb21wb25lbnQpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGluc3RhbGwgb3VyIGVkaXQgY2FsbGJhY2tcbiAgICAgICAgY29tcG9uZW50Lm9uVmFsdWVFZGl0ZWQoKGlzLCB3YXMpID0+IHtcbiAgICAgICAgICBpZiAoIWRpc2FibGVFZGl0Q2FsbGJhY2spIHtcbiAgICAgICAgICAgIG9wdGlvbnMub25WYWx1ZUVkaXQoY29tcG9uZW50W0NFTExfUkVOREVSRVJfQ09NUE9ORU5UX1JPV19DQUNIRV0sIGlzLCB3YXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIH1cblxuICAgICAgLy8gbm93IHB1c2ggdGhlIHZhbHVlIHRoZSBjb21wb25lbnQgYW5kIGRpc2FibGUgdGhlIGNhbGxiYWNrIGp1c3QgaW5jYXNlIHRoZSBjb21wb25lbnQgbWlzYmVoYXZlc1xuICAgICAgLy8gYW5kIGZpcmVzIGEgdmFsdWUgY2hhbmdlIGR1cmluZyB0aGUgb3BlcmF0aW9uLlxuICAgICAgZGlzYWJsZUVkaXRDYWxsYmFjayA9IHRydWU7XG4gICAgICBjb21wb25lbnQudmFsdWUgPSByb3dEYXRhLnJvd1t0aGlzLnByb3BlcnR5XTtcbiAgICAgIGRpc2FibGVFZGl0Q2FsbGJhY2sgPSBmYWxzZTtcblxuICAgICAgaWYgKCFpc0Z1bmN0aW9uKG9wdGlvbnMpICYmIGlzRnVuY3Rpb24ob3B0aW9ucz8ub25Sb3dVcGRhdGUpKSB7XG4gICAgICAgIG9wdGlvbnMub25Sb3dVcGRhdGUoY29tcG9uZW50LCByb3dEYXRhLnJvdyk7XG4gICAgICB9XG5cbiAgICB9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBjZWxsRWRpdG9yPEUgZXh0ZW5kcyBDZWxsRWRpdG9yQ29tcG9uZW50PFJvd1tQXT4+KGVkaXRvcjogQ29tcG9uZW50VHlwZTxFPiwgdmFsaWRhdG9ycz86IFZhbGlkYXRvcjxSb3dbUF0+W10sIGluaXRpYWxpc2VDb21wb25lbnQ/OiAoY29tcG9uZW50OiBFKSA9PiB2b2lkKTogdGhpc1xuICBjZWxsRWRpdG9yPEUgZXh0ZW5kcyBDZWxsRWRpdG9yQ29tcG9uZW50PFJvd1tQXT4+KGVkaXRvcjogQ29tcG9uZW50VHlwZTxFPiwgaW5pdGlhbGlzZUNvbXBvbmVudD86IChjb21wb25lbnQ6IEUpID0+IHZvaWQpOiB0aGlzXG4gIGNlbGxFZGl0b3I8RSBleHRlbmRzIENlbGxFZGl0b3JDb21wb25lbnQ8Um93W1BdPj4oZWRpdG9yOiBDb21wb25lbnRUeXBlPEU+LCB2YWxpZGF0b3JzT3JJbml0aWFsaXNlcj86IFZhbGlkYXRvcjxSb3dbUF0+W10gfCAoKGNvbXBvbmVudDogRSkgPT4gdm9pZCksIG9uQ29tcG9uZW50SW5pdD86IChjb21wb25lbnQ6IEUpID0+IHZvaWQpOiB0aGlzIHtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gQXJyYXkuaXNBcnJheSh2YWxpZGF0b3JzT3JJbml0aWFsaXNlcikgPyB2YWxpZGF0b3JzT3JJbml0aWFsaXNlciA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBpbml0aWFsaXNlciA9IGlzRnVuY3Rpb24odmFsaWRhdG9yc09ySW5pdGlhbGlzZXIpID8gdmFsaWRhdG9yc09ySW5pdGlhbGlzZXIgOiBvbkNvbXBvbmVudEluaXQ7XG4gICAgdGhpcy5jb25maWd1cmVDZWxsRWRpdG9yKG5ldyBDZWxsRWRpdG9yUG9ydGFsUmVmKGVkaXRvciwgKGNvbXBvbmVudDogRSwgZWRpdFNlc3Npb246IEVkaXRTZXNzaW9uPFJvdz4pID0+IHtcbiAgICAgIGNvbnN0IGZvcm1WYWx1ZU1vZGVsID0gZWRpdFNlc3Npb24uZm9ybS5wbHVjayh0aGlzLnByb3BlcnR5KTtcbiAgICAgIGlmICh2YWxpZGF0b3JzKSB7XG4gICAgICAgIGZvcm1WYWx1ZU1vZGVsLnZhbGlkYXRlVXNpbmcodmFsaWRhdG9ycyk7XG4gICAgICB9XG4gICAgICBjb21wb25lbnQudmFsdWVNb2RlbCA9IGZvcm1WYWx1ZU1vZGVsO1xuICAgICAgaWYgKGluaXRpYWxpc2VyKSB7XG4gICAgICAgIGluaXRpYWxpc2VyKGNvbXBvbmVudCk7XG4gICAgICB9XG4gICAgfSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZm9ybWF0KGZvcm1hdHRlcjogKHZhbHVlOiBSb3dbUF0pID0+IGFueSk6IHRoaXMge1xuICAgIGFzc2VydC5pc0Z1bmN0aW9uKGZvcm1hdHRlcik7XG4gICAgdGhpcy5fZm9ybWF0ID0gZm9ybWF0dGVyO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdFJvd09uQ2xpY2soc2VsZWN0T25Sb3dDbGljazogYm9vbGVhbik6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RSb3dPbkNsaWNrKHNlbGVjdE9uUm93Q2xpY2spO1xuICB9XG5cbn1cblxuZXhwb3J0IGNsYXNzIExpc3RQcm9wZXJ0eUNvbHVtbk1vZGVsPFJvdywgUCBleHRlbmRzIFR5cGVzLkFycmF5UHJvcGVydGllc09mPFJvdz4+IGV4dGVuZHMgQ29sdW1uTW9kZWw8Um93PiB7XG5cbiAgcHJpdmF0ZSBfZm9ybWF0OiAodmFsdWU6IFR5cGVzLkFycmF5RWxlbWVudFR5cGU8Um93LCBQPltdKSA9PiBhbnkgPSAodmFsdWUpID0+IHZhbHVlLm1hcCh2ID0+IHY/LnRvU3RyaW5nKCkpLmpvaW4oJywgJyk7XG5cbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZywgcmVhZG9ubHkgcHJvcGVydHk6IFAsIGRlZmF1bHRzOiBDb2x1bW5Nb2RlbC5UZXh0UHJvcGVydGllc1Byb3ZpZGVyKSB7XG4gICAgc3VwZXIoaWQsIGRlZmF1bHRzKTtcbiAgICB0aGlzLmNlbGxSZW5kZXJlcihEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50KTtcbiAgICB0aGlzLnVzZVRleHRTZWFyY2hQcmVkaWNhdGUoKHJvdzogUm93LCByZWdleDogUmVnRXhwKSA9PiB7XG4gICAgICByZXR1cm4gcmVnZXgudGVzdCh0aGlzLl9mb3JtYXQocm93W3RoaXMucHJvcGVydHldKSk7XG4gICAgfSk7XG4gIH1cblxuICBjZWxsUmVuZGVyZXIoY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZTx7IHZhbHVlOiBUeXBlcy5BcnJheUVsZW1lbnRUeXBlPFJvdywgUD5bXSB9Pik6IHRoaXMge1xuICAgIHRoaXMuY29uZmlndXJlQ2VsbFJlbmRlcmVyKG5ldyBDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWYoY29tcG9uZW50VHlwZSwgKGNvbXBvbmVudCwgcm93RGF0YSkgPT4ge1xuICAgICAgY29tcG9uZW50LnZhbHVlID0gdGhpcy5fZm9ybWF0KHJvd0RhdGEucm93W3RoaXMucHJvcGVydHldKTtcbiAgICB9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBjZWxsRWRpdG9yPEMgZXh0ZW5kcyBDZWxsTGlzdEVkaXRvckNvbXBvbmVudDxUeXBlcy5BcnJheUVsZW1lbnRUeXBlPFJvdywgUD4+PihlZGl0b3I6IENvbXBvbmVudFR5cGU8Qz4sIHZhbGlkYXRvcnM/OiBWYWxpZGF0b3I8VHlwZXMuQXJyYXlFbGVtZW50VHlwZTxSb3csIFA+W10+W10sIGluaXRpYWxpc2VDb21wb25lbnQ/OiAoY29tcG9uZW50OiBDKSA9PiB2b2lkKTogdGhpc1xuICBjZWxsRWRpdG9yPEMgZXh0ZW5kcyBDZWxsTGlzdEVkaXRvckNvbXBvbmVudDxUeXBlcy5BcnJheUVsZW1lbnRUeXBlPFJvdywgUD4+PihlZGl0b3I6IENvbXBvbmVudFR5cGU8Qz4sIGluaXRpYWxpc2VDb21wb25lbnQ/OiAoY29tcG9uZW50OiBDKSA9PiB2b2lkKTogdGhpc1xuICBjZWxsRWRpdG9yPEMgZXh0ZW5kcyBDZWxsTGlzdEVkaXRvckNvbXBvbmVudDxUeXBlcy5BcnJheUVsZW1lbnRUeXBlPFJvdywgUD4+PihlZGl0b3I6IENvbXBvbmVudFR5cGU8Qz4sIHZhbGlkYXRvcnNPckluaXRpYWxpc2VyPzogVmFsaWRhdG9yPFR5cGVzLkFycmF5RWxlbWVudFR5cGU8Um93LCBQPltdPltdIHwgKChjb21wb25lbnQ6IEMpID0+IHZvaWQpLCBpbml0aWFsaXNlQ29tcG9uZW50PzogKGNvbXBvbmVudDogQykgPT4gdm9pZCk6IHRoaXMge1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBBcnJheS5pc0FycmF5KHZhbGlkYXRvcnNPckluaXRpYWxpc2VyKSA/IHZhbGlkYXRvcnNPckluaXRpYWxpc2VyIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGluaXRpYWxpc2VyID0gaXNGdW5jdGlvbih2YWxpZGF0b3JzT3JJbml0aWFsaXNlcikgPyB2YWxpZGF0b3JzT3JJbml0aWFsaXNlciA6IGluaXRpYWxpc2VDb21wb25lbnQ7XG5cbiAgICB0aGlzLmNvbmZpZ3VyZUNlbGxFZGl0b3IobmV3IENlbGxFZGl0b3JQb3J0YWxSZWYoZWRpdG9yLCAoY29tcG9uZW50OiBDLCBlZGl0U2Vzc2lvbjogRWRpdFNlc3Npb248Um93PikgPT4ge1xuICAgICAgY29uc3QgZm9ybUxpc3RNb2RlbCA9IGVkaXRTZXNzaW9uLmZvcm0ucGx1Y2tMaXN0KHRoaXMucHJvcGVydHkpO1xuICAgICAgaWYgKHZhbGlkYXRvcnMpIHtcbiAgICAgICAgZm9ybUxpc3RNb2RlbC52YWxpZGF0ZVVzaW5nKHZhbGlkYXRvcnMpO1xuICAgICAgfVxuICAgICAgY29tcG9uZW50Lmxpc3RNb2RlbCA9IGZvcm1MaXN0TW9kZWw7XG4gICAgICBpZiAoaW5pdGlhbGlzZXIpIHtcbiAgICAgICAgaW5pdGlhbGlzZXIoY29tcG9uZW50KTtcbiAgICAgIH1cbiAgICB9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBmb3JtYXQoZm9ybWF0dGVyOiAodmFsdWU6IFR5cGVzLkFycmF5RWxlbWVudFR5cGU8Um93LCBQPltdKSA9PiBhbnkpOiB0aGlzIHtcbiAgICBhc3NlcnQuaXNGdW5jdGlvbihmb3JtYXR0ZXIpO1xuICAgIHRoaXMuX2Zvcm1hdCA9IGZvcm1hdHRlcjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RSb3dPbkNsaWNrKHNlbGVjdFJvd09uQ2xpY2s6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0Um93T25DbGljayhzZWxlY3RSb3dPbkNsaWNrKTtcbiAgfVxuXG59XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21WYWx1ZUNvbHVtbk1vZGVsPFJvdywgVj4gZXh0ZW5kcyBDb2x1bW5Nb2RlbDxSb3c+IHtcblxuICBjb25zdHJ1Y3Rvcihjb2x1bW5JZDogc3RyaW5nLCBkZWZhdWx0czogQ29sdW1uTW9kZWwuVGV4dFByb3BlcnRpZXNQcm92aWRlciwgcHJpdmF0ZSBnZXRWYWx1ZTogKHJvdzogUm93KSA9PiBWKSB7XG4gICAgc3VwZXIoY29sdW1uSWQsIGRlZmF1bHRzKTtcbiAgICB0aGlzLmNlbGxSZW5kZXJlcihEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50KTtcbiAgfVxuXG4gIGNlbGxSZW5kZXJlcjxDIGV4dGVuZHMgeyB2YWx1ZTogUGFydGlhbDxWPiB9Pihjb21wb25lbnRUeXBlOiBDb21wb25lbnRUeXBlPEM+LCBvbkNvbXBvbmVudEluaXRPck9wdGlvbnM/OiBDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgQz4gfCBPbkNvbXBvbmVudEluaXQ8Qz4pOiB0aGlzIHtcbiAgICB0aGlzLmNvbmZpZ3VyZUNlbGxSZW5kZXJlcihuZXcgQ29tcG9uZW50Q2VsbFJlbmRlcmVyUG9ydGFsUmVmKGNvbXBvbmVudFR5cGUsIChjb21wb25lbnQsIHJvd0RhdGEsIGZpcnN0VGltZSkgPT4ge1xuICAgICAgaWYgKGZpcnN0VGltZSkge1xuICAgICAgICBpZiAoaXNGdW5jdGlvbihvbkNvbXBvbmVudEluaXRPck9wdGlvbnMpKSB7XG4gICAgICAgICAgb25Db21wb25lbnRJbml0T3JPcHRpb25zKGNvbXBvbmVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKGlzRnVuY3Rpb24ob25Db21wb25lbnRJbml0T3JPcHRpb25zPy5vbkNvbXBvbmVudEluaXQpKSB7XG4gICAgICAgICAgICBvbkNvbXBvbmVudEluaXRPck9wdGlvbnMub25Db21wb25lbnRJbml0KGNvbXBvbmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb21wb25lbnQudmFsdWUgPSB0aGlzLmdldFZhbHVlKHJvd0RhdGEucm93KTtcblxuICAgICAgaWYgKCFpc0Z1bmN0aW9uKG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucykgJiYgaXNGdW5jdGlvbihvbkNvbXBvbmVudEluaXRPck9wdGlvbnM/Lm9uUm93VXBkYXRlKSkge1xuICAgICAgICBvbkNvbXBvbmVudEluaXRPck9wdGlvbnMub25Sb3dVcGRhdGUoY29tcG9uZW50LCByb3dEYXRhLnJvdyk7XG4gICAgICB9XG4gICAgfSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdFJvd09uQ2xpY2soc2VsZWN0T25Sb3dDbGljazogYm9vbGVhbik6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RSb3dPbkNsaWNrKHNlbGVjdE9uUm93Q2xpY2spO1xuICB9XG5cbn1cblxuZXhwb3J0IGNsYXNzIEVkaXRvckNvbnRyb2xDb2x1bW5Nb2RlbDxSb3c+IGV4dGVuZHMgQ29sdW1uTW9kZWw8Um93PiB7XG5cbiAgY29uc3RydWN0b3IoY29sdW1uSWQ6IHN0cmluZywgc2F2ZUNvbW1hbmRGYWN0b3J5OiBDb21tYW5kLkZhY3Rvcnk8RGlydHlUcmFja2luZ0Zvcm08Um93PiwgYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4+LCBkZWZhdWx0czogQ29sdW1uTW9kZWwuVGV4dFByb3BlcnRpZXNQcm92aWRlcikge1xuICAgIHN1cGVyKGNvbHVtbklkLCBkZWZhdWx0cyk7XG4gICAgdGhpcy5jZWxsUmVuZGVyZXIoRWRpdFJvd0NvbnRyb2xzKTtcbiAgfVxuXG4gIGNlbGxSZW5kZXJlcihjb21wb25lbnRUeXBlOiBDb21wb25lbnRUeXBlPHsgcm93OiBSb3csIGVkaXRTZXNzaW9uOiBFZGl0U2Vzc2lvbjxSb3c+LCBlZGl0Um93Q29tbWFuZDogQ29tbWFuZDx2b2lkPiB9Pik6IHRoaXMge1xuICAgIHRoaXMuY29uZmlndXJlQ2VsbFJlbmRlcmVyKG5ldyBDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWYoY29tcG9uZW50VHlwZSwgKGNvbXBvbmVudCwgcm93RGF0YTogUm93RGF0YTxSb3c+KSA9PiB7XG4gICAgICBjb21wb25lbnQucm93ID0gcm93RGF0YS5yb3c7XG4gICAgICBjb21wb25lbnQuZWRpdFNlc3Npb24gPSByb3dEYXRhLmVkaXRTZXNzaW9uO1xuICAgICAgY29tcG9uZW50LmVkaXRSb3dDb21tYW5kID0gcm93RGF0YS5lZGl0Um93Q29tbWFuZDtcbiAgICB9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdEhlYWRlclRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEN1c3RvbVRlbXBsYXRlQ29sdW1uTW9kZWw8Um93PiBleHRlbmRzIENvbHVtbk1vZGVsPFJvdz4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IG5ldyBUZW1wbGF0ZUNlbGxSZW5kZXJlclBvcnRhbFJlZjxSb3c+KCk7XG5cbiAgY29uc3RydWN0b3IoY29sdW1uSWQ6IHN0cmluZywgZGVmYXVsdHM6IENvbHVtbk1vZGVsLlRleHRQcm9wZXJ0aWVzUHJvdmlkZXIpIHtcbiAgICBzdXBlcihjb2x1bW5JZCwgZGVmYXVsdHMpO1xuICAgIHRoaXMuY29uZmlndXJlQ2VsbFJlbmRlcmVyKHRoaXMuY29uZmlnKTtcbiAgfVxuXG4gIHNldFRlbXBsYXRlKHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LCB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLCBmaWxsQ2VsbDogYm9vbGVhbiwgcGFkQ2hpbGQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNvbmZpZy5yZWdpc3RlclBvcnRhbCh0ZW1wbGF0ZVJlZiwgdmlld0NvbnRhaW5lciwgZmlsbENlbGwsIHBhZENoaWxkKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RSb3dPbkNsaWNrKHNlbGVjdE9uUm93Q2xpY2s6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0Um93T25DbGljayhzZWxlY3RPblJvd0NsaWNrKTtcbiAgfVxuXG59XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25Db2x1bW5Nb2RlbDxSb3c+IGV4dGVuZHMgQ29sdW1uTW9kZWw8Um93PiB7XG5cbiAgcHJpdmF0ZSBfZW5hYmxlSGVhZGVyQ29udHJvbHMgPSB0cnVlO1xuICByZWFkb25seSBzZWxlY3Rpb25Nb2RlbCA9IERlbGVnYXRpbmdTZWxlY3Rpb25Nb2RlbC5jcmVhdGVEZWxlZ2F0ZTxSb3csIHVua25vd24+KCk7XG5cbiAgY29uc3RydWN0b3IoY29sdW1uSWQ6IHN0cmluZywgZGVmYXVsdHM6IENvbHVtbk1vZGVsLlRleHRQcm9wZXJ0aWVzUHJvdmlkZXIsIHNlbGVjdGlvbk1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxSb3c+KSB7XG4gICAgc3VwZXIoY29sdW1uSWQsIGRlZmF1bHRzKTtcbiAgICB0aGlzLl9zZWxlY3RSb3dPbkNsaWNrKGZhbHNlKTtcbiAgICB0aGlzLmNlbGxIZWFkZXJSZW5kZXJlcihTZWxlY3RIZWFkZXJDZWxsUmVuZGVyZXJDb21wb25lbnQsIChjb21wb25lbnQpID0+IHtcbiAgICAgIGNvbXBvbmVudC5zZWxlY3Rpb25Nb2RlbCA9IHRoaXMuc2VsZWN0aW9uTW9kZWw7XG4gICAgICBjb21wb25lbnQuZW5hYmxlSGVhZGVyQ29udHJvbHMgPSB0aGlzLl9lbmFibGVIZWFkZXJDb250cm9scztcbiAgICB9KTtcbiAgICB0aGlzLmNvbmZpZ3VyZUNlbGxSZW5kZXJlcihuZXcgQ29tcG9uZW50Q2VsbFJlbmRlcmVyUG9ydGFsUmVmKFNlbGVjdENlbGxSZW5kZXJlckNvbXBvbmVudCwgKGNvbXBvbmVudCwgcm93RGF0YTogUm93RGF0YTxSb3c+KSA9PiB7XG4gICAgICBjb21wb25lbnQucm93ID0gcm93RGF0YS5yb3c7XG4gICAgICBjb21wb25lbnQuc2VsZWN0aW9uTW9kZWwgPSB0aGlzLnNlbGVjdGlvbk1vZGVsO1xuICAgIH0pKTtcbiAgICB0aGlzLnNldFNlbGVjdGlvbk1vZGVsKHNlbGVjdGlvbk1vZGVsKTtcbiAgfVxuXG4gIHNldFNlbGVjdGlvbk1vZGVsKHNlbGVjdGlvbk1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxSb3c+KSB7XG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZXREZWxlZ2F0ZShzZWxlY3Rpb25Nb2RlbCk7XG4gICAgdGhpcy5zZXREZWZhdWx0VmlzaWJpbGl0eShzZWxlY3Rpb25Nb2RlbCBpbnN0YW5jZW9mIE11bHRpcGxlU2VsZWN0aW9uTW9kZWwgPyBWYWx1ZU1vZGVsLlRSVUUgOiBWYWx1ZU1vZGVsLkZBTFNFKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0SGVhZGVyVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGVuYWJsZUhlYWRlckNvbnRyb2xzKGVuYWJsZTogYm9vbGVhbik6IHRoaXMge1xuICAgIHRoaXMuX2VuYWJsZUhlYWRlckNvbnRyb2xzID0gZW5hYmxlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2VsZWN0Um93KHJvdzogUm93KSB7XG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3RDb21tYW5kLmV4ZWN1dGUocm93KTtcbiAgfVxuXG4gIGlzU2VsZWN0ZWQocm93OiBSb3cpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25Nb2RlbC5pc1NlbGVjdGVkKHJvdyk7XG4gIH1cbn1cblxuXG4iXX0=
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
2
|
-
import { assert } from '@coolon/pectin';
|
|
3
|
-
import { AbstractTableComponent } from '../../abstract-table.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../abstract-table.component";
|
|
6
|
-
export class ColumnTemplateDirective {
|
|
7
|
-
constructor(host, templateRef, viewContainer) {
|
|
8
|
-
this.host = host;
|
|
9
|
-
this.templateRef = templateRef;
|
|
10
|
-
this.viewContainer = viewContainer;
|
|
11
|
-
this.aupColumnTemplateFillCell = false;
|
|
12
|
-
this.aupColumnTemplateAutoPadChild = undefined;
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
var _a;
|
|
16
|
-
assert.isTruthy(this.aupColumnTemplateColumnId);
|
|
17
|
-
this.host.registerColumnTemplate(this.aupColumnTemplateColumnId, this.templateRef, this.viewContainer, this.aupColumnTemplateFillCell, (_a = this.aupColumnTemplateAutoPadChild) !== null && _a !== void 0 ? _a : this.aupColumnTemplateFillCell);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
ColumnTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ColumnTemplateDirective, deps: [{ token: i1.AbstractTableComponent }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
21
|
-
ColumnTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: ColumnTemplateDirective, selector: "[aupColumnTemplate]", inputs: { aupColumnTemplate: "aupColumnTemplate", aupColumnTemplateColumnId: "aupColumnTemplateColumnId", aupColumnTemplateFillCell: "aupColumnTemplateFillCell", aupColumnTemplateAutoPadChild: "aupColumnTemplateAutoPadChild" }, ngImport: i0 });
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ColumnTemplateDirective, decorators: [{
|
|
23
|
-
type: Directive,
|
|
24
|
-
args: [{
|
|
25
|
-
selector: '[aupColumnTemplate]'
|
|
26
|
-
}]
|
|
27
|
-
}], ctorParameters: function () { return [{ type: i1.AbstractTableComponent }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { aupColumnTemplate: [{
|
|
28
|
-
type: Input
|
|
29
|
-
}], aupColumnTemplateColumnId: [{
|
|
30
|
-
type: Input
|
|
31
|
-
}], aupColumnTemplateFillCell: [{
|
|
32
|
-
type: Input
|
|
33
|
-
}], aupColumnTemplateAutoPadChild: [{
|
|
34
|
-
type: Input
|
|
35
|
-
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXRlbXBsYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL3RhYmxlL2NvbHVtbi10ZW1wbGF0ZS9jb2x1bW4tdGVtcGxhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQUt4RSxNQUFNLE9BQU8sdUJBQXVCO0lBY2xDLFlBQXFCLElBQWlDLEVBQ2xDLFdBQTZCLEVBQzdCLGFBQStCO1FBRjlCLFNBQUksR0FBSixJQUFJLENBQTZCO1FBQ2xDLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFQbkQsOEJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBR2xDLGtDQUE2QixHQUFHLFNBQVMsQ0FBQztJQUsxQyxDQUFDO0lBRUQsUUFBUTs7UUFDTixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUM3RCxJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLENBQUMseUJBQXlCLEVBQzlCLE1BQUEsSUFBSSxDQUFDLDZCQUE2QixtQ0FBSSxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUMxRSxDQUFDOztxSEExQlUsdUJBQXVCO3lHQUF2Qix1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO2lCQUNoQztzS0FJQyxpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4seUJBQXlCO3NCQUR4QixLQUFLO2dCQUlOLHlCQUF5QjtzQkFEeEIsS0FBSztnQkFJTiw2QkFBNkI7c0JBRDVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBBYnN0cmFjdFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYWJzdHJhY3QtdGFibGUuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1cENvbHVtblRlbXBsYXRlXSdcbn0pXG5leHBvcnQgY2xhc3MgQ29sdW1uVGVtcGxhdGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIGF1cENvbHVtblRlbXBsYXRlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgYXVwQ29sdW1uVGVtcGxhdGVDb2x1bW5JZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGF1cENvbHVtblRlbXBsYXRlRmlsbENlbGwgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBhdXBDb2x1bW5UZW1wbGF0ZUF1dG9QYWRDaGlsZCA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBob3N0OiBBYnN0cmFjdFRhYmxlQ29tcG9uZW50PGFueT4sXG4gICAgICAgICAgICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgICAgICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgYXNzZXJ0LmlzVHJ1dGh5KHRoaXMuYXVwQ29sdW1uVGVtcGxhdGVDb2x1bW5JZCk7XG4gICAgdGhpcy5ob3N0LnJlZ2lzdGVyQ29sdW1uVGVtcGxhdGUodGhpcy5hdXBDb2x1bW5UZW1wbGF0ZUNvbHVtbklkLFxuICAgICAgdGhpcy50ZW1wbGF0ZVJlZixcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lcixcbiAgICAgIHRoaXMuYXVwQ29sdW1uVGVtcGxhdGVGaWxsQ2VsbCxcbiAgICAgIHRoaXMuYXVwQ29sdW1uVGVtcGxhdGVBdXRvUGFkQ2hpbGQgPz8gdGhpcy5hdXBDb2x1bW5UZW1wbGF0ZUZpbGxDZWxsKTtcbiAgfVxuXG59XG4iXX0=
|
package/esm2015/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../../../directives/highlight.pipe";
|
|
4
|
-
export class DefaultCellRendererComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
}
|
|
7
|
-
set value(value) {
|
|
8
|
-
this._value = value;
|
|
9
|
-
}
|
|
10
|
-
get value() {
|
|
11
|
-
return this._value;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
DefaultCellRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DefaultCellRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
15
|
-
DefaultCellRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: DefaultCellRendererComponent, selector: "aup-default-cell-renderer", inputs: { value: "value" }, ngImport: i0, template: "<span [innerHTML]=\"value| aupHighlight\"></span>\n", styles: [""], pipes: { "aupHighlight": i1.HighlightPipe } });
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DefaultCellRendererComponent, decorators: [{
|
|
17
|
-
type: Component,
|
|
18
|
-
args: [{
|
|
19
|
-
selector: 'aup-default-cell-renderer',
|
|
20
|
-
templateUrl: './default-cell-renderer.component.html',
|
|
21
|
-
styleUrls: ['./default-cell-renderer.component.scss']
|
|
22
|
-
}]
|
|
23
|
-
}], ctorParameters: function () { return []; }, propDecorators: { value: [{
|
|
24
|
-
type: Input
|
|
25
|
-
}] } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL3RhYmxlL2RlZmF1bHQtY2VsbC1yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvdGFibGUvZGVmYXVsdC1jZWxsLXJlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBU2pELE1BQU0sT0FBTyw0QkFBNEI7SUFZdkM7SUFDQSxDQUFDO0lBVkQsSUFDSSxLQUFLLENBQUMsS0FBUTtRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7OzBIQVZVLDRCQUE0Qjs4R0FBNUIsNEJBQTRCLDZGQ1R6QyxxREFDQTs0RkRRYSw0QkFBNEI7a0JBTHhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsV0FBVyxFQUFFLHdDQUF3QztvQkFDckQsU0FBUyxFQUFFLENBQUMsd0NBQXdDLENBQUM7aUJBQ3REOzBFQUtLLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENlbGxSZW5kZXJlciB9IGZyb20gJy4uL2NlbGwtcmVuZGVyZXInO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1kZWZhdWx0LWNlbGwtcmVuZGVyZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGVmYXVsdC1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGVmYXVsdC1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRGVmYXVsdENlbGxSZW5kZXJlckNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIENlbGxSZW5kZXJlcjxUPntcbiAgcHJpdmF0ZSBfdmFsdWU6IFQ7XG5cbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKHZhbHVlOiBUKSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxufVxuIiwiPHNwYW4gW2lubmVySFRNTF09XCJ2YWx1ZXwgYXVwSGlnaGxpZ2h0XCI+PC9zcGFuPlxuIl19
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class DefaultHeaderCellRendererComponent {
|
|
4
|
-
constructor() {
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
DefaultHeaderCellRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DefaultHeaderCellRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
-
DefaultHeaderCellRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: DefaultHeaderCellRendererComponent, selector: "aup-default-header-renderer", inputs: { headerText: "headerText" }, ngImport: i0, template: "{{headerText}}\n", styles: [""] });
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DefaultHeaderCellRendererComponent, decorators: [{
|
|
10
|
-
type: Component,
|
|
11
|
-
args: [{
|
|
12
|
-
selector: 'aup-default-header-renderer',
|
|
13
|
-
templateUrl: './default-header-cell-renderer.component.html',
|
|
14
|
-
styleUrls: ['./default-header-cell-renderer.component.scss']
|
|
15
|
-
}]
|
|
16
|
-
}], ctorParameters: function () { return []; }, propDecorators: { headerText: [{
|
|
17
|
-
type: Input
|
|
18
|
-
}] } });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1oZWFkZXItY2VsbC1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy90YWJsZS9kZWZhdWx0LWhlYWRlci1jZWxsLXJlbmRlcmVyL2RlZmF1bHQtaGVhZGVyLWNlbGwtcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvdGFibGUvZGVmYXVsdC1oZWFkZXItY2VsbC1yZW5kZXJlci9kZWZhdWx0LWhlYWRlci1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU9qRCxNQUFNLE9BQU8sa0NBQWtDO0lBSzdDO0lBQ0EsQ0FBQzs7Z0lBTlUsa0NBQWtDO29IQUFsQyxrQ0FBa0MseUdDUC9DLGtCQUNBOzRGRE1hLGtDQUFrQztrQkFMOUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxXQUFXLEVBQUUsK0NBQStDO29CQUM1RCxTQUFTLEVBQUUsQ0FBQywrQ0FBK0MsQ0FBQztpQkFDN0Q7MEVBSUMsVUFBVTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtZGVmYXVsdC1oZWFkZXItcmVuZGVyZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGVmYXVsdC1oZWFkZXItY2VsbC1yZW5kZXJlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RlZmF1bHQtaGVhZGVyLWNlbGwtcmVuZGVyZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEZWZhdWx0SGVhZGVyQ2VsbFJlbmRlcmVyQ29tcG9uZW50IHtcblxuICBASW5wdXQoKVxuICBoZWFkZXJUZXh0OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cbn1cbiIsInt7aGVhZGVyVGV4dH19XG4iXX0=
|
package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { __awaiter, __decorate, __metadata } from "tslib";
|
|
2
|
-
import { Component, Input } from '@angular/core';
|
|
3
|
-
import { Command, TrackExternal } from '@coolon/pectin';
|
|
4
|
-
import { DisposableComponent } from '../../../disposable-component';
|
|
5
|
-
import { EditSession } from '../../edit-session';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/material/button";
|
|
8
|
-
import * as i2 from "../../../icon/icon.component";
|
|
9
|
-
import * as i3 from "@angular/common";
|
|
10
|
-
import * as i4 from "../../../../directives/command.directive";
|
|
11
|
-
export class EditRowControls extends DisposableComponent {
|
|
12
|
-
constructor() {
|
|
13
|
-
super();
|
|
14
|
-
this.saveCommand = Command.create(() => __awaiter(this, void 0, void 0, function* () {
|
|
15
|
-
const finished = yield this.editSession.saveCommand.execute();
|
|
16
|
-
if (finished) {
|
|
17
|
-
this.editSession.dispose();
|
|
18
|
-
}
|
|
19
|
-
}));
|
|
20
|
-
this.cancelCommand = Command.create(() => {
|
|
21
|
-
this.editSession.dispose();
|
|
22
|
-
}).disableWhile(this.saveCommand.busy);
|
|
23
|
-
}
|
|
24
|
-
set editSession(session) {
|
|
25
|
-
if (session) {
|
|
26
|
-
session.form.disableWhile(this.saveCommand.busy);
|
|
27
|
-
}
|
|
28
|
-
this._session = session;
|
|
29
|
-
}
|
|
30
|
-
get editSession() {
|
|
31
|
-
return this._session;
|
|
32
|
-
}
|
|
33
|
-
ngOnInit() {
|
|
34
|
-
}
|
|
35
|
-
get form() {
|
|
36
|
-
var _a;
|
|
37
|
-
return (_a = this.editSession) === null || _a === void 0 ? void 0 : _a.form;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
EditRowControls.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: EditRowControls, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
-
EditRowControls.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: EditRowControls, selector: "aup-row-editor-controls", inputs: { row: "row", editRowCommand: "editRowCommand", editSession: "editSession" }, usesInheritance: true, ngImport: i0, template: "<button *ngIf=\"!editSession\" mat-icon-button [pectinCommand]=\"editRowCommand\" class=\"edit-button\"><aup-icon icon=\"mat:edit\"></aup-icon></button>\n<button *ngIf=\"editSession\" mat-icon-button [pectinCommand]=\"saveCommand\"><aup-icon icon=\"mat:done\"></aup-icon></button>\n<button *ngIf=\"editSession\" mat-icon-button [pectinCommand]=\"cancelCommand\"><aup-icon icon=\"mat:clear\"></aup-icon></button>\n", styles: [":host{display:block;width:80px}.edit-button{visibility:hidden}:host-context(tr:hover) .edit-button{visibility:visible}\n"], components: [{ type: i1.MatButton, 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"] }, { type: i2.IconComponent, selector: "aup-icon", inputs: ["icon"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }] });
|
|
42
|
-
__decorate([
|
|
43
|
-
TrackExternal(),
|
|
44
|
-
__metadata("design:type", Command)
|
|
45
|
-
], EditRowControls.prototype, "editRowCommand", void 0);
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: EditRowControls, decorators: [{
|
|
47
|
-
type: Component,
|
|
48
|
-
args: [{
|
|
49
|
-
selector: 'aup-row-editor-controls',
|
|
50
|
-
templateUrl: './edit-row-controls.component.html',
|
|
51
|
-
styleUrls: ['./edit-row-controls.component.scss']
|
|
52
|
-
}]
|
|
53
|
-
}], ctorParameters: function () { return []; }, propDecorators: { row: [{
|
|
54
|
-
type: Input
|
|
55
|
-
}], editRowCommand: [{
|
|
56
|
-
type: Input
|
|
57
|
-
}], editSession: [{
|
|
58
|
-
type: Input
|
|
59
|
-
}] } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1yb3ctY29udHJvbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvdGFibGUvZWRpdC1yb3ctY29udHJvbHMvZWRpdC1yb3ctY29udHJvbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvdGFibGUvZWRpdC1yb3ctY29udHJvbHMvZWRpdC1yb3ctY29udHJvbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsT0FBTyxFQUFrQyxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7OztBQVFqRCxNQUFNLE9BQU8sZUFBcUIsU0FBUSxtQkFBbUI7SUF5QjNEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBUyxFQUFFO1lBQzNDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUE7WUFDN0QsSUFBSSxRQUFRLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUM1QjtRQUNILENBQUMsQ0FBQSxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQXpCRCxJQUNJLFdBQVcsQ0FBQyxPQUF5QjtRQUN2QyxJQUFJLE9BQU8sRUFBRTtZQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbEQ7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFrQkQsUUFBUTtJQUNSLENBQUM7SUFFRCxJQUFJLElBQUk7O1FBQ04sT0FBTyxNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLElBQUksQ0FBQztJQUNoQyxDQUFDOzs2R0EzQ1UsZUFBZTtpR0FBZixlQUFlLDRLQ1g1QiwrWkFHQTtBRGVFO0lBREMsYUFBYSxFQUFFOzhCQUNBLE9BQU87dURBQU07NEZBUGxCLGVBQWU7a0JBTDNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsV0FBVyxFQUFFLG9DQUFvQztvQkFDakQsU0FBUyxFQUFFLENBQUMsb0NBQW9DLENBQUM7aUJBQ2xEOzBFQUlDLEdBQUc7c0JBREYsS0FBSztnQkFLTixjQUFjO3NCQUZiLEtBQUs7Z0JBT0YsV0FBVztzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1hbmQsIERpcnR5VHJhY2tpbmdGb3JtLCBGb3JtLCBUcmFjZSwgVHJhY2tFeHRlcm5hbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IERpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gJy4uLy4uL2VkaXQtc2Vzc2lvbic7XG5pbXBvcnQgeyBUYWJsZU1vZGVsIH0gZnJvbSAnLi4vdGFibGUtbW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtcm93LWVkaXRvci1jb250cm9scycsXG4gIHRlbXBsYXRlVXJsOiAnLi9lZGl0LXJvdy1jb250cm9scy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VkaXQtcm93LWNvbnRyb2xzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRWRpdFJvd0NvbnRyb2xzPFJvdz4gZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICByb3c6IFJvd1xuXG4gIEBJbnB1dCgpXG4gIEBUcmFja0V4dGVybmFsKClcbiAgZWRpdFJvd0NvbW1hbmQ6IENvbW1hbmQ8dm9pZD5cblxuICBwcml2YXRlIF9zZXNzaW9uOiBFZGl0U2Vzc2lvbjxSb3c+O1xuXG4gIEBJbnB1dCgpXG4gIHNldCBlZGl0U2Vzc2lvbihzZXNzaW9uOiBFZGl0U2Vzc2lvbjxSb3c+KSB7XG4gICAgaWYgKHNlc3Npb24pIHtcbiAgICAgIHNlc3Npb24uZm9ybS5kaXNhYmxlV2hpbGUodGhpcy5zYXZlQ29tbWFuZC5idXN5KTtcbiAgICB9XG4gICAgdGhpcy5fc2Vzc2lvbiA9IHNlc3Npb247XG4gIH1cbiAgZ2V0IGVkaXRTZXNzaW9uKCk6IEVkaXRTZXNzaW9uPFJvdz4ge1xuICAgIHJldHVybiB0aGlzLl9zZXNzaW9uO1xuICB9XG5cbiAgcmVhZG9ubHkgc2F2ZUNvbW1hbmQ6IENvbW1hbmQ8dm9pZD47XG4gIHJlYWRvbmx5IGNhbmNlbENvbW1hbmQ6IENvbW1hbmQ8dm9pZD47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnNhdmVDb21tYW5kID0gQ29tbWFuZC5jcmVhdGUoYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmluaXNoZWQgPSBhd2FpdCB0aGlzLmVkaXRTZXNzaW9uLnNhdmVDb21tYW5kLmV4ZWN1dGUoKVxuICAgICAgaWYgKGZpbmlzaGVkKSB7XG4gICAgICAgIHRoaXMuZWRpdFNlc3Npb24uZGlzcG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuY2FuY2VsQ29tbWFuZCA9IENvbW1hbmQuY3JlYXRlKCgpID0+IHtcbiAgICAgIHRoaXMuZWRpdFNlc3Npb24uZGlzcG9zZSgpO1xuICAgIH0pLmRpc2FibGVXaGlsZSh0aGlzLnNhdmVDb21tYW5kLmJ1c3kpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBnZXQgZm9ybSgpOiBEaXJ0eVRyYWNraW5nRm9ybTxSb3c+IHtcbiAgICByZXR1cm4gdGhpcy5lZGl0U2Vzc2lvbj8uZm9ybTtcbiAgfVxuXG59XG4iLCI8YnV0dG9uICpuZ0lmPVwiIWVkaXRTZXNzaW9uXCIgbWF0LWljb24tYnV0dG9uIFtwZWN0aW5Db21tYW5kXT1cImVkaXRSb3dDb21tYW5kXCIgY2xhc3M9XCJlZGl0LWJ1dHRvblwiPjxhdXAtaWNvbiBpY29uPVwibWF0OmVkaXRcIj48L2F1cC1pY29uPjwvYnV0dG9uPlxuPGJ1dHRvbiAqbmdJZj1cImVkaXRTZXNzaW9uXCIgbWF0LWljb24tYnV0dG9uIFtwZWN0aW5Db21tYW5kXT1cInNhdmVDb21tYW5kXCI+PGF1cC1pY29uIGljb249XCJtYXQ6ZG9uZVwiPjwvYXVwLWljb24+PC9idXR0b24+XG48YnV0dG9uICpuZ0lmPVwiZWRpdFNlc3Npb25cIiBtYXQtaWNvbi1idXR0b24gW3BlY3RpbkNvbW1hbmRdPVwiY2FuY2VsQ29tbWFuZFwiPjxhdXAtaWNvbiBpY29uPVwibWF0OmNsZWFyXCI+PC9hdXAtaWNvbj48L2J1dHRvbj5cbiJdfQ==
|