@zeedhi/common 3.0.5 → 3.0.7
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/coverage/clover.xml +1404 -1469
- package/coverage/coverage-final.json +146 -143
- package/coverage/lcov-report/index.html +44 -29
- package/coverage/lcov-report/src/components/index.html +1 -1
- package/coverage/lcov-report/src/components/index.ts.html +152 -152
- package/coverage/lcov-report/src/components/tek-grid/columns-searcher.ts.html +151 -0
- package/coverage/lcov-report/src/components/tek-grid/dynamic-filter-datasource-factory.ts.html +145 -0
- package/coverage/lcov-report/src/components/tek-grid/filter-helper.ts.html +145 -0
- package/coverage/lcov-report/src/components/tek-grid/grid-filter-button.ts.html +1351 -0
- package/coverage/lcov-report/src/components/tek-grid/grouped-data-manager.ts.html +1429 -0
- package/coverage/lcov-report/src/components/tek-grid/grouped-data-selector.ts.html +205 -0
- package/coverage/lcov-report/src/components/tek-grid/grouped-view-navigator.ts.html +340 -0
- package/coverage/lcov-report/src/components/tek-grid/index.html +326 -0
- package/coverage/lcov-report/src/components/tek-grid/index.ts.html +139 -0
- package/coverage/lcov-report/src/components/tek-grid/interfaces.ts.html +1072 -0
- package/coverage/lcov-report/src/components/tek-grid/keymap-grouped.ts.html +148 -0
- package/coverage/lcov-report/src/components/tek-grid/layout-options.ts.html +829 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-datasource/index.html +161 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-datasource/index.ts.html +94 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-datasource/interfaces.ts.html +193 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-datasource/tek-memory-datasource.ts.html +1027 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-datasource/tek-rest-datasource.ts.html +757 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-grid-column.ts.html +664 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/index.html +131 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button-controller.ts.html +169 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button.ts.html +196 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-grid-controller.ts.html +505 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-grid-events.ts.html +400 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/button-option.ts.html +163 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/index.html +146 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/index.ts.html +94 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/multi-option.ts.html +340 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/index.html +131 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/index.ts.html +91 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/tek-grid-toolbar-provider.ts.html +1186 -0
- package/coverage/lcov-report/src/components/tek-grid/tek-grid.ts.html +3451 -0
- package/coverage/lcov-report/src/components/zd-alert/alert.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-alert/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-badge/badge.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-badge/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-breadcrumbs/breadcrumbs.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-breadcrumbs/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-button/button.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-button/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-button-group/button-group.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-button-group/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-card/card.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-card/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-carousel/carousel.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-carousel/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-checkbox/checkbox.ts.html +5 -5
- package/coverage/lcov-report/src/components/zd-checkbox/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-checkbox-multiple/checkbox-multiple.ts.html +6 -6
- package/coverage/lcov-report/src/components/zd-checkbox-multiple/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-chip/chip.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-chip/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-code-editor/code-editor.ts.html +1045 -0
- package/coverage/lcov-report/src/components/zd-code-editor/index.html +116 -0
- package/coverage/lcov-report/src/components/zd-code-viewer/code-viewer.ts.html +4 -4
- package/coverage/lcov-report/src/components/zd-code-viewer/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-col/col.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-col/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-collapse-card/collapse-card.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-collapse-card/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-component/child-not-found.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-component/component-render.ts.html +5 -5
- package/coverage/lcov-report/src/components/zd-component/component.ts.html +57 -57
- package/coverage/lcov-report/src/components/zd-component/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-container/container.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-container/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-currency/currency.ts.html +9 -9
- package/coverage/lcov-report/src/components/zd-currency/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-date-input/date-input.ts.html +160 -517
- package/coverage/lcov-report/src/components/zd-date-input/index.html +24 -9
- package/coverage/lcov-report/src/components/zd-date-input/utils.ts.html +136 -0
- package/coverage/lcov-report/src/components/zd-date-range/date-range.ts.html +289 -583
- package/coverage/lcov-report/src/components/zd-date-range/index.html +24 -9
- package/coverage/lcov-report/src/components/zd-date-range/utils.ts.html +178 -0
- package/coverage/lcov-report/src/components/zd-dialog/dialog.ts.html +30 -30
- package/coverage/lcov-report/src/components/zd-dialog/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-divider/divider.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-divider/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-dropdown/dropdown.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-dropdown/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-field-group/field-group.ts.html +325 -0
- package/coverage/lcov-report/src/components/zd-field-group/index.html +116 -0
- package/coverage/lcov-report/src/components/zd-footer/footer.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-footer/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-form/form.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-form/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-frame/frame.ts.html +7 -7
- package/coverage/lcov-report/src/components/zd-frame/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-frame-page/frame-page.ts.html +4 -4
- package/coverage/lcov-report/src/components/zd-frame-page/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-grid/data-navigator.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-grid/data-selector.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-grid/grid-column.ts.html +10 -10
- package/coverage/lcov-report/src/components/zd-grid/grid-events.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-grid/grid.ts.html +13 -13
- package/coverage/lcov-report/src/components/zd-grid/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-grid/index.ts.html +12 -12
- package/coverage/lcov-report/src/components/zd-grid/iterable-table.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-grid/keymap-merger.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-grid/keymap-navigation.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-grid/table-action-builder.ts.html +4 -4
- package/coverage/lcov-report/src/components/zd-grid/view-navigator.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-grid-editable/data-editor-with-add.ts.html +6 -6
- package/coverage/lcov-report/src/components/zd-grid-editable/data-editor.ts.html +7 -7
- package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-grid-editable/errors/not-editing.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-grid-editable/errors/row-not-found.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-grid-editable/grid-column-editable.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-controller.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-events.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable.ts.html +9 -9
- package/coverage/lcov-report/src/components/zd-grid-editable/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-grid-editable/index.ts.html +9 -9
- package/coverage/lcov-report/src/components/zd-grid-editable/keymap-editing.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-header/header.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-header/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-icon/icon.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-icon/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-image/image.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-image/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-increment/increment.ts.html +5 -5
- package/coverage/lcov-report/src/components/zd-increment/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-input/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-input/input-factory.ts.html +4 -4
- package/coverage/lcov-report/src/components/zd-input/input.ts.html +46 -46
- package/coverage/lcov-report/src/components/zd-iterable/column-not-found.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-iterable/column.ts.html +86 -86
- package/coverage/lcov-report/src/components/zd-iterable/conditions-manager.ts.html +4 -4
- package/coverage/lcov-report/src/components/zd-iterable/index.html +20 -20
- package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button-controller.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button.ts.html +6 -6
- package/coverage/lcov-report/src/components/zd-iterable/iterable-controller.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-iterable/iterable-page-component.ts.html +5 -5
- package/coverage/lcov-report/src/components/zd-iterable/iterable-page-info.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-iterable/iterable-page-size.ts.html +5 -5
- package/coverage/lcov-report/src/components/zd-iterable/iterable-pagination.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-iterable/iterable.ts.html +131 -17
- package/coverage/lcov-report/src/components/zd-iterable/search.ts.html +8 -8
- package/coverage/lcov-report/src/components/zd-iterable-component-render/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-iterable-component-render/iterable-component-render.ts.html +5 -5
- package/coverage/lcov-report/src/components/zd-layout/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-layout/layout.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-list/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-list/item-not-found.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-list/list-group.ts.html +4 -4
- package/coverage/lcov-report/src/components/zd-list/list-item.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-list/list.ts.html +4 -4
- package/coverage/lcov-report/src/components/zd-loading/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-loading/loading.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-login/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-login/login-button.ts.html +4 -4
- package/coverage/lcov-report/src/components/zd-login/login.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-main/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-main/main.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-master-detail/detail-not-found.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-master-detail/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-master-detail/master-detail.ts.html +6 -6
- package/coverage/lcov-report/src/components/zd-master-detail/master-not-found.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-menu/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-menu/menu-button.ts.html +4 -4
- package/coverage/lcov-report/src/components/zd-menu/menu-group.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-menu/menu-link.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-menu/menu-separator.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-menu/menu.ts.html +4 -4
- package/coverage/lcov-report/src/components/zd-modal/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-modal/modal-close-button.ts.html +4 -4
- package/coverage/lcov-report/src/components/zd-modal/modal.ts.html +5 -5
- package/coverage/lcov-report/src/components/zd-month/index.html +9 -9
- package/coverage/lcov-report/src/components/zd-month/month.ts.html +43 -259
- package/coverage/lcov-report/src/components/zd-number-input/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-number-input/number-input.ts.html +9 -9
- package/coverage/lcov-report/src/components/zd-password/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-password/password.ts.html +7 -7
- package/coverage/lcov-report/src/components/zd-progress/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-progress/progress.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-radio/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-radio/radio.ts.html +6 -6
- package/coverage/lcov-report/src/components/zd-row/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-row/row.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-select/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-select/select.ts.html +9 -9
- package/coverage/lcov-report/src/components/zd-select-multiple/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-select-multiple/select-multiple.ts.html +5 -5
- package/coverage/lcov-report/src/components/zd-svg-map/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-svg-map/svg-map.ts.html +4 -4
- package/coverage/lcov-report/src/components/zd-switch/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-switch/switch.ts.html +5 -5
- package/coverage/lcov-report/src/components/zd-table/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-table/table.ts.html +4 -4
- package/coverage/lcov-report/src/components/zd-tabs/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-tabs/tab-not-found.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-tabs/tab.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-tabs/tabs.ts.html +5 -5
- package/coverage/lcov-report/src/components/zd-tag/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-tag/tag.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-text/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-text/text.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-text-input/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-text-input/text-input.ts.html +20 -20
- package/coverage/lcov-report/src/components/zd-textarea/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-textarea/textarea.ts.html +5 -5
- package/coverage/lcov-report/src/components/zd-time/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-time/time-format-selector.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-time/time.ts.html +10 -10
- package/coverage/lcov-report/src/components/zd-toggleable/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-toggleable/toggleable.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-tooltip/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-tooltip/tooltip.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-tree/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-tree/tree.ts.html +7 -7
- package/coverage/lcov-report/src/components/zd-tree-grid/index.html +1 -1
- package/coverage/lcov-report/src/components/zd-tree-grid/index.ts.html +7 -7
- package/coverage/lcov-report/src/components/zd-tree-grid/iterable-tree.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-tree-grid/keymap-tree.ts.html +2 -2
- package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-navigator.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-selector.ts.html +3 -3
- package/coverage/lcov-report/src/components/zd-tree-grid/tree-grid.ts.html +11 -11
- package/coverage/lcov-report/src/error/delete-rows.ts.html +3 -3
- package/coverage/lcov-report/src/error/index.html +1 -1
- package/coverage/lcov-report/src/error/index.ts.html +4 -4
- package/coverage/lcov-report/src/error/non-initialized.ts.html +3 -3
- package/coverage/lcov-report/src/error/tek-grid-delete-rows.ts.html +130 -0
- package/coverage/lcov-report/src/error/teknisa-common-error.ts.html +109 -0
- package/coverage/lcov-report/src/error/zeedhi-error.ts.html +2 -2
- package/coverage/lcov-report/src/index.html +1 -1
- package/coverage/lcov-report/src/index.ts.html +9 -9
- package/coverage/lcov-report/src/services/index.html +1 -1
- package/coverage/lcov-report/src/services/index.ts.html +5 -5
- package/coverage/lcov-report/src/services/zd-alert/alert-queue.ts.html +3 -3
- package/coverage/lcov-report/src/services/zd-alert/alert-replace.ts.html +3 -3
- package/coverage/lcov-report/src/services/zd-alert/alert-service.ts.html +5 -5
- package/coverage/lcov-report/src/services/zd-alert/alert-stack.ts.html +3 -3
- package/coverage/lcov-report/src/services/zd-alert/index.html +1 -1
- package/coverage/lcov-report/src/services/zd-alert/index.ts.html +6 -6
- package/coverage/lcov-report/src/services/zd-dialog/dialog-service.ts.html +4 -4
- package/coverage/lcov-report/src/services/zd-dialog/index.html +1 -1
- package/coverage/lcov-report/src/services/zd-loading/index.html +1 -1
- package/coverage/lcov-report/src/services/zd-loading/loading-service.ts.html +2 -2
- package/coverage/lcov-report/src/services/zd-modal/index.html +1 -1
- package/coverage/lcov-report/src/services/zd-modal/modal-service.ts.html +5 -5
- package/coverage/lcov-report/src/utils/data-value-out/data-value-out.ts.html +3 -3
- package/coverage/lcov-report/src/utils/data-value-out/index.html +1 -1
- package/coverage/lcov-report/src/utils/data-value-out/index.ts.html +3 -3
- package/coverage/lcov-report/src/utils/datasource-searcher/datasource-searcher.ts.html +3 -3
- package/coverage/lcov-report/src/utils/datasource-searcher/index.html +1 -1
- package/coverage/lcov-report/src/utils/datasource-searcher/index.ts.html +3 -3
- package/coverage/lcov-report/src/utils/date-utils/date-utils.ts.html +166 -0
- package/coverage/lcov-report/src/utils/date-utils/index.html +116 -0
- package/coverage/lcov-report/src/utils/icons/icons.ts.html +6 -6
- package/coverage/lcov-report/src/utils/icons/index.html +1 -1
- package/coverage/lcov-report/src/utils/index.html +1 -1
- package/coverage/lcov-report/src/utils/index.ts.html +8 -8
- package/coverage/lcov-report/src/utils/is-filled-object/index.html +116 -0
- package/coverage/lcov-report/src/utils/is-filled-object/is-filled-object.ts.html +100 -0
- package/coverage/lcov-report/src/utils/is-nil.ts.html +94 -0
- package/coverage/lcov-report/src/utils/omit/index.html +1 -1
- package/coverage/lcov-report/src/utils/omit/omit.ts.html +2 -2
- package/coverage/lcov-report/src/utils/theme/index.html +1 -1
- package/coverage/lcov-report/src/utils/theme/theme.ts.html +4 -4
- package/coverage/lcov-report/src/utils/tree-data-structure/index.html +1 -1
- package/coverage/lcov-report/src/utils/tree-data-structure/index.ts.html +3 -3
- package/coverage/lcov-report/src/utils/tree-data-structure/tree-data-structure.ts.html +2 -2
- package/coverage/lcov-report/src/utils/unique-by/index.html +1 -1
- package/coverage/lcov-report/src/utils/unique-by/unique-by.ts.html +3 -3
- package/coverage/lcov-report/tests/unit/__helpers__/component-event-helper.ts.html +106 -0
- package/coverage/lcov-report/tests/unit/__helpers__/flush-promises-helper.ts.html +94 -0
- package/coverage/lcov-report/tests/unit/__helpers__/index.html +146 -0
- package/coverage/lcov-report/tests/unit/__helpers__/mock-http-get-helper.ts.html +172 -0
- package/coverage/lcov-report/tests/unit/components/zd-component/ComponentMock.ts.html +1 -1
- package/coverage/lcov-report/tests/unit/components/zd-component/index.html +1 -1
- package/coverage/lcov.info +1764 -1900
- package/dist/style.css +1 -1
- package/dist/zd-common.d.mts +7826 -0
- package/dist/zd-common.iife.min.js +11 -0
- package/dist/zd-common.mjs +12318 -0
- package/environments.json +6 -0
- package/jest.config.cjs +1 -0
- package/package.json +19 -12
- package/src/components/zd-date-input/date-input.ts +49 -168
- package/src/components/zd-date-input/utils.ts +17 -0
- package/src/components/zd-date-range/date-range.ts +111 -212
- package/src/components/zd-date-range/utils.ts +31 -0
- package/src/components/zd-frame/frame.ts +2 -2
- package/src/components/zd-grid-editable/data-editor-with-add.ts +1 -1
- package/src/components/zd-grid-editable/data-editor.ts +2 -2
- package/src/components/zd-iterable/iterable.ts +41 -3
- package/src/components/zd-month/month.ts +19 -91
- package/src/styles/_display.scss +3 -1
- package/src/styles/_elevation.scss +2 -1
- package/src/styles/_functions.scss +14 -11
- package/src/styles/_utilities.scss +67 -62
- package/src/styles/_variables.scss +17 -16
- package/src/styles/index.scss +5 -5
- package/src/utils/date-utils/date-utils.ts +27 -0
- package/src/utils/tree-data-structure/tree-data-structure.ts +1 -1
- package/tests/unit/components/zd-component/component.spec.ts +3 -2
- package/tests/unit/components/zd-date-input/date-input.spec.ts +36 -281
- package/tests/unit/components/zd-date-range/date-range.spec.ts +456 -393
- package/tests/unit/components/zd-grid/grid-column.spec.ts +1 -1
- package/tests/unit/components/zd-grid/grid.spec.ts +48 -35
- package/tests/unit/components/zd-grid-editable/data-editor.spec.ts +1 -1
- package/tests/unit/components/zd-grid-editable/grid-editable.spec.ts +1 -1
- package/tests/unit/components/zd-iterable/column.spec.ts +42 -0
- package/tests/unit/components/zd-month/month.spec.ts +7 -334
- package/tests/unit/components/zd-select/select.spec.ts +1 -2
- package/tests/unit/utils/mock-console.ts +18 -0
- package/tsdown.config.ts +74 -0
- package/.package.json +0 -45
- package/dist/types/components/index.d.ts +0 -151
- package/dist/types/components/zd-alert/alert.d.ts +0 -94
- package/dist/types/components/zd-alert/interfaces.d.ts +0 -18
- package/dist/types/components/zd-badge/badge.d.ts +0 -28
- package/dist/types/components/zd-badge/interfaces.d.ts +0 -10
- package/dist/types/components/zd-breadcrumbs/breadcrumbs.d.ts +0 -32
- package/dist/types/components/zd-breadcrumbs/interfaces.d.ts +0 -24
- package/dist/types/components/zd-button/button.d.ts +0 -89
- package/dist/types/components/zd-button/interfaces.d.ts +0 -48
- package/dist/types/components/zd-button-group/button-group.d.ts +0 -67
- package/dist/types/components/zd-button-group/interfaces.d.ts +0 -25
- package/dist/types/components/zd-card/card.d.ts +0 -152
- package/dist/types/components/zd-card/interfaces.d.ts +0 -40
- package/dist/types/components/zd-carousel/carousel.d.ts +0 -163
- package/dist/types/components/zd-carousel/interfaces.d.ts +0 -49
- package/dist/types/components/zd-checkbox/checkbox.d.ts +0 -12
- package/dist/types/components/zd-checkbox/interfaces.d.ts +0 -5
- package/dist/types/components/zd-checkbox-multiple/checkbox-multiple.d.ts +0 -39
- package/dist/types/components/zd-checkbox-multiple/interfaces.d.ts +0 -13
- package/dist/types/components/zd-chip/chip.d.ts +0 -60
- package/dist/types/components/zd-chip/interfaces.d.ts +0 -18
- package/dist/types/components/zd-code-viewer/code-viewer.d.ts +0 -86
- package/dist/types/components/zd-code-viewer/interfaces.d.ts +0 -13
- package/dist/types/components/zd-col/col.d.ts +0 -33
- package/dist/types/components/zd-col/interfaces.d.ts +0 -15
- package/dist/types/components/zd-collapse-card/collapse-card.d.ts +0 -56
- package/dist/types/components/zd-collapse-card/interfaces.d.ts +0 -14
- package/dist/types/components/zd-component/child-not-found.d.ts +0 -6
- package/dist/types/components/zd-component/component-render.d.ts +0 -16
- package/dist/types/components/zd-component/component.d.ts +0 -120
- package/dist/types/components/zd-component/interfaces.d.ts +0 -74
- package/dist/types/components/zd-container/container.d.ts +0 -45
- package/dist/types/components/zd-container/interfaces.d.ts +0 -12
- package/dist/types/components/zd-currency/currency.d.ts +0 -12
- package/dist/types/components/zd-currency/interfaces.d.ts +0 -6
- package/dist/types/components/zd-date-input/date-input.d.ts +0 -152
- package/dist/types/components/zd-date-input/interfaces.d.ts +0 -27
- package/dist/types/components/zd-date-range/date-range.d.ts +0 -158
- package/dist/types/components/zd-date-range/interfaces.d.ts +0 -18
- package/dist/types/components/zd-dialog/dialog.d.ts +0 -76
- package/dist/types/components/zd-dialog/interfaces.d.ts +0 -13
- package/dist/types/components/zd-divider/divider.d.ts +0 -20
- package/dist/types/components/zd-divider/interfaces.d.ts +0 -8
- package/dist/types/components/zd-dropdown/dropdown.d.ts +0 -81
- package/dist/types/components/zd-dropdown/interfaces.d.ts +0 -23
- package/dist/types/components/zd-footer/footer.d.ts +0 -80
- package/dist/types/components/zd-footer/interfaces.d.ts +0 -26
- package/dist/types/components/zd-form/form.d.ts +0 -174
- package/dist/types/components/zd-form/interfaces.d.ts +0 -36
- package/dist/types/components/zd-frame/frame.d.ts +0 -81
- package/dist/types/components/zd-frame/interfaces.d.ts +0 -23
- package/dist/types/components/zd-frame-page/frame-page.d.ts +0 -14
- package/dist/types/components/zd-frame-page/interfaces.d.ts +0 -4
- package/dist/types/components/zd-grid/data-navigator.d.ts +0 -12
- package/dist/types/components/zd-grid/data-selector.d.ts +0 -25
- package/dist/types/components/zd-grid/grid-column.d.ts +0 -47
- package/dist/types/components/zd-grid/grid-events.d.ts +0 -26
- package/dist/types/components/zd-grid/grid.d.ts +0 -85
- package/dist/types/components/zd-grid/index.d.ts +0 -11
- package/dist/types/components/zd-grid/interfaces.d.ts +0 -148
- package/dist/types/components/zd-grid/iterable-table.d.ts +0 -28
- package/dist/types/components/zd-grid/keymap-merger.d.ts +0 -26
- package/dist/types/components/zd-grid/keymap-navigation.d.ts +0 -6
- package/dist/types/components/zd-grid/table-action-builder.d.ts +0 -19
- package/dist/types/components/zd-grid/view-navigator.d.ts +0 -10
- package/dist/types/components/zd-grid-editable/data-editor-with-add.d.ts +0 -35
- package/dist/types/components/zd-grid-editable/data-editor.d.ts +0 -64
- package/dist/types/components/zd-grid-editable/errors/index.d.ts +0 -2
- package/dist/types/components/zd-grid-editable/errors/not-editing.d.ts +0 -6
- package/dist/types/components/zd-grid-editable/errors/row-not-found.d.ts +0 -6
- package/dist/types/components/zd-grid-editable/grid-column-editable.d.ts +0 -9
- package/dist/types/components/zd-grid-editable/grid-editable-controller.d.ts +0 -8
- package/dist/types/components/zd-grid-editable/grid-editable-events.d.ts +0 -32
- package/dist/types/components/zd-grid-editable/grid-editable.d.ts +0 -124
- package/dist/types/components/zd-grid-editable/index.d.ts +0 -8
- package/dist/types/components/zd-grid-editable/interfaces.d.ts +0 -66
- package/dist/types/components/zd-grid-editable/keymap-editing.d.ts +0 -7
- package/dist/types/components/zd-header/header.d.ts +0 -94
- package/dist/types/components/zd-header/interfaces.d.ts +0 -29
- package/dist/types/components/zd-icon/icon.d.ts +0 -55
- package/dist/types/components/zd-icon/interfaces.d.ts +0 -13
- package/dist/types/components/zd-image/image.d.ts +0 -73
- package/dist/types/components/zd-image/interfaces.d.ts +0 -17
- package/dist/types/components/zd-increment/increment.d.ts +0 -56
- package/dist/types/components/zd-increment/interfaces.d.ts +0 -9
- package/dist/types/components/zd-input/input-factory.d.ts +0 -6
- package/dist/types/components/zd-input/input.d.ts +0 -223
- package/dist/types/components/zd-input/interfaces.d.ts +0 -38
- package/dist/types/components/zd-iterable/column-not-found.d.ts +0 -6
- package/dist/types/components/zd-iterable/column.d.ts +0 -78
- package/dist/types/components/zd-iterable/conditions-manager.d.ts +0 -49
- package/dist/types/components/zd-iterable/interfaces.d.ts +0 -103
- package/dist/types/components/zd-iterable/iterable-columns-button-controller.d.ts +0 -9
- package/dist/types/components/zd-iterable/iterable-columns-button.d.ts +0 -35
- package/dist/types/components/zd-iterable/iterable-controller.d.ts +0 -8
- package/dist/types/components/zd-iterable/iterable-page-component.d.ts +0 -27
- package/dist/types/components/zd-iterable/iterable-page-info.d.ts +0 -7
- package/dist/types/components/zd-iterable/iterable-page-size.d.ts +0 -62
- package/dist/types/components/zd-iterable/iterable-pagination.d.ts +0 -28
- package/dist/types/components/zd-iterable/iterable.d.ts +0 -77
- package/dist/types/components/zd-iterable/search.d.ts +0 -31
- package/dist/types/components/zd-iterable-component-render/interfaces.d.ts +0 -34
- package/dist/types/components/zd-iterable-component-render/iterable-component-render.d.ts +0 -84
- package/dist/types/components/zd-layout/interfaces.d.ts +0 -7
- package/dist/types/components/zd-layout/layout.d.ts +0 -9
- package/dist/types/components/zd-list/interfaces.d.ts +0 -44
- package/dist/types/components/zd-list/item-not-found.d.ts +0 -6
- package/dist/types/components/zd-list/list-group.d.ts +0 -30
- package/dist/types/components/zd-list/list-item.d.ts +0 -46
- package/dist/types/components/zd-list/list.d.ts +0 -81
- package/dist/types/components/zd-loading/interfaces.d.ts +0 -7
- package/dist/types/components/zd-loading/loading.d.ts +0 -21
- package/dist/types/components/zd-login/interfaces.d.ts +0 -25
- package/dist/types/components/zd-login/login-button.d.ts +0 -50
- package/dist/types/components/zd-login/login.d.ts +0 -54
- package/dist/types/components/zd-main/interfaces.d.ts +0 -5
- package/dist/types/components/zd-main/main.d.ts +0 -7
- package/dist/types/components/zd-master-detail/detail-not-found.d.ts +0 -7
- package/dist/types/components/zd-master-detail/interfaces.d.ts +0 -10
- package/dist/types/components/zd-master-detail/master-detail.d.ts +0 -18
- package/dist/types/components/zd-master-detail/master-not-found.d.ts +0 -7
- package/dist/types/components/zd-menu/interfaces.d.ts +0 -68
- package/dist/types/components/zd-menu/menu-button.d.ts +0 -29
- package/dist/types/components/zd-menu/menu-group.d.ts +0 -61
- package/dist/types/components/zd-menu/menu-link.d.ts +0 -50
- package/dist/types/components/zd-menu/menu-separator.d.ts +0 -7
- package/dist/types/components/zd-menu/menu.d.ts +0 -199
- package/dist/types/components/zd-modal/interfaces.d.ts +0 -35
- package/dist/types/components/zd-modal/modal-close-button.d.ts +0 -28
- package/dist/types/components/zd-modal/modal.d.ts +0 -53
- package/dist/types/components/zd-month/interfaces.d.ts +0 -6
- package/dist/types/components/zd-month/month.d.ts +0 -33
- package/dist/types/components/zd-number-input/interfaces.d.ts +0 -8
- package/dist/types/components/zd-number-input/number-input.d.ts +0 -43
- package/dist/types/components/zd-password/interfaces.d.ts +0 -6
- package/dist/types/components/zd-password/password.d.ts +0 -17
- package/dist/types/components/zd-progress/interfaces.d.ts +0 -10
- package/dist/types/components/zd-progress/progress.d.ts +0 -41
- package/dist/types/components/zd-radio/interfaces.d.ts +0 -11
- package/dist/types/components/zd-radio/radio.d.ts +0 -35
- package/dist/types/components/zd-row/interfaces.d.ts +0 -13
- package/dist/types/components/zd-row/row.d.ts +0 -39
- package/dist/types/components/zd-select/interfaces.d.ts +0 -24
- package/dist/types/components/zd-select/select.d.ts +0 -238
- package/dist/types/components/zd-select-multiple/interfaces.d.ts +0 -18
- package/dist/types/components/zd-select-multiple/select-multiple.d.ts +0 -113
- package/dist/types/components/zd-svg-map/interfaces.d.ts +0 -26
- package/dist/types/components/zd-svg-map/svg-map.d.ts +0 -35
- package/dist/types/components/zd-switch/interfaces.d.ts +0 -7
- package/dist/types/components/zd-switch/switch.d.ts +0 -16
- package/dist/types/components/zd-table/interfaces.d.ts +0 -25
- package/dist/types/components/zd-table/table.d.ts +0 -42
- package/dist/types/components/zd-tabs/interfaces.d.ts +0 -40
- package/dist/types/components/zd-tabs/tab-not-found.d.ts +0 -11
- package/dist/types/components/zd-tabs/tab.d.ts +0 -57
- package/dist/types/components/zd-tabs/tabs.d.ts +0 -86
- package/dist/types/components/zd-tag/interfaces.d.ts +0 -7
- package/dist/types/components/zd-tag/tag.d.ts +0 -13
- package/dist/types/components/zd-text/interfaces.d.ts +0 -9
- package/dist/types/components/zd-text/text.d.ts +0 -8
- package/dist/types/components/zd-text-input/interfaces.d.ts +0 -23
- package/dist/types/components/zd-text-input/text-input.d.ts +0 -91
- package/dist/types/components/zd-textarea/interfaces.d.ts +0 -21
- package/dist/types/components/zd-textarea/textarea.d.ts +0 -71
- package/dist/types/components/zd-time/interfaces.d.ts +0 -22
- package/dist/types/components/zd-time/time-format-selector.d.ts +0 -8
- package/dist/types/components/zd-time/time.d.ts +0 -149
- package/dist/types/components/zd-toggleable/interfaces.d.ts +0 -6
- package/dist/types/components/zd-toggleable/toggleable.d.ts +0 -21
- package/dist/types/components/zd-tooltip/interfaces.d.ts +0 -18
- package/dist/types/components/zd-tooltip/tooltip.d.ts +0 -57
- package/dist/types/components/zd-tree/interfaces.d.ts +0 -107
- package/dist/types/components/zd-tree/tree.d.ts +0 -161
- package/dist/types/components/zd-tree-grid/index.d.ts +0 -6
- package/dist/types/components/zd-tree-grid/interfaces.d.ts +0 -35
- package/dist/types/components/zd-tree-grid/iterable-tree.d.ts +0 -10
- package/dist/types/components/zd-tree-grid/keymap-tree.d.ts +0 -7
- package/dist/types/components/zd-tree-grid/tree-data-navigator.d.ts +0 -10
- package/dist/types/components/zd-tree-grid/tree-data-selector.d.ts +0 -18
- package/dist/types/components/zd-tree-grid/tree-grid.d.ts +0 -119
- package/dist/types/error/delete-rows.d.ts +0 -7
- package/dist/types/error/index.d.ts +0 -3
- package/dist/types/error/non-initialized.d.ts +0 -7
- package/dist/types/error/zeedhi-error.d.ts +0 -6
- package/dist/types/index.d.ts +0 -6
- package/dist/types/services/index.d.ts +0 -4
- package/dist/types/services/zd-alert/alert-queue.d.ts +0 -13
- package/dist/types/services/zd-alert/alert-replace.d.ts +0 -18
- package/dist/types/services/zd-alert/alert-service.d.ts +0 -45
- package/dist/types/services/zd-alert/alert-stack.d.ts +0 -9
- package/dist/types/services/zd-alert/index.d.ts +0 -5
- package/dist/types/services/zd-alert/interfaces.d.ts +0 -6
- package/dist/types/services/zd-dialog/dialog-service.d.ts +0 -24
- package/dist/types/services/zd-loading/loading-service.d.ts +0 -17
- package/dist/types/services/zd-modal/modal-service.d.ts +0 -39
- package/dist/types/utils/data-value-out/data-value-out.d.ts +0 -5
- package/dist/types/utils/data-value-out/index.d.ts +0 -2
- package/dist/types/utils/data-value-out/interfaces.d.ts +0 -8
- package/dist/types/utils/datasource-searcher/datasource-searcher.d.ts +0 -6
- package/dist/types/utils/datasource-searcher/index.d.ts +0 -2
- package/dist/types/utils/datasource-searcher/interfaces.d.ts +0 -5
- package/dist/types/utils/icons/icons.d.ts +0 -24
- package/dist/types/utils/index.d.ts +0 -7
- package/dist/types/utils/omit/omit.d.ts +0 -11
- package/dist/types/utils/theme/theme.d.ts +0 -34
- package/dist/types/utils/tree-data-structure/index.d.ts +0 -2
- package/dist/types/utils/tree-data-structure/interfaces.d.ts +0 -30
- package/dist/types/utils/tree-data-structure/tree-data-structure.d.ts +0 -155
- package/dist/types/utils/unique-by/unique-by.d.ts +0 -3
- package/dist/zd-common.js +0 -13133
- package/dist/zd-common.min.js +0 -13133
- package/rollup.config.js +0 -27
- package/rollup.scss.config.js +0 -14
- package/tests/unit/utils/is-filled-object.spec.ts +0 -33
- package/tsconfig.build.json +0 -7
|
@@ -2,8 +2,9 @@ import { FormatterParserProvider, I18n, init } from '@zeedhi/core';
|
|
|
2
2
|
import times from 'lodash.times';
|
|
3
3
|
import { DateRange } from '../../../../src';
|
|
4
4
|
import dayjs from 'dayjs';
|
|
5
|
-
import
|
|
5
|
+
import { mockI18n } from '../../__helpers__/mock-i18n';
|
|
6
6
|
|
|
7
|
+
mockI18n();
|
|
7
8
|
jest.useFakeTimers();
|
|
8
9
|
|
|
9
10
|
describe('DateRange', () => {
|
|
@@ -175,6 +176,7 @@ describe('DateRange', () => {
|
|
|
175
176
|
displayFormat: 'MMMM DD, YYYY',
|
|
176
177
|
inputFormat: 'DD MM YYYY',
|
|
177
178
|
});
|
|
179
|
+
instance.focus(new Event('focus'), {});
|
|
178
180
|
// set value directly
|
|
179
181
|
instance.value = ['10/12/2020', '11/12/2020']; // DD/MM/YYYY
|
|
180
182
|
expect(instance.value).toStrictEqual(['10/12/2020', '11/12/2020']);
|
|
@@ -207,69 +209,6 @@ describe('DateRange', () => {
|
|
|
207
209
|
expect(instance.value).toStrictEqual(['8/12/2020', '10/12/2020']);
|
|
208
210
|
});
|
|
209
211
|
|
|
210
|
-
it('when initial mask and complex displayFormat, should behave the same when setting via value/displayValue', () => {
|
|
211
|
-
const instance = new DateRange({
|
|
212
|
-
name: 'date',
|
|
213
|
-
component: 'Date',
|
|
214
|
-
dateFormat: 'DD/MM/YYYY',
|
|
215
|
-
displayFormat: 'MMMM DD, YYYY',
|
|
216
|
-
mask: '## ## ####',
|
|
217
|
-
});
|
|
218
|
-
instance.value = ['08/12/2020', '09/12/2020']; // DD/MM/YYYY
|
|
219
|
-
expect(instance.value).toStrictEqual(['08/12/2020', '09/12/2020']);
|
|
220
|
-
expect(instance.displayValue).toBe('08 12 2020 ~ 09 12 2020');
|
|
221
|
-
|
|
222
|
-
instance.displayValue = '09 12 2020 ~ 10 12 2020'; // DD MM YYYY
|
|
223
|
-
expect(instance.value).toStrictEqual(['09/12/2020', '10/12/2020']);
|
|
224
|
-
expect(instance.displayValue).toBe('09 12 2020 ~ 10 12 2020');
|
|
225
|
-
|
|
226
|
-
instance.blur(new Event('blur'), {});
|
|
227
|
-
expect(instance.value).toStrictEqual(['09/12/2020', '10/12/2020']);
|
|
228
|
-
expect(instance.displayValue).toBe('December 09, 2020 ~ December 10, 2020');
|
|
229
|
-
});
|
|
230
|
-
|
|
231
|
-
it('when initial mask is defined and simple displayFormat, should use displayFormat as mask fallback', () => {
|
|
232
|
-
const instance = new DateRange({
|
|
233
|
-
name: 'date',
|
|
234
|
-
component: 'Date',
|
|
235
|
-
dateFormat: 'DD/MM/YYYY',
|
|
236
|
-
displayFormat: 'MM/DD/YYYY',
|
|
237
|
-
mask: '## ## ####',
|
|
238
|
-
});
|
|
239
|
-
instance.value = ['08/12/2020', '09/12/2020']; // DD/MM/YYYY
|
|
240
|
-
expect(instance.value).toStrictEqual(['08/12/2020', '09/12/2020']);
|
|
241
|
-
expect(instance.displayValue).toBe('12 08 2020 ~ 12 09 2020');
|
|
242
|
-
|
|
243
|
-
instance.displayValue = '12 09 2020 ~ 12 10 2020'; // DD MM YYYY
|
|
244
|
-
expect(instance.value).toStrictEqual(['09/12/2020', '10/12/2020']);
|
|
245
|
-
expect(instance.displayValue).toBe('12 09 2020 ~ 12 10 2020');
|
|
246
|
-
|
|
247
|
-
instance.blur(new Event('blur'), {});
|
|
248
|
-
expect(instance.value).toStrictEqual(['09/12/2020', '10/12/2020']);
|
|
249
|
-
expect(instance.displayValue).toBe('12/09/2020 ~ 12/10/2020');
|
|
250
|
-
});
|
|
251
|
-
|
|
252
|
-
it('should display value with no delimiters', () => {
|
|
253
|
-
const instance = new DateRange({
|
|
254
|
-
name: 'date',
|
|
255
|
-
component: 'Date',
|
|
256
|
-
dateFormat: 'DD/MM/YYYY',
|
|
257
|
-
displayFormat: 'MMDDYYYY',
|
|
258
|
-
mask: '## ## ####',
|
|
259
|
-
});
|
|
260
|
-
instance.value = ['08/12/2020', '09/12/2020']; // DD/MM/YYYY
|
|
261
|
-
expect(instance.value).toStrictEqual(['08/12/2020', '09/12/2020']);
|
|
262
|
-
expect(instance.displayValue).toBe('12 08 2020 ~ 12 09 2020');
|
|
263
|
-
|
|
264
|
-
instance.displayValue = '12 09 2020 ~ 12 10 2020'; // DD MM YYYY
|
|
265
|
-
expect(instance.value).toStrictEqual(['09/12/2020', '10/12/2020']);
|
|
266
|
-
expect(instance.displayValue).toBe('12 09 2020 ~ 12 10 2020');
|
|
267
|
-
|
|
268
|
-
instance.blur(new Event('blur'), {});
|
|
269
|
-
expect(instance.value).toStrictEqual(['09/12/2020', '10/12/2020']);
|
|
270
|
-
expect(instance.displayValue).toBe('12092020 ~ 12102020');
|
|
271
|
-
});
|
|
272
|
-
|
|
273
212
|
it('should use inputFormat on focus and use displayFormat on blur', () => {
|
|
274
213
|
const instance = new DateRange({
|
|
275
214
|
name: 'date',
|
|
@@ -278,6 +217,7 @@ describe('DateRange', () => {
|
|
|
278
217
|
displayFormat: 'MMMM DD, YYYY',
|
|
279
218
|
inputFormat: 'MM/DD/YYYY',
|
|
280
219
|
});
|
|
220
|
+
instance.focus(new Event('focus'), {});
|
|
281
221
|
// set value directly
|
|
282
222
|
instance.value = ['10/12/2020', '11/12/2020']; // DD/MM/YYYY
|
|
283
223
|
expect(instance.value).toStrictEqual(['10/12/2020', '11/12/2020']);
|
|
@@ -304,6 +244,7 @@ describe('DateRange', () => {
|
|
|
304
244
|
displayFormat: 'MMMM DD, YYYY',
|
|
305
245
|
inputFormat: 'MM/DD/YYYY',
|
|
306
246
|
});
|
|
247
|
+
instance.focus(new Event('focus'), {});
|
|
307
248
|
instance.value = ['08/12/2020', '09/12/2020']; // DD/MM/YYYY
|
|
308
249
|
expect(instance.value).toStrictEqual(['08/12/2020', '09/12/2020']);
|
|
309
250
|
expect(instance.displayValue).toBe('12/08/2020 ~ 12/09/2020');
|
|
@@ -352,6 +293,21 @@ describe('DateRange', () => {
|
|
|
352
293
|
expect(instance.displayValue).toBe('');
|
|
353
294
|
});
|
|
354
295
|
|
|
296
|
+
it('should call change event when clearing the value', () => {
|
|
297
|
+
const changeFn = jest.fn();
|
|
298
|
+
const instance = new DateRange({
|
|
299
|
+
name: 'date',
|
|
300
|
+
component: 'DateRange',
|
|
301
|
+
events: {
|
|
302
|
+
change: changeFn,
|
|
303
|
+
},
|
|
304
|
+
});
|
|
305
|
+
instance.setDateValue('01-01-2020 ~ 01-02-2020');
|
|
306
|
+
changeFn.mockClear();
|
|
307
|
+
instance.setDateValue('');
|
|
308
|
+
expect(changeFn).toHaveBeenCalled();
|
|
309
|
+
});
|
|
310
|
+
|
|
355
311
|
it('shouldn\'t update displayValue when the value passed is invalid', () => {
|
|
356
312
|
const instance = new DateRange({ name: 'date', component: 'DateRange' });
|
|
357
313
|
instance.setDateValue('01-01-2020 ~ 01-02-2020');
|
|
@@ -423,6 +379,40 @@ describe('DateRange', () => {
|
|
|
423
379
|
expect(instance.isValidDate('07/13/2023', 'MM/DD/YYYY')).toBeFalsy();
|
|
424
380
|
expect(instance.isValidDate('07/01/2023', 'MM/DD/YYYY')).toBeFalsy();
|
|
425
381
|
});
|
|
382
|
+
|
|
383
|
+
it('should return false for a completely invalid date format', () => {
|
|
384
|
+
const instance = new DateRange({ name: 'date', component: 'DateRange' });
|
|
385
|
+
// This should hit the !isValidFormat check at the beginning of isValidDate
|
|
386
|
+
expect(instance.isValidDate('not-a-date', 'YYYY-MM-DD')).toBeFalsy();
|
|
387
|
+
});
|
|
388
|
+
|
|
389
|
+
it('should return false for a not allowed date', () => {
|
|
390
|
+
const instance = new DateRange({
|
|
391
|
+
name: 'date',
|
|
392
|
+
component: 'DateRange',
|
|
393
|
+
dateFormat: 'YYYY-MM-DD',
|
|
394
|
+
allowedDates: (date: string) => date !== '2023-07-11',
|
|
395
|
+
});
|
|
396
|
+
|
|
397
|
+
// Date is valid, but not allowed
|
|
398
|
+
expect(instance.isValidDate('2023-07-11', 'YYYY-MM-DD')).toBeFalsy();
|
|
399
|
+
// Other date should be valid and allowed
|
|
400
|
+
expect(instance.isValidDate('2023-07-12', 'YYYY-MM-DD')).toBeTruthy();
|
|
401
|
+
});
|
|
402
|
+
|
|
403
|
+
it('should return true for allowed date with array', () => {
|
|
404
|
+
const instance = new DateRange({
|
|
405
|
+
name: 'date',
|
|
406
|
+
component: 'DateRange',
|
|
407
|
+
dateFormat: 'YYYY-MM-DD',
|
|
408
|
+
allowedDates: ['2025-01-01'],
|
|
409
|
+
});
|
|
410
|
+
|
|
411
|
+
// Date is valid and allowed
|
|
412
|
+
expect(instance.isValidDate('2025-01-01', 'YYYY-MM-DD')).toBeTruthy();
|
|
413
|
+
// Date is valid but not allowed
|
|
414
|
+
expect(instance.isValidDate('2025-01-02', 'YYYY-MM-DD')).toBeFalsy();
|
|
415
|
+
});
|
|
426
416
|
});
|
|
427
417
|
|
|
428
418
|
describe('isoRangeValue', () => {
|
|
@@ -560,104 +550,211 @@ describe('DateRange', () => {
|
|
|
560
550
|
expect(eventFn).toHaveBeenCalled();
|
|
561
551
|
expect(instance.value).toStrictEqual([]);
|
|
562
552
|
});
|
|
553
|
+
});
|
|
563
554
|
|
|
564
|
-
|
|
555
|
+
describe('focus()', () => {
|
|
556
|
+
it('should call super.focus', () => {
|
|
565
557
|
const eventFn = jest.fn();
|
|
566
558
|
const instance = new DateRange({
|
|
567
559
|
name: 'date',
|
|
568
560
|
component: 'ZdDateRange',
|
|
569
|
-
|
|
561
|
+
events: {
|
|
562
|
+
focus: eventFn,
|
|
563
|
+
},
|
|
570
564
|
});
|
|
571
565
|
|
|
572
|
-
|
|
573
|
-
|
|
566
|
+
const event = new Event('focus');
|
|
567
|
+
instance.focus(event, {});
|
|
568
|
+
expect(eventFn).toHaveBeenCalled();
|
|
569
|
+
});
|
|
574
570
|
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
571
|
+
it('should not update displayValue when inputFormat is not set', () => {
|
|
572
|
+
const instance = new DateRange({
|
|
573
|
+
name: 'date',
|
|
574
|
+
component: 'ZdDateRange',
|
|
575
|
+
dateFormat: 'MM-DD-YYYY',
|
|
576
|
+
displayFormat: 'DD/MM/YYYY',
|
|
577
|
+
// No inputFormat
|
|
578
|
+
});
|
|
579
579
|
|
|
580
|
-
|
|
581
|
-
|
|
580
|
+
instance.value = ['01-15-2020'];
|
|
581
|
+
const originalDisplayValue = instance.displayValue;
|
|
582
|
+
|
|
583
|
+
instance.focus(new Event('focus'), {});
|
|
584
|
+
|
|
585
|
+
// Display value should not change since inputFormat is not set
|
|
586
|
+
expect(instance.displayValue).toBe(originalDisplayValue);
|
|
582
587
|
});
|
|
583
|
-
});
|
|
584
588
|
|
|
585
|
-
|
|
586
|
-
it('if initial mask and value is set, should assign initialMask to mask', () => {
|
|
587
|
-
const eventFn = jest.fn();
|
|
589
|
+
it('should not update displayValue when value is not set', () => {
|
|
588
590
|
const instance = new DateRange({
|
|
589
591
|
name: 'date',
|
|
590
592
|
component: 'ZdDateRange',
|
|
591
|
-
|
|
593
|
+
dateFormat: 'MM-DD-YYYY',
|
|
594
|
+
displayFormat: 'DD/MM/YYYY',
|
|
595
|
+
inputFormat: 'YYYY-MM-DD',
|
|
592
596
|
});
|
|
593
597
|
|
|
594
|
-
|
|
595
|
-
instance.
|
|
598
|
+
// No value set
|
|
599
|
+
instance.value = [];
|
|
600
|
+
const originalDisplayValue = instance.displayValue;
|
|
596
601
|
|
|
597
|
-
|
|
602
|
+
instance.focus(new Event('focus'), {});
|
|
603
|
+
|
|
604
|
+
// Display value should not change since value is not set
|
|
605
|
+
expect(instance.displayValue).toBe(originalDisplayValue);
|
|
606
|
+
});
|
|
607
|
+
|
|
608
|
+
it('should not update displayValue when first date is invalid', () => {
|
|
609
|
+
const instance = new DateRange({
|
|
610
|
+
name: 'date',
|
|
611
|
+
component: 'ZdDateRange',
|
|
612
|
+
dateFormat: 'MM-DD-YYYY',
|
|
613
|
+
displayFormat: 'DD/MM/YYYY',
|
|
614
|
+
inputFormat: 'YYYY-MM-DD',
|
|
615
|
+
});
|
|
616
|
+
|
|
617
|
+
// Set invalid first date
|
|
618
|
+
instance.value = ['invalid-date'];
|
|
619
|
+
const originalDisplayValue = instance.displayValue;
|
|
598
620
|
|
|
599
|
-
instance.events = {
|
|
600
|
-
focus: eventFn,
|
|
601
|
-
};
|
|
602
621
|
instance.focus(new Event('focus'), {});
|
|
622
|
+
|
|
623
|
+
// Display value should not change since first date is invalid
|
|
624
|
+
expect(instance.displayValue).toBe(originalDisplayValue);
|
|
625
|
+
});
|
|
603
626
|
|
|
604
|
-
|
|
627
|
+
it('should not update displayValue when second date is invalid', () => {
|
|
628
|
+
const instance = new DateRange({
|
|
629
|
+
name: 'date',
|
|
630
|
+
component: 'ZdDateRange',
|
|
631
|
+
dateFormat: 'MM-DD-YYYY',
|
|
632
|
+
displayFormat: 'DD/MM/YYYY',
|
|
633
|
+
inputFormat: 'YYYY-MM-DD',
|
|
634
|
+
});
|
|
605
635
|
|
|
606
|
-
|
|
636
|
+
// Set valid first date but invalid second date
|
|
637
|
+
instance.value = ['01-15-2020', 'invalid-date'];
|
|
638
|
+
const originalDisplayValue = instance.displayValue;
|
|
607
639
|
|
|
608
|
-
|
|
640
|
+
instance.focus(new Event('focus'), {});
|
|
641
|
+
|
|
642
|
+
// Display value should not change since second date is invalid
|
|
643
|
+
expect(instance.displayValue).toBe(originalDisplayValue);
|
|
609
644
|
});
|
|
610
645
|
|
|
611
|
-
it('should
|
|
646
|
+
it('should update displayValue with only first date when second date is not present', () => {
|
|
612
647
|
const instance = new DateRange({
|
|
613
648
|
name: 'date',
|
|
614
649
|
component: 'ZdDateRange',
|
|
615
|
-
|
|
650
|
+
dateFormat: 'MM-DD-YYYY',
|
|
651
|
+
displayFormat: 'DD/MM/YYYY',
|
|
652
|
+
inputFormat: 'YYYY-MM-DD',
|
|
616
653
|
});
|
|
617
654
|
|
|
618
|
-
instance.value = [];
|
|
655
|
+
instance.value = ['01-15-2020'];
|
|
656
|
+
|
|
619
657
|
instance.focus(new Event('focus'), {});
|
|
620
|
-
|
|
621
|
-
|
|
658
|
+
|
|
659
|
+
// Display value should be formatted with inputFormat (only first date)
|
|
660
|
+
expect(instance.displayValue).toBe('2020-01-15');
|
|
661
|
+
});
|
|
662
|
+
|
|
663
|
+
it('should update displayValue with both dates when both are present', () => {
|
|
664
|
+
const instance = new DateRange({
|
|
665
|
+
name: 'date',
|
|
666
|
+
component: 'ZdDateRange',
|
|
667
|
+
dateFormat: 'MM-DD-YYYY',
|
|
668
|
+
displayFormat: 'DD/MM/YYYY',
|
|
669
|
+
inputFormat: 'YYYY-MM-DD',
|
|
670
|
+
});
|
|
671
|
+
|
|
672
|
+
instance.value = ['01-15-2020', '01-20-2020'];
|
|
622
673
|
|
|
623
|
-
instance.value = ['01-01-2022'];
|
|
624
674
|
instance.focus(new Event('focus'), {});
|
|
625
|
-
|
|
626
|
-
|
|
675
|
+
|
|
676
|
+
// Display value should be formatted with inputFormat (both dates)
|
|
677
|
+
expect(instance.displayValue).toBe('2020-01-15 ~ 2020-01-20');
|
|
678
|
+
});
|
|
679
|
+
|
|
680
|
+
it('should use displayFormat as fallback when inputFormat is set but format is needed', () => {
|
|
681
|
+
const instance = new DateRange({
|
|
682
|
+
name: 'date',
|
|
683
|
+
component: 'ZdDateRange',
|
|
684
|
+
dateFormat: 'MM-DD-YYYY',
|
|
685
|
+
displayFormat: 'DD/MM/YYYY',
|
|
686
|
+
inputFormat: 'YYYY-MM-DD',
|
|
687
|
+
});
|
|
688
|
+
|
|
689
|
+
instance.value = ['01-15-2020', '01-20-2020'];
|
|
627
690
|
|
|
628
|
-
instance.value = ['01-01-2022', '02-02-2022'];
|
|
629
691
|
instance.focus(new Event('focus'), {});
|
|
630
|
-
|
|
631
|
-
|
|
692
|
+
|
|
693
|
+
// The format used should be inputFormat (since it's set)
|
|
694
|
+
expect(instance.displayValue).toBe('2020-01-15 ~ 2020-01-20');
|
|
632
695
|
});
|
|
633
696
|
|
|
634
|
-
it('
|
|
635
|
-
const eventFn = jest.fn();
|
|
697
|
+
it('should handle empty second value in array', () => {
|
|
636
698
|
const instance = new DateRange({
|
|
637
699
|
name: 'date',
|
|
638
700
|
component: 'ZdDateRange',
|
|
701
|
+
dateFormat: 'MM-DD-YYYY',
|
|
639
702
|
displayFormat: 'DD/MM/YYYY',
|
|
703
|
+
inputFormat: 'YYYY-MM-DD',
|
|
640
704
|
});
|
|
641
705
|
|
|
642
|
-
|
|
706
|
+
// First date is set, second is empty string
|
|
707
|
+
instance.value = ['01-15-2020', ''];
|
|
643
708
|
|
|
644
|
-
|
|
709
|
+
instance.focus(new Event('focus'), {});
|
|
710
|
+
|
|
711
|
+
// Display value should show only first date
|
|
712
|
+
expect(instance.displayValue).toBe('2020-01-15');
|
|
713
|
+
});
|
|
714
|
+
|
|
715
|
+
it('should preserve splitter character when updating displayValue', () => {
|
|
716
|
+
const instance = new DateRange({
|
|
717
|
+
name: 'date',
|
|
718
|
+
component: 'ZdDateRange',
|
|
719
|
+
dateFormat: 'MM-DD-YYYY',
|
|
720
|
+
displayFormat: 'DD/MM/YYYY',
|
|
721
|
+
inputFormat: 'YYYY-MM-DD',
|
|
722
|
+
splitter: ' <-> ',
|
|
723
|
+
});
|
|
724
|
+
|
|
725
|
+
instance.value = ['01-15-2020', '01-20-2020'];
|
|
645
726
|
|
|
646
|
-
instance.events = {
|
|
647
|
-
focus: eventFn,
|
|
648
|
-
};
|
|
649
727
|
instance.focus(new Event('focus'), {});
|
|
728
|
+
|
|
729
|
+
// Display value should use custom splitter
|
|
730
|
+
expect(instance.displayValue).toBe('2020-01-15 <-> 2020-01-20');
|
|
731
|
+
});
|
|
732
|
+
});
|
|
650
733
|
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
734
|
+
describe('isValidDateArray', () => {
|
|
735
|
+
it('should return false if values array has less than 2 items', () => {
|
|
736
|
+
const instance = new DateRange({ name: 'date', component: 'DateRange' });
|
|
737
|
+
expect(instance.isValidDateArray('YYYY-MM-DD', ['2025-01-01'])).toBe(false);
|
|
738
|
+
});
|
|
739
|
+
|
|
740
|
+
it('should return true if all dates in array are valid', () => {
|
|
741
|
+
const instance = new DateRange({ name: 'date', component: 'DateRange' });
|
|
742
|
+
expect(instance.isValidDateArray('YYYY-MM-DD', ['2025-01-01', '2025-01-10'])).toBe(true);
|
|
743
|
+
});
|
|
744
|
+
|
|
745
|
+
it('should return false if any date in array is invalid', () => {
|
|
746
|
+
const instance = new DateRange({ name: 'date', component: 'DateRange' });
|
|
747
|
+
expect(instance.isValidDateArray('YYYY-MM-DD', ['2025-01-01', 'invalid-date'])).toBe(false);
|
|
654
748
|
});
|
|
655
749
|
});
|
|
656
750
|
|
|
657
751
|
describe('FormatterParserProvider', () => {
|
|
752
|
+
const formatterFn = FormatterParserProvider.getFormatter('ZdDateRange');
|
|
753
|
+
const parserFn = FormatterParserProvider.getParser('ZdDateRange');
|
|
754
|
+
|
|
658
755
|
it('should return formatter function', () => {
|
|
659
|
-
const formatterFn = FormatterParserProvider.getFormatter('ZdDateRange');
|
|
660
756
|
expect(formatterFn).toBeInstanceOf(Function);
|
|
757
|
+
expect(parserFn).toBeInstanceOf(Function);
|
|
661
758
|
});
|
|
662
759
|
|
|
663
760
|
it('should format date', () => {
|
|
@@ -682,66 +779,12 @@ describe('DateRange', () => {
|
|
|
682
779
|
expect(formatted).toBe('20/12');
|
|
683
780
|
});
|
|
684
781
|
|
|
685
|
-
it('when value is valid and mask is set, should get masked value', () => {
|
|
686
|
-
const formatterFn = FormatterParserProvider.getFormatter('ZdDateRange');
|
|
687
|
-
|
|
688
|
-
const formatted = formatterFn(['20/12/2020'], {
|
|
689
|
-
dateFormat: 'DD/MM/YYYY',
|
|
690
|
-
displayFormat: 'YYYY-MM-DD',
|
|
691
|
-
mask: '##/##/#### ~ ##/##/####',
|
|
692
|
-
initialMask: '##/##/#### ~ ##/##/####',
|
|
693
|
-
unitMask: '##/##/####',
|
|
694
|
-
splitter: ' ~ ',
|
|
695
|
-
});
|
|
696
|
-
|
|
697
|
-
expect(formatted).toBe('20/12/2020');
|
|
698
|
-
});
|
|
699
|
-
|
|
700
782
|
it('should return parser function', () => {
|
|
701
783
|
const parserFn = FormatterParserProvider.getParser('ZdDateRange');
|
|
702
784
|
expect(parserFn).toBeInstanceOf(Function);
|
|
703
785
|
});
|
|
704
786
|
|
|
705
|
-
it('when formatted value is masked, should remove mask and parse using displayFormat mask', () => {
|
|
706
|
-
const instance = new DateRange({
|
|
707
|
-
name: 'datePicker',
|
|
708
|
-
component: 'ZdDateRange',
|
|
709
|
-
dateFormat: 'DD/MM/YYYY',
|
|
710
|
-
displayFormat: 'YYYY-MM-DD',
|
|
711
|
-
mask: '####/##/##',
|
|
712
|
-
});
|
|
713
|
-
const parsed = instance.parser('2019/12/20');
|
|
714
|
-
|
|
715
|
-
expect(parsed).toStrictEqual(['20/12/2019']);
|
|
716
|
-
});
|
|
717
|
-
|
|
718
|
-
it('when formatted value is masked and can\'t be masked using displayFmt mask, should parse using dateFmt mask', () => {
|
|
719
|
-
const instance = new DateRange({
|
|
720
|
-
name: 'datePicker',
|
|
721
|
-
component: 'ZdDateRange',
|
|
722
|
-
dateFormat: 'DD/MM/YYYY',
|
|
723
|
-
displayFormat: 'YYYY MMMM, Do',
|
|
724
|
-
mask: '##-##-####',
|
|
725
|
-
});
|
|
726
|
-
const parsed = instance.parser('20-12-2019');
|
|
727
|
-
|
|
728
|
-
expect(parsed).toStrictEqual(['20/12/2019']);
|
|
729
|
-
});
|
|
730
|
-
|
|
731
|
-
it('when formatted value is masked and can\'t use neither displayFmt or dateFmt mask, should not parse', () => {
|
|
732
|
-
const parserFn = FormatterParserProvider.getParser('ZdDateRange');
|
|
733
|
-
|
|
734
|
-
const parsed = parserFn('20-12-2019', {
|
|
735
|
-
dateFormat: 'Do/MM/YYYY',
|
|
736
|
-
displayFormat: 'YYYY MMMM, Do',
|
|
737
|
-
mask: '##-##-####',
|
|
738
|
-
});
|
|
739
|
-
|
|
740
|
-
expect(parsed).toStrictEqual(['20-12-2019']);
|
|
741
|
-
});
|
|
742
|
-
|
|
743
787
|
it('should parse date', () => {
|
|
744
|
-
const parserFn = FormatterParserProvider.getParser('ZdDateRange');
|
|
745
788
|
expect(parserFn('12-20-2019')).toStrictEqual(['12-20-2019']);
|
|
746
789
|
expect(parserFn('20-12-2019')).toStrictEqual(['20-12-2019']);
|
|
747
790
|
expect(parserFn('aaa')).toStrictEqual(['aaa']);
|
|
@@ -754,6 +797,15 @@ describe('DateRange', () => {
|
|
|
754
797
|
dateFormat: 'DD/MM/YYYY',
|
|
755
798
|
displayFormat: 'YYYY-MM-DD',
|
|
756
799
|
})).toStrictEqual(['20/12/2019']);
|
|
800
|
+
expect(parserFn('06-06-2019 ~ ')).toStrictEqual(['06-06-2019']);
|
|
801
|
+
});
|
|
802
|
+
|
|
803
|
+
it('when value is not following inputFormat, should not parse it', () => {
|
|
804
|
+
expect(parserFn('December 06, 2020', { inputFormat: 'DD MM YYYY', isFocused: true })).toEqual(['December 06, 2020'])
|
|
805
|
+
});
|
|
806
|
+
|
|
807
|
+
it('when value is invalid, should not parse it', () => {
|
|
808
|
+
expect(parserFn('99 99 9999', { inputFormat: 'DD MM YYYY', isFocused: true })).toEqual(['99 99 9999'])
|
|
757
809
|
});
|
|
758
810
|
});
|
|
759
811
|
|
|
@@ -804,98 +856,8 @@ describe('DateRange', () => {
|
|
|
804
856
|
});
|
|
805
857
|
});
|
|
806
858
|
|
|
807
|
-
describe('updateMask', () => {
|
|
808
|
-
it('should not change mask when initial mask is empty string', () => {
|
|
809
|
-
const date = new DateRange({
|
|
810
|
-
name: 'date',
|
|
811
|
-
component: 'ZdDateRange',
|
|
812
|
-
mask: '',
|
|
813
|
-
});
|
|
814
|
-
|
|
815
|
-
expect(date.mask).toEqual('');
|
|
816
|
-
expect(date.updateMask()).toEqual('');
|
|
817
|
-
});
|
|
818
|
-
|
|
819
|
-
it('when no mask is set, should get mask based on displayFormat', () => {
|
|
820
|
-
const date = new DateRange({
|
|
821
|
-
name: 'date',
|
|
822
|
-
component: 'ZdDateRange',
|
|
823
|
-
displayFormat: 'DD MM YYYY',
|
|
824
|
-
});
|
|
825
|
-
|
|
826
|
-
expect(date.updateMask()).toBe('## ## #### ~ ## ## ####');
|
|
827
|
-
expect(date.mask).toBe('## ## #### ~ ## ## ####');
|
|
828
|
-
});
|
|
829
|
-
|
|
830
|
-
it('when initial mask is undefined but mask is set, should get mask based on displayFormat', () => {
|
|
831
|
-
const date = new DateRange({
|
|
832
|
-
name: 'date',
|
|
833
|
-
component: 'ZdDateRange',
|
|
834
|
-
displayFormat: 'DD MM YYYY',
|
|
835
|
-
});
|
|
836
|
-
|
|
837
|
-
date.mask = '#';
|
|
838
|
-
|
|
839
|
-
expect(date.updateMask()).toBe('## ## #### ~ ## ## ####');
|
|
840
|
-
expect(date.mask).toBe('## ## #### ~ ## ## ####');
|
|
841
|
-
});
|
|
842
|
-
|
|
843
|
-
it('when initial mask is set, should not get mask based on displayFormat', () => {
|
|
844
|
-
const date = new DateRange({
|
|
845
|
-
name: 'date',
|
|
846
|
-
component: 'ZdDateRange',
|
|
847
|
-
mask: '##-##-####',
|
|
848
|
-
displayFormat: 'DD MM YYYY',
|
|
849
|
-
});
|
|
850
|
-
|
|
851
|
-
expect(date.updateMask()).toBe('##-##-#### ~ ##-##-####');
|
|
852
|
-
expect(date.mask).toBe('##-##-#### ~ ##-##-####');
|
|
853
|
-
});
|
|
854
|
-
|
|
855
|
-
it('when initial mask is set and value is valid, should not remove masks', () => {
|
|
856
|
-
const date = new DateRange({
|
|
857
|
-
name: 'date',
|
|
858
|
-
component: 'ZdDateRange',
|
|
859
|
-
dateFormat: 'DD/MM/YYYY',
|
|
860
|
-
mask: '##-##-####',
|
|
861
|
-
displayFormat: 'DD MM YYYY',
|
|
862
|
-
});
|
|
863
|
-
|
|
864
|
-
expect(date.updateMask()).toBe('##-##-#### ~ ##-##-####');
|
|
865
|
-
expect(date.mask).toBe('##-##-#### ~ ##-##-####');
|
|
866
|
-
|
|
867
|
-
date.value = ['17/11/2020'];
|
|
868
|
-
|
|
869
|
-
expect(date.updateMask()).toBe('##-##-#### ~ ##-##-####');
|
|
870
|
-
expect(date.mask).toBe('##-##-#### ~ ##-##-####');
|
|
871
|
-
});
|
|
872
|
-
|
|
873
|
-
it('when initial mask is set and value is set but invalid, should not change mask', () => {
|
|
874
|
-
const date = new DateRange({
|
|
875
|
-
name: 'date',
|
|
876
|
-
component: 'ZdDateRange',
|
|
877
|
-
dateFormat: 'DD/MM/YYYY',
|
|
878
|
-
mask: '##-##-####',
|
|
879
|
-
displayFormat: 'DD MM YYYY',
|
|
880
|
-
});
|
|
881
|
-
|
|
882
|
-
expect(date.updateMask()).toBe('##-##-#### ~ ##-##-####');
|
|
883
|
-
expect(date.mask).toBe('##-##-#### ~ ##-##-####');
|
|
884
|
-
|
|
885
|
-
date.value = ['17/11'];
|
|
886
|
-
|
|
887
|
-
expect(date.updateMask()).toBe('##-##-#### ~ ##-##-####');
|
|
888
|
-
expect(date.mask).toBe('##-##-#### ~ ##-##-####');
|
|
889
|
-
});
|
|
890
|
-
});
|
|
891
|
-
|
|
892
859
|
describe('updateHelperHint', () => {
|
|
893
|
-
beforeEach(() => {
|
|
894
|
-
I18n.init({});
|
|
895
|
-
});
|
|
896
|
-
|
|
897
860
|
it('should update hint for CURRENT_WEEK', () => {
|
|
898
|
-
I18n.instance.language = 'pt-BR'; // simula português
|
|
899
861
|
const instance = new DateRange({
|
|
900
862
|
name: 'date',
|
|
901
863
|
component: 'ZdDateRange',
|
|
@@ -904,7 +866,7 @@ describe('DateRange', () => {
|
|
|
904
866
|
});
|
|
905
867
|
|
|
906
868
|
instance.updateHelperHint('CURRENT_WEEK');
|
|
907
|
-
expect(instance.hint).toBe('
|
|
869
|
+
expect(instance.hint).toBe('DATE_HELPERVALUE_CURRENT_WEEK');
|
|
908
870
|
expect(instance.persistentHint).toBeTruthy();
|
|
909
871
|
|
|
910
872
|
instance.change();
|
|
@@ -913,7 +875,6 @@ describe('DateRange', () => {
|
|
|
913
875
|
});
|
|
914
876
|
|
|
915
877
|
it('should update hint for CURRENT_MONTH', () => {
|
|
916
|
-
I18n.instance.language = 'pt-BR'; // simula português
|
|
917
878
|
const instance = new DateRange({
|
|
918
879
|
name: 'date',
|
|
919
880
|
component: 'ZdDateRange',
|
|
@@ -922,7 +883,7 @@ describe('DateRange', () => {
|
|
|
922
883
|
});
|
|
923
884
|
|
|
924
885
|
instance.updateHelperHint('CURRENT_MONTH');
|
|
925
|
-
expect(instance.hint).toBe('
|
|
886
|
+
expect(instance.hint).toBe('DATE_HELPERVALUE_CURRENT_MONTH');
|
|
926
887
|
expect(instance.persistentHint).toBeTruthy();
|
|
927
888
|
});
|
|
928
889
|
|
|
@@ -940,186 +901,288 @@ describe('DateRange', () => {
|
|
|
940
901
|
});
|
|
941
902
|
});
|
|
942
903
|
|
|
943
|
-
describe('
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
904
|
+
describe('DateRange Tests', () => {
|
|
905
|
+
let dateInput: DateRange;
|
|
906
|
+
|
|
907
|
+
beforeEach(() => {
|
|
908
|
+
dateInput = new DateRange({ name: 'date', component: 'DateInput' });
|
|
909
|
+
});
|
|
910
|
+
|
|
911
|
+
describe('setNativeDate', () => {
|
|
912
|
+
it('should handle one date', () => {
|
|
913
|
+
const testDate = new Date(2025, 0, 15);
|
|
914
|
+
dateInput.dateFormat = 'YYYY-MM-DD';
|
|
915
|
+
dateInput.displayFormat = 'DD/MM/YYYY';
|
|
916
|
+
dateInput.setNativeDate([testDate]);
|
|
917
|
+
|
|
918
|
+
expect(dateInput.value).toEqual(['2025-01-15']);
|
|
919
|
+
expect(dateInput.displayValue).toBe('15/01/2025');
|
|
951
920
|
});
|
|
952
921
|
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
922
|
+
it('should handle two dates', () => {
|
|
923
|
+
const start = new Date(2025, 0, 1);
|
|
924
|
+
const end = new Date(2025, 0, 5);
|
|
925
|
+
dateInput.dateFormat = 'YYYY-MM-DD';
|
|
926
|
+
dateInput.displayFormat = 'DD/MM/YYYY';
|
|
927
|
+
dateInput.setNativeDate([start, end]);
|
|
956
928
|
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
expect(maskValue2[0]).toEqual('#');
|
|
929
|
+
expect(dateInput.value).toEqual(['2025-01-01', '2025-01-05']);
|
|
930
|
+
expect(dateInput.displayValue).toBe('01/01/2025 ~ 05/01/2025');
|
|
931
|
+
});
|
|
961
932
|
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
933
|
+
it('should handle more than two dates, using extremities', () => {
|
|
934
|
+
const start = new Date(2025, 0, 1);
|
|
935
|
+
const middle = new Date(2025, 0, 3);
|
|
936
|
+
const end = new Date(2025, 0, 5);
|
|
937
|
+
dateInput.dateFormat = 'YYYY-MM-DD';
|
|
938
|
+
dateInput.displayFormat = 'DD/MM/YYYY';
|
|
939
|
+
dateInput.setNativeDate([start, middle, end]);
|
|
966
940
|
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
expect(maskValue3.length).toBe(0);
|
|
941
|
+
expect(dateInput.value).toEqual(['2025-01-01', '2025-01-05']);
|
|
942
|
+
});
|
|
970
943
|
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
944
|
+
it('should handle an empty array', () => {
|
|
945
|
+
dateInput.value = ['2024-12-31'];
|
|
946
|
+
dateInput.setNativeDate([]);
|
|
947
|
+
expect(dateInput.value).toEqual([]);
|
|
948
|
+
});
|
|
976
949
|
|
|
977
|
-
|
|
978
|
-
|
|
950
|
+
it('should handle a single date without an end date', () => {
|
|
951
|
+
const start = new Date(2025, 0, 1);
|
|
952
|
+
dateInput.dateFormat = 'YYYY-MM-DD';
|
|
953
|
+
dateInput.displayFormat = 'DD/MM/YYYY';
|
|
954
|
+
dateInput.allowedDates = (date) => date === '2025-01-01';
|
|
979
955
|
|
|
980
|
-
|
|
981
|
-
dateInput = new DateRange({ name: 'date', component: 'DateInput' });
|
|
982
|
-
});
|
|
956
|
+
dateInput.setNativeDate([start]);
|
|
983
957
|
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
const testDate = new Date(2025, 0, 15);
|
|
987
|
-
dateInput.dateFormat = 'YYYY-MM-DD';
|
|
988
|
-
dateInput.displayFormat = 'DD/MM/YYYY';
|
|
989
|
-
dateInput.setNativeDate([testDate]);
|
|
958
|
+
expect(dateInput.value).toEqual(['2025-01-01']);
|
|
959
|
+
});
|
|
990
960
|
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
961
|
+
it('should not set date if any date in range is not allowed', () => {
|
|
962
|
+
const start = new Date(2025, 0, 1);
|
|
963
|
+
const end = new Date(2025, 0, 5);
|
|
964
|
+
dateInput.dateFormat = 'YYYY-MM-DD';
|
|
965
|
+
dateInput.displayFormat = 'DD/MM/YYYY';
|
|
966
|
+
dateInput.allowedDates = (date) => date !== '2025-01-03';
|
|
994
967
|
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
const end = new Date(2025, 0, 5);
|
|
998
|
-
dateInput.dateFormat = 'YYYY-MM-DD';
|
|
999
|
-
dateInput.displayFormat = 'DD/MM/YYYY';
|
|
1000
|
-
dateInput.setNativeDate([start, end]);
|
|
968
|
+
dateInput.value = ['2024-12-31'];
|
|
969
|
+
dateInput.setNativeDate([start, end]);
|
|
1001
970
|
|
|
1002
|
-
|
|
1003
|
-
|
|
971
|
+
// Value should not change
|
|
972
|
+
expect(dateInput.value).toEqual(['2024-12-31']);
|
|
973
|
+
});
|
|
974
|
+
|
|
975
|
+
it('should handle null or undefined dates to cover fallback', () => {
|
|
976
|
+
dateInput.value = ['2025-01-01'];
|
|
977
|
+
|
|
978
|
+
// Test with null to cover `(dates || [])`
|
|
979
|
+
dateInput.setNativeDate(null as any);
|
|
980
|
+
expect(dateInput.value).toEqual([]);
|
|
981
|
+
|
|
982
|
+
// Reset and test with undefined
|
|
983
|
+
dateInput.value = ['2025-01-01'];
|
|
984
|
+
dateInput.setNativeDate(undefined as any);
|
|
985
|
+
expect(dateInput.value).toEqual([]);
|
|
986
|
+
});
|
|
1004
987
|
});
|
|
1005
|
-
});
|
|
1006
988
|
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
989
|
+
describe('getNativeDate', () => {
|
|
990
|
+
it('should return Date objects array for set value', () => {
|
|
991
|
+
const testDate = new Date(2025, 4, 22);
|
|
992
|
+
dateInput.dateFormat = 'YYYY-MM-DD';
|
|
993
|
+
dateInput.setNativeDate([testDate]);
|
|
1012
994
|
|
|
1013
|
-
|
|
1014
|
-
|
|
995
|
+
const nativeDates = dateInput.getNativeDate();
|
|
996
|
+
expect(nativeDates[0]).toEqual(testDate);
|
|
997
|
+
});
|
|
998
|
+
|
|
999
|
+
it('should return empty array when no value is set', () => {
|
|
1000
|
+
dateInput.value = '';
|
|
1001
|
+
const nativeDates = dateInput.getNativeDate();
|
|
1002
|
+
expect(nativeDates).toEqual([]);
|
|
1003
|
+
});
|
|
1015
1004
|
});
|
|
1016
1005
|
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1006
|
+
describe('getAllowedDates', () => {
|
|
1007
|
+
it('should return true if allowedDates is not set', () => {
|
|
1008
|
+
const instance = new DateRange({ name: 'date', component: 'ZdDateRange' });
|
|
1009
|
+
expect(instance.getAllowedDates(new Date(2025, 0, 1))).toBe(true);
|
|
1010
|
+
});
|
|
1011
|
+
|
|
1012
|
+
it('should return false if allowedDates is an empty array', () => {
|
|
1013
|
+
const instance = new DateRange({ name: 'date', component: 'ZdDateRange', allowedDates: [] });
|
|
1014
|
+
expect(instance.getAllowedDates(new Date(2025, 0, 1))).toBe(false);
|
|
1015
|
+
});
|
|
1016
|
+
|
|
1017
|
+
it('should return true for allowed date with function', () => {
|
|
1018
|
+
const instance = new DateRange({
|
|
1019
|
+
name: 'date',
|
|
1020
|
+
component: 'ZdDateRange',
|
|
1021
|
+
dateFormat: 'YYYY-MM-DD',
|
|
1022
|
+
allowedDates: (date) => date === '2025-01-01',
|
|
1023
|
+
});
|
|
1024
|
+
expect(instance.getAllowedDates(new Date(2025, 0, 1))).toBe(true);
|
|
1025
|
+
expect(instance.getAllowedDates(new Date(2025, 0, 2))).toBe(false);
|
|
1026
|
+
});
|
|
1027
|
+
|
|
1028
|
+
it('should return true for allowed date with array', () => {
|
|
1029
|
+
const instance = new DateRange({
|
|
1030
|
+
name: 'date',
|
|
1031
|
+
component: 'ZdDateRange',
|
|
1032
|
+
dateFormat: 'YYYY-MM-DD',
|
|
1033
|
+
allowedDates: ['2025-01-01'],
|
|
1034
|
+
});
|
|
1035
|
+
expect(instance.getAllowedDates(new Date(2025, 0, 1))).toBe(true);
|
|
1036
|
+
expect(instance.getAllowedDates(new Date(2025, 0, 2))).toBe(false);
|
|
1037
|
+
});
|
|
1021
1038
|
});
|
|
1022
1039
|
});
|
|
1023
|
-
});
|
|
1024
1040
|
|
|
1025
|
-
describe('DateRange edge cases', () => {
|
|
1026
|
-
|
|
1041
|
+
describe('DateRange edge cases', () => {
|
|
1042
|
+
let dateInput: DateRange;
|
|
1027
1043
|
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1044
|
+
beforeEach(() => {
|
|
1045
|
+
dateInput = new DateRange({ name: 'date', component: 'DateInput' });
|
|
1046
|
+
});
|
|
1031
1047
|
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1048
|
+
it('should handle empty array and set value to empty', () => {
|
|
1049
|
+
dateInput.setNativeDate([]);
|
|
1050
|
+
expect(dateInput.value).toEqual([]);
|
|
1051
|
+
});
|
|
1035
1052
|
});
|
|
1036
|
-
});
|
|
1037
1053
|
|
|
1054
|
+
describe('DateRange getExtremities coverage', () => {
|
|
1055
|
+
it('should cover empty array case in getExtremities by setting value', () => {
|
|
1056
|
+
const dateInput = new DateRange({ name: 'date', component: 'DateInput' });
|
|
1057
|
+
dateInput.value = ['2025-01-01']; // Define um valor inicial
|
|
1038
1058
|
|
|
1039
|
-
|
|
1059
|
+
// Atribuir um array vazio ao 'value' aciona o setter,
|
|
1060
|
+
// que indiretamente causa a chamada de 'getExtremities' com um array vazio.
|
|
1061
|
+
dateInput.value = [];
|
|
1040
1062
|
|
|
1041
|
-
|
|
1042
|
-
it('should format dates and handle nulls internally', () => {
|
|
1043
|
-
const dateInput = new DateRange({
|
|
1044
|
-
name: 'date',
|
|
1045
|
-
component: 'DateInput',
|
|
1046
|
-
dateFormat: 'YYYY-MM-DD',
|
|
1063
|
+
expect(dateInput.value).toEqual([]);
|
|
1047
1064
|
});
|
|
1065
|
+
});
|
|
1048
1066
|
|
|
1049
|
-
|
|
1050
|
-
|
|
1067
|
+
describe('DateRange map format line 494 coverage', () => {
|
|
1068
|
+
it('should format dates and handle nulls internally', () => {
|
|
1069
|
+
const dateInput = new DateRange({
|
|
1070
|
+
name: 'date',
|
|
1071
|
+
component: 'DateInput',
|
|
1072
|
+
dateFormat: 'YYYY-MM-DD',
|
|
1073
|
+
});
|
|
1051
1074
|
|
|
1052
|
-
|
|
1075
|
+
const start = new Date(2025, 0, 1);
|
|
1076
|
+
const end = new Date(2025, 0, 5);
|
|
1053
1077
|
|
|
1054
|
-
|
|
1055
|
-
dayjs(start)
|
|
1056
|
-
dayjs(end).format('YYYY-MM-DD'),
|
|
1057
|
-
]);
|
|
1078
|
+
// Simula dateObject interno com null no meio
|
|
1079
|
+
(dateInput as any).dateObject = [dayjs(start), null, dayjs(end)];
|
|
1058
1080
|
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1081
|
+
const formatted = (dateInput as any).dateObject.map(
|
|
1082
|
+
(obj: any) => obj?.format('YYYY-MM-DD') || ''
|
|
1083
|
+
);
|
|
1062
1084
|
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1085
|
+
expect(formatted).toEqual([
|
|
1086
|
+
dayjs(start).format('YYYY-MM-DD'),
|
|
1087
|
+
'',
|
|
1088
|
+
dayjs(end).format('YYYY-MM-DD'),
|
|
1089
|
+
]);
|
|
1090
|
+
});
|
|
1066
1091
|
});
|
|
1067
|
-
});
|
|
1068
1092
|
|
|
1069
|
-
describe('DateRange
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1093
|
+
describe('DateRange.getNativeDate', () => {
|
|
1094
|
+
it('should return formatted dates for valid dayjs objects', () => {
|
|
1095
|
+
const instance = new DateRange({ name: 'date', component: 'ZdDateRange' });
|
|
1096
|
+
const dayjsArray = [dayjs('2025-01-01'), dayjs('2025-01-05')];
|
|
1097
|
+
(instance as any).dateObject = dayjsArray;
|
|
1098
|
+
const nativeDates = dayjsArray.map((date) => date.toDate());
|
|
1099
|
+
expect(instance.getNativeDate()).toEqual(nativeDates);
|
|
1075
1100
|
});
|
|
1076
1101
|
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1102
|
+
it('should skip null values', () => {
|
|
1103
|
+
const instance = new DateRange({ name: 'date', component: 'ZdDateRange' });
|
|
1104
|
+
const dayjsArray = [dayjs('2025-01-01'), null, dayjs('2025-01-05')];
|
|
1105
|
+
(instance as any).dateObject = dayjsArray;
|
|
1106
|
+
const nativeDates = dayjsArray.filter((date) => (date !== null)).map((date) => date!.toDate());
|
|
1107
|
+
expect(instance.getNativeDate()).toEqual(nativeDates);
|
|
1108
|
+
});
|
|
1082
1109
|
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1110
|
+
it('should return empty array if all values are null', () => {
|
|
1111
|
+
const instance = new DateRange({ name: 'date', component: 'ZdDateRange' });
|
|
1112
|
+
(instance as any).dateObject = [null, null];
|
|
1113
|
+
expect(instance.getNativeDate()).toEqual([]);
|
|
1114
|
+
});
|
|
1086
1115
|
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1116
|
+
it('should return empty array if dateObject is empty', () => {
|
|
1117
|
+
const instance = new DateRange({ name: 'date', component: 'ZdDateRange' });
|
|
1118
|
+
(instance as any).dateObject = [];
|
|
1119
|
+
expect(instance.getNativeDate()).toEqual([]);
|
|
1120
|
+
});
|
|
1092
1121
|
});
|
|
1093
|
-
});
|
|
1094
1122
|
|
|
1095
|
-
describe('DateRange
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
});
|
|
1123
|
+
describe('DateRange value setter edge cases', () => {
|
|
1124
|
+
it('should handle null and undefined values correctly', () => {
|
|
1125
|
+
const dateInput = new DateRange({ name: 'date', component: 'DateInput' });
|
|
1126
|
+
dateInput.value = ['2025-01-01'];
|
|
1127
|
+
|
|
1128
|
+
dateInput.value = null;
|
|
1129
|
+
expect(dateInput.value).toEqual([]);
|
|
1103
1130
|
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
(instance as any).dateObject = dayjsArray;
|
|
1108
|
-
const nativeDates = dayjsArray.filter((date) => (date !== null)).map((date) => date.toDate());
|
|
1109
|
-
expect(instance.getNativeDate()).toEqual(nativeDates);
|
|
1131
|
+
dateInput.value = undefined;
|
|
1132
|
+
expect(dateInput.value).toEqual([]);
|
|
1133
|
+
});
|
|
1110
1134
|
});
|
|
1111
1135
|
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1136
|
+
describe('DateRange getExtremities coverage', () => {
|
|
1137
|
+
it('should cover empty array case in getExtremities by setting value to empty array', () => {
|
|
1138
|
+
const dateInput = new DateRange({ name: 'date', component: 'DateInput' });
|
|
1139
|
+
// Define um valor inicial para garantir que a mudança seja detectada
|
|
1140
|
+
dateInput.value = ['2025-01-01'];
|
|
1141
|
+
|
|
1142
|
+
// Atribui um array vazio diretamente ao 'value'.
|
|
1143
|
+
// Isso aciona o setter que define 'dateObject' como [], cobrindo o caso de borda em 'getExtremities'.
|
|
1144
|
+
dateInput.value = [];
|
|
1145
|
+
|
|
1146
|
+
expect(dateInput.value).toEqual([]);
|
|
1147
|
+
});
|
|
1116
1148
|
});
|
|
1117
1149
|
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1150
|
+
describe('getMask()', () => {
|
|
1151
|
+
let dateRangeInstance!: DateRange;
|
|
1152
|
+
|
|
1153
|
+
beforeEach(() => {
|
|
1154
|
+
dateRangeInstance = new DateRange({
|
|
1155
|
+
name: 'date-range',
|
|
1156
|
+
component: 'DateRange',
|
|
1157
|
+
});
|
|
1158
|
+
});
|
|
1159
|
+
|
|
1160
|
+
it('should return an empty string if isFocused is false, regardless of format properties', () => {
|
|
1161
|
+
dateRangeInstance.isFocused = false;
|
|
1162
|
+
dateRangeInstance.inputFormat = 'YYYY-MM-DD';
|
|
1163
|
+
dateRangeInstance.displayFormat = 'DD/MM/YYYY';
|
|
1164
|
+
expect(dateRangeInstance.getMask()).toBe('');
|
|
1165
|
+
});
|
|
1166
|
+
|
|
1167
|
+
it('when isFocused is true, should return masked inputFormat if inputFormat is a non-empty string', () => {
|
|
1168
|
+
dateRangeInstance.isFocused = true;
|
|
1169
|
+
dateRangeInstance.inputFormat = 'YYYY-MM-DD';
|
|
1170
|
+
dateRangeInstance.displayFormat = 'MM/DD/YY'; // This should be ignored
|
|
1171
|
+
expect(dateRangeInstance.getMask()).toBe('####-##-## ~ ####-##-##');
|
|
1172
|
+
});
|
|
1173
|
+
|
|
1174
|
+
it('when isFocused is true, should return masked displayFormat if inputFormat is undefined and displayFormat is a non-empty string', () => {
|
|
1175
|
+
dateRangeInstance.isFocused = true;
|
|
1176
|
+
dateRangeInstance.inputFormat = undefined;
|
|
1177
|
+
dateRangeInstance.displayFormat = 'DD.MM.YYYY';
|
|
1178
|
+
expect(dateRangeInstance.getMask()).toBe('##.##.#### ~ ##.##.####');
|
|
1179
|
+
});
|
|
1180
|
+
|
|
1181
|
+
it('when isFocused is true, should return an empty string if both inputFormat and displayFormat are undefined', () => {
|
|
1182
|
+
dateRangeInstance.isFocused = true;
|
|
1183
|
+
dateRangeInstance.inputFormat = undefined;
|
|
1184
|
+
dateRangeInstance.displayFormat = '';
|
|
1185
|
+
expect(dateRangeInstance.getMask()).toBe('');
|
|
1186
|
+
});
|
|
1122
1187
|
});
|
|
1123
1188
|
});
|
|
1124
|
-
|
|
1125
|
-
});
|