@colijnit/corecomponents_v12 261.1.1 → 261.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{fesm2015/colijnit-corecomponents_v12.js → fesm2022/colijnit-corecomponents_v12.mjs} +20197 -15310
- package/fesm2022/colijnit-corecomponents_v12.mjs.map +1 -0
- package/index.d.ts +3985 -0
- package/lib/components/popup/popup-message-display.component.scss +0 -2
- package/lib/components/scroll-container/style/_layout.scss +68 -0
- package/lib/components/scroll-container/style/_material-definition.scss +0 -0
- package/lib/components/scroll-container/style/_theme.scss +4 -0
- package/lib/components/scroll-container/style/material.scss +4 -0
- package/package.json +17 -13
- package/bundles/colijnit-corecomponents_v12.umd.js +0 -16057
- package/bundles/colijnit-corecomponents_v12.umd.js.map +0 -1
- package/colijnit-corecomponents_v12-261.1.0.tgz +0 -0
- package/colijnit-corecomponents_v12.d.ts +0 -45
- package/colijnit-corecomponents_v12.metadata.json +0 -1
- package/esm2015/colijnit-corecomponents_v12.js +0 -46
- package/esm2015/lib/components/article-tile/article-tile.component.js +0 -81
- package/esm2015/lib/components/article-tile/article-tile.module.js +0 -35
- package/esm2015/lib/components/base/base-input.component.js +0 -849
- package/esm2015/lib/components/base/base.module.js +0 -22
- package/esm2015/lib/components/base/commit-buttons/commit-buttons.component.js +0 -103
- package/esm2015/lib/components/base/commit-buttons/commit-buttons.module.js +0 -21
- package/esm2015/lib/components/base/dialog-base.component.js +0 -6
- package/esm2015/lib/components/base-input-date-picker/base-input-date-picker.directive.js +0 -25
- package/esm2015/lib/components/base-input-time/base-input-time-directive.js +0 -25
- package/esm2015/lib/components/button/button.component.js +0 -79
- package/esm2015/lib/components/button/button.module.js +0 -19
- package/esm2015/lib/components/calendar/calendar-template.component.js +0 -404
- package/esm2015/lib/components/calendar/calendar.component.js +0 -46
- package/esm2015/lib/components/calendar/calendar.module.js +0 -30
- package/esm2015/lib/components/card/card.component.js +0 -72
- package/esm2015/lib/components/card/card.module.js +0 -35
- package/esm2015/lib/components/carousel/carousel.component.js +0 -130
- package/esm2015/lib/components/carousel/carousel.module.js +0 -32
- package/esm2015/lib/components/carousel-3d/carousel-3d.component.js +0 -315
- package/esm2015/lib/components/carousel-3d/carousel-3d.module.js +0 -19
- package/esm2015/lib/components/carousel-3d/carouselItem.js +0 -54
- package/esm2015/lib/components/checkmark-overlay/checkmark-overlay.component.js +0 -87
- package/esm2015/lib/components/checkmark-overlay/checkmark-overlay.module.js +0 -19
- package/esm2015/lib/components/co-dialog/co-dialog.component.js +0 -113
- package/esm2015/lib/components/co-dialog/co-dialog.module.js +0 -19
- package/esm2015/lib/components/co-dialog-wizard/co-dialog-wizard.component.js +0 -51
- package/esm2015/lib/components/co-dialog-wizard/co-dialog-wizard.module.js +0 -17
- package/esm2015/lib/components/collapsible/collapsible.component.js +0 -92
- package/esm2015/lib/components/collapsible/collapsible.module.js +0 -19
- package/esm2015/lib/components/color-picker/color-picker.component.js +0 -41
- package/esm2015/lib/components/color-picker/color-picker.module.js +0 -21
- package/esm2015/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.js +0 -79
- package/esm2015/lib/components/core-dialog/core-dialog.module.js +0 -39
- package/esm2015/lib/components/core-dialog/core-dialog.service.js +0 -67
- package/esm2015/lib/components/core-dialog/core-dynamic-component.service.js +0 -93
- package/esm2015/lib/components/double-calendar/double-calendar.component.js +0 -112
- package/esm2015/lib/components/double-calendar/double-calendar.module.js +0 -25
- package/esm2015/lib/components/filter-item/filter-item-viewmodel.js +0 -13
- package/esm2015/lib/components/filter-item/filter-item.component.js +0 -1019
- package/esm2015/lib/components/filter-item/filter-item.module.js +0 -43
- package/esm2015/lib/components/filter-item/filter-viewmodel.js +0 -11
- package/esm2015/lib/components/form/form.component.js +0 -184
- package/esm2015/lib/components/form/form.module.js +0 -23
- package/esm2015/lib/components/grid-toolbar/grid-toolbar.component.js +0 -57
- package/esm2015/lib/components/grid-toolbar/grid-toolbar.module.js +0 -23
- package/esm2015/lib/components/grid-toolbar-button/grid-toolbar-button.component.js +0 -28
- package/esm2015/lib/components/grid-toolbar-button/grid-toolbar-button.module.js +0 -19
- package/esm2015/lib/components/hour-scheduling/components/hour-scheduling-test-object/hour-scheduling-test-object.component.js +0 -22
- package/esm2015/lib/components/hour-scheduling/hour-scheduling.component.js +0 -276
- package/esm2015/lib/components/hour-scheduling/hour-scheduling.module.js +0 -23
- package/esm2015/lib/components/hour-scheduling/model/enum/scheduling-object.interface.js +0 -2
- package/esm2015/lib/components/hour-scheduling-expandable/components/hour-scheduling-expandable-template/hour-scheduling-expandable-template.component.js +0 -111
- package/esm2015/lib/components/hour-scheduling-expandable/components/hour-scheduling-expandable-template/hour-scheduling-expandable-template.module.js +0 -20
- package/esm2015/lib/components/hour-scheduling-expandable/hour-scheduling-expandable.component.js +0 -337
- package/esm2015/lib/components/hour-scheduling-expandable/hour-scheduling-expandable.module.js +0 -24
- package/esm2015/lib/components/icon/icon-cache.service.js +0 -52
- package/esm2015/lib/components/icon/icon.component.js +0 -48
- package/esm2015/lib/components/icon/icon.module.js +0 -25
- package/esm2015/lib/components/icon-collapse-handle/icon-collapse-handle.component.js +0 -64
- package/esm2015/lib/components/icon-collapse-handle/icon-collapse-handle.module.js +0 -23
- package/esm2015/lib/components/image/image.component.js +0 -42
- package/esm2015/lib/components/image/image.module.js +0 -14
- package/esm2015/lib/components/input-checkbox/input-checkbox.component.js +0 -79
- package/esm2015/lib/components/input-checkbox/input-checkbox.module.js +0 -19
- package/esm2015/lib/components/input-date-picker/input-date-picker.component.js +0 -145
- package/esm2015/lib/components/input-date-picker/input-date-picker.module.js +0 -28
- package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.component.js +0 -178
- package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.module.js +0 -27
- package/esm2015/lib/components/input-number-picker/input-number-picker.component.js +0 -320
- package/esm2015/lib/components/input-number-picker/input-number-picker.module.js +0 -23
- package/esm2015/lib/components/input-radio-button/input-radio-button.component.js +0 -84
- package/esm2015/lib/components/input-radio-button/input-radio-button.module.js +0 -19
- package/esm2015/lib/components/input-scanner/bar-code-scanner.js +0 -36
- package/esm2015/lib/components/input-scanner/input-scanner.component.js +0 -94
- package/esm2015/lib/components/input-scanner/input-scanner.module.js +0 -21
- package/esm2015/lib/components/input-scanner/scanner.service.js +0 -28
- package/esm2015/lib/components/input-search/input-search.component.js +0 -92
- package/esm2015/lib/components/input-search/input-search.module.js +0 -21
- package/esm2015/lib/components/input-text/input-text.component.js +0 -381
- package/esm2015/lib/components/input-text/input-text.module.js +0 -33
- package/esm2015/lib/components/input-textarea/input-textarea.component.js +0 -78
- package/esm2015/lib/components/input-textarea/input-textarea.module.js +0 -27
- package/esm2015/lib/components/input-time/input-time.component.js +0 -74
- package/esm2015/lib/components/input-time/input-time.module.js +0 -24
- package/esm2015/lib/components/level-indicator/level-indicator-level.enum.js +0 -7
- package/esm2015/lib/components/level-indicator/level-indicator.component.js +0 -36
- package/esm2015/lib/components/level-indicator/level-indicator.module.js +0 -15
- package/esm2015/lib/components/list-of-icons/list-of-icons.component.js +0 -98
- package/esm2015/lib/components/list-of-icons/list-of-icons.module.js +0 -27
- package/esm2015/lib/components/list-of-values/list-of-values-multiselect-popup.component.js +0 -112
- package/esm2015/lib/components/list-of-values/list-of-values-popup.component.js +0 -321
- package/esm2015/lib/components/list-of-values/list-of-values.component.js +0 -344
- package/esm2015/lib/components/list-of-values/list-of-values.module.js +0 -39
- package/esm2015/lib/components/loader/loader.component.js +0 -84
- package/esm2015/lib/components/loader/loader.module.js +0 -19
- package/esm2015/lib/components/pagination/paginate.pipe.js +0 -99
- package/esm2015/lib/components/pagination/pagination-instance.js +0 -2
- package/esm2015/lib/components/pagination/pagination.component.js +0 -126
- package/esm2015/lib/components/pagination/pagination.module.js +0 -28
- package/esm2015/lib/components/pagination/pagination.service.js +0 -88
- package/esm2015/lib/components/pagination-bar/pagination-bar.component.js +0 -151
- package/esm2015/lib/components/pagination-bar/pagination-bar.module.js +0 -19
- package/esm2015/lib/components/popup/const/popup-window-token.js +0 -3
- package/esm2015/lib/components/popup/interface/popup-button.js +0 -8
- package/esm2015/lib/components/popup/interface/popup-close-event.js +0 -2
- package/esm2015/lib/components/popup/interface/popup-settings.js +0 -42
- package/esm2015/lib/components/popup/interface/popup.js +0 -2
- package/esm2015/lib/components/popup/model/popup-button-globals.js +0 -11
- package/esm2015/lib/components/popup/model/popup-window.js +0 -38
- package/esm2015/lib/components/popup/popup-buttons.component.js +0 -53
- package/esm2015/lib/components/popup/popup-message-display.component.js +0 -48
- package/esm2015/lib/components/popup/popup-window-shell.component.js +0 -159
- package/esm2015/lib/components/popup/popup.module.js +0 -49
- package/esm2015/lib/components/popup/service/popup-shower.service.js +0 -90
- package/esm2015/lib/components/popup/service/prompt.service.js +0 -127
- package/esm2015/lib/components/popup/text-input-popup.component.js +0 -36
- package/esm2015/lib/components/responsive-text/responsive-text.component.js +0 -24
- package/esm2015/lib/components/responsive-text/responsive-text.module.js +0 -19
- package/esm2015/lib/components/simple-grid/base-simple-grid.component.js +0 -193
- package/esm2015/lib/components/simple-grid/simple-grid-cell.component.js +0 -172
- package/esm2015/lib/components/simple-grid/simple-grid-column.directive.js +0 -113
- package/esm2015/lib/components/simple-grid/simple-grid.component.js +0 -773
- package/esm2015/lib/components/simple-grid/simple-grid.module.js +0 -47
- package/esm2015/lib/components/tile/tile.component.js +0 -73
- package/esm2015/lib/components/tile/tile.module.js +0 -23
- package/esm2015/lib/components/tile-select/tile-select.component.js +0 -36
- package/esm2015/lib/components/tile-select/tile-select.module.js +0 -21
- package/esm2015/lib/components/tooltip/tooltip.component.js +0 -95
- package/esm2015/lib/components/tooltip/tooltip.module.js +0 -19
- package/esm2015/lib/components/validation-error/validation-error.component.js +0 -38
- package/esm2015/lib/components/validation-error/validation-error.module.js +0 -25
- package/esm2015/lib/components/view-mode-buttons/content-view-mode.enum.js +0 -11
- package/esm2015/lib/components/view-mode-buttons/view-mode-buttons.component.js +0 -64
- package/esm2015/lib/components/view-mode-buttons/view-mode-buttons.module.js +0 -21
- package/esm2015/lib/core/constant/default-upper-bound-for-range-components.js +0 -4
- package/esm2015/lib/core/constant/java-max-int.js +0 -2
- package/esm2015/lib/core/constant/number-inputs-key-down-white-list.js +0 -45
- package/esm2015/lib/core/decorator/input-boolean.decorator.js +0 -34
- package/esm2015/lib/core/enum/co-direction.js +0 -9
- package/esm2015/lib/core/enum/co-document-type.enum.js +0 -11
- package/esm2015/lib/core/enum/co-orientation.js +0 -17
- package/esm2015/lib/core/enum/core-components-icon.enum.js +0 -307
- package/esm2015/lib/core/enum/file-type-internal.enum.js +0 -17
- package/esm2015/lib/core/enum/file-type.enum.js +0 -11
- package/esm2015/lib/core/enum/filterItem-mode.enum.js +0 -49
- package/esm2015/lib/core/enum/input-number-picker-show-mode.enum.js +0 -8
- package/esm2015/lib/core/enum/keyboard-code.enum.js +0 -74
- package/esm2015/lib/core/enum/keyboard-key.enum.js +0 -76
- package/esm2015/lib/core/enum/popup-button-type.enum.js +0 -12
- package/esm2015/lib/core/enum/popup-type.enum.js +0 -11
- package/esm2015/lib/core/function/any-nill.function.js +0 -6
- package/esm2015/lib/core/function/is-nill.function.js +0 -5
- package/esm2015/lib/core/function/none-nill.function.js +0 -17
- package/esm2015/lib/core/function/not-nill.function.js +0 -5
- package/esm2015/lib/core/model/bounds-constrained-number-value.js +0 -171
- package/esm2015/lib/core/model/check-precision-and-scale-result.js +0 -2
- package/esm2015/lib/core/model/check-within-stepped-bounds-result.js +0 -2
- package/esm2015/lib/core/model/core-components-icon-svg.js +0 -306
- package/esm2015/lib/core/model/element-position.js +0 -10
- package/esm2015/lib/core/model/event/string-prompt-result-event.js +0 -8
- package/esm2015/lib/core/service/form-input-user-change-listener.service.js +0 -25
- package/esm2015/lib/core/service/form-master.service.js +0 -102
- package/esm2015/lib/core/service/ng-zone-wrapper.service.js +0 -20
- package/esm2015/lib/core/utils/array-utils.js +0 -264
- package/esm2015/lib/core/utils/browser-utils.js +0 -100
- package/esm2015/lib/core/utils/direction-enum-utils.js +0 -14
- package/esm2015/lib/core/utils/event-utils.js +0 -53
- package/esm2015/lib/core/utils/file-utils.js +0 -267
- package/esm2015/lib/core/utils/number-utils.js +0 -309
- package/esm2015/lib/core/utils/object-utils.js +0 -186
- package/esm2015/lib/core/utils/string-utils.js +0 -94
- package/esm2015/lib/core/validator/email.validator.js +0 -6
- package/esm2015/lib/core/validator/equal.validator.js +0 -11
- package/esm2015/lib/core/validator/max-string-length.validator.js +0 -10
- package/esm2015/lib/core/validator/password.validator.js +0 -31
- package/esm2015/lib/core/validator/precision-scale.validator.js +0 -11
- package/esm2015/lib/core/validator/required.validator.js +0 -5
- package/esm2015/lib/directives/clickoutside/click-outside-master.service.js +0 -57
- package/esm2015/lib/directives/clickoutside/click-outside.directive.js +0 -71
- package/esm2015/lib/directives/clickoutside/clickoutside.module.js +0 -19
- package/esm2015/lib/directives/observe-visibility/observe-visibility.directive.js +0 -53
- package/esm2015/lib/directives/observe-visibility/observe-visibility.module.js +0 -15
- package/esm2015/lib/directives/overlay/overlay-parent.directive.js +0 -19
- package/esm2015/lib/directives/overlay/overlay.directive.js +0 -161
- package/esm2015/lib/directives/overlay/overlay.module.js +0 -18
- package/esm2015/lib/directives/ripple/ripple-ref.js +0 -26
- package/esm2015/lib/directives/ripple/ripple-renderer.js +0 -160
- package/esm2015/lib/directives/ripple/ripple.directive.js +0 -80
- package/esm2015/lib/directives/ripple/ripple.module.js +0 -24
- package/esm2015/lib/directives/ripple/scroll-dispatcher.service.js +0 -108
- package/esm2015/lib/directives/ripple/scrollable.directive.js +0 -40
- package/esm2015/lib/directives/ripple/viewport-ruler.service.js +0 -73
- package/esm2015/lib/directives/screen-configuration/screen-configuration.directive.js +0 -159
- package/esm2015/lib/directives/screen-configuration/screen-configuration.module.js +0 -19
- package/esm2015/lib/directives/stopclick/stop-click.directive.js +0 -38
- package/esm2015/lib/directives/stopclick/stop-click.module.js +0 -15
- package/esm2015/lib/directives/template-wrapper/template-wrapper.directive.js +0 -68
- package/esm2015/lib/directives/template-wrapper/template-wrapper.module.js +0 -15
- package/esm2015/lib/directives/tooltip/tooltip-directive.module.js +0 -19
- package/esm2015/lib/directives/tooltip/tooltip.directive.js +0 -78
- package/esm2015/lib/interfaces/dialog-response.interface.js +0 -2
- package/esm2015/lib/interfaces/scanner-input.interface.js +0 -2
- package/esm2015/lib/interfaces/screen-config-adapter-component-interface-name.js +0 -4
- package/esm2015/lib/interfaces/screen-config-adapter.component.interface.js +0 -2
- package/esm2015/lib/model/enum/app-button-type.enum.js +0 -11
- package/esm2015/lib/model/enum/app-popup-type.enum.js +0 -8
- package/esm2015/lib/model/icon-list-item.js +0 -2
- package/esm2015/lib/pipes/append.pipe.js +0 -17
- package/esm2015/lib/pipes/append.pipe.module.js +0 -15
- package/esm2015/lib/pipes/filter.pipe.js +0 -16
- package/esm2015/lib/pipes/filter.pipe.module.js +0 -15
- package/esm2015/lib/pipes/prepend.pipe.js +0 -17
- package/esm2015/lib/pipes/prepend.pipe.module.js +0 -15
- package/esm2015/lib/pipes/price-display-pipe.module.js +0 -15
- package/esm2015/lib/pipes/price-display.pipe.js +0 -20
- package/esm2015/lib/service/base-module-screen-config.service.js +0 -205
- package/esm2015/lib/service/base-module.service.js +0 -42
- package/esm2015/lib/service/color-sequence.service.js +0 -49
- package/esm2015/lib/service/excel-export.service.js +0 -128
- package/esm2015/lib/service/overlay.service.js +0 -75
- package/esm2015/lib/translation/core-components-translation.module.js +0 -26
- package/esm2015/lib/translation/core-components-translation.service.js +0 -17
- package/esm2015/lib/translation/core-dictionary.service.js +0 -29
- package/esm2015/lib/translation/core-localize.pipe.js +0 -26
- package/esm2015/public-api.js +0 -142
- package/fesm2015/colijnit-corecomponents_v12.js.map +0 -1
- package/lib/components/article-tile/article-tile.component.d.ts +0 -22
- package/lib/components/article-tile/article-tile.module.d.ts +0 -2
- package/lib/components/base/base-input.component.d.ts +0 -189
- package/lib/components/base/base.module.d.ts +0 -2
- package/lib/components/base/commit-buttons/commit-buttons.component.d.ts +0 -21
- package/lib/components/base/commit-buttons/commit-buttons.module.d.ts +0 -2
- package/lib/components/base/dialog-base.component.d.ts +0 -4
- package/lib/components/base-input-date-picker/base-input-date-picker.directive.d.ts +0 -15
- package/lib/components/base-input-time/base-input-time-directive.d.ts +0 -14
- package/lib/components/button/button.component.d.ts +0 -31
- package/lib/components/button/button.module.d.ts +0 -2
- package/lib/components/calendar/calendar-template.component.d.ts +0 -70
- package/lib/components/calendar/calendar.component.d.ts +0 -13
- package/lib/components/calendar/calendar.module.d.ts +0 -2
- package/lib/components/card/card.component.d.ts +0 -23
- package/lib/components/card/card.module.d.ts +0 -2
- package/lib/components/carousel/carousel.component.d.ts +0 -23
- package/lib/components/carousel/carousel.module.d.ts +0 -6
- package/lib/components/carousel-3d/carousel-3d.component.d.ts +0 -55
- package/lib/components/carousel-3d/carousel-3d.module.d.ts +0 -2
- package/lib/components/carousel-3d/carouselItem.d.ts +0 -13
- package/lib/components/checkmark-overlay/checkmark-overlay.component.d.ts +0 -17
- package/lib/components/checkmark-overlay/checkmark-overlay.module.d.ts +0 -2
- package/lib/components/co-dialog/co-dialog.component.d.ts +0 -23
- package/lib/components/co-dialog/co-dialog.module.d.ts +0 -2
- package/lib/components/co-dialog-wizard/co-dialog-wizard.component.d.ts +0 -9
- package/lib/components/co-dialog-wizard/co-dialog-wizard.module.d.ts +0 -2
- package/lib/components/collapsible/collapsible.component.d.ts +0 -22
- package/lib/components/collapsible/collapsible.module.d.ts +0 -2
- package/lib/components/color-picker/color-picker.component.d.ts +0 -6
- package/lib/components/color-picker/color-picker.module.d.ts +0 -2
- package/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.d.ts +0 -20
- package/lib/components/core-dialog/core-dialog.module.d.ts +0 -4
- package/lib/components/core-dialog/core-dialog.service.d.ts +0 -15
- package/lib/components/core-dialog/core-dynamic-component.service.d.ts +0 -12
- package/lib/components/double-calendar/double-calendar.component.d.ts +0 -20
- package/lib/components/double-calendar/double-calendar.module.d.ts +0 -2
- package/lib/components/filter-item/filter-item-viewmodel.d.ts +0 -9
- package/lib/components/filter-item/filter-item.component.d.ts +0 -126
- package/lib/components/filter-item/filter-item.module.d.ts +0 -2
- package/lib/components/filter-item/filter-viewmodel.d.ts +0 -8
- package/lib/components/form/form.component.d.ts +0 -39
- package/lib/components/form/form.module.d.ts +0 -2
- package/lib/components/grid-toolbar/grid-toolbar.component.d.ts +0 -19
- package/lib/components/grid-toolbar/grid-toolbar.module.d.ts +0 -2
- package/lib/components/grid-toolbar-button/grid-toolbar-button.component.d.ts +0 -8
- package/lib/components/grid-toolbar-button/grid-toolbar-button.module.d.ts +0 -2
- package/lib/components/hour-scheduling/components/hour-scheduling-test-object/hour-scheduling-test-object.component.d.ts +0 -5
- package/lib/components/hour-scheduling/hour-scheduling.component.d.ts +0 -48
- package/lib/components/hour-scheduling/hour-scheduling.module.d.ts +0 -2
- package/lib/components/hour-scheduling/model/enum/scheduling-object.interface.d.ts +0 -10
- package/lib/components/hour-scheduling-expandable/components/hour-scheduling-expandable-template/hour-scheduling-expandable-template.component.d.ts +0 -23
- package/lib/components/hour-scheduling-expandable/components/hour-scheduling-expandable-template/hour-scheduling-expandable-template.module.d.ts +0 -2
- package/lib/components/hour-scheduling-expandable/hour-scheduling-expandable.component.d.ts +0 -78
- package/lib/components/hour-scheduling-expandable/hour-scheduling-expandable.module.d.ts +0 -2
- package/lib/components/icon/icon-cache.service.d.ts +0 -20
- package/lib/components/icon/icon.component.d.ts +0 -17
- package/lib/components/icon/icon.module.d.ts +0 -2
- package/lib/components/icon-collapse-handle/icon-collapse-handle.component.d.ts +0 -21
- package/lib/components/icon-collapse-handle/icon-collapse-handle.module.d.ts +0 -2
- package/lib/components/image/image.component.d.ts +0 -20
- package/lib/components/image/image.module.d.ts +0 -2
- package/lib/components/input-checkbox/input-checkbox.component.d.ts +0 -24
- package/lib/components/input-checkbox/input-checkbox.module.d.ts +0 -2
- package/lib/components/input-date-picker/input-date-picker.component.d.ts +0 -30
- package/lib/components/input-date-picker/input-date-picker.module.d.ts +0 -2
- package/lib/components/input-date-range-picker/input-date-range-picker.component.d.ts +0 -27
- package/lib/components/input-date-range-picker/input-date-range-picker.module.d.ts +0 -2
- package/lib/components/input-number-picker/input-number-picker.component.d.ts +0 -74
- package/lib/components/input-number-picker/input-number-picker.module.d.ts +0 -2
- package/lib/components/input-radio-button/input-radio-button.component.d.ts +0 -19
- package/lib/components/input-radio-button/input-radio-button.module.d.ts +0 -2
- package/lib/components/input-scanner/bar-code-scanner.d.ts +0 -10
- package/lib/components/input-scanner/input-scanner.component.d.ts +0 -29
- package/lib/components/input-scanner/input-scanner.module.d.ts +0 -2
- package/lib/components/input-scanner/scanner.service.d.ts +0 -11
- package/lib/components/input-search/input-search.component.d.ts +0 -22
- package/lib/components/input-search/input-search.module.d.ts +0 -2
- package/lib/components/input-text/input-text.component.d.ts +0 -78
- package/lib/components/input-text/input-text.module.d.ts +0 -2
- package/lib/components/input-textarea/input-textarea.component.d.ts +0 -19
- package/lib/components/input-textarea/input-textarea.module.d.ts +0 -2
- package/lib/components/input-time/input-time.component.d.ts +0 -8
- package/lib/components/input-time/input-time.module.d.ts +0 -2
- package/lib/components/level-indicator/level-indicator-level.enum.d.ts +0 -5
- package/lib/components/level-indicator/level-indicator.component.d.ts +0 -10
- package/lib/components/level-indicator/level-indicator.module.d.ts +0 -2
- package/lib/components/list-of-icons/list-of-icons.component.d.ts +0 -22
- package/lib/components/list-of-icons/list-of-icons.module.d.ts +0 -2
- package/lib/components/list-of-values/list-of-values-multiselect-popup.component.d.ts +0 -25
- package/lib/components/list-of-values/list-of-values-popup.component.d.ts +0 -58
- package/lib/components/list-of-values/list-of-values.component.d.ts +0 -63
- package/lib/components/list-of-values/list-of-values.module.d.ts +0 -2
- package/lib/components/loader/loader.component.d.ts +0 -3
- package/lib/components/loader/loader.module.d.ts +0 -2
- package/lib/components/pagination/paginate.pipe.d.ts +0 -15
- package/lib/components/pagination/pagination-instance.d.ts +0 -14
- package/lib/components/pagination/pagination.component.d.ts +0 -38
- package/lib/components/pagination/pagination.module.d.ts +0 -2
- package/lib/components/pagination/pagination.service.d.ts +0 -24
- package/lib/components/pagination-bar/pagination-bar.component.d.ts +0 -33
- package/lib/components/pagination-bar/pagination-bar.module.d.ts +0 -2
- package/lib/components/popup/const/popup-window-token.d.ts +0 -3
- package/lib/components/popup/interface/popup-button.d.ts +0 -8
- package/lib/components/popup/interface/popup-close-event.d.ts +0 -5
- package/lib/components/popup/interface/popup-settings.d.ts +0 -21
- package/lib/components/popup/interface/popup.d.ts +0 -9
- package/lib/components/popup/model/popup-button-globals.d.ts +0 -9
- package/lib/components/popup/model/popup-window.d.ts +0 -21
- package/lib/components/popup/popup-buttons.component.d.ts +0 -13
- package/lib/components/popup/popup-message-display.component.d.ts +0 -12
- package/lib/components/popup/popup-window-shell.component.d.ts +0 -42
- package/lib/components/popup/popup.module.d.ts +0 -4
- package/lib/components/popup/service/popup-shower.service.d.ts +0 -17
- package/lib/components/popup/service/prompt.service.d.ts +0 -17
- package/lib/components/popup/text-input-popup.component.d.ts +0 -12
- package/lib/components/responsive-text/responsive-text.component.d.ts +0 -4
- package/lib/components/responsive-text/responsive-text.module.d.ts +0 -2
- package/lib/components/simple-grid/base-simple-grid.component.d.ts +0 -59
- package/lib/components/simple-grid/simple-grid-cell.component.d.ts +0 -30
- package/lib/components/simple-grid/simple-grid-column.directive.d.ts +0 -43
- package/lib/components/simple-grid/simple-grid.component.d.ts +0 -87
- package/lib/components/simple-grid/simple-grid.module.d.ts +0 -2
- package/lib/components/tile/tile.component.d.ts +0 -16
- package/lib/components/tile/tile.module.d.ts +0 -2
- package/lib/components/tile-select/tile-select.component.d.ts +0 -8
- package/lib/components/tile-select/tile-select.module.d.ts +0 -2
- package/lib/components/tooltip/tooltip.component.d.ts +0 -23
- package/lib/components/tooltip/tooltip.module.d.ts +0 -2
- package/lib/components/validation-error/validation-error.component.d.ts +0 -12
- package/lib/components/validation-error/validation-error.module.d.ts +0 -2
- package/lib/components/view-mode-buttons/content-view-mode.enum.d.ts +0 -8
- package/lib/components/view-mode-buttons/view-mode-buttons.component.d.ts +0 -17
- package/lib/components/view-mode-buttons/view-mode-buttons.module.d.ts +0 -2
- package/lib/core/constant/default-upper-bound-for-range-components.d.ts +0 -2
- package/lib/core/constant/java-max-int.d.ts +0 -1
- package/lib/core/constant/number-inputs-key-down-white-list.d.ts +0 -2
- package/lib/core/decorator/input-boolean.decorator.d.ts +0 -8
- package/lib/core/enum/co-direction.d.ts +0 -6
- package/lib/core/enum/co-document-type.enum.d.ts +0 -5
- package/lib/core/enum/co-orientation.d.ts +0 -6
- package/lib/core/enum/core-components-icon.enum.d.ts +0 -305
- package/lib/core/enum/file-type-internal.enum.d.ts +0 -15
- package/lib/core/enum/file-type.enum.d.ts +0 -5
- package/lib/core/enum/filterItem-mode.enum.d.ts +0 -17
- package/lib/core/enum/input-number-picker-show-mode.enum.d.ts +0 -5
- package/lib/core/enum/keyboard-code.enum.d.ts +0 -71
- package/lib/core/enum/keyboard-key.enum.d.ts +0 -70
- package/lib/core/enum/popup-button-type.enum.d.ts +0 -9
- package/lib/core/enum/popup-type.enum.d.ts +0 -9
- package/lib/core/function/any-nill.function.d.ts +0 -1
- package/lib/core/function/is-nill.function.d.ts +0 -1
- package/lib/core/function/none-nill.function.d.ts +0 -1
- package/lib/core/function/not-nill.function.d.ts +0 -1
- package/lib/core/model/bounds-constrained-number-value.d.ts +0 -46
- package/lib/core/model/check-precision-and-scale-result.d.ts +0 -4
- package/lib/core/model/check-within-stepped-bounds-result.d.ts +0 -8
- package/lib/core/model/core-components-icon-svg.d.ts +0 -4
- package/lib/core/model/element-position.d.ts +0 -7
- package/lib/core/model/event/string-prompt-result-event.d.ts +0 -6
- package/lib/core/service/form-input-user-change-listener.service.d.ts +0 -10
- package/lib/core/service/form-master.service.d.ts +0 -26
- package/lib/core/service/ng-zone-wrapper.service.d.ts +0 -6
- package/lib/core/utils/array-utils.d.ts +0 -85
- package/lib/core/utils/browser-utils.d.ts +0 -15
- package/lib/core/utils/direction-enum-utils.d.ts +0 -5
- package/lib/core/utils/event-utils.d.ts +0 -12
- package/lib/core/utils/file-utils.d.ts +0 -29
- package/lib/core/utils/number-utils.d.ts +0 -89
- package/lib/core/utils/object-utils.d.ts +0 -31
- package/lib/core/utils/string-utils.d.ts +0 -25
- package/lib/core/validator/email.validator.d.ts +0 -2
- package/lib/core/validator/equal.validator.d.ts +0 -2
- package/lib/core/validator/max-string-length.validator.d.ts +0 -2
- package/lib/core/validator/password.validator.d.ts +0 -3
- package/lib/core/validator/precision-scale.validator.d.ts +0 -2
- package/lib/core/validator/required.validator.d.ts +0 -2
- package/lib/directives/clickoutside/click-outside-master.service.d.ts +0 -15
- package/lib/directives/clickoutside/click-outside.directive.d.ts +0 -18
- package/lib/directives/clickoutside/clickoutside.module.d.ts +0 -2
- package/lib/directives/observe-visibility/observe-visibility.directive.d.ts +0 -14
- package/lib/directives/observe-visibility/observe-visibility.module.d.ts +0 -2
- package/lib/directives/overlay/overlay-parent.directive.d.ts +0 -6
- package/lib/directives/overlay/overlay.directive.d.ts +0 -25
- package/lib/directives/overlay/overlay.module.d.ts +0 -2
- package/lib/directives/ripple/ripple-ref.d.ts +0 -21
- package/lib/directives/ripple/ripple-renderer.d.ts +0 -56
- package/lib/directives/ripple/ripple.directive.d.ts +0 -56
- package/lib/directives/ripple/ripple.module.d.ts +0 -2
- package/lib/directives/ripple/scroll-dispatcher.service.d.ts +0 -51
- package/lib/directives/ripple/scrollable.directive.d.ts +0 -20
- package/lib/directives/ripple/viewport-ruler.service.d.ts +0 -29
- package/lib/directives/screen-configuration/screen-configuration.directive.d.ts +0 -32
- package/lib/directives/screen-configuration/screen-configuration.module.d.ts +0 -2
- package/lib/directives/stopclick/stop-click.directive.d.ts +0 -10
- package/lib/directives/stopclick/stop-click.module.d.ts +0 -2
- package/lib/directives/template-wrapper/template-wrapper.directive.d.ts +0 -13
- package/lib/directives/template-wrapper/template-wrapper.module.d.ts +0 -2
- package/lib/directives/tooltip/tooltip-directive.module.d.ts +0 -2
- package/lib/directives/tooltip/tooltip.directive.d.ts +0 -20
- package/lib/interfaces/dialog-response.interface.d.ts +0 -6
- package/lib/interfaces/scanner-input.interface.d.ts +0 -3
- package/lib/interfaces/screen-config-adapter-component-interface-name.d.ts +0 -3
- package/lib/interfaces/screen-config-adapter.component.interface.d.ts +0 -14
- package/lib/model/enum/app-button-type.enum.d.ts +0 -9
- package/lib/model/enum/app-popup-type.enum.d.ts +0 -6
- package/lib/model/icon-list-item.d.ts +0 -7
- package/lib/pipes/append.pipe.d.ts +0 -4
- package/lib/pipes/append.pipe.module.d.ts +0 -2
- package/lib/pipes/filter.pipe.d.ts +0 -4
- package/lib/pipes/filter.pipe.module.d.ts +0 -2
- package/lib/pipes/prepend.pipe.d.ts +0 -4
- package/lib/pipes/prepend.pipe.module.d.ts +0 -2
- package/lib/pipes/price-display-pipe.module.d.ts +0 -2
- package/lib/pipes/price-display.pipe.d.ts +0 -4
- package/lib/service/base-module-screen-config.service.d.ts +0 -47
- package/lib/service/base-module.service.d.ts +0 -22
- package/lib/service/color-sequence.service.d.ts +0 -7
- package/lib/service/excel-export.service.d.ts +0 -45
- package/lib/service/overlay.service.d.ts +0 -13
- package/lib/translation/core-components-translation.module.d.ts +0 -4
- package/lib/translation/core-components-translation.service.d.ts +0 -6
- package/lib/translation/core-dictionary.service.d.ts +0 -12
- package/lib/translation/core-localize.pipe.d.ts +0 -7
- package/public-api.d.ts +0 -138
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { PopupShowerService } from './popup-shower.service';
|
|
4
|
-
import { PopupType } from '../../../core/enum/popup-type.enum';
|
|
5
|
-
import { StringUtils } from '../../../core/utils/string-utils';
|
|
6
|
-
import { PopupMessageDisplayComponent } from '../popup-message-display.component';
|
|
7
|
-
import { PopupButtonType } from '../../../core/enum/popup-button-type.enum';
|
|
8
|
-
import { StringPromptResultEvent } from '../../../core/model/event/string-prompt-result-event';
|
|
9
|
-
import { TextInputPopupComponent } from '../text-input-popup.component';
|
|
10
|
-
import { PopupButtonGlobals } from '../model/popup-button-globals';
|
|
11
|
-
import { PopupSettings } from '../interface/popup-settings';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "./popup-shower.service";
|
|
14
|
-
// Service responsible for delivering small popup windows (string input promps, alerts, etc.) to the user.
|
|
15
|
-
export class PromptService {
|
|
16
|
-
constructor(_popupShower) {
|
|
17
|
-
this._popupShower = _popupShower;
|
|
18
|
-
}
|
|
19
|
-
// Spawns a text input popup with given title and initial text, and resolves the returned promise with the user-entered text as output.
|
|
20
|
-
promptString(title, label, initialText) {
|
|
21
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
const popupSettings = new PopupSettings();
|
|
23
|
-
popupSettings.title = title;
|
|
24
|
-
const popupResult = yield this._popupShower.showPopup(TextInputPopupComponent, popupSettings, {
|
|
25
|
-
text: initialText,
|
|
26
|
-
label: label
|
|
27
|
-
});
|
|
28
|
-
return new StringPromptResultEvent(popupResult.eventType, popupResult.output);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
// Shows given error text in an error popup to the user. Can also show an image instead of a text by supplying a data uri string.
|
|
32
|
-
showError(textOrImageDataUri, title, details) {
|
|
33
|
-
const popupSettings = new PopupSettings();
|
|
34
|
-
popupSettings.title = title || "ERROR";
|
|
35
|
-
popupSettings.type = PopupType.Error;
|
|
36
|
-
popupSettings.buttons = [PopupButtonGlobals.Ok];
|
|
37
|
-
return this._popupShower.showPopup(PopupMessageDisplayComponent, popupSettings, {
|
|
38
|
-
message: StringUtils.ToStringOrDefault(textOrImageDataUri),
|
|
39
|
-
details: details
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
// Shows given warning text in a warning popup to the user. Can also show an image instead of a text by supplying a data uri string.
|
|
43
|
-
showWarning(textOrImageDataUri, title) {
|
|
44
|
-
const popupSettings = new PopupSettings();
|
|
45
|
-
popupSettings.title = title || "WARNING";
|
|
46
|
-
popupSettings.type = PopupType.Warning;
|
|
47
|
-
popupSettings.buttons = [PopupButtonGlobals.Ok];
|
|
48
|
-
return this._popupShower.showPopup(PopupMessageDisplayComponent, popupSettings, {
|
|
49
|
-
message: StringUtils.ToStringOrDefault(textOrImageDataUri)
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
showNotification(textOrImageDataUri, title, showOk = true, autoClose = false, hideCloseIcon = false, downloadable = false) {
|
|
53
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
const popupSettings = new PopupSettings();
|
|
55
|
-
popupSettings.title = title || "NOTIFICATION";
|
|
56
|
-
popupSettings.type = PopupType.Notification;
|
|
57
|
-
popupSettings.buttons = (showOk ? [PopupButtonGlobals.Ok] : []);
|
|
58
|
-
popupSettings.downloadable = downloadable;
|
|
59
|
-
if (autoClose) {
|
|
60
|
-
popupSettings.autoClose = true;
|
|
61
|
-
}
|
|
62
|
-
if (hideCloseIcon) {
|
|
63
|
-
popupSettings.hideCloseIcon = true;
|
|
64
|
-
}
|
|
65
|
-
const popupResult = yield this._popupShower.showPopup(PopupMessageDisplayComponent, popupSettings, { message: StringUtils.ToStringOrDefault(textOrImageDataUri) });
|
|
66
|
-
return popupResult.eventType === PopupButtonType.Ok;
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
showImage(imageDataUri, title) {
|
|
70
|
-
return this.showNotification(imageDataUri, title, false, true, false, true);
|
|
71
|
-
}
|
|
72
|
-
showYesNo(textOrImageDataUri, title) {
|
|
73
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
-
const popupSettings = new PopupSettings();
|
|
75
|
-
popupSettings.title = title || "QUESTION";
|
|
76
|
-
popupSettings.type = PopupType.Question;
|
|
77
|
-
popupSettings.buttons = [PopupButtonGlobals.Yes, PopupButtonGlobals.No];
|
|
78
|
-
const popupResult = yield this._popupShower.showPopup(PopupMessageDisplayComponent, popupSettings, {
|
|
79
|
-
message: StringUtils.ToStringOrDefault(textOrImageDataUri)
|
|
80
|
-
});
|
|
81
|
-
return popupResult.eventType === PopupButtonType.Yes;
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
// Spawns a modal 'yes, no or cancel' question prompt. Returns the chosen exit button through AppPopupCloseEvent.eventType.
|
|
85
|
-
showModalYesNoCancel(textOrImageDataUri, title) {
|
|
86
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
87
|
-
const popupSettings = new PopupSettings();
|
|
88
|
-
popupSettings.title = title || "QUESTION";
|
|
89
|
-
popupSettings.type = PopupType.Question;
|
|
90
|
-
popupSettings.buttons = [PopupButtonGlobals.Yes, PopupButtonGlobals.No, PopupButtonGlobals.Cancel];
|
|
91
|
-
popupSettings.autoClose = false;
|
|
92
|
-
popupSettings.hideCloseIcon = true;
|
|
93
|
-
return this._popupShower.showPopup(PopupMessageDisplayComponent, popupSettings, {
|
|
94
|
-
message: StringUtils.ToStringOrDefault(textOrImageDataUri)
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
// Used by AS-copied code. We call it showNotification.
|
|
99
|
-
showOk(text, title) {
|
|
100
|
-
return this.showNotification(text, title);
|
|
101
|
-
}
|
|
102
|
-
showOkCancel(text, title) {
|
|
103
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
-
const popupSettings = new PopupSettings();
|
|
105
|
-
popupSettings.title = title || "QUESTION";
|
|
106
|
-
popupSettings.type = PopupType.Question;
|
|
107
|
-
popupSettings.buttons = [PopupButtonGlobals.Ok, PopupButtonGlobals.Cancel];
|
|
108
|
-
popupSettings.autoClose = false;
|
|
109
|
-
popupSettings.hideCloseIcon = true;
|
|
110
|
-
const closeEvent = yield this._popupShower.showPopup(PopupMessageDisplayComponent, popupSettings, {
|
|
111
|
-
message: StringUtils.ToStringOrDefault(text)
|
|
112
|
-
});
|
|
113
|
-
return (closeEvent.eventType === PopupButtonType.Ok);
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
showOkModal(text, title) {
|
|
117
|
-
return this.showNotification(text, title, true, false, true);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
PromptService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PromptService_Factory() { return new PromptService(i0.ɵɵinject(i1.PopupShowerService)); }, token: PromptService, providedIn: "root" });
|
|
121
|
-
PromptService.decorators = [
|
|
122
|
-
{ type: Injectable, args: [{ providedIn: "root" },] }
|
|
123
|
-
];
|
|
124
|
-
PromptService.ctorParameters = () => [
|
|
125
|
-
{ type: PopupShowerService }
|
|
126
|
-
];
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvcG9wdXAvc2VydmljZS9wcm9tcHQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUMvRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQUc1RCwwR0FBMEc7QUFFMUcsTUFBTSxPQUFPLGFBQWE7SUFFdEIsWUFBb0IsWUFBZ0M7UUFBaEMsaUJBQVksR0FBWixZQUFZLENBQW9CO0lBQ3BELENBQUM7SUFFRCx1SUFBdUk7SUFDMUgsWUFBWSxDQUFDLEtBQWEsRUFBRSxLQUFjLEVBQUUsV0FBb0I7O1lBQ3pFLE1BQU0sYUFBYSxHQUFrQixJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ3pELGFBQWEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQzVCLE1BQU0sV0FBVyxHQUE0QixNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMs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Qzs7O1lBWnZCLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUG9wdXBTaG93ZXJTZXJ2aWNlIH0gZnJvbSAnLi9wb3B1cC1zaG93ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFBvcHVwVHlwZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvZW51bS9wb3B1cC10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBTdHJpbmdVdGlscyB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdXRpbHMvc3RyaW5nLXV0aWxzJztcclxuaW1wb3J0IHsgUG9wdXBNZXNzYWdlRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uL3BvcHVwLW1lc3NhZ2UtZGlzcGxheS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb3B1cEJ1dHRvblR5cGUgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2VudW0vcG9wdXAtYnV0dG9uLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IFN0cmluZ1Byb21wdFJlc3VsdEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS9tb2RlbC9ldmVudC9zdHJpbmctcHJvbXB0LXJlc3VsdC1ldmVudCc7XHJcbmltcG9ydCB7IFRleHRJbnB1dFBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vdGV4dC1pbnB1dC1wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb3B1cEJ1dHRvbkdsb2JhbHMgfSBmcm9tICcuLi9tb2RlbC9wb3B1cC1idXR0b24tZ2xvYmFscyc7XHJcbmltcG9ydCB7IFBvcHVwU2V0dGluZ3MgfSBmcm9tICcuLi9pbnRlcmZhY2UvcG9wdXAtc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBQb3B1cENsb3NlRXZlbnQgfSBmcm9tICcuLi9pbnRlcmZhY2UvcG9wdXAtY2xvc2UtZXZlbnQnO1xyXG5cclxuLy8gU2VydmljZSByZXNwb25zaWJsZSBmb3IgZGVsaXZlcmluZyBzbWFsbCBwb3B1cCB3aW5kb3dzIChzdHJpbmcgaW5wdXQgcHJvbXBzLCBhbGVydHMsIGV0Yy4pIHRvIHRoZSB1c2VyLlxyXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogXCJyb290XCJ9KVxyXG5leHBvcnQgY2xhc3MgUHJvbXB0U2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcG9wdXBTaG93ZXI6IFBvcHVwU2hvd2VyU2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFNwYXducyBhIHRleHQgaW5wdXQgcG9wdXAgd2l0aCBnaXZlbiB0aXRsZSBhbmQgaW5pdGlhbCB0ZXh0LCBhbmQgcmVzb2x2ZXMgdGhlIHJldHVybmVkIHByb21pc2Ugd2l0aCB0aGUgdXNlci1lbnRlcmVkIHRleHQgYXMgb3V0cHV0LlxyXG4gICAgcHVibGljIGFzeW5jIHByb21wdFN0cmluZyh0aXRsZTogc3RyaW5nLCBsYWJlbD86IHN0cmluZywgaW5pdGlhbFRleHQ/OiBzdHJpbmcpOiBQcm9taXNlPFN0cmluZ1Byb21wdFJlc3VsdEV2ZW50PiB7XHJcbiAgICAgICAgY29uc3QgcG9wdXBTZXR0aW5nczogUG9wdXBTZXR0aW5ncyA9IG5ldyBQb3B1cFNldHRpbmdzKCk7XHJcbiAgICAgICAgcG9wdXBTZXR0aW5ncy50aXRsZSA9IHRpdGxlO1xyXG4gICAgICAgIGNvbnN0IHBvcHVwUmVzdWx0OiBQb3B1cENsb3NlRXZlbnQ8c3RyaW5nPiA9IGF3YWl0IHRoaXMuX3BvcHVwU2hvd2VyLnNob3dQb3B1cChUZXh0SW5wdXRQb3B1cENvbXBvbmVudCwgcG9wdXBTZXR0aW5ncywge1xyXG4gICAgICAgICAgICB0ZXh0OiBpbml0aWFsVGV4dCxcclxuICAgICAgICAgICAgbGFiZWw6IGxhYmVsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBTdHJpbmdQcm9tcHRSZXN1bHRFdmVudChwb3B1cFJlc3VsdC5ldmVudFR5cGUsIHBvcHVwUmVzdWx0Lm91dHB1dCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2hvd3MgZ2l2ZW4gZXJyb3IgdGV4dCBpbiBhbiBlcnJvciBwb3B1cCB0byB0aGUgdXNlci4gQ2FuIGFsc28gc2hvdyBhbiBpbWFnZSBpbnN0ZWFkIG9mIGEgdGV4dCBieSBzdXBwbHlpbmcgYSBkYXRhIHVyaSBzdHJpbmcuXHJcbiAgICBwdWJsaWMgc2hvd0Vycm9yKHRleHRPckltYWdlRGF0YVVyaTogc3RyaW5nLCB0aXRsZT86IHN0cmluZywgZGV0YWlscz86IHN0cmluZyk6IFByb21pc2U8UG9wdXBDbG9zZUV2ZW50PHZvaWQ+PiB7XHJcbiAgICAgICAgY29uc3QgcG9wdXBTZXR0aW5nczogUG9wdXBTZXR0aW5ncyA9IG5ldyBQb3B1cFNldHRpbmdzKCk7XHJcbiAgICAgICAgcG9wdXBTZXR0aW5ncy50aXRsZSA9IHRpdGxlIHx8IFwiRVJST1JcIjtcclxuICAgICAgICBwb3B1cFNldHRpbmdzLnR5cGUgPSBQb3B1cFR5cGUuRXJyb3I7XHJcbiAgICAgICAgcG9wdXBTZXR0aW5ncy5idXR0b25zID0gW1BvcHVwQnV0dG9uR2xvYmFscy5Pa107XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BvcHVwU2hvd2VyLnNob3dQb3B1cChQb3B1cE1lc3NhZ2VEaXNwbGF5Q29tcG9uZW50LCBwb3B1cFNldHRpbmdzLCB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2U6IFN0cmluZ1V0aWxzLlRvU3RyaW5nT3JEZWZhdWx0KHRleHRPckltYWdlRGF0YVVyaSksXHJcbiAgICAgICAgICAgIGRldGFpbHM6IGRldGFpbHNcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTaG93cyBnaXZlbiB3YXJuaW5nIHRleHQgaW4gYSB3YXJuaW5nIHBvcHVwIHRvIHRoZSB1c2VyLiBDYW4gYWxzbyBzaG93IGFuIGltYWdlIGluc3RlYWQgb2YgYSB0ZXh0IGJ5IHN1cHBseWluZyBhIGRhdGEgdXJpIHN0cmluZy5cclxuICAgIHB1YmxpYyBzaG93V2FybmluZyh0ZXh0T3JJbWFnZURhdGFVcmk6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpOiBQcm9taXNlPFBvcHVwQ2xvc2VFdmVudDx2b2lkPj4ge1xyXG4gICAgICAgIGNvbnN0IHBvcHVwU2V0dGluZ3M6IFBvcHVwU2V0dGluZ3MgPSBuZXcgUG9wdXBTZXR0aW5ncygpO1xyXG4gICAgICAgIHBvcHVwU2V0dGluZ3MudGl0bGUgPSB0aXRsZSB8fCBcIldBUk5JTkdcIjtcclxuICAgICAgICBwb3B1cFNldHRpbmdzLnR5cGUgPSBQb3B1cFR5cGUuV2FybmluZztcclxuICAgICAgICBwb3B1cFNldHRpbmdzLmJ1dHRvbnMgPSBbUG9wdXBCdXR0b25HbG9iYWxzLk9rXTtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcG9wdXBTaG93ZXIuc2hvd1BvcHVwKFBvcHVwTWVzc2FnZURpc3BsYXlDb21wb25lbnQsIHBvcHVwU2V0dGluZ3MsIHtcclxuICAgICAgICAgICAgbWVzc2FnZTogU3RyaW5nVXRpbHMuVG9TdHJpbmdPckRlZmF1bHQodGV4dE9ySW1hZ2VEYXRhVXJpKVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBzaG93Tm90aWZpY2F0aW9uKFxyXG4gICAgICAgIHRleHRPckltYWdlRGF0YVVyaTogc3RyaW5nLFxyXG4gICAgICAgIHRpdGxlPzogc3RyaW5nLFxyXG4gICAgICAgIHNob3dPazogYm9vbGVhbiA9IHRydWUsXHJcbiAgICAgICAgYXV0b0Nsb3NlOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICAgICAgaGlkZUNsb3NlSWNvbjogYm9vbGVhbiA9IGZhbHNlLFxyXG4gICAgICAgIGRvd25sb2FkYWJsZTogYm9vbGVhbiA9IGZhbHNlXHJcbiAgICApOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICBjb25zdCBwb3B1cFNldHRpbmdzOiBQb3B1cFNldHRpbmdzID0gbmV3IFBvcHVwU2V0dGluZ3MoKTtcclxuICAgICAgICBwb3B1cFNldHRpbmdzLnRpdGxlID0gdGl0bGUgfHwgXCJOT1RJRklDQVRJT05cIjtcclxuICAgICAgICBwb3B1cFNldHRpbmdzLnR5cGUgPSBQb3B1cFR5cGUuTm90aWZpY2F0aW9uO1xyXG4gICAgICAgIHBvcHVwU2V0dGluZ3MuYnV0dG9ucyA9IChzaG93T2sgID8gW1BvcHVwQnV0dG9uR2xvYmFscy5Pa10gOiBbXSk7XHJcbiAgICAgICAgcG9wdXBTZXR0aW5ncy5kb3dubG9hZGFibGUgPSBkb3dubG9hZGFibGU7XHJcbiAgICAgICAgaWYgKGF1dG9DbG9zZSkge1xyXG4gICAgICAgICAgICBwb3B1cFNldHRpbmdzLmF1dG9DbG9zZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChoaWRlQ2xvc2VJY29uKSB7XHJcbiAgICAgICAgICAgIHBvcHVwU2V0dGluZ3MuaGlkZUNsb3NlSWNvbiA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHBvcHVwUmVzdWx0OiBQb3B1cENsb3NlRXZlbnQ8dm9pZD4gPSBhd2FpdCB0aGlzLl9wb3B1cFNob3dlci5zaG93UG9wdXAoUG9wdXBNZXNzYWdlRGlzcGxheUNvbXBvbmVudCwgcG9wdXBTZXR0aW5ncyxcclxuICAgICAgICAgICAge21lc3NhZ2U6IFN0cmluZ1V0aWxzLlRvU3RyaW5nT3JEZWZhdWx0KHRleHRPckltYWdlRGF0YVVyaSl9KTtcclxuICAgICAgICByZXR1cm4gcG9wdXBSZXN1bHQuZXZlbnRUeXBlID09PSBQb3B1cEJ1dHRvblR5cGUuT2s7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNob3dJbWFnZShpbWFnZURhdGFVcmk6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNob3dOb3RpZmljYXRpb24oaW1hZ2VEYXRhVXJpLCB0aXRsZSwgZmFsc2UsIHRydWUsIGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgc2hvd1llc05vKHRleHRPckltYWdlRGF0YVVyaTogc3RyaW5nLCB0aXRsZT86IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGNvbnN0IHBvcHVwU2V0dGluZ3M6IFBvcHVwU2V0dGluZ3MgPSBuZXcgUG9wdXBTZXR0aW5ncygpO1xyXG4gICAgICAgIHBvcHVwU2V0dGluZ3MudGl0bGUgPSB0aXRsZSB8fCBcIlFVRVNUSU9OXCI7XHJcbiAgICAgICAgcG9wdXBTZXR0aW5ncy50eXBlID0gUG9wdXBUeXBlLlF1ZXN0aW9uO1xyXG4gICAgICAgIHBvcHVwU2V0dGluZ3MuYnV0dG9ucyA9IFtQb3B1cEJ1dHRvbkdsb2JhbHMuWWVzLCBQb3B1cEJ1dHRvbkdsb2JhbHMuTm9dO1xyXG4gICAgICAgIGNvbnN0IHBvcHVwUmVzdWx0OiBhbnkgPSBhd2FpdCB0aGlzLl9wb3B1cFNob3dlci5zaG93UG9wdXAoUG9wdXBNZXNzYWdlRGlzcGxheUNvbXBvbmVudCwgcG9wdXBTZXR0aW5ncywge1xyXG4gICAgICAgICAgICBtZXNzYWdlOiBTdHJpbmdVdGlscy5Ub1N0cmluZ09yRGVmYXVsdCh0ZXh0T3JJbWFnZURhdGFVcmkpXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHBvcHVwUmVzdWx0LmV2ZW50VHlwZSA9PT0gUG9wdXBCdXR0b25UeXBlLlllcztcclxuICAgIH1cclxuXHJcbiAgICAvLyBTcGF3bnMgYSBtb2RhbCAneWVzLCBubyBvciBjYW5jZWwnIHF1ZXN0aW9uIHByb21wdC4gUmV0dXJucyB0aGUgY2hvc2VuIGV4aXQgYnV0dG9uIHRocm91Z2ggQXBwUG9wdXBDbG9zZUV2ZW50LmV2ZW50VHlwZS5cclxuICAgIHB1YmxpYyBhc3luYyBzaG93TW9kYWxZZXNOb0NhbmNlbCh0ZXh0T3JJbWFnZURhdGFVcmk6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpOiBQcm9taXNlPFBvcHVwQ2xvc2VFdmVudDx2b2lkPj4ge1xyXG4gICAgICAgIGNvbnN0IHBvcHVwU2V0dGluZ3M6IFBvcHVwU2V0dGluZ3MgPSBuZXcgUG9wdXBTZXR0aW5ncygpO1xyXG4gICAgICAgIHBvcHVwU2V0dGluZ3MudGl0bGUgPSB0aXRsZSB8fCBcIlFVRVNUSU9OXCI7XHJcbiAgICAgICAgcG9wdXBTZXR0aW5ncy50eXBlID0gUG9wdXBUeXBlLlF1ZXN0aW9uO1xyXG4gICAgICAgIHBvcHVwU2V0dGluZ3MuYnV0dG9ucyA9IFtQb3B1cEJ1dHRvbkdsb2JhbHMuWWVzLCBQb3B1cEJ1dHRvbkdsb2JhbHMuTm8sIFBvcHVwQnV0dG9uR2xvYmFscy5DYW5jZWxdO1xyXG4gICAgICAgIHBvcHVwU2V0dGluZ3MuYXV0b0Nsb3NlID0gZmFsc2U7XHJcbiAgICAgICAgcG9wdXBTZXR0aW5ncy5oaWRlQ2xvc2VJY29uID0gdHJ1ZTtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcG9wdXBTaG93ZXIuc2hvd1BvcHVwKFBvcHVwTWVzc2FnZURpc3BsYXlDb21wb25lbnQsIHBvcHVwU2V0dGluZ3MsIHtcclxuICAgICAgICAgICAgbWVzc2FnZTogU3RyaW5nVXRpbHMuVG9TdHJpbmdPckRlZmF1bHQodGV4dE9ySW1hZ2VEYXRhVXJpKVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFVzZWQgYnkgQVMtY29waWVkIGNvZGUuIFdlIGNhbGwgaXQgc2hvd05vdGlmaWNhdGlvbi5cclxuICAgIHB1YmxpYyBzaG93T2sodGV4dDogc3RyaW5nLCB0aXRsZT86IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNob3dOb3RpZmljYXRpb24odGV4dCwgdGl0bGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBzaG93T2tDYW5jZWwodGV4dDogc3RyaW5nLCB0aXRsZT86IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGNvbnN0IHBvcHVwU2V0dGluZ3M6IFBvcHVwU2V0dGluZ3MgPSBuZXcgUG9wdXBTZXR0aW5ncygpO1xyXG4gICAgICAgIHBvcHVwU2V0dGluZ3MudGl0bGUgPSB0aXRsZSB8fCBcIlFVRVNUSU9OXCI7XHJcbiAgICAgICAgcG9wdXBTZXR0aW5ncy50eXBlID0gUG9wdXBUeXBlLlF1ZXN0aW9uO1xyXG4gICAgICAgIHBvcHVwU2V0dGluZ3MuYnV0dG9ucyA9IFtQb3B1cEJ1dHRvbkdsb2JhbHMuT2ssIFBvcHVwQnV0dG9uR2xvYmFscy5DYW5jZWxdO1xyXG4gICAgICAgIHBvcHVwU2V0dGluZ3MuYXV0b0Nsb3NlID0gZmFsc2U7XHJcbiAgICAgICAgcG9wdXBTZXR0aW5ncy5oaWRlQ2xvc2VJY29uID0gdHJ1ZTtcclxuICAgICAgICBjb25zdCBjbG9zZUV2ZW50OiBQb3B1cENsb3NlRXZlbnQgPSAgYXdhaXQgdGhpcy5fcG9wdXBTaG93ZXIuc2hvd1BvcHVwKFBvcHVwTWVzc2FnZURpc3BsYXlDb21wb25lbnQsIHBvcHVwU2V0dGluZ3MsIHtcclxuICAgICAgICAgICAgbWVzc2FnZTogU3RyaW5nVXRpbHMuVG9TdHJpbmdPckRlZmF1bHQodGV4dClcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gKGNsb3NlRXZlbnQuZXZlbnRUeXBlID09PSBQb3B1cEJ1dHRvblR5cGUuT2spO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzaG93T2tNb2RhbCh0ZXh0OiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvd05vdGlmaWNhdGlvbih0ZXh0LCB0aXRsZSwgdHJ1ZSwgZmFsc2UsIHRydWUpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { ChangeDetectorRef, Component, Input } from '@angular/core';
|
|
3
|
-
// A popup component that lets the user type and submit a text string.
|
|
4
|
-
export class TextInputPopupComponent {
|
|
5
|
-
constructor(_changeDetector) {
|
|
6
|
-
this._changeDetector = _changeDetector;
|
|
7
|
-
}
|
|
8
|
-
ngOnDestroy() {
|
|
9
|
-
this._changeDetector = undefined;
|
|
10
|
-
}
|
|
11
|
-
ngAfterViewInit() {
|
|
12
|
-
this._changeDetector.detectChanges(); // fixes some changed-after-checked bug (popup service could have manipulated our text and label @Input's ..)
|
|
13
|
-
}
|
|
14
|
-
// @implements AppPopup
|
|
15
|
-
onClose(eventType) {
|
|
16
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
return this.text;
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
TextInputPopupComponent.decorators = [
|
|
22
|
-
{ type: Component, args: [{
|
|
23
|
-
selector: "co-text-input-popup",
|
|
24
|
-
template: `
|
|
25
|
-
<co-input-text [(model)]="text" [label]="label" [noValidation]="true" [initFocus]="true"></co-input-text>
|
|
26
|
-
`
|
|
27
|
-
},] }
|
|
28
|
-
];
|
|
29
|
-
TextInputPopupComponent.ctorParameters = () => [
|
|
30
|
-
{ type: ChangeDetectorRef }
|
|
31
|
-
];
|
|
32
|
-
TextInputPopupComponent.propDecorators = {
|
|
33
|
-
text: [{ type: Input }],
|
|
34
|
-
label: [{ type: Input }]
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvcG9wdXAvdGV4dC1pbnB1dC1wb3B1cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBZ0IsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBWSxNQUFNLGVBQWUsQ0FBQztBQVU1RixzRUFBc0U7QUFDdEUsTUFBTSxPQUFPLHVCQUF1QjtJQVNoQyxZQUFvQixlQUFrQztRQUFsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7SUFDdEQsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyw2R0FBNkc7SUFDdkosQ0FBQztJQUVELHVCQUF1QjtJQUNqQixPQUFPLENBQUMsU0FBMEI7O1lBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztRQUNyQixDQUFDO0tBQUE7OztZQTlCSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsUUFBUSxFQUFFOztLQUVUO2FBQ0o7OztZQVRzQixpQkFBaUI7OzttQkFhbkMsS0FBSztvQkFJTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUG9wdXBCdXR0b25UeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9lbnVtL3BvcHVwLWJ1dHRvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBQb3B1cCB9IGZyb20gJy4vaW50ZXJmYWNlL3BvcHVwJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiY28tdGV4dC1pbnB1dC1wb3B1cFwiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJ0ZXh0XCIgW2xhYmVsXT1cImxhYmVsXCIgW25vVmFsaWRhdGlvbl09XCJ0cnVlXCIgW2luaXRGb2N1c109XCJ0cnVlXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgYFxyXG59KVxyXG4vLyBBIHBvcHVwIGNvbXBvbmVudCB0aGF0IGxldHMgdGhlIHVzZXIgdHlwZSBhbmQgc3VibWl0IGEgdGV4dCBzdHJpbmcuXHJcbmV4cG9ydCBjbGFzcyBUZXh0SW5wdXRQb3B1cENvbXBvbmVudCBpbXBsZW1lbnRzIFBvcHVwPHN0cmluZz4sIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgICAvLyBUaGUgdXNlci1jaGFuZ2VhYmxlIHRleHQgY29udGVudCBvZiB0aGUgaW5wdXQgdGV4dC5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgdGV4dDogc3RyaW5nO1xyXG5cclxuICAgIC8vIFRoZSBsYWJlbCB0ZXh0IGZvciB0aGUgaW5wdXQgdGV4dC4gTG9jYWxpemVkLlxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBsYWJlbDogc3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7IC8vIGZpeGVzIHNvbWUgY2hhbmdlZC1hZnRlci1jaGVja2VkIGJ1ZyAocG9wdXAgc2VydmljZSBjb3VsZCBoYXZlIG1hbmlwdWxhdGVkIG91ciB0ZXh0IGFuZCBsYWJlbCBASW5wdXQncyAuLilcclxuICAgIH1cclxuXHJcbiAgICAvLyBAaW1wbGVtZW50cyBBcHBQb3B1cFxyXG4gICAgYXN5bmMgb25DbG9zZShldmVudFR5cGU6IFBvcHVwQnV0dG9uVHlwZSk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dDtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
export class ResponsiveTextComponent {
|
|
3
|
-
showClass() {
|
|
4
|
-
return true;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
ResponsiveTextComponent.decorators = [
|
|
8
|
-
{ type: Component, args: [{
|
|
9
|
-
selector: 'co-responsive-text',
|
|
10
|
-
template: `
|
|
11
|
-
<svg viewBox="0 0 100 100">
|
|
12
|
-
<foreignObject height="100%" width="100%">
|
|
13
|
-
<div class="text" [textContent]="text"></div>
|
|
14
|
-
</foreignObject>
|
|
15
|
-
</svg>
|
|
16
|
-
`,
|
|
17
|
-
encapsulation: ViewEncapsulation.None
|
|
18
|
-
},] }
|
|
19
|
-
];
|
|
20
|
-
ResponsiveTextComponent.propDecorators = {
|
|
21
|
-
text: [{ type: Input }],
|
|
22
|
-
showClass: [{ type: HostBinding, args: ['class.co-responsive-text',] }]
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2l2ZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9yZXNwb25zaXZlLXRleHQvcmVzcG9uc2l2ZS10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFhL0UsTUFBTSxPQUFPLHVCQUF1QjtJQU16QixTQUFTO1FBQ1osT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7O1lBbkJKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QixRQUFRLEVBQUU7Ozs7OztLQU1UO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3hDOzs7bUJBR0ksS0FBSzt3QkFHTCxXQUFXLFNBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NvLXJlc3BvbnNpdmUtdGV4dCcsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAxMDAgMTAwXCI+XHJcbiAgICAgICAgICAgIDxmb3JlaWduT2JqZWN0IGhlaWdodD1cIjEwMCVcIiB3aWR0aD1cIjEwMCVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgW3RleHRDb250ZW50XT1cInRleHRcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9mb3JlaWduT2JqZWN0PiAgICAgICAgICAgIFxyXG4gICAgICAgIDwvc3ZnPlxyXG4gICAgYCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlc3BvbnNpdmVUZXh0Q29tcG9uZW50IHtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHRleHQ6IHN0cmluZztcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXJlc3BvbnNpdmUtdGV4dCcpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxufSBcclxuIl19
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { ResponsiveTextComponent } from './responsive-text.component';
|
|
4
|
-
export class ResponsiveTextModule {
|
|
5
|
-
}
|
|
6
|
-
ResponsiveTextModule.decorators = [
|
|
7
|
-
{ type: NgModule, args: [{
|
|
8
|
-
imports: [
|
|
9
|
-
CommonModule
|
|
10
|
-
],
|
|
11
|
-
declarations: [
|
|
12
|
-
ResponsiveTextComponent
|
|
13
|
-
],
|
|
14
|
-
exports: [
|
|
15
|
-
ResponsiveTextComponent
|
|
16
|
-
]
|
|
17
|
-
},] }
|
|
18
|
-
];
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2l2ZS10ZXh0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9yZXNwb25zaXZlLXRleHQvcmVzcG9uc2l2ZS10ZXh0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQWFwRSxNQUFNLE9BQU8sb0JBQW9COzs7WUFYaEMsUUFBUSxTQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxZQUFZO2lCQUNmO2dCQUNELFlBQVksRUFBRTtvQkFDVix1QkFBdUI7aUJBQzFCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCx1QkFBdUI7aUJBQzFCO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7UmVzcG9uc2l2ZVRleHRDb21wb25lbnR9IGZyb20gJy4vcmVzcG9uc2l2ZS10ZXh0LmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFJlc3BvbnNpdmVUZXh0Q29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFJlc3BvbnNpdmVUZXh0Q29tcG9uZW50XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXNwb25zaXZlVGV4dE1vZHVsZSB7XHJcbn1cclxuIl19
|
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { ChangeDetectorRef, ContentChildren, Directive, EventEmitter, HostListener, Input, Output } from "@angular/core";
|
|
3
|
-
import { SimpleGridColumnDirective } from "./simple-grid-column.directive";
|
|
4
|
-
import { moveItemInArray } from "@angular/cdk/drag-drop";
|
|
5
|
-
import { Subject } from "rxjs";
|
|
6
|
-
export class BaseSimpleGridComponent {
|
|
7
|
-
constructor(changeDetection) {
|
|
8
|
-
this.changeDetection = changeDetection;
|
|
9
|
-
this.MIN_COLUMN_WIDTH = 50;
|
|
10
|
-
this.dataChanged = new Subject();
|
|
11
|
-
this.dragDropEnabled = false;
|
|
12
|
-
this.resizable = false;
|
|
13
|
-
this.inlineEdit = false;
|
|
14
|
-
this.showEdit = false;
|
|
15
|
-
this.showToolbar = false;
|
|
16
|
-
this.autoAddRow = false;
|
|
17
|
-
/**
|
|
18
|
-
* Should component emit drag and drop actions instead of handle
|
|
19
|
-
* (update collection) by itself
|
|
20
|
-
*/
|
|
21
|
-
this.emitDragDrop = false;
|
|
22
|
-
this.onDrop = new EventEmitter();
|
|
23
|
-
this.selectRow = new EventEmitter();
|
|
24
|
-
this.deselectRow = new EventEmitter();
|
|
25
|
-
this.dblClickRow = new EventEmitter();
|
|
26
|
-
this.saveRow = new EventEmitter();
|
|
27
|
-
this.deleteRow = new EventEmitter();
|
|
28
|
-
this.addRow = new EventEmitter();
|
|
29
|
-
this.rowVisible = new EventEmitter();
|
|
30
|
-
this.columns = [];
|
|
31
|
-
this.headerColumns = [];
|
|
32
|
-
this.headerColumnsCopy = [];
|
|
33
|
-
this._data = [];
|
|
34
|
-
this._exportData = [];
|
|
35
|
-
this.disabledRows = [];
|
|
36
|
-
this._prepared = false;
|
|
37
|
-
}
|
|
38
|
-
set content(columnComponents) {
|
|
39
|
-
this._setColumns(columnComponents.toArray());
|
|
40
|
-
this._prepareData();
|
|
41
|
-
}
|
|
42
|
-
set data(value) {
|
|
43
|
-
this._data = value;
|
|
44
|
-
this._prepareData();
|
|
45
|
-
this.dataChanged.next();
|
|
46
|
-
}
|
|
47
|
-
get data() {
|
|
48
|
-
return this._data;
|
|
49
|
-
}
|
|
50
|
-
set exportData(value) {
|
|
51
|
-
this._exportData = value;
|
|
52
|
-
}
|
|
53
|
-
get exportData() {
|
|
54
|
-
return this._exportData;
|
|
55
|
-
}
|
|
56
|
-
set extraColumns(value) {
|
|
57
|
-
this._setColumns(value);
|
|
58
|
-
}
|
|
59
|
-
handleMouseMove(event) {
|
|
60
|
-
if (this.resizable && event.buttons === 1 && this._columnForResize) {
|
|
61
|
-
// this._columnForResize.width = this._columnForResize.originalWidth - (this._startMousePositionX - event.clientX);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
handleMouseUp(event) {
|
|
65
|
-
this._startMousePositionX = undefined;
|
|
66
|
-
this._columnForResize = undefined;
|
|
67
|
-
}
|
|
68
|
-
handleSizerMouseDown(event, column) {
|
|
69
|
-
this._setWidthOfAllColumns();
|
|
70
|
-
this._startMousePositionX = event.clientX;
|
|
71
|
-
this._columnForResize = column;
|
|
72
|
-
this._columnForResize.originalWidth = this._columnForResize.width;
|
|
73
|
-
}
|
|
74
|
-
handleCanDragDrop(drag, drop) {
|
|
75
|
-
return true;
|
|
76
|
-
}
|
|
77
|
-
handleDrop(event) {
|
|
78
|
-
try {
|
|
79
|
-
const from = event.previousIndex;
|
|
80
|
-
const to = event.currentIndex;
|
|
81
|
-
if (from === to) {
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
if (this.emitDragDrop) {
|
|
85
|
-
this.onDrop.next({ from: from, to: to });
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
moveItemInArray(this.data, from, to);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
catch (e) {
|
|
92
|
-
console.error(e);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
isSingleColumnRow(row) {
|
|
96
|
-
return row.hasOwnProperty('singleColumnIndex');
|
|
97
|
-
}
|
|
98
|
-
singleColumnIndex(row) {
|
|
99
|
-
return row.singleColumnIndex;
|
|
100
|
-
}
|
|
101
|
-
prepareDataRow(row, index) {
|
|
102
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
_setColumns(columns) {
|
|
106
|
-
this.columns.push(...columns);
|
|
107
|
-
this.columns.sort((a, b) => a.order < b.order ? -1 : 1);
|
|
108
|
-
}
|
|
109
|
-
_prepareData() {
|
|
110
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
-
if (this._prepared) {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
this.disabledRows.length = 0;
|
|
115
|
-
if (this.columns && this.columns.length > 0) {
|
|
116
|
-
this.headerColumns = this.columns.filter(c => !c.singleColumn);
|
|
117
|
-
this.headerColumnsCopy = this.headerColumns;
|
|
118
|
-
let singleColumnIndex = -1;
|
|
119
|
-
for (let i = 0; i < this.columns.length; i++) {
|
|
120
|
-
if (this.columns[i].singleColumn) {
|
|
121
|
-
singleColumnIndex = i;
|
|
122
|
-
break;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
// first check if there's single column data
|
|
126
|
-
if (this.data && this.data.length > 0) {
|
|
127
|
-
if (singleColumnIndex > -1) {
|
|
128
|
-
const field = this.columns[singleColumnIndex].field;
|
|
129
|
-
for (let i = 0; i < this.data.length; i++) { // then mark row as single column row
|
|
130
|
-
if (this.data[i][field] !== undefined && this.data[i][field] !== null && this.data[i][field] !== "") {
|
|
131
|
-
// bit nasty to add prop, but cool for now
|
|
132
|
-
this.data[i].singleColumnIndex = singleColumnIndex;
|
|
133
|
-
}
|
|
134
|
-
yield this.prepareDataRow(this.data[i], i);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
for (let j = 0; j < this.data.length; j++) {
|
|
139
|
-
yield this.prepareDataRow(this.data[j], j);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
this._prepared = true;
|
|
144
|
-
}
|
|
145
|
-
this._resizeColumnsToFit();
|
|
146
|
-
this.changeDetection.detectChanges();
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
_resizeColumnsToFit() {
|
|
150
|
-
const calculateColumns = this.columns.filter(c => !c.autoFit && !c.width);
|
|
151
|
-
for (let i = 0; i < calculateColumns.length; i++) {
|
|
152
|
-
calculateColumns[i].width = `${100 / calculateColumns.length}%`;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
_setWidthOfAllColumns() {
|
|
156
|
-
this.columns.forEach((column) => {
|
|
157
|
-
if ((column.width === undefined || column.width === null) && column.elementRef && column.elementRef.nativeElement) {
|
|
158
|
-
const rect = column.elementRef.nativeElement.getBoundingClientRect();
|
|
159
|
-
column.width = rect.width;
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
BaseSimpleGridComponent.decorators = [
|
|
165
|
-
{ type: Directive }
|
|
166
|
-
];
|
|
167
|
-
BaseSimpleGridComponent.ctorParameters = () => [
|
|
168
|
-
{ type: ChangeDetectorRef }
|
|
169
|
-
];
|
|
170
|
-
BaseSimpleGridComponent.propDecorators = {
|
|
171
|
-
content: [{ type: ContentChildren, args: [SimpleGridColumnDirective,] }],
|
|
172
|
-
data: [{ type: Input }],
|
|
173
|
-
exportData: [{ type: Input }],
|
|
174
|
-
dragDropEnabled: [{ type: Input }],
|
|
175
|
-
resizable: [{ type: Input }],
|
|
176
|
-
inlineEdit: [{ type: Input }],
|
|
177
|
-
showEdit: [{ type: Input }],
|
|
178
|
-
showToolbar: [{ type: Input }],
|
|
179
|
-
autoAddRow: [{ type: Input }],
|
|
180
|
-
emitDragDrop: [{ type: Input }],
|
|
181
|
-
extraColumns: [{ type: Input }],
|
|
182
|
-
onDrop: [{ type: Output }],
|
|
183
|
-
selectRow: [{ type: Output }],
|
|
184
|
-
deselectRow: [{ type: Output }],
|
|
185
|
-
dblClickRow: [{ type: Output }],
|
|
186
|
-
saveRow: [{ type: Output }],
|
|
187
|
-
deleteRow: [{ type: Output }],
|
|
188
|
-
addRow: [{ type: Output }],
|
|
189
|
-
rowVisible: [{ type: Output }],
|
|
190
|
-
handleMouseMove: [{ type: HostListener, args: ['document:mousemove', ['$event'],] }],
|
|
191
|
-
handleMouseUp: [{ type: HostListener, args: ['document:mouseup', ['$event'],] }]
|
|
192
|
-
};
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zaW1wbGUtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2ltcGxlLWdyaWQvYmFzZS1zaW1wbGUtZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsZUFBZSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQ3RFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFBb0MsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDMUYsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUk3QixNQUFNLE9BQWdCLHVCQUF1QjtJQTRHM0MsWUFDWSxlQUFrQztRQUFsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUE1RzlCLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUM5QixnQkFBVyxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBNEIxRCxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUdqQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRzNCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFHNUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUc3QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBRW5DOzs7V0FHRztRQUVJLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBUTlCLFdBQU0sR0FBNkMsSUFBSSxZQUFZLEVBQThCLENBQUM7UUFHbEcsY0FBUyxHQUFxQixJQUFJLFlBQVksRUFBTSxDQUFDO1FBR3JELGdCQUFXLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHM0QsZ0JB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LENBQUM7Z0JBQ2pGLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUMzQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBck5GLFNBQVM7OztZQVJSLGlCQUFpQjs7O3NCQWFoQixlQUFlLFNBQUMseUJBQXlCO21CQUt6QyxLQUFLO3lCQVdMLEtBQUs7OEJBU0wsS0FBSzt3QkFHTCxLQUFLO3lCQUdMLEtBQUs7dUJBR0wsS0FBSzswQkFHTCxLQUFLO3lCQUdMLEtBQUs7MkJBT0wsS0FBSzsyQkFHTCxLQUFLO3FCQUtMLE1BQU07d0JBR04sTUFBTTswQkFHTixNQUFNOzBCQUdOLE1BQU07c0JBR04sTUFBTTt3QkFHTixNQUFNO3FCQUdOLE1BQU07eUJBR04sTUFBTTs4QkFHTixZQUFZLFNBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUM7NEJBTzdDLFlBQVksU0FBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7U2ltcGxlR3JpZENvbHVtbkRpcmVjdGl2ZX0gZnJvbSBcIi4vc2ltcGxlLWdyaWQtY29sdW1uLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge0Nka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5fSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xyXG5pbXBvcnQge1N1YmplY3R9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7Rm9ybU1hc3RlclNlcnZpY2V9IGZyb20gXCIuLi8uLi9jb3JlL3NlcnZpY2UvZm9ybS1tYXN0ZXIuc2VydmljZVwiO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlU2ltcGxlR3JpZENvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IE1JTl9DT0xVTU5fV0lEVEg6IG51bWJlciA9IDUwO1xyXG4gIHB1YmxpYyByZWFkb25seSBkYXRhQ2hhbmdlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIEBDb250ZW50Q2hpbGRyZW4oU2ltcGxlR3JpZENvbHVtbkRpcmVjdGl2ZSkgc2V0IGNvbnRlbnQoY29sdW1uQ29tcG9uZW50czogUXVlcnlMaXN0PFNpbXBsZUdyaWRDb2x1bW5EaXJlY3RpdmU+KSB7XHJcbiAgICB0aGlzLl9zZXRDb2x1bW5zKGNvbHVtbkNvbXBvbmVudHMudG9BcnJheSgpKTtcclxuICAgIHRoaXMuX3ByZXBhcmVEYXRhKCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgZGF0YSh2YWx1ZTogT2JqZWN0W10pIHtcclxuICAgIHRoaXMuX2RhdGEgPSB2YWx1ZTtcclxuICAgIHRoaXMuX3ByZXBhcmVEYXRhKCk7XHJcbiAgICB0aGlzLmRhdGFDaGFuZ2VkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZGF0YSgpOiBPYmplY3RbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBleHBvcnREYXRhKHZhbHVlOiBPYmplY3RbXSkge1xyXG4gICAgdGhpcy5fZXhwb3J0RGF0YSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBleHBvcnREYXRhKCk6IE9iamVjdFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9leHBvcnREYXRhO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZHJhZ0Ryb3BFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlc2l6YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpbmxpbmVFZGl0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dFZGl0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dUb29sYmFyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGF1dG9BZGRSb3c6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2hvdWxkIGNvbXBvbmVudCBlbWl0IGRyYWcgYW5kIGRyb3AgYWN0aW9ucyBpbnN0ZWFkIG9mIGhhbmRsZVxyXG4gICAqICh1cGRhdGUgY29sbGVjdGlvbikgYnkgaXRzZWxmXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZW1pdERyYWdEcm9wOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBleHRyYUNvbHVtbnModmFsdWU6IFNpbXBsZUdyaWRDb2x1bW5EaXJlY3RpdmVbXSkge1xyXG4gICAgdGhpcy5fc2V0Q29sdW1ucyh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25Ecm9wOiBFdmVudEVtaXR0ZXI8e2Zyb206IG51bWJlciwgdG86IG51bWJlcn0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7ZnJvbTogbnVtYmVyOyB0bzogbnVtYmVyfT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNlbGVjdFJvdzogRXZlbnRFbWl0dGVyPHt9PiA9IG5ldyBFdmVudEVtaXR0ZXI8e30+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBkZXNlbGVjdFJvdzogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZGJsQ2xpY2tSb3c6IEV2ZW50RW1pdHRlcjx7fT4gPSBuZXcgRXZlbnRFbWl0dGVyPHt9PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc2F2ZVJvdzogRXZlbnRFbWl0dGVyPHt9PiA9IG5ldyBFdmVudEVtaXR0ZXI8e30+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBkZWxldGVSb3c6IEV2ZW50RW1pdHRlcjx7fT4gPSBuZXcgRXZlbnRFbWl0dGVyPHt9PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYWRkUm93OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByb3dWaXNpYmxlOiBFdmVudEVtaXR0ZXI8e30+ID0gbmV3IEV2ZW50RW1pdHRlcjx7fT4oKTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2Vtb3ZlJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgaGFuZGxlTW91c2VNb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yZXNpemFibGUgJiYgZXZlbnQuYnV0dG9ucyA9PT0gMSAmJiB0aGlzLl9jb2x1bW5Gb3JSZXNpemUpIHtcclxuICAgICAgLy8gdGhpcy5fY29sdW1uRm9yUmVzaXplLndpZHRoID0gdGhpcy5fY29sdW1uRm9yUmVzaXplLm9yaWdpbmFsV2lkdGggLSAodGhpcy5fc3RhcnRNb3VzZVBvc2l0aW9uWCAtIGV2ZW50LmNsaWVudFgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIGhhbmRsZU1vdXNlVXAoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N0YXJ0TW91c2VQb3NpdGlvblggPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLl9jb2x1bW5Gb3JSZXNpemUgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29sdW1uczogU2ltcGxlR3JpZENvbHVtbkRpcmVjdGl2ZVtdID0gW107XHJcbiAgcHVibGljIGhlYWRlckNvbHVtbnM6IFNpbXBsZUdyaWRDb2x1bW5EaXJlY3RpdmVbXSA9IFtdO1xyXG4gIHB1YmxpYyBoZWFkZXJDb2x1bW5zQ29weTogU2ltcGxlR3JpZENvbHVtbkRpcmVjdGl2ZVtdID0gW107XHJcblxyXG4gIHByb3RlY3RlZCBfZGF0YTogT2JqZWN0W10gPSBbXTtcclxuICBwcm90ZWN0ZWQgX2V4cG9ydERhdGE6IE9iamVjdFtdID0gW107XHJcbiAgcHJvdGVjdGVkIGRpc2FibGVkUm93czogbnVtYmVyW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfY29sdW1uRm9yUmVzaXplOiBTaW1wbGVHcmlkQ29sdW1uRGlyZWN0aXZlO1xyXG4gIHByaXZhdGUgX3ByZXBhcmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfc3RhcnRNb3VzZVBvc2l0aW9uWDogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2l6ZXJNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQsIGNvbHVtbjogU2ltcGxlR3JpZENvbHVtbkRpcmVjdGl2ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2V0V2lkdGhPZkFsbENvbHVtbnMoKTtcclxuICAgIHRoaXMuX3N0YXJ0TW91c2VQb3NpdGlvblggPSBldmVudC5jbGllbnRYO1xyXG4gICAgdGhpcy5fY29sdW1uRm9yUmVzaXplID0gY29sdW1uO1xyXG4gICAgdGhpcy5fY29sdW1uRm9yUmVzaXplLm9yaWdpbmFsV2lkdGggPSB0aGlzLl9jb2x1bW5Gb3JSZXNpemUud2lkdGg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2FuRHJhZ0Ryb3AoZHJhZzogQ2RrRHJhZywgZHJvcDogQ2RrRHJvcExpc3QpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURyb3AoZXZlbnQ6IENka0RyYWdEcm9wPE9iamVjdFtdPik6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgZnJvbTogbnVtYmVyID0gZXZlbnQucHJldmlvdXNJbmRleDtcclxuICAgICAgY29uc3QgdG86IG51bWJlciA9IGV2ZW50LmN1cnJlbnRJbmRleDtcclxuICAgICAgaWYgKGZyb20gPT09IHRvKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmVtaXREcmFnRHJvcCkge1xyXG4gICAgICAgIHRoaXMub25Ecm9wLm5leHQoe2Zyb206IGZyb20sIHRvOiB0b30pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmRhdGEsIGZyb20sIHRvKTtcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzU2luZ2xlQ29sdW1uUm93KHJvdzogT2JqZWN0KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gcm93Lmhhc093blByb3BlcnR5KCdzaW5nbGVDb2x1bW5JbmRleCcpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNpbmdsZUNvbHVtbkluZGV4KHJvdzogT2JqZWN0KTogbnVtYmVyIHtcclxuICAgIHJldHVybiAocm93IGFzIGFueSkuc2luZ2xlQ29sdW1uSW5kZXg7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgcHJlcGFyZURhdGFSb3cocm93OiBhbnksIGluZGV4OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRDb2x1bW5zKGNvbHVtbnM6IFNpbXBsZUdyaWRDb2x1bW5EaXJlY3RpdmVbXSk6IHZvaWQge1xyXG4gICAgdGhpcy5jb2x1bW5zLnB1c2goLi4uY29sdW1ucyk7XHJcbiAgICB0aGlzLmNvbHVtbnMuc29ydCgoYSwgYikgPT4gYS5vcmRlciA8IGIub3JkZXIgPyAtMSA6IDEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfcHJlcGFyZURhdGEoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5fcHJlcGFyZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kaXNhYmxlZFJvd3MubGVuZ3RoID0gMDtcclxuXHJcbiAgICBpZiAodGhpcy5jb2x1bW5zICYmIHRoaXMuY29sdW1ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVyQ29sdW1ucyA9IHRoaXMuY29sdW1ucy5maWx0ZXIoYyA9PiAhYy5zaW5nbGVDb2x1bW4pO1xyXG4gICAgICB0aGlzLmhlYWRlckNvbHVtbnNDb3B5ID0gdGhpcy5oZWFkZXJDb2x1bW5zO1xyXG4gICAgICBsZXQgc2luZ2xlQ29sdW1uSW5kZXg6IG51bWJlciA9IC0xO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY29sdW1ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbHVtbnNbaV0uc2luZ2xlQ29sdW1uKSB7XHJcbiAgICAgICAgICBzaW5nbGVDb2x1bW5JbmRleCA9IGk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gZmlyc3QgY2hlY2sgaWYgdGhlcmUncyBzaW5nbGUgY29sdW1uIGRhdGFcclxuICAgICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGlmIChzaW5nbGVDb2x1bW5JbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICBjb25zdCBmaWVsZDogc3RyaW5nID0gdGhpcy5jb2x1bW5zW3NpbmdsZUNvbHVtbkluZGV4XS5maWVsZDtcclxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5kYXRhLmxlbmd0aDsgaSsrKSB7IC8vIHRoZW4gbWFyayByb3cgYXMgc2luZ2xlIGNvbHVtbiByb3dcclxuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YVtpXVtmaWVsZF0gIT09IHVuZGVmaW5lZCAmJiB0aGlzLmRhdGFbaV1bZmllbGRdICE9PSBudWxsICYmIHRoaXMuZGF0YVtpXVtmaWVsZF0gIT09IFwiXCIpIHtcclxuICAgICAgICAgICAgICAvLyBiaXQgbmFzdHkgdG8gYWRkIHByb3AsIGJ1dCBjb29sIGZvciBub3dcclxuICAgICAgICAgICAgICAodGhpcy5kYXRhW2ldIGFzIGFueSkuc2luZ2xlQ29sdW1uSW5kZXggPSBzaW5nbGVDb2x1bW5JbmRleDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnByZXBhcmVEYXRhUm93KHRoaXMuZGF0YVtpXSwgaSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdGhpcy5kYXRhLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucHJlcGFyZURhdGFSb3codGhpcy5kYXRhW2pdLCBqKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuX3ByZXBhcmVkID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuX3Jlc2l6ZUNvbHVtbnNUb0ZpdCgpO1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rpb24uZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVzaXplQ29sdW1uc1RvRml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgY2FsY3VsYXRlQ29sdW1uczogU2ltcGxlR3JpZENvbHVtbkRpcmVjdGl2ZVtdID0gdGhpcy5jb2x1bW5zLmZpbHRlcihjID0+ICFjLmF1dG9GaXQgJiYgIWMud2lkdGgpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYWxjdWxhdGVDb2x1bW5zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNhbGN1bGF0ZUNvbHVtbnNbaV0ud2lkdGggPSBgJHsxMDAgLyBjYWxjdWxhdGVDb2x1bW5zLmxlbmd0aH0lYDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldFdpZHRoT2ZBbGxDb2x1bW5zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb2x1bW5zLmZvckVhY2goKGNvbHVtbjogU2ltcGxlR3JpZENvbHVtbkRpcmVjdGl2ZSkgPT4ge1xyXG4gICAgICBpZiAoKGNvbHVtbi53aWR0aCA9PT0gdW5kZWZpbmVkIHx8IGNvbHVtbi53aWR0aCA9PT0gbnVsbCkgJiYgY29sdW1uLmVsZW1lbnRSZWYgJiYgY29sdW1uLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICAgIGNvbnN0IHJlY3Q6IENsaWVudFJlY3QgPSBjb2x1bW4uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgIGNvbHVtbi53aWR0aCA9IHJlY3Qud2lkdGg7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|